




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、算法與程序設計教案第一節 算法與程序設計思想【課標要求】利用計算機解決問題的基本過程結合實例,經歷分析問題、確定算法、編程求解等用計算機解決問題的基本過程,認識算法和程序設計在其中的地位和作用。經歷用自然語言、流程圖或偽代碼等方法描述算法的過程。了解程序設計語言、編輯程序、編譯程序、連接程序以及程序開發環境等基本知識。【學情分析】高二的學生已具備了一定的觀察、思考、分析和解決問題能力,在必修部分對“計算機解決實際問題的基本過程”已有所體驗和了解。因此,對如何將解決問題的思路畫成流程圖有了一定的基礎,但可能還不熟練,尤其對剛學過的循環結構,在課堂上要注意引導。【學情分析】知識與技能:建立求一批數
2、中最大值的算法設計思想,并將算法的設計思想用流程圖表示出來。過程與方法:利用現實生活中比較身高的活動,以及對武術比賽中“打擂臺”流程的逐步梳理,讓學生學會從此類生活實際中提煉出最大值的思想方法,既算法思想。培養學生分析問題、解決問題的能力,讓學生學會在面對問題時,能梳理出解決問題的清晰思路,進而設計出解決某個特定問題的有限步驟,從而理解計算機是如何解決、處理某種問題的。情感態度與價值觀:讓學生全身心的投入到教學活動中,積極與同伴合作交流,進行探索活動。培養學生良好的思維品質,發展他們的創新思維,并養成積極的學習態度和良好的學習習慣。創設情境,以激發學生的學習興趣,努力營造一個可以接納的、支持性
3、的、寬容的課堂學習環境,讓學生置身與民主和愉悅的課堂氛圍中放飛、潛心研究、快樂創造。同時收獲到更多的東西合作、分享、成就。【難點重點】1、教學重點:建立一批數據中最大值的算法設計思想,并將此算法設計思想用流程圖表示出來。2、教學難點:上述重點問題同樣是本課的教學難點,另外,如何把人解決問題的思路、步驟用計算機語言描述出來也是本課的難點之一。【教學思路】利用現實生活中比較一組學生身高這一事件,引導學生去發現求最大值的一種方法。如何設計求一批數據中最大值的算法?我認為讓學生自己去經歷整個探究過程,要比直接把算法告訴學生有意義得多。它能迅速、有效的的幫助學生建立程序設計思想,在完成這個任務的過程中,
4、教師的循循善誘起到了非常關鍵的作用。找出一批數據中的最大者,從表面看是個簡單的問題。在比較數的過程中,因為動用了眼睛,比較大小的思維過程一閃而過,所以能過很快求出一批數據中的最大值。而計算機和人不同,它對這些數據看不到,摸不著,怎么來完成這一任務呢?其實,計算機解決問題的關鍵,就是要把人解決問題的思維過程用計算機語言描述出來,即為大腦思維的每一步“拍照”。這是計算機程序設計教學的一個重點,也是一個難點,需要教師在教學過程中逐步引導和訓練學生。使學生逐步學會分析問題,尋求解決問題的方法和步驟。本例運用生活中“打擂臺”的實例引導學生分析求最大值的方法,通過對這一現象的的分析,逐步引導求出最大值的算
5、法設計思想。【教學過程】情境創設:師(提問):今天在第一組就坐的有12個同學,誰是我們在坐各位中的最高者呢?師(引導):大家思考,通常這個問題我們怎樣去完成?教師根據對學生對問題的回答進行分析。引導學生往古時候比武時常用的“打擂臺”的方式上想,提示學生可以參考電視上經常播放的“挑戰擂主”節目。師生:打擂臺的過程可以描述為: (1)、確定擂主(討論第一個擂主是如何確定的);(2)、挑戰者上臺;(3)、擂主和挑戰者比較;(4)、挑戰者勝的話,挑戰者做擂主,否則擂主衛冕;(5)、重復執行(2)(4)步驟;只到最后一個挑戰者。師:在打擂的過程中,我們看到(2)(4)步驟是要重復執行的,所以我們該怎么辦
6、呢?生:需要循環結構來實現。師:這幾個步驟序列重復到什么時候結束呢?由學生討論結束的辦法,很顯然需要在最后加上一個能判斷什么時候結束的判斷框。根據討論的步驟,最后師生共同得出打擂臺的算法和流程圖如下:開始確定擂主挑戰者擂主奪擂挑戰者上臺最后一個挑戰者結束YN求一般情況下的最大值的方法師(引導):如果我們面對的是一堆數據,現在我們希望求出這一堆數據中的最大值該怎么辦?通過教師和學生的共同分析,把問題進一步細化為:(1)、從第一個數據開始看起;(2)、把第一個數據在變量中記下來;(3)、再取一個數據;(4)、比較這個數據和變量中記下的數據的值;(5)、如果這個數據的值比記下的數據的值大,去掉變量中
7、原來的數據的值,記下新數據的值;(6)、重復執行(2)(4),繼續比較,直到最后一個數據。也就是說,計算機的變量始終記著當前比較過數據中的最大值。(我們不妨用X表示它),當取完最后一個數據時,X中留下的就是最大值。求最大值的算法設計思想用下圖表示。I=1XMAXMAX=X輸入XI=12結束YN開始輸入XMAX=XI=I+1NY注意:(1)再次讓學生討論變量的意義,弄清賦值語句的意義。(2)一些物理量用變量表達的意義。如MAX表示最大值,X表示輸入的一個值,且每一次循環時都用同一個變量X。(3)為了控制循環結束,必須加入一個控制循環次數的計數器I,當I達到一定的次數后,循環工作結束。回顧小結:師
8、生共同總結算法設計的過程,就是將大腦思維的每一步都記錄下來,并且用計算機能達到的功能來實現人解決問題的思路。 賦值語句【課標要求】(一)計算機解決問題的基本過程(1)結合實例,經歷分析問題、確定算法、編程求解等用計算機解決問題的基本過程。(二)程序設計語言實現順序結構。【教學目標】知識目標:使學生初步認識賦值語句,掌握賦值號的含義和功能。技能目標:能夠運用賦值語句進行簡單代碼的編寫,體驗代碼編寫的過程。情感目標:激發學生學習興趣,培養學生分析問題的能力,增強邏輯思維能力。【教學方法】目標驅動法,游戲教學法【重點難點】重點:控制鍵工作原理及代碼編寫難點:按鈕的代碼編寫【教學過程】教師活動學生活動
9、教學意圖一、課題引入(5分鐘)本節課的一開始,輕松一點,請一個學生上講臺操作一個拼圖游戲。(屏幕廣播)通過小游戲回顧類似于vb這種可視化程序設計語言處理問題的一般步驟:(引導學生說出步驟)界面設計屬性修改代碼編寫保存工程運行調試我們已經完成好了前兩個步驟,來看看大家完成的情況:(演示一個學生的作品)作品1一學生操作拼圖游戲學生回憶并說出步驟觀看學生作品利用拼圖游戲調動學生探究的積極性。從游戲中回顧舊知識,為本課學習作好準備。強化步驟,培養學生有條理的邏輯思維能力。在欣賞中加以評價,激發學生學習熱情。二、賦值語句該學生的游戲界面已完成,點擊按鈕,沒有用處,則引出代碼編寫。問題引導編寫代碼:做了什
10、么動作,才使得文字出現?-點擊“游戲規則”按鈕那應該對哪個控件編寫程序代碼?-“游戲規則”按鈕如何進入按鈕的代碼編寫窗口?-雙擊“游戲規則”按鈕進入代碼編輯窗口后:(強調在光標閃爍的地方添加代碼,對對象的click單擊事件編程)點擊按鈕,出現文字,那么文字出現說明什么控件的什么屬性發生了變化?-label1的caption屬性發生了變化label1的caption屬性如何表示?(板書提示控件名.屬性-label1.caption,點擊幾個控件,說出控件名)請該學生上講臺完成代碼:label1.Caption = 點擊按鈕,完成拼圖!Word文檔展示幾個注意點!請學生自己練習,模仿完成,并嘗試思
11、考上下左右控制鍵的工作原理。(5分鐘)屏幕廣播,(以right按鈕為例):(8分鐘)點擊right按鈕后,什么控件發生了變化?-圖像控件(image1控件)圖像控件發生了什么樣的變化?-向右移動右移說明控件的什么屬性變化?-left屬性image1.left屬性到底發生了怎樣的變化?分析: (為了圖片能夠拼接的準確,我們就以一個網格的單位距離120移動) 表格分析,引導學生用自己的語言描述變化規律。提出:image1.left=image1.left+120此時產生認知沖突,先將代碼放入程序中,驗證驗證成功,從而提出了本節課的let賦值語句格式:Let =表達式這里的let可省略功能:計算表達
12、式的值,將表達式的值賦給變量 給學生兩條語句,說出運算結果:a=3+6a=a-1a=a*a(鞏固賦值語句)強調賦值號和等號的區別強調label1.caption=”也是賦值語句請學生舉一反三,完成所有按鈕的代碼編寫。(12分鐘)發送判斷代碼分層次教學:沒有完成任務的同學繼續完成。完成好任務的同學,嘗試將判斷代碼放入程序中,體驗程序的交互性和完整性。(教師巡視指導)該學生在引導下嘗試實現“游戲規則”按鈕的代碼編寫觀看廣播學生在引導下完成代碼(簡化文字)(5分鐘)模仿練習觀看廣播舉一反三,完成所有按鈕的程序代碼學生分層次練習該學生的操作能引起其他學生的注意。一步步的引導比直接教授的效果更好些,對學
13、生今后遇到問題能夠有條理的進行思維,有著很大的幫助。從簡單的模仿開始,一步步向前遞進。重難點由教師講解,一步步地分析按鈕的工作原理,用圖形和表格舉例的方式,使學生更容易理解該條賦值語句中的疊加問題。該條語句和學生頭腦中的數學等式產生認知沖突,在沖突中驗證成功,從而引出賦值語句。分層次練習,使不同層次的學生完成相應任務三、評價總結拓展(5分鐘)展示學生一作品,總結本課內容。label1.Caption = 請點擊上下左右方向鍵,控制圖片移動方向,完成拼圖! image1.left=image1.left+120 image1.left=image1.left-120 image1.top=ima
14、ge1.top+120 image1.top=image1.top-120展示學生二作品,將程序升華。觀看學生作品在學生的作品演示中總結本課。體驗程序的交互性,為今后的課程作鋪墊。選擇結構【課標要求】(二)程序設計語言初步1內容標準(1)理解并掌握一種程序設計語言的基本知識,包括語句、數據類型、變量、常量、表達式、函數。會使用程序設計語言實現順序、選擇、循環三種控制結構。(2)理解模塊化程序設計的基本思想,初步掌握其基本方法。(3)初步掌握調試、運行程序的方法。(4)在使用某種面向對象程序設計語言解決問題的過程中,掌握面向對象程序設計的基本思想與方法,熟悉對象、屬性、事件、事件驅動等概念并學會
15、運用。【教學分析】算法與程序設計是普通高中信息技術課程中選修模塊之一,本模塊旨在使學生進一步體驗算法思想,了解算法和程序設計在解決問題過程中的地位和作用;能從簡單問題出發,設計解決問題的算法,并能初步使用一種程序設計語言編制程序實現算法解決問題。“選擇結構”是教育科學出版社出版的高級中學課程標準實驗教科書算法與程序設計第二章第三節的內容,共分三課時,本課為第二課時。主要內容是用選擇結構編寫簡單的程序解決具體問題。用選擇結構編寫簡單的程序解決具體問題是在學生已經掌握了程序設計數據的表示與處理的基礎上,理解了順序結構的前題下提出的。通過本課的學習,可以促進學生對問題解決方法和思想的理解與掌握,從而
16、提升學生的問題解決能力,讓學生在按照一定的流程解決問題的過程中,去體會和理解程序設計的思想,而且也為多分支選擇結構的學習打下基礎。 【教學目標】 1知識與技能:(1)掌握分支選擇結構實現條件判斷控制。(2)能夠運用分支選擇結構設計編制程序解決問題。(3)培養學生的邏輯思維能力,促進學生對問題解決方法的理解。2過程與方法: (1)通過教師講解和演示,利用任務驅動,通過學生分組探究,協作學習,在完成一個個具體的任務的過程中了解常用的文件傳輸方法;(2)以具體的任務為外驅力,在教師的引導下,通過學生個體的自主探究和相互間的協作學習,提高學生用算法解決問題的綜合應用能力。 3情感、態度和價值觀: (1
17、)通過完成實踐活動,激發學生對信息技術學習與應用的濃厚興趣,培養學生正確選擇、運用信息技術收集、處理、交流、發布信息的能力。 (2)通過小組協同合作交流學習,培養學生互相幫助、團結協作的良好品質;增強學生協作學習、與人合作交流的意識;形成積極主動地學習和使用信息技術、參與信息活動的態度。 【重點難點】 教學重點:掌握分支選擇結構的格式教學難點:對解決問題的方法和步驟的理解,并能根據實際問題寫出代碼。【教學策略】若想使學生主動地獲取新知,就要讓學生真正有機會、有基礎、有能力、有方法的主動學習。普通高中技術課程標準中強調利用各種條件為學生創設多樣化的信息環境,營造良好和諧的信息氛圍,為改善學生學習
18、創造條件。如果學生對學習內容產生興趣,就能自覺地排除內外主客觀因素的干擾,集中注意力積極主動地投入學習,把學習當成愉快的事情。信息技術教學大綱中明確指出:知識及技能的傳授應以完成典型“任務”為主。確立“任務驅動”的教學原則。這個原則突出了在“做中學”的思想。在貫徹的時侯,應當注意針對學習內容明確相應的任務,并且任務的設計要有一定的科學性,要充分體現技能技巧的訓練。同時,任務的設計要具有多樣性,讓學生根據興趣自主選擇。教師在教學活動中提出問題或活動項目,引導受教育者開展討論、研究、探索,并通過信息技術的應用解決問題,受教育者在自主設計探索、合作研究的過程中,既提高了學習興趣,又增強了信息技術的綜
19、合應用能力。為了啟發學生對本節課知識點的認識,提高技能水平,本課將靈活地運用貼近學生生活實際的例子去引導學生,引導學生親身經歷知識的發生、發展、形成的認知過程。通過觀察、比較、思考、交流等活動。讓學生在潛移默化中領會學習方法。使學生從“學會”到“會學”最后到“樂學”。【教學流程 】課前準備: 1先編寫一個猜單雙的程序。2課堂上用到的教學課件。步驟教師活動學生活動設計意圖創設情境激發興趣合作探究獲取新知 圍 繞 主 題 協 同 操 作 練習反饋應用拓展總結回顧教師編寫一個可以控制單雙的程序讓學生來猜。(程序原理:當金額欄中的數字小于10的時候,程序根據所猜的的數字自行判斷輸贏,當金額欄中的數字大
20、于10的時候,程序根據所猜的單雙自動加一或減去一,使得結果不正確。)教師在給學生演示的時候輸入小于10的數字,讓學生直觀看到可以有輸贏,當讓學生來猜的時候,就輸入大于10的數字,這樣學生無論猜什么都會輸。在和同學們進行互動以后,教師簡單說明程序的原理,告誡學生千萬不能參與此類的賭博活動。通過幸運52的猜商品價格,剖析猜商品價格的流程圖,引出選擇結構概念。通過對幾個中文實例展示分析,引出在vb中If語句的基本用法。單分支結構 如果天氣冷了,就多穿點衣服If ThenIf ThenEnd If(先讓同學們列舉出中文的例子,用如果就造句子。)讓同學們找出中英文的語句的相同點。同時讓同學們討論If T
21、hen中的省略號代表什么含義。教師在學生討論后,和同學們一起畫出單分支流程圖,并說明流程圖在解決生活中的問題的重要性。教師在VB程序中演示編寫一個單分支結構的例子:Private Sub Command1_Click() If Text1.Text = abc Then Text2.Text = 密碼正確 End IfEnd Sub同時提示編寫程序時遵循的一般規則在對程序正常運行后,教師提出問題,如果輸入的密碼是錯誤的,那么將會出現什么情況?如果要讓程序在密碼輸入錯誤時,也要出現提示,該如何做?有的同學也會提出寫兩個單分支進行判斷。(教師展示兩條中文的條件語句,讓學生比較那一種比較簡潔:1、如
22、果天氣冷,就呆在家里;如果天氣不冷,就外出游玩。2、如果天氣冷,就呆在家里;否則,就外出游玩。(在學生進行思考后,教師引出雙分支結構的流程圖。)教師講解雙分支結構的語法規則:2、雙分支結構If ThenElseEnd If改進程序,與同學們一起改寫剛才給出的例子Private Sub Command1_Click() If Text1.Text = abc ThenText2.Text = 密碼正確ElseText2.Text = 密碼錯誤 End IfEnd Sub學生實踐:(選擇一個操作)(1)判斷某同學成績是否及格,要求如下:在文本框1輸入數字,如果大于等于60,則在文本框2中顯示及格,
23、否則就顯示不及格.(2)如果你買的蘋果小于5斤,價格1.5元/斤,如果大于等于5斤,則打8折.求x斤的金額教師巡回,觀察學生在編寫過程中出現的問題,幫助學生解決問題。(教師提示先可以根據實際問題畫出流程圖后,再進行編寫程序代碼)知識回顧:分支選擇結構的格式。總結提升:通過比較幾種分支選擇結構的格式,找出相同點和不同點.提出問題:判斷某同學成績是否及格.要求如下:在文本框1輸入數字,如果大于等于60,則在文本框2中顯示及格,大于75,則在文本框2中顯示良,大于95,則在文本框2中顯示優否則就顯示不及格.該如何設計?學生觀察、思考學生觀測思考學生觀察、思考學生自由討論回答學生觀察比較,思考學生觀察
24、、思考學生一起參與改寫學生自由練習利用讓同學們猜單雙的例子,讓同學們感受可以通過編寫程序來控制要出的單雙數字,提高學生想學習程序設計的積極性,同時告誡學生不能參與此類賭博游戲。通過同學們日常生活中遇到的實際例子快速拉出猜商品的流程圖,通過對商品流程圖的分析,自然引出選擇結構的概念。用學生常見的例子來分析IF語句,讓學生通過觀察、比較、思考、交流等活動,對選擇結構有了更深的理解,突破了本課的重點。學生通過對中英文的語法規則進行對比后,可以進一步加深對單分支結構的理解。通過對流程圖的描述,讓學生認識到流程圖在編寫程序中的重要作用。教師通過對一個例子的講解,加深學生對單分支結構的理解。同時,養成良好
25、的編程習慣。通過這個問題的設計,激發學生對單分支結構的進一步思考,同時引出雙分支結構。中文例子的給出便于學生進行比較,通過比較熟悉的中文語法規則來理解VB中雙分支結構的語法規則。通過教師與學生一起來討論雙分支結構的流程圖后,讓學生對雙分支結構有初步的認識。通過讓學生共同參與改寫程序,加深學生對雙分支結構的理解。通過讓學生編程設計解決日常生活中的問題,提高學生分析問題,解決問題的能力,突破本課難點。兩道難易不同的題目,讓不同的學生根據自己的情況選擇,有效的進行分層訓練,讓不同層次的學生都能夠體驗到成功的喜悅.通過回顧本課主要內容,以及對學生在實際操作過程中出現的問題分析,進一步提高學生對選擇結構
26、的理解應用。新的問題出現為學生學習下一節課的知識留下思考空間。【教學反思】 通過對整個教學過程的認真回顧,學生都能夠完全理解選擇結構的基本語法的特點,絕大部學生也能夠利用所學的知識編寫程序解決實際生活中的問題,而且在整個課時量上也并不算少。之所以沒有把其他選擇結構在本節課上講,是因為如果設計內容過多,學生反而不能夠很清晰,深刻的理解。因此,為了讓學生能夠有更多的時間去體驗、去操作、去發現問題,解決問題,只是在本節課中講解了單分支結構和雙分支結構。事實證明,如此設計是可行而且也是必要的,只有給學生多一點操作實踐的時間,學生才能真正的理解本課的內容。第四節 選擇結構【課標要求】1內容標準(1)理解
27、并掌握一種程序設計語言的基本知識,包括語句、數據類型、變量、常量、表達式、函數。會使用程序設計語言實現選擇控制結構。(2)理解模塊化程序設計的基本思想,初步掌握其基本方法。(3)初步掌握調試、運行程序的方法。(4)在使用某種面向對象程序設計語言解決問題的過程中,掌握面向對象程序設計的基本思想與方法,熟悉對象、屬性、事件、事件驅動等概念并學會運用。2活動建議(1)選擇實例,根據解決問題的要求分析設計算法,恰當地使用選擇結構編寫源程序,調試并運行該程序,在過程中體驗程序設計語言的邏輯特點。【教材分析】本節課的內容是初學程序設計者的一道難關:語句格式稍顯復雜;功能理解有點難度,也就是不能很好地掌握它
28、的執行流程;解決問題時,無法建立合適、正確的“條件”。與本節有關的知識點有VBA中的幾個常用函數和相關的數學知識。此處的“教材分析”事實上屬于“教學任務分析”(或稱“教學目標分析”)的范疇。教學任務分析是教學設計中非常重要的一個環節,它旨在確立教學任務、分析學習結果的類型,以及判斷有效學習的過程與條件。此處,作者對教學任務的分析重點放在了教學內容難點的分析上,并且確立了與學習相關的知識點,這就為下一步教學目標的設置奠定了基礎。【教學目標】掌握分支結構的用法與用途掌握IF語句的格式,理解它的功能與執行流程靈活運用IF語句解決一些實際問題既要自主探究,又要學會跟同學合作交流【教法學法】教法:任務驅
29、動法、探究式、啟發式學法:自主探究、小組交流、個別指導【學情分析】大部分同學的學習態度良好、求知欲強且基礎知識扎實。【教學環境】網絡機房,配備Lanstar多媒體教學系統,可實現廣播、轉播、示范等功能。【教學過程】(1)創設情景T:“同學們坐過出租車嗎?”S: “坐過”,大家異口同聲。T:“注意過出租車的計價器嗎?”S:“注意過!”T:“好,現在請一位同學描述一下我們當地的出租車是如何計費的。”學生甲: 起步價(2公里以內)5元;超出2公里外,每公里1塊4。(2)引入課題T:“好,說明大家對計價器是比較熟悉的。那我們能否編一個計價器程序呢?也就是當我們給它一個路程值,讓它自動算出車費。”S:
30、表情遲疑的、甚或惴惴的T:“回答是肯定的!今天的課題就是:編制出租車的計價器程序。” S:表情:舒展的、興奮的(3)建立數學模型首先還是請大家將剛才甲同學的描述轉化為數學語言函數,這一步我們稱為建立數學模型。同學們很快寫出了以下的分段函數解析式:5 x2y= 1.4(x-2)+5 x2師生一起分析:要解決以上這個問題,我們的程序應有以下的功能:輸入一個數;若該數小于等于2,則輸出車費5元;若該數大于2,則車費按1.4(x-2)+5計算再輸出.大家已經會用輸入語句與輸出語句,那以上的分析中還有一處是大家不知道的,那就是判斷,這就是今天我們要學的內容IF語句。條件語句NY圖1(4)I F語句格式功
31、能介紹、示范(一)簡單IF語句格式:IF then 對應的流程圖如圖1所示,并通過一個實例來說明它的格式與功能及注意事項。例1:判斷一個考試成績,若大于等于60,則輸出“Pass!”主要代碼為:inputbox(“請輸入一個成績:”,score)if score=60 then msgbox(“Pass!”)演示并講解格式方面要注意的地方。在示范講解過程中有同學問:若輸入一個小于60的數,結果會怎樣?有這樣的提問,說明同學對這條語句還沒有弄明白,作為老師要善于捕捉課堂中的信息,并好好的利用它深入剖析該語句的用法,使大家對它有全面正確的理解。所以又多演示幾遍,并輸入不同情況的數據,讓大家觀察程序
32、的運行結果并比較、分析原因。大家得出結論:當輸入一個小于60的數之所以沒有輸出結果是因為我們沒有對這種情況做出反應,也就是說對這種情況沒做相應的處理。這一點說明很重要,因為有部分同學認為電腦會對各種情況自動做出處理,他(她)不知道電腦的各種功能是人賦予的,其實這就是我們學程序設計的目標之一,讓大家對電腦有比較全面的認識。經過演示說明,同學們對IF語句有了更進一步的理解。其時這步操作也是我們編程者對自己所編程序進行檢查的必要環節。(五) “小刀”初試再讓同學們自主實踐(利用該語句解決上面的問題)。不到5分鐘,絕大部分同學調試成功,主要有以下兩種形式:inputbox(“請輸入路程值:”,s)if
33、 s2 then msgbox(1.4*(x-2)+5)inputbox(“請輸入路程值:”,s)if s2 then pay=1.4*(x-2)+5msgbox(pay)分析交流:兩種方法都可以,但第二種感覺思路清晰,程序結構明了,易讀,請大家要養成良好的編程習慣。提問:同學們有沒有發現,這段代碼似乎還有點“問題”?同學們議論紛紛。有的說沒有;有的說好像有點,但說不出來。提示:存在重復判斷。因為給定一個數值,它只會符合一種情況,但是我們的程序現在都對它進行了兩次判斷,這是浪費計算機資源和降低程序運行效率的做法,If語句還有一種格式能很好地解決這個問題。從而引出復合IF語句。在已有的實踐結果上
34、再設疑,再引導,從而引發學生的深入思考,邏輯嚴謹,環環緊扣。設計的非常緊湊與合理。同時,在提出問題的過程中,培養學生優化程序設計算法,提高程序運行效率的思想,也就是在向學生傳達一個信息,不僅要能夠解決問題,而且要盡力找到解決問題的最好方法。條件語句組1NY語句組2圖2I F語句格式功能介紹、示范(二)復合IF語句格式:IF then Else Endif對應的流程圖如圖2所示,并再次通過例1的簡單變式來說明它的格式與功能及注意事項。例2:判斷一個考試成績,若大于等于60,則輸出“Pass!”,否則輸出“Work hard!”。主要代碼為:inputbox(“請輸入一個成績:”,score)if
35、 score=60 then msgbox(“Pass!”)else msgbox(“Work hard!”)endif由于已有了一點的經驗,這次學生很快就明白了。兩個示例是相互聯系并步步遞進的,在示例一中學生產生的問題,在示例二中及時得到了解決,使學生獲得即時的學習愉悅感,進一步激發和維持學生的學習動機,保證課堂的效率。“小刀”再試再讓同學們自主實踐(利用該語句解決上面的問題)。不到5 分鐘,同學們基本上能寫出以下代碼:inputbox(“請輸入路程值:”,s)if s=2 then pay=5else pay=1.4*(s-2)+5endifmsgbox(pay)說明大家對該語句的格式與功
36、能已基本掌握。這時,有同學在底下竊竊私語,“我輸入一個負數也能得到結果5”;“我輸入一個非整數,得到的結果跟實際情況也不符合”剛才同學們的議論,非常有道理,我們現在的這個程序跟實際還有一些不符合,針對以上同學提的這兩個問題,我們能否利用現有的知識對它進一步的完善呢?回答是肯定的!請大家思考、討論、嘗試解決。完善程序針對問題一,我們經過討論,得到這樣的結論:s應有三種情況(s0;02),而我們在程序中只考慮了兩種情況,所以會出現以上的問題,在程序設計時應把第一種情況“過濾”,怎么“過濾”?引入IF語句的嵌套格式并簡要分析它的執行過程(圖3)即可,因為同學已有基礎。IF語句的嵌套格式:條件2語句組
37、1NY語句組3圖3條件1語句組2IF then Else IF then Else EndifEndif同學自主實踐,寫出代碼:inputbox(“請輸入路程值:”,s)if s=0 then msgbox(“路程值不能為0或負,請重輸!”)else if s 當步長為負數)3 如果沒有超過終值,執行一次循環體4 循環變量加上步長5 重復步驟2-4師、生:以下面的程序為例分析程序的執行過程(利用表格輔助)For i = 5 To 0 Step -1 Label1.Caption = i delay (1)Next ii循環體5Label1.Caption = 5delay (1)4Label1
38、.Caption = 4delay (1)1Label1.Caption = 1delay (1)0Label1.Caption = 0delay (1)-1循環結束學生練習 1、在屏幕中顯示3、6、9272、在屏幕中顯示40、30、20-403、在屏幕中顯示1、4、9、16、25教師在巡視中提示循環的初值、終值和步長請學生展示自己的練習視情況分析練習3 ,數字序列不再為等差數列,觀察規律12、22、32、42、52 學生思考為下節課鋪墊用VB求解1+2+3+100【教學反思】自我感覺設計有兩點成功之處:1、在教學中教師并沒有簡單的用1+2+3+100引入循環語句,而是用倒計時的小程序讓學生利
39、用現有的知識解決。在學生成功解決的基礎上,要求學生從252到0的倒計時程序(當時十運會倒計時),在學生的認知沖突基礎上引入課題。2、引入循環語句后教師并沒有急于拋出循環語句的格式和執行步驟,而是利用表格數據讓學生推測循環語句的功能、循環初值、終值和步長的作用。培養學生的邏輯推理能力,傳授學習新語句的方法。我覺得這也是新課標提出的培養學生終身學習能力的有益嘗試。遞歸算法的實現【課標要求】(三)算法與問題解決例舉1. 內容標準D 遞歸法與問題解決(1)了解使用遞歸法設計算法的基本過程。(2)能夠根據具體問題的要求,使用遞歸法設計算法、編寫遞歸函數、編寫程序、求解問題。【教材分析】“算法的程序實現”
40、是算法與程序設計選修模塊第三單元的內容,本節課是“遞歸算法的程序實現”,前面學習了用解析法解決問題、窮舉法解決問題、在數組中查找數據、對數進行排序以及本節的前一小節知識點“什么是自定義函數”的學習,在學習自定義函數的基礎上,學習遞歸算法的程序實現是自定義函數的具體應用,培養學生“自頂向下”、“逐步求精”的意識起著重要的作用。【學情分析】教學對象是高中二年級學生,前面學習了程序設計的各種結構,在學習程序設計各種結構的應用過程中培養了用計算機編程解決現實中問題的能力,特別是在學習循環語句的過程中,應用了大量的“遞推”算法。前一節課學習了如何自定義函數,在此基礎上學習深入學習和體會自定義函數的應用。
41、以遞推算法的逆向思維進行求解問題,在學習過程中體會遞歸算法的思想過程。多維度的思考問題和解決問題是提高學生的學習興趣關鍵。【教學目標】知識與技能:理解什么是遞歸算法,學生會用遞歸算法的思想分析問題能夠應用自定義函數方法實現遞歸算法的編程過程與方法:學生參與討論,通過思考、動手操作,體驗遞歸算法的方法情感態度與價值:結合數學中的實例,激發學生的數學建模的意識,培養學生多維度的思考問題和解決問題。教學目標設計的合理、準確。這也是在意料之中的,一般情況下,成功的教學任務分析一定會帶來成功的教學目標設計。【重點難點】重點:理解什么是遞歸算法,學生用遞歸算法的思想分析問題; 應用自定義函數方法實現遞歸算
42、法的編程難點:應用自定義函數方法實現遞歸算法的編程大部分教師在確立教學重、難點時不會給出確立的依據,可能這些依據早就在教師的腦中明確了,也有可能是一筆糊涂賬,只不過是教參上是這樣寫的就照搬過來而已。如果在寫教學重、難點的同時能再給出確立重、難點的依據會令教案更具借鑒意義。本案例的作者雖然沒有寫依據,但由于前面成功的教學任務分析,也就自然確立了教學重、難點。這也是很好的。【教學過程】進程教師活動學生活動設計意圖創設情境課堂導入: 今天很高興,特此我給大家準備了一份禮品(精美包裝猴與兔藝術品),你們想知道里面有什么禮物嗎?學生:想 師:好!我們班有一位同學知道里面有什么禮物!(在上課之前事先告訴其
43、中的一個同學)但是他不能就這樣告訴大家,有一個規則可以讓我們知道里面裝的是什么規則是:從第一排的第一個同學開始。每位同學只問他相鄰的同學,每位同學最多只能被問一次,而且一個同學不能再問第二人,當任何一個同學知道了答案,要求立即告訴曾經問過他的那個同學 (不能告訴其它同學)以此類推。一直到得出答案為結束以游戲規則開展,我想讓第一位同學告訴大家,精裝的禮物是什么?師生共同活動“找答案”使用情境教學法在此活動過程中能讓學生初步從活動中體驗“問題的發與收”從而走進了遞歸的思維模式,為進一步學習遞歸算法埋下伏筆啟發主體師:前面我們學習了自定義函數,知道函數是為了實現某種功能而編寫的一段相對獨立的程序,并
44、且可以多次的調用。算法描述:function what(student)如果我知道答案,那么我就告訴你否則,我要問下一位同學再告訴你end function討論活動過程,總結游戲規則,了解活動規律,并將活動過程進行算法描述分析問題確定方案,培養學生思維程序化,為下面新學習遞歸算法做好移植準備學習新知展示題:小猴吃桃: 有一天小猴子摘若干個桃子,當即吃了一半還覺得不過癮,又多吃了一個。第二天接著吃剩下桃子中的一半,仍覺得不過癮又多吃了一個,以后小猴子都是吃尚存桃子一半多一個。到第10天早上小猴子再去吃桃子的時候,看到只剩下一個桃子。問小猴子第一天共摘下了多少個桃子?1、鼓勵學生進行討論,共同尋找
45、答案或解決方法2、師生共同分析題: 以4位同學排成了行,(設從行的后面開始的第一位同學知道第10的桃子數(1個),倒數第二位同學知道第9天的桃子數是)從教師提問排在前面第一位(第7天)的同學,你知道,你今天的桃子數有多少?討論、比較、分析、歸納實例教學,選擇“小猴吃桃”這一題的目的是為了簡化教材“裴波那契”數列的多函數調用,回避問題分析的復雜性較大的特點,從而使得重點難點得以輕松的突破。 目的是討論出,只有倒數第一位同學知道,其它有同學都不知道,但是他只要知道他后一位同學的桃子數就可以求出本人所具有的桃子數,(后同學的桃子數+1)*2就是本人的桃子數。建立數學模型:假設第n,n10天的桃子數為tao(n)那么 tao=10 n=1tao(n)=(tao(n+1)+1)*2 n10推導數學建模 我們能不能這樣設一個函數:算法描述: function你有多少桃子?(第幾天) 如果我第1
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 應急與安全管理制度
- 影城操作間管理制度
- 微小型工廠管理制度
- 快遞分公司管理制度
- 性教育講師管理制度
- 總工辦員工管理制度
- 情商訓練室管理制度
- 戶外led管理制度
- 換藥室消毒管理制度
- 推拿理療館管理制度
- 2024屆湖北省鄂東南聯盟數學高一下期末達標檢測模擬試題含解析
- 城市公園物業管理費用收支預案
- 鹽城市2023-2024學年三年級語文第二學期期末調研檢測模擬卷
- 如何做一個自律的人主題班會
- 2024絕經后無癥狀子宮內膜增厚診療中國專家共識(完整版)
- 《快遞企業安全管理》課件
- 冷板液冷標準化及技術優化白皮書-2023.12
- 物理降溫法與熱療技術試題
- 2017年12月大學英語四級真題試卷及答案(三套全)
- 汽車起重機日常檢查維修保養記錄表
- GB/T 43334-2023獨立型微電網能量管理系統技術要求
評論
0/150
提交評論