《2019-2020年高中信息技術(shù) 教材教學(xué)指導(dǎo)用書 算法與程序設(shè)計 廣東版選修1.doc》由會員分享,可在線閱讀,更多相關(guān)《2019-2020年高中信息技術(shù) 教材教學(xué)指導(dǎo)用書 算法與程序設(shè)計 廣東版選修1.doc(33頁珍藏版)》請在裝配圖網(wǎng)上搜索。
2019-2020年高中信息技術(shù) 教材教學(xué)指導(dǎo)用書 算法與程序設(shè)計 廣東版選修1
“算法與程序設(shè)計”是高中信息技術(shù)課程的選修模塊,以問題解決與程序設(shè)計為主線,揭示利用計算機解決問題的過程。學(xué)生通過本模塊的學(xué)習(xí)“體驗算法思想,了解算法和程序設(shè)計在解決問題過程中的地位和作用;能從簡單問題出發(fā),設(shè)計解決問題的算法,并能初步使用一種程序設(shè)計語言編制程序?qū)崿F(xiàn)算法、解決問題?!?① 中華人民共和國教育部. 普通高中技術(shù)課標(biāo)準(zhǔn)(實驗). 人民教育出版社,2003,19頁
“本模塊的教學(xué),應(yīng)注意與數(shù)學(xué)課程中有關(guān)內(nèi)容的銜接,要強調(diào)理論與實踐的結(jié)合,引導(dǎo)學(xué)生注意尋找、發(fā)現(xiàn)身邊的實際問題,進而設(shè)計出算法和計算機程序去解決這些問題。教師要注意發(fā)現(xiàn)對程序設(shè)計有特殊才能的學(xué)生,根據(jù)具體情況為他們提供充分的發(fā)展空間。本模塊強調(diào)的是通過算法與程序設(shè)計解決實際問題的方法,對程序設(shè)計語言的選擇不作具體規(guī)定?!?② 同上,1頁
課程標(biāo)準(zhǔn)中,本模塊主題組成結(jié)構(gòu)如下:
程序設(shè)計語言初步
算法與程序設(shè)計
計算機解決問題的基本過程
算法與問題解決例舉
圖2.1 “算法與程序設(shè)計”主題結(jié)構(gòu)圖
本教學(xué)指導(dǎo)在沿用課程標(biāo)準(zhǔn)中主題內(nèi)容的前提下,為進一步增強對實際教學(xué)的指導(dǎo)作用,對主題結(jié)構(gòu)作了些調(diào)整,兩者的關(guān)系如圖2.2所示。
利用計算機解決問題的基本過程
算法與程序?qū)崿F(xiàn)
程序設(shè)計基礎(chǔ)
程序設(shè)計思想和方法
計算機解決問題的基本過程
程序設(shè)計語言初步
算法與問題解決例舉
圖2.2 調(diào)整前后主題間的關(guān)系圖
調(diào)整后的模塊由四個主題組成,四個主題在知識結(jié)構(gòu)上以螺旋上升方式展開。
“利用計算機解決問題的基本過程”主題旨在呈現(xiàn)人是如何利用計算機解決問題,解決問題需要經(jīng)歷哪些基本過程。教學(xué)中應(yīng)注意讓學(xué)生結(jié)合生活與學(xué)習(xí)提出問題,從身邊簡單問題入手親歷分析問題、設(shè)計算法、編寫程序、解決問題的過程。應(yīng)注意結(jié)合數(shù)學(xué)課程中算法這一部分知識,讓學(xué)生進一步了解算法,學(xué)會用不同的方法描述算法,了解算法、程序、程序設(shè)計語言之間的關(guān)系,認(rèn)識算法和程序設(shè)計的地位和作用。本主題是整個模塊學(xué)習(xí)的引入,為過渡到其它主題的學(xué)習(xí)打下基礎(chǔ)。
“程序設(shè)計基礎(chǔ)”主題旨在呈現(xiàn)如何用計算機語言進行程序設(shè)計。教師可以根據(jù)學(xué)生需要選擇一種語言,并以該語言為載體,讓學(xué)生理解數(shù)據(jù)在計算機中是如何表示與處理的,了解程序設(shè)計基本方法,初步掌握順序、選擇、循環(huán)三種基本結(jié)構(gòu),體驗程序設(shè)計的實踐過程,同時了解程序設(shè)計語言的編譯程序、連接程序等基本知識。
“算法與程序?qū)崿F(xiàn)”主題旨在通過解析法、窮舉法、排序和查找、遞歸等常用算法的程序?qū)崿F(xiàn),讓學(xué)生進一步理解算法,進一步掌握程序設(shè)計基礎(chǔ)知識,在體驗算法思想與程序設(shè)計過程中,培養(yǎng)邏輯思維能力,塑造良好的認(rèn)知結(jié)構(gòu)??梢越M織學(xué)生探討需解決的問題與其相應(yīng)算法之間的關(guān)系,嘗試歸納算法與程序設(shè)計應(yīng)用的一般規(guī)律,討論使用計算機程序設(shè)計解決問題的優(yōu)勢和局限性等。
“程序設(shè)計思想和方法”主題是對前三個主題內(nèi)容的提升,旨在引導(dǎo)學(xué)生理解結(jié)構(gòu)化程序設(shè)計思想,探究如何用結(jié)構(gòu)化程序設(shè)計方法解決問題。了解面向?qū)ο蟪绦蛟O(shè)計的思想、方法和關(guān)鍵技術(shù)。通過引導(dǎo)學(xué)生親歷軟件的開發(fā)過程,對算法與程序設(shè)計的思想與方法形成一個相對完整且比較準(zhǔn)確的認(rèn)識,為將來的學(xué)業(yè)發(fā)展奠定基礎(chǔ)。
在教學(xué)過程中,應(yīng)注意“知識與技能”、“過程與方法”、“情感態(tài)度與價值觀”三維課程目標(biāo)的相互聯(lián)系與相互滲透,進而提升學(xué)生的信息素養(yǎng),促進學(xué)生信息技術(shù)能力的立體發(fā)展。
第一節(jié) 利用計算機解決問題的基本過程
課程內(nèi)容標(biāo)準(zhǔn)
1.結(jié)合實例,經(jīng)歷分析問題、確定算法、編程求解等用計算機解決問題的基本過程,認(rèn)識算法和程序設(shè)計在其中的地位和作用。
2.經(jīng)歷用自然語言、流程圖或偽代碼等方法描述算法的過程。
3.在使用計算機解決實際問題的過程中,通過觀看演示、模仿、探究、實踐等環(huán)節(jié),了解順序、選擇、循環(huán)三種基本結(jié)構(gòu)及其重要作用,掌握計算機程序的基本概念,能解釋計算機程序執(zhí)行的基本過程。
程序設(shè)計語言產(chǎn)生與發(fā)展
問題的認(rèn)識和形成
算法的概念、特征與作用
算法的描述
程序和程序設(shè)計
算法與程序設(shè)計關(guān)系
利用計算機解決問題的基本過程
問題和算法
算法和程序
程序和程序設(shè)計語言
問題的分析與算法設(shè)計
一、 內(nèi)容結(jié)構(gòu)圖
圖2.3 “利用計算機解決問題的基本過程”主題內(nèi)容結(jié)構(gòu)圖
二、學(xué)習(xí)目標(biāo)細目表
學(xué)習(xí)內(nèi)容
學(xué)習(xí)結(jié)果的行為指標(biāo)(當(dāng)學(xué)生獲得這種學(xué)習(xí)結(jié)果時,他們能夠)
問題的認(rèn)識和形成
結(jié)合生活與學(xué)習(xí)的實例說明利用計算機解決問題的必要性
從已有的知識與經(jīng)驗中例舉出人工解決困難而利用計算機能夠快捷解決的問題
問題的分析與算法設(shè)計
了解利用計算機解決問題的基本過程
了解問題分析與算法設(shè)計間的關(guān)系
模仿分析簡單問題的已知條件、要解決的問題以及問題與條件之間的關(guān)系,寫出輸入、求解、輸出過程的步驟
算法的概念、特征與作用
結(jié)合數(shù)學(xué)課程中學(xué)習(xí)的算法知識,說出自己對算法的理解
說出算法的五種特征,舉例說明算法特征的含義
了解算法特征在解決問題過程中算法選擇的作用
算法的描述
結(jié)合數(shù)學(xué)課程中學(xué)習(xí)的算法知識,用自然語言、流程圖、偽代碼描述算法
算法與程序設(shè)計關(guān)系
用自己的語言描述算法與程序設(shè)計間的關(guān)系
程序和程序設(shè)計
描述程序概念和解釋程序的作用
結(jié)合實例描述順序、選擇、循環(huán)三種基本結(jié)構(gòu)的單步程序執(zhí)行方式
畫出三種程序基本結(jié)構(gòu)的流程圖
程序設(shè)計語言產(chǎn)生與發(fā)展
說出程序設(shè)計語言產(chǎn)生與發(fā)展過程
了解程序設(shè)計語言的功能,針對簡單問題設(shè)計一套可以解決該問題的人工語言(不超過5條指令)
例舉出三種以上高級語言的名稱
三、重點難點分析
(一)重點分析
1. 利用計算機程序設(shè)計解決問題的必要性,建立問題意識。
程序設(shè)計是運用計算機解決問題的一種方式,有些問題,如:數(shù)值、邏輯等問題適合于通過程序的方式解決。教學(xué)中應(yīng)注意引導(dǎo)學(xué)生從生活與學(xué)習(xí)實例出發(fā),認(rèn)識與舉證可以通過運用計算機程序設(shè)計得到高效解決的問題,讓學(xué)生深切地感受利用計算機程序設(shè)計解決問題的必要性,引發(fā)學(xué)習(xí)本模塊的興趣和動機。
2. 利用計算機解決問題的過程。
提出問題
分析問題
設(shè)計算法
編寫程序
調(diào)試程序
得到結(jié)果
圖2.4 利用計算機解決問題流程
利用計算機解決問題流程如圖2.4所示,教學(xué)中選擇一個學(xué)生運用已有知識能夠解決的實例,教師通過演示等手段協(xié)助學(xué)生親歷實例問題的分析、設(shè)計算法、把所要解決的問題轉(zhuǎn)化成的程序輸入到計算機、經(jīng)調(diào)試后讓計算機執(zhí)行這個程序,最終達到利用計算機解決問題的過程。讓學(xué)生了解和體會流程中每一步驟的含義,為展開整個課程學(xué)習(xí)打下基礎(chǔ)。
3. 算法的基本概念,使用自然語言、流程圖、偽代碼描述算法。
學(xué)生通過高一數(shù)學(xué)知識的學(xué)習(xí),已有算法知識的儲備,結(jié)合計算機工作方式,讓學(xué)生進一步了解算法,進一步學(xué)會使用自然語言、流程圖、偽代碼描述算法。
4. 程序的基本結(jié)構(gòu)
學(xué)生通過高一數(shù)學(xué)知識的學(xué)習(xí),已經(jīng)了解了算法的三種邏輯結(jié)構(gòu)和流程圖,程序的基本結(jié)構(gòu)與之相對應(yīng),是程序設(shè)計的基礎(chǔ)。讓學(xué)生嘗試體驗程序三種結(jié)構(gòu)的計算機執(zhí)行方式,加深對三種基礎(chǔ)結(jié)構(gòu)的了解。
5. 程序設(shè)計語言
程序設(shè)計語言是人利用計算機解決問題的載體,讓學(xué)生充分認(rèn)識程序設(shè)計語言,通過計算機語言的發(fā)展歷程,感受計算機技術(shù)的發(fā)展。
(二)難點分析
1. 算法的特征
算法的特征對初學(xué)者而言較難理解,教學(xué)中盡可能通過具體問題的算法分析、程序分析,讓學(xué)生感悟出算法的特征,為進一步學(xué)習(xí)分析問題、選擇算法打下基礎(chǔ)。
2. “好”算法的標(biāo)準(zhǔn)
算法設(shè)計除正確性外,還應(yīng)考慮其高效性、可讀性、健壯性,學(xué)生在開始時是做不到的,但可以讓學(xué)生知道需要從不同角度分析問題,才能不斷改進算法,并通過實踐形成這種良好習(xí)慣。
四、教學(xué)活動建議
本節(jié)是算法與程序設(shè)計課程的入門。學(xué)生通過對“信息技術(shù)基礎(chǔ)”部分的學(xué)習(xí),已經(jīng)具備了一定的信息加工、處理與交流的基礎(chǔ),知道使用計算機解決問題的方式多種多樣,而程序設(shè)計是其中的一種。學(xué)生在高一數(shù)學(xué)課程的學(xué)習(xí)中,也已經(jīng)學(xué)習(xí)了一些算法的基礎(chǔ)知識。因此,本節(jié)的教學(xué)應(yīng)注意在學(xué)生原有知識與學(xué)習(xí)經(jīng)驗基礎(chǔ)上,引導(dǎo)學(xué)生進一步學(xué)習(xí)算法、程序設(shè)計的相關(guān)知識,體會算法與程序設(shè)計在計算機解決問題過程中的地位與作用,比較完整地認(rèn)識利用計算機解決問題的過程。在教學(xué)過程中應(yīng)注意活動方式的多樣性,通過比較、探究、討論、交流等活動激發(fā)學(xué)生的學(xué)習(xí)熱情,培養(yǎng)學(xué)生的學(xué)習(xí)興趣,引導(dǎo)學(xué)生學(xué)會自主創(chuàng)新學(xué)習(xí),培養(yǎng)良好的學(xué)習(xí)方法與學(xué)習(xí)能力。
(一)通過例舉生活與學(xué)習(xí)中需要用計算機解決的問題,如有關(guān)數(shù)值、邏輯等方面的問題,讓學(xué)生認(rèn)識問題,形成問題意識,感受利用計算機解決問題的必要性。
案例2.1 感受計算機解決問題的必要性
教師:提出線性方程組問題,不斷增加方程數(shù)量,讓學(xué)生解決。
現(xiàn)象:當(dāng)方程數(shù)量少時,學(xué)生能夠通過人工方法求解,但隨著方程數(shù)量的增多,人工求解顯得無能為力。
教師:展示計算機高效求解方程組的過程。
教師:提出8 皇后問題,讓學(xué)生找出符合條件的方案。
現(xiàn)象:學(xué)生能找出一些符合條件的方案,但要找出所有符合條件的方案顯得無能為力。
教師:展示計算機高效地找出所有方案的過程。
教師:提出生物課中學(xué)到的遺傳基因問題,為什么生物課人工只分析到第二層或第三層?
教師:展示遺傳基因問題的計算機分析過程。
學(xué)生活動:嘗試從生活與學(xué)習(xí)提出需要用計算機解決的問題,展開討論。
教師:回歸主題,感受利用計算機解決問題的必要性。
分析:案例中教師沒有直面告知學(xué)生利用計算機解決問題的必要性,而是通過實例讓學(xué)生不斷地感受人工求解問題的局限性與計算機求解問題的優(yōu)勢,并通過學(xué)生的充分討論,讓學(xué)生潛移默化地感受到利用計算機解決問題的必要性。
(二)利用計算機解決問題過程的教學(xué)是課程入門階段,教師需要根據(jù)學(xué)生特點把握好度,為學(xué)生后繼學(xué)習(xí)打下基礎(chǔ)。教學(xué)中要注意的問題是:人在計算機解決問題過程擔(dān)任什么樣的角色;如何利用計算機解決問題;利用計算機解決問題與人解決問題有何區(qū)別;利用計算機解決問題的優(yōu)勢是什么;算法與程序設(shè)計解決什么樣的問題。因此,選擇什么樣的問題切入是教學(xué)成功與否的關(guān)鍵所在。
案例2.2 利用計算機解決問題的過程教學(xué)設(shè)計參考
教學(xué)線索:選擇問題讓學(xué)生體驗利用計算機解決問題的過程展開討論
1.選擇問題:選擇問題的難易程度應(yīng)根據(jù)學(xué)生的整體水平,由于是開篇教學(xué),不宜太難,應(yīng)源自學(xué)生已有的知識與經(jīng)驗,并能與后繼內(nèi)容的學(xué)習(xí)形成呼應(yīng)。
例1:求一元二次方程ax2+bx+c=0的根。該問題比較簡單,利用計算機解決問題過程的每一階段易于理解。
例2:“韓信點兵”問題,“相傳漢高祖劉邦問大將軍韓信統(tǒng)御兵士多少,韓信答說,每3人一列余1 人、5人一列余2 人、7人一列余4 人、13人一列余6 人……劉邦聽后茫然不知其數(shù),你能說出有多少兵士?”該問題能夠體現(xiàn)利用計算機解決問題的特點及相對人工解決問題的優(yōu)勢,當(dāng)條件少時可以人工求出,當(dāng)條件多時利用計算機解決就顯示出其優(yōu)勢。
例3:借助高一學(xué)生正在學(xué)習(xí)函數(shù)圖像知識的背景,從演示畫學(xué)生熟悉的y=x2函數(shù)圖像的程序入手,提出如何利用計算機畫各種函數(shù)圖像的問題。該問題從學(xué)生已有的知識和人工畫圖經(jīng)驗出發(fā),引導(dǎo)學(xué)生理解計算機畫圖的過程,喚起學(xué)生的求知欲望和學(xué)習(xí)興趣。
分析:對初學(xué)者而言,例2、例3利用計算機解決的過程有一定的復(fù)雜性,教學(xué)中需要循循善誘,把握好教與學(xué)的互動關(guān)系。
2.讓學(xué)生體驗利用計算機解決問題的過程
(1)引導(dǎo)學(xué)生探究
分析問題的已知條件、隱含條件、要解決什么、它們之間的關(guān)系,通過分析問題,寫出問題的求解過程,將其步驟化,設(shè)計算法。
(2)讓學(xué)生體驗利用計算機求解過程
給出對應(yīng)于算法的程序,引導(dǎo)學(xué)生打開并執(zhí)行程序,體驗計算機運行程序的過程。
(3)引導(dǎo)學(xué)生畫出利用計算機解決問題的流程圖。
3.展開討論
(1)討論人與計算機在利用計算機解決問題的各個階段中各自扮演的角色;
(2)討論編寫程序解決問題與使用現(xiàn)成軟件解決問題的差別,針對不同問題選擇不同的解決手段;
(3)討論生活中解決問題的過程步驟,讓算法思想溶于日常生活中。
(三) 對初學(xué)者而言,理解算法的概念、特征、作用需要一個過程??梢酝ㄟ^呈現(xiàn)一組比較簡單的現(xiàn)成算法,讓學(xué)生逐步掌握算法的思想。通過一個問題的不同算法的比較,讓學(xué)生感悟算法的特性。
案例2.3 算法的基本概念
1.算法的概念與特征
(1)提出問題:求兩個正整數(shù)的最大公約數(shù)。
“更相減損之術(shù)”算法程序
Private Sub Form_Click()
Dim m As Long, n As Long, r As Long
m = Val(InputBox("輸入整數(shù)1"))
n = Val(InputBox("輸入整數(shù)2"))
If m < n Then r = m: m = n: n = r
r = m - n
Do While r <> 0
If r < n Then
m = n
n = r
Else
m = r
End If
r = m - n
Loop
Print "最大公約數(shù)為:"; n
End Sub
給出兩個正整數(shù)12、16,如何求它們的最大公約數(shù)?大家可以口算出最大公約數(shù)是4,如果給出的兩數(shù)是2678945、465,又如何求呢?
(2)通過介紹解決問題的經(jīng)典算法,讓學(xué)生體驗算法思想
“更相減損之術(shù)”及其算法思想:我國古代數(shù)學(xué)家對公約數(shù)求解問題進行了研究并提出了算法,稱之為“更相減損之術(shù)”,其方法是以兩數(shù)中較大的數(shù)減去較小的數(shù),獲得的差與原先較小的數(shù)構(gòu)成新的一對數(shù),再以大的數(shù)減去小的數(shù)……如此循環(huán),用同樣的方法操作,直至產(chǎn)生一對相等的數(shù),該數(shù)即為最大公約數(shù)。
以求12、16這兩個數(shù)的最大公約數(shù)為例,具體操作如下:
(12,16)(12,4)(8,4)(4,4)
4是12和16的最大公約數(shù)。
“輾轉(zhuǎn)相除法”及其算法思想:古希臘數(shù)學(xué)家對公約數(shù)求解問題研究提出的算法稱為“輾轉(zhuǎn)相除法”(歐幾里得算法)。具體方法是用較大的數(shù)除以較小的數(shù),余數(shù)和較小的數(shù)構(gòu)成新的一對數(shù),繼續(xù)上面的除法,直到大數(shù)被小數(shù)除盡,則較小的數(shù)就是最大公約數(shù)。
“輾轉(zhuǎn)相除法”算法程序
Private Sub Form_Click()
Dim m As Long, n As Long, r As Long
m = Val(InputBox("輸入整數(shù)1"))
n = Val(InputBox("輸入整數(shù)2"))
r = m Mod n
Do While r <> 0
m = n
n = r
r = m Mod n
Loop
Print "最大公約數(shù)為:"; n
End Sub
以求288和123的最大公約數(shù)為例,具體操作如下:
(288,123)(42,123)(42,39)(3,39)
3是288和123的最大公約數(shù)。
(3)引導(dǎo)學(xué)生用自然語言描述完成兩種算法的思想
設(shè)給定的兩個正整數(shù)為m和n,“更相減損之術(shù)”算法描述如下:
①輸入兩個正整數(shù)m和n;
②若m
4800 Then
Label1.Left = -xx
End If
End Sub
②調(diào)色器
圖4-6 調(diào)色器
Private Sub HScroll1_Change()
Picture1.BackColor=RGB(HScroll1.Value,HScroll2.Value,HScroll3.Value)
End Sub
Private Sub HScroll2_Change()
Picture1.BackColor=RGB(HScroll1.Value,HScroll2.Value,HScroll3.Value)
End Sub
Private Sub HScroll3_Change()
Picture1.BackColor=RGB(HScroll1.Value,HScroll2.Value,HScroll3.Value)
End Sub
③正弦曲線
Private Sub mand1_Click( )
Scale (-5,5)-(5,-5)
For x= -5 to 5 step 0.01
Y=sin(x)
Pset (x,y),vbBlue
Next
End Sub
3.通過程序的操作過程,總結(jié)出可視編程的一般步驟,為后繼程序設(shè)計的學(xué)習(xí)奠定操作基礎(chǔ)。
分析:案例采用實踐教學(xué)法,讓學(xué)生輸入與制作曾經(jīng)解決過問題的程序及其界面,熟悉程序設(shè)計開發(fā)環(huán)境的使用,了解可視編程的一般步驟。突出程序設(shè)計理論與實踐相結(jié)合的特色。同時選擇一些趣味性的程序,激發(fā)學(xué)生興趣與探索的欲望。
(二) 數(shù)據(jù)的表示與處理是程序設(shè)計中的重要環(huán)節(jié),但初學(xué)者很難比較快的理解與掌握,需要一個過程。教師可以結(jié)合計算機的工作原理,講解數(shù)據(jù)類型的含義;比較常量、變量與數(shù)學(xué)課程中相關(guān)概念的異同,以及數(shù)學(xué)運算符和表達式與程序中的運算符和表達式的異同;常用函數(shù)的使用方式,讓學(xué)生初步了解概念,并通過后續(xù)的程序設(shè)計學(xué)習(xí)過程逐步深化理解與正確使用。
教學(xué)參考線索:數(shù)據(jù)類型常量與變量運算符與表達式常用函數(shù)。
(三)順序結(jié)構(gòu)、選擇結(jié)構(gòu)、循環(huán)結(jié)構(gòu)程序設(shè)計是計算機程序設(shè)計基礎(chǔ),是學(xué)生程序設(shè)計學(xué)習(xí)必須通過的一道關(guān)卡,教學(xué)方式可以采用問題教學(xué)法。教學(xué)中應(yīng)時時關(guān)注不同基礎(chǔ)的學(xué)生,設(shè)計不同難度的問題,使不同基礎(chǔ)的學(xué)生都有自己的收獲,讓每一個學(xué)生都能體驗用程序設(shè)計方式解決問題的過程與快樂。
三種結(jié)構(gòu)教學(xué)參考線索:
順序結(jié)構(gòu):問題引領(lǐng)順序結(jié)構(gòu)程序設(shè)計思想賦值語句、輸入輸出語句順序結(jié)構(gòu)程序?qū)崿F(xiàn)實踐解決問題。
選擇結(jié)構(gòu):問題引領(lǐng)選擇結(jié)構(gòu)程序設(shè)計思想條件語句、多重選擇語句選擇結(jié)構(gòu)程序?qū)崿F(xiàn)實踐解決問題。
循環(huán)結(jié)構(gòu):問題引領(lǐng)循環(huán)結(jié)構(gòu)程序設(shè)計思想FOR循環(huán)語句、DO循環(huán)語句循環(huán)結(jié)構(gòu)程序?qū)崿F(xiàn)實踐解決問題。
案例2.5 循環(huán)結(jié)構(gòu)程序設(shè)計教學(xué)
1.通過一個比較簡單的又能體現(xiàn)循環(huán)思想問題。將教學(xué)重點放在循環(huán)結(jié)構(gòu)的程序?qū)崿F(xiàn)方式,讓學(xué)生能夠比較輕松地接受循環(huán)結(jié)構(gòu)程序設(shè)計思想。
例:假如你從今年開始,1月份為“希望工程”存入1元錢,2月份存入2元錢,3月份存入3元錢……依次類推,問:兩年時間你將為“希望工程”存入多少錢?
教師:讓學(xué)生分析問題,寫出問題求解的步驟;
教師:分析問題求解步驟中的循環(huán)結(jié)構(gòu),引出FOR循環(huán)語句的格式;
教師、學(xué)生:用FOR循環(huán)語句編寫程序,實現(xiàn)問題的解。
教師:變換問題,如果要計算多少月“希望工程”儲蓄才能多于500元,該怎樣辦?引出DO While/Loop語句的使用。
學(xué)生:用DO While/Loop語句編寫實現(xiàn)程序。
2.通過一個有一定思維難度的問題,讓學(xué)生進一步體會循環(huán)結(jié)構(gòu)的算法與程序設(shè)計思想。
例:菲波拉契數(shù)列表示的是這樣一列數(shù):0,1,1,2,3,5,……,后一項等于前兩項的和,輸出這個數(shù)列的前30項。
教師:引導(dǎo)學(xué)生分析問題
設(shè)置30個變量:A1,A2,A3,……,A30,表示菲波拉契數(shù)列的前30項,設(shè)Ai-2,Ai-1,Ai分別表示數(shù)列中連續(xù)的三項,則
Ai=Ai-1+ Ai-2
由這個遞推關(guān)系式可知,只要已知這個數(shù)列的前兩項,就能輸出后面的所有項。
教師:引導(dǎo)學(xué)生進行算法設(shè)計,變量類型的定義,逐漸讓學(xué)生理解程序設(shè)計中變量類型的概念。
解法1:思考使用3個簡單變量求得數(shù)列各項的值,分析變量初值設(shè)置,哪些操作需要反復(fù)執(zhí)行。
解法2:思考使用數(shù)組變量存放數(shù)列各項,引入數(shù)組的使用,分析算法步驟。
學(xué)生:畫出算法流程圖
教師、學(xué)生:進行兩種算法的程序設(shè)計,比較簡單變量與數(shù)組變量的使用區(qū)別,比較兩程序?qū)崿F(xiàn)上的差異及各自程序的優(yōu)缺點,同一算法思想可以有不同方式的程序?qū)崿F(xiàn),每人可以有自己的程序設(shè)計風(fēng)格,激發(fā)學(xué)生的創(chuàng)新意識。
解法一程序:
Private Sub mand1_Click()
Dim a1 As Long, a2 As Long, a3 As Long, i As Integer
a1 = 0
a2 = 1
List1.AddItem a1
List1.AddItem a2
For i = 3 To 30
a3 = a1 + a2
List1.AddItem a3
a1 = a2
a2 = a3
Next i
End Sub
解法二程序:
Private Sub mand1_Click()
Dim a(50) As Long, i As Integer
a(1) = 0
a(2) = 1
List1.AddItem a(1)
List1.AddItem a(2)
For i = 3 To 30
a(i) = a(i - 1) + a(i - 2)
List1.AddItem a(i)
Next i
End Sub
教師:引導(dǎo)學(xué)生進行簡單界面設(shè)計如圖,為了能利用滾動條拉動查看結(jié)果,引入listbox控件的使用。
3.學(xué)生上機實踐程序,解決問題。
分析:案例通過難易不同的兩道例題展開循環(huán)結(jié)構(gòu)程序設(shè)計的教學(xué),既讓學(xué)生掌握了循環(huán)語句的使用,又讓學(xué)生掌握循環(huán)結(jié)構(gòu)程序設(shè)計思想。順序結(jié)構(gòu)與選擇結(jié)構(gòu)的教學(xué)也可以借鑒這種教學(xué)方式。
(四) 設(shè)計多種形式的課內(nèi)外活動,幫助學(xué)生理解程序,學(xué)習(xí)程序設(shè)計。教學(xué)中可以適當(dāng)分層,使每一個學(xué)生都樹立學(xué)習(xí)的信心。
例1:通過閱讀程序,寫出程序運行結(jié)果,說明程序的功能,上機實踐,理解程序。
例2:通過給出問題的算法分析與部分流程圖,補充完善流程圖與程序,熟悉程序設(shè)計過程。
例3:設(shè)計與課堂類似問題,模仿分析,設(shè)計程序。
例4:對學(xué)生的要求,允許有不同層面的掌握:(1)理解三種基本結(jié)構(gòu)程序設(shè)計思想與方法;(2)設(shè)計程序解決簡單的問題;(3)能夠透過已有的經(jīng)驗,分析解決較復(fù)雜的問題。
課程內(nèi)容標(biāo)準(zhǔn)
1.解析法與問題解決
(1)了解解析法的基本概念及用解析法設(shè)計算法的基本過程。
(2)能夠用解析法分析簡單問題,設(shè)計算法,編寫程序求解問題。
2.窮舉法與問題解決
(1)了解窮舉法的基本概念及用窮舉法設(shè)計算法的基本過程。
(2)能夠根據(jù)具體問題的要求,使用窮舉法設(shè)計算法,編寫程序求解問題。
3.查找、排序與問題解決
(1)了解數(shù)組的概念,掌握使用數(shù)組存儲批量數(shù)據(jù)的基本方法。
(2)通過實例,掌握使用數(shù)據(jù)查找算法設(shè)計程序解決問題的方法。
(3)通過實例,掌握使用排序算法設(shè)計程序解決問題的方法。
4.遞歸法與問題解決
(1)了解使用遞歸法設(shè)計算法的基本過程。
(2)能夠根據(jù)具體問題的要求,使用遞歸法設(shè)計算法、編寫遞歸函數(shù)、編寫程序、求解問題。
第三節(jié) 算法與程序?qū)崿F(xiàn)
一、內(nèi)容結(jié)構(gòu)圖
解析法
窮舉法
查找與排序
遞歸法
解析法基本概念
解析法與問題解決
窮舉法基本概念
窮舉法與問題解決
排序算法
查找算法
遞歸概念
遞歸法與問題解決
算法及程序?qū)崿F(xiàn)
圖2.6 “算法與程序?qū)崿F(xiàn)”內(nèi)容結(jié)構(gòu)圖
二、學(xué)習(xí)目標(biāo)細目表
學(xué)習(xí)內(nèi)容
學(xué)習(xí)結(jié)果的形為指標(biāo)(當(dāng)學(xué)生獲得這種學(xué)習(xí)結(jié)果時,他們能夠)
解析法基本概念
理解解析法基本思想,結(jié)合實例說明用解析法設(shè)計算法的基本過程
解析法與問題解決
運用解析法分析問題,尋找問題中各要素之間的關(guān)系,用數(shù)學(xué)表達式表示它們的關(guān)系
寫出解決問題的解析步驟,編寫程序?qū)崿F(xiàn),并能通過運行程序求得問題的正確解
窮舉法基本概念
列舉出能夠用窮舉法解決的問題的特點
窮舉法與問題解決
分析窮舉問題的枚舉主線,設(shè)計恰當(dāng)?shù)淖兞颗c循環(huán)結(jié)構(gòu)進行枚舉,正確寫出符合問題解的條件判斷語句
分析不同窮舉方案的效率,選擇效率高的方案,設(shè)計算法、編寫程序,求得問題的全部解
查找算法
掌握使用數(shù)組存儲批量數(shù)據(jù)的基本方法
理解順序查找思想,寫出順序查找算法步驟,使用順序查找算法編寫程序解決查找問題
理解二分查找算法思想,寫出二分查找算法步驟,例舉出能夠用二分查找法解決的問題并編寫程序解決之,如:猜數(shù)、求一定范圍內(nèi)方程解等問題
比較順序查找算法與二分查找算法所解決問題的特點
排序算法
描述了解一到兩種經(jīng)典排序算法及其排序步驟,如:冒泡排序、插入排序、選擇排序
至少使用一種經(jīng)典排序算法,設(shè)計程序解決排序問題
遞歸概念
理解遞歸思想與遞歸的數(shù)學(xué)意義,說明遞歸程序的執(zhí)行方式
遞歸法與問題解決
使用自定義函數(shù)與子過程編寫程序
掌握遞歸程序的實現(xiàn)方法,能夠使用遞歸法設(shè)計、解決簡單遞歸問題,并能編程實現(xiàn)之
三、重點難點分析
(一)重點分析
1.解析、窮舉、排序、查找、遞歸算法思想
用數(shù)學(xué)公式描述客觀事物間的數(shù)量關(guān)系,是人們解決問題時最常用的方法之一。解析算法通過分析問題中各要素間的關(guān)系,用數(shù)學(xué)表達式表示它們的關(guān)系,找到了這些表達式,問題也就得以解決。解析法是程序設(shè)計中最常用的算法之一。
窮舉法按問題本身的性質(zhì),將求解對象一一列舉出來,然后逐一加以分析、處理,并驗證結(jié)果是否滿足給定的條件,窮舉完所有對象后才能得出問題的所有解。
排序是計算機程序經(jīng)常要用到的基本算法,也是日常應(yīng)用問題中經(jīng)常用到的數(shù)據(jù)處理方法。排序方法有許多種,如:冒泡排序、選擇排序、插入排序。教學(xué)中可以選擇其中的一種或兩種讓學(xué)生體驗其運用過程。
查找是一種查詢技術(shù),查找的方法有許多,順序查找與二分查找是比較簡單的查找算法,教學(xué)中可以通過日常經(jīng)驗,如:快速猜某一商品價格,理解二分查找思想,推出其算法步驟。
遞歸算法是一種直接或間接調(diào)用自身的算法。在計算機編寫程序中,遞歸算法可以解決一大類問題。
通過這些算法的學(xué)習(xí),進一步理解算法與問題之間的關(guān)系。
2.解析、窮舉、排序、查找、遞歸算法的程序?qū)崿F(xiàn)
通過解析、窮舉、排序、查找、遞歸算法的程序?qū)崿F(xiàn),使學(xué)生進一步掌握程序設(shè)計方法,進一步體驗算法思想并擴展算法思維,進一步理解問題、算法、程序設(shè)計間的關(guān)系。
(二)難點分析
1.遞歸算法的理解與程序?qū)崿F(xiàn)
通過經(jīng)典遞歸問題分析,如:漢諾塔問題,了解遞歸問題的特點;通過分析遞歸程序,了解程序應(yīng)該如何編寫;通過遞歸程序的執(zhí)行,了解遞歸程序計算機執(zhí)行效率。幫助學(xué)生體驗遞歸算法程序。
2.算法的延伸
引導(dǎo)學(xué)生了解更多的算法,嘗試歸納算法與程序設(shè)計應(yīng)用的一般規(guī)律。
四、教學(xué)活動建議
本節(jié)是信息技術(shù)新課標(biāo)“算法與程序設(shè)計”模塊中的亮點,以往程序設(shè)計課程過多重視程序設(shè)計能力和編程技巧,新課標(biāo)則重視程序設(shè)計的整體結(jié)構(gòu)及思想方法。學(xué)生通過第2節(jié)的學(xué)習(xí)和實踐,初步掌握了編程方法,但更多的是處于模仿編程階段。算法是程序設(shè)計的靈魂,通過本節(jié)解析、窮舉、排序、查找、遞歸算法的程序?qū)崿F(xiàn),使學(xué)生的程序設(shè)計能力從模仿為主過渡到創(chuàng)造為主,創(chuàng)造性地運用已有的知識,構(gòu)造算法解決實際問題。在進一步理解程序設(shè)計基本知識基礎(chǔ)上,幫助學(xué)生“建立盡可能合理的算法與程序設(shè)計的認(rèn)知結(jié)構(gòu),學(xué)會用程序設(shè)計的思想方法解決問題,培養(yǎng)學(xué)習(xí)程序設(shè)計的興趣愛好,為學(xué)生將來的發(fā)展提供該領(lǐng)域的知識與能力準(zhǔn)備?!雹厶锟∪A、李藝. “程序設(shè)計”課程目標(biāo)的認(rèn)知結(jié)構(gòu)解析. 《課程教材教法》2005年12期
由于個體經(jīng)驗、悟性、能力等原因,學(xué)生在這一部分的學(xué)習(xí)中會出現(xiàn)差異,教學(xué)中應(yīng)關(guān)注學(xué)生的個性差異,在達到基本要求的前提下允許差異的存在。同時,一個問題的解決有許多種算法,中學(xué)生處于思維最活躍的階段,教學(xué)中應(yīng)多關(guān)注學(xué)生的想法,鼓勵創(chuàng)造性的分析,創(chuàng)造性地構(gòu)造算法。教學(xué)中多采用多樣性的教學(xué)方式與手法,如:創(chuàng)設(shè)情境、程序演示等,把自主學(xué)習(xí)、合作探究、研究性學(xué)習(xí)等方式引入課堂教學(xué),激發(fā)學(xué)生的學(xué)習(xí)熱情,以興趣帶動學(xué)習(xí)。
(一)解析法是一種學(xué)生熟悉的分析方法,教學(xué)應(yīng)注意從學(xué)生已知的問題切入,尋求數(shù)學(xué)解決方法,從數(shù)學(xué)的解決方法變換到程序解決是一個需求創(chuàng)造的思維過程。如何使學(xué)生在分析中遷移知識,在分析中創(chuàng)新,是教學(xué)的一個很有意義的難點。
案例2.6 用解析法解決問題教學(xué)設(shè)計
教學(xué)線索:解析法思想問題引領(lǐng)問題討論、設(shè)計算法編寫程序?qū)嵺`程序、解決問題靈活應(yīng)用
1.從學(xué)生熟悉的例子引入解析法概念。如:數(shù)學(xué)、物理學(xué)習(xí)中的問題,日常生活中的實例。在教師引導(dǎo)下,讓學(xué)生舉例,體會解析法的核心思想。
2.通過實例完整地體驗解析法解決問題、編寫程序的過程。
例1:畫出如圖2.7所示的鉆石圖案。
學(xué)生:分組討論,探究找出求解問題的解析表達式,給出算法方案,嘗試編寫程序,提出解決不了的問題或疑問。
教師:讓各組同學(xué)交流起來,分析各組學(xué)生在分析過程中的創(chuàng)新點,解決學(xué)生討論中的問題,指導(dǎo)學(xué)生完成算法的設(shè)計,編寫程序。
分析:該例建立在學(xué)生的數(shù)學(xué)知識基礎(chǔ)上,又有一定的趣味性,學(xué)生通過原有的知識能夠找出描述求解問題的解析表達式,從而達到知識的遷移。
3.讓學(xué)生實踐程序,解決問題。這一過程中,學(xué)生可能會遇到各種編程問題、程序錯誤等,教師應(yīng)當(dāng)幫助學(xué)生學(xué)會糾錯,或通過典型的錯誤的 2.7 鉆石圖案
講評,提高學(xué)生程序調(diào)試能力。
(二)窮舉法也是處理問題的常用方法之一。用人工的方式解決窮舉的問題,當(dāng)需要窮舉的次數(shù)增多時將無法完成。教學(xué)中注意選擇能夠體現(xiàn)計算機優(yōu)勢的窮舉問題,讓學(xué)生強烈地感到該問題只有用計算機才能很好地解決。窮舉問題的窮舉策略很重要,如何設(shè)計恰當(dāng)?shù)母F舉變量,如何設(shè)定恰當(dāng)?shù)淖兞扛F舉范圍,如何進行判斷減少窮舉的次數(shù)、提高窮舉效率,這需要一個循序漸進的學(xué)習(xí)過程,其間也將迸發(fā)出學(xué)生的各種創(chuàng)新思維。教師可以多組織小組討論活動,注意抓住學(xué)生思維中的閃光點展開教學(xué)。
教學(xué)參考線索:窮舉法思想問題引領(lǐng)問題討論、設(shè)計算法編寫程序?qū)嵺`程序、解決問題靈活應(yīng)用。
(三)查找問題在生活中很常見,教學(xué)應(yīng)注意從學(xué)生的生活經(jīng)驗切入算法的教學(xué)。查找算法有許多,順序查找與二分查找可以作為教學(xué)的重點,也可以讓學(xué)生了解其它查找思想和方法,擴展學(xué)生思維。
教學(xué)參考線索:數(shù)組的定義與使用順序查找的思想和解決方法二分查找算法查找算法應(yīng)用探究活動。
(四)排序是司空見慣的問題,如何通過計算機實現(xiàn)呢?學(xué)生可能會覺得問題很簡單,但卻不知如何下手解決。先讓學(xué)生展開討論,可以發(fā)現(xiàn)現(xiàn)實生活中的排序方法有多種,總結(jié)出排序步驟,并遷移到排序程序的設(shè)計中。
案例2.7 排序算法
教學(xué)線索:分組討論如何進行排序選擇一種排序方法進行詳細教學(xué)實踐排序程序 舉例多種排序算法思想。
1.讓學(xué)生討論如何進行排序,總結(jié)學(xué)生提出的排序方法。
2.選擇一種排序方法進行詳細教學(xué)。
例:選擇排序算法與程序?qū)崿F(xiàn)
問題:有n個數(shù),將他們按其值從小到大的順序輸出。
教師:從學(xué)生已有的經(jīng)驗入手,引導(dǎo)學(xué)生分析問題,推出算法,獲取算法設(shè)計的經(jīng)驗。
第一步:從小規(guī)模數(shù)據(jù)入手
如有10個數(shù): 5 2 8 12 3 45 1 9 24 10
設(shè)10個數(shù)存放在:a(1) a(2) a(3) a(4) a(5) a(6) a(7) a(8) a(9) a(10)
第二步:設(shè)a(1)單元存放10個數(shù)中最小數(shù),如何完成呢?
學(xué)生:一種樸素的想法將a(1)與其后面的a(2)到a(10)數(shù)進行比較,記下最小數(shù)所在的位置k,交換a(1)與a(k);
第三步:接下來,設(shè)a(2)單元存放剩下9個數(shù)的最小值,如何完成?
第四步:如此類推……,即可實現(xiàn)排序,此算法思想稱為選擇排序。
教師:引導(dǎo)學(xué)生結(jié)合程序設(shè)計思維設(shè)計能夠編程實現(xiàn)的算法步驟。
(1)數(shù)據(jù)存儲設(shè)計:設(shè)數(shù)組a(n)存放n個數(shù),類型為實型;變量t用于數(shù)據(jù)交換時的過渡變量,類型為實型;變量k用于記錄最小數(shù)所在的位置,類型為整型;變量i 、j用于循環(huán)變量,類型為整型;
(2)設(shè)計循環(huán)i從1到n-1;
(3)最小值初始位置k=i;
(4)設(shè)計循環(huán)j從i+1到n;
(5)若a(j)
下載提示(請認(rèn)真閱讀)
- 1.請仔細閱讀文檔,確保文檔完整性,對于不預(yù)覽、不比對內(nèi)容而直接下載帶來的問題本站不予受理。
- 2.下載的文檔,不會出現(xiàn)我們的網(wǎng)址水印。
- 3、該文檔所得收入(下載+內(nèi)容+預(yù)覽)歸上傳者、原創(chuàng)作者;如果您是本文檔原作者,請點此認(rèn)領(lǐng)!既往收益都歸您。
文檔包含非法信息?點此舉報后獲取現(xiàn)金獎勵!
下載文檔到電腦,查找使用更方便
9.9
積分
- 配套講稿:
如PPT文件的首頁顯示word圖標(biāo),表示該PPT已包含配套word講稿。雙擊word圖標(biāo)可打開word文檔。
- 特殊限制:
部分文檔作品中含有的國旗、國徽等圖片,僅作為作品整體效果示例展示,禁止商用。設(shè)計者僅對作品中獨創(chuàng)性部分享有著作權(quán)。
- 關(guān) 鍵 詞:
-
2019-2020年高中信息技術(shù)
教材教學(xué)指導(dǎo)用書
算法與程序設(shè)計
廣東版選修1
2019
2020
年高
信息技術(shù)
教材
教學(xué)
指導(dǎo)
算法
程序設(shè)計
廣東
選修
- 溫馨提示:
1: 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
2: 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
3.本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
5. 裝配圖網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
裝配圖網(wǎng)所有資源均是用戶自行上傳分享,僅供網(wǎng)友學(xué)習(xí)交流,未經(jīng)上傳用戶書面授權(quán),請勿作他用。
鏈接地址:http://appdesigncorp.com/p-2360843.html