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