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