久久99精品久久久久久琪琪,久久人人爽人人爽人人片亞洲,熟妇人妻无码中文字幕,亚洲精品无码久久久久久久

《算法與程序設計》選修教案

時間:2019-05-15 03:57:43下載本文作者:會員上傳
簡介:寫寫幫文庫小編為你整理了多篇相關的《《算法與程序設計》選修教案》,但愿對你工作學習有幫助,當然你在寫寫幫文庫還可以找到更多《《算法與程序設計》選修教案》。

第一篇:《算法與程序設計》選修教案

第一課

初識算法與程序設計

一、教學目標

1、知識與技能(1)理解算法的概念,培養學生自我探索信息,高效獲取信息的能力;

(2)能初步利用算法解決簡單的問題,培養學生的理論聯系實際能力和動手操作能力。

2、情感、態度、價值觀 學生在學習過程中,通過親身經歷體驗獲得對此算法的感性認識,培養學生自我獲取信息、分析評價信息、、表達呈現信息的能力,進一步提高其信息素養。

二、教學重點難點 重點:算法概念的理解 難點:如何科學合理的選擇和設計算法。

三、教學策略與手段 以趣味性問題設置情境,激發學生探索解決問題的興趣,與學生進行互動探討,通過Flash演示材料,比較直觀地把抽象的問題簡單化,使學生的思考逐步深入,從而總結出算法的概念,學會如何設計和選擇算法,培養學生自主探究學習的能力。

四、教學過程(1課時)

(一)我們來共同尋找下面一些生活中比較現實的問題的解決方法。【問題一】天下真的有“不要錢的午餐”嗎? 某一餐館門口海報上寫著“不要錢的午餐”,規則如下:在三個月內,來賓必須湊夠五個人,五人每次來就餐必須按照不同的順序坐,直到把所有可能的順序都坐一遍,以后來吃飯就可永遠免費”。于是有人想,這太容易了,每人每次坐不同的位置,吃五次不就行了?于是他就叫上自己的朋友參加這項活動,可是,吃了十次之后,還沒有吃上免費午餐,這是怎么回事呢? 學生們感覺非常有意思,很快以小組為單位進行熱烈的討論并得出了破解問題的步驟:①第一個座位5個人都有坐的機會②第二個座位只有4個人中的任一個有坐的機會(一個人不能同時坐兩個座位)③第三個座位只有3個人中的任一個有坐的機會④第四個座位只有2個人中的任一個有坐的機會⑤第五個座位只有1個人有坐的機會⑥計算:5×4×3×2×1=120⑦得出結論:需要吃120次才有可能吃上免費午餐。

【問題二】有三個和尚和三個妖怪過河,只有一條能裝下兩個人的船,在河的任何一方或者船上,如果妖怪的人數大于和尚的人數,那么和尚就會有被吃掉的危險。你能不能找出一種安全的渡河方法呢?請 1

寫一寫你的渡河方案。學生:學生討論回答。〖展示步驟〗 ①兩個妖怪先過河,一個妖怪回來; ②再兩個妖怪過河,一個妖怪回來; ③兩個和尚過河,一個妖怪和一個和尚回來; ④兩個和尚過河,一個妖怪回來; ⑤兩個妖怪過河,一個妖怪回來; ⑥兩個妖怪過河。【Flash動畫展示】通過討論和動畫展示,我們可以知道,計算機解決問題和人解決問題一樣需要有清晰的解題步驟。算法就是解決問題的程序或步驟。

(二)【課件展示】算法的概念:

1、廣義的算法是指完成某項工作的方法和步驟,在我們日常生活中也經常使用算法,只是沒意識到罷了。如:洗衣機的使用說明書是操作洗衣機的算法,菜譜是做菜的算法等等。

2、在數學中,現代意義的算法是指可以用計算機來解決的某一類問題的程序和步驟,這些程序或步驟必須是明確和有效的,而且能夠在有限步之內完成。【小試身手】按照這樣的理解,我們可以設計出很多由具體數學問題解決一類數學問題的算法.下面看一個例子:(要求學生自己考慮并寫出具體的算法)雞兔同籠問題。一個籠子里有雞和兔,現在只知道里面一共有17個頭,48只腳,雞和兔各有多少只?試設計一個求解的算法。【設計意圖】求解雞兔的問題簡單直觀,卻包含著深刻的算法思想。應用解二元一次方程組的方法來求解雞兔同籠問題。第一步:設有小雞x只,小兔y只,則有 第二步:將方程組中的第一個方程兩邊乘-2加到第二個方程中去,得到,得到y=7; 第三步:將y=7代入(1)得x=10。【變一變】在籠中有雞、兔若干,已知有頭a個,有腳b只,求各有多少只雞和兔。【師生合作】老師帶領學生共同書寫規范的算法的具體步驟,最后引出算法使用的范圍:能解決一類問題,并且能重復使用。

(三)【課件展示】算法的基本特征 ①有窮性 ②確定性 ③不唯一性 ④有效性(邏輯性)2

1、有窮性:一個算法應該包含有限個操作步驟,而不能是無限的。

2、確定性:算法的每個步驟都應該是明確無誤的,不能含義模糊,使執行者無所適從。

3、有零個或者多個輸入,有一個或者多個輸出

4、有效性:算法中的每一步都應該能有效地執行,執行算法最后應該能得到確定的結果。【教學總結】

1、本節課通過一些生活中看似簡單問題的解決方法和步驟,使學生比較輕松的接受了生活算法的概念,進一步理解了計算機算法的概念。

2、課堂教學的效益取決于學生對所學知識理解了多少,能否用所學知識來解決一些實際問題。本節課的設計突出講與練的結合,培養學生的動手能力,并且引出學生對下一節課的內容的思考,比較順利的完成了本節課的教學任務。

3、如何優化算法,找到算法的形式和用算法解決問題的效益的最佳結合點,還尚需探討。3

第二課 用計算機解決問題

一、教學目標(1)讓學生了解算法、窮舉法、程序設計語言、編寫程序和調試程序等概念。(2)讓學生知道對現實問題的自然語言的描述,特別是類似程序設計語言的自然語言描述。(3)讓學生理解分析問題、設計算法、編寫程序、調試程序這一用計算機解決問題的基本步驟,認識其在算法與程序設計中的作用。

二、重點難點 重點用計算解決問題的過程中的分析問題、設計算法、和上機調試程序等步驟。用計算機解決問題的過程中的分析問題、設計算法也是本節的難點。

三、教學過程(2課時)

(一)引入 教師:“在科技發達的今天,我們到處都可以看到計算機的蹤影,感受到計算機給學習、生活帶來的方便。然而,在驚嘆計算機的神奇和享受的歡樂的時候,你是否了解計算解決問題的基本過程?有沒有思考過其中的奧妙呢?下面我們先看一個古典的問題:”

學生觀看的電視劇《漢劉邦》片斷,內容大致如下: “韓信是我國西漢初著名的軍事家,劉邦得天下,軍事上全依靠他。韓信點兵,多多益善,不僅如此,還能經常以少勝多,以弱勝強。在與楚軍決戰時韓信指揮諸侯聯軍,在垓下十面埋伏,擊敗楚軍,楚霸王項羽因此自殺。” 片斷結束時屏幕出現“韓信點兵”問題:“相傳漢高祖劉邦問大將軍韓信統御兵士多少,韓信答說,每3人一列余1人、5人一列余2人、7人一列余4人、13人一列余6人??。劉邦茫然而不知其數。你呢?”

(二)問題 教師:“下面我們先助劉邦解決一個簡單的問題。” “韓信點兵”問題1:求整除3余

1、整除5余

2、整除7余4的最小自然數。

(三)探究 把全班分成16個學習小組,每個小組的同學一起探究、討論問題。利用已學過的數學知識找出題目已知什么求什么、明確已知和未知之間的關系和寫出求解問題的解題步驟。并填寫《計算機解決問題的過程》教學活動表中的“探究問題記錄表”。如下:

探究問題記錄表

分析問題(找出已知和未知、列出寫出解題步驟 結果 已知和未知之間的關系)學生討論,教師在這過程中到各學習小組中,引導個別學習小組分析問題、寫出解題步驟。教師提問2~3個同學,從中逐漸引導出類似如下的分析問題和解題步驟,并給出算法的概念。

分析問題(找出已知和未知、列出寫出解題步驟 已知和未知之間的關系)

1、令X為1。

2、如果X整除3余1,X整除5余2,設所求的數為X,則X應滿足: X整除7余4,這就是題目要求的數,X整除3余1 則記下這個X。X整除5余2

3、令X為X+1(為算下一個作準備)。X整除7余4

4、如果算出,則結束;否則跳轉2。

5、寫出答案。教師解釋第3步“另X為X+1”并指出它與數學中的區別,并從上面的解題步驟中總結出窮舉的算法。教師:“剛才有些同學把題目解出來了,答案是67,韓信作為大將軍,統率士兵當然不止67人,下面我們來解決一個數據量稍大的問題。” 展示題目: “韓信點兵”問題2:求整除3余

1、整除5余

2、整除7余

4、整除13余

6、整除17余8的最小自然數。學生分析上述問題并寫出算法,不用計算。學生有了第1題的經驗,很快會寫出和第一題類似的算法。如下:

分析問題(找出已知和未知、列出寫出解題步驟 已知和未知之間的關系)設所求的數為X,則X應滿足:

1、令X為1。X整除3余1

2、如果X整除3余1,X整除5余2

X整除5余2,X整除7余4 X整除7余4,5

X整除13余6 X整除13余6,X整除17余8 X整除17余8,則記下這個X。

3、令X為X+1。

4、如果算出,則結束;否則跳轉2。

5、寫出答案。教師:“上面的結果超過1萬,人工計算要很長時間,在科技發達的今天,你想到什么?”(用計算機解題)

(四)用計算機解決問題 教師:“計算機怎么樣解決問題?用計算機解決問題,同樣要經過分析問題、設計算法兩步驟。”在講授過程中展示人工解題中分析問題和設計算法這兩個步驟。用計算機解題,是不是輸入上面的算法?上面用自然語言描述的算法,計算機不懂,必須翻譯成計算機的語言,這就是程序設計語言。” 本例用Visual Basic語言編寫的程序請看如下: Private Sub Command1_Click()Dim X As Integer, Y As Integer X = 1: Y = 0 Do If X Mod 3 = 1 Then If X Mod 5 = 2 Then If X Mod 7 = 4 Then If X Mod 13 = 6 Then If X Mod 17 = 8 Then Y = X End If End If End If End If X = X + 1 Loop Until Y > 0 Print “韓信統御士兵數:”;Y End Sub 教師:“程序編好以后,通過鍵盤輸入計算機,并運行程序查看結果這個過程叫調試程序。” 6

(五)觀摩 根據前面編制的程序,啟動Visual Basic程序設計環境,輸入程序代碼,進行調試,最后得到運行的結果。要求同組內先完成的同學幫助還未完成的同學。幫助的時候不能代勞,只能動口不動手。

(六)交流 教師:“前面我們學習了用計算機解決問題的過程,它和人工解有什么關系呢?同一學習小組的同學一起探討人工求解問題和用計算機求解問題的異同,并把討論結果記錄在《計算機解決問題的過程》教學活動表的“討論記錄”表中。如下: 關于求解問題的方式討論記錄

求解問題的方式 相同點 不同點 人工求解問題 用計算機求解問題 教師提問2~3個小組的討論結果,并引導出大致如下的形式結果: 求解問題的方式 相同點 不同點 對題目進行解答、運算速度人工求解問題 慢、不需要計算機等 分析問題、設計算法、得出結果、驗算結果等 編寫程序、調試程序、運算用計算機求解問題 速度快等 7

第三課 算法與算法的描述

一、教學目標

1、知識與技能(1)了解算法的定義及其表達方法;(2)認知流程圖的六種基本符號;(3)理解計算機解決問題的一般過程。

2、方法與過程(1)理解用不同的表達方法描述算法的優缺點;(2)掌握用流程圖描述簡單的算法。

3、情感態度和價值觀 以生活中的實例引入算法,激發學生的學習興趣,培養學生的主動探究能力。

二、重點難點

(一)教學重點

1、算法的定義;

2、算法的三種表達方法;

3、流程圖的六種基本符號;

4、用流程圖描述簡單的算法。

(二)教學難點

5、算法的描述(三種);

6、用流程圖描述算法。

三、教學過程(2課時)教學內容 預期目標 新課內容:

一、對算法的初步了解 1.一個簡單的物理問題:求物體在恒力作用下的加速度。根據在物理課中學過的知識,要解決這個問題有多種方法: 方法一: a)測量出物體的質量m、拉力F和滑動摩擦力f b)將測量所得的數據輸入計算機 c)根據牛頓第二定律F-f=m*a,計算出加速度a

d)輸出所得的結果 方法二: a)測量出物體從靜止開始移動的距離s、時間t b)將測量所得的數據輸入計算機 引入物理學中的例子,激發 c)利用公式:s=a*t*t/2計算出加速度a 學生的學習興趣,有助于學 d)輸出所得的結果 生理解算法的概念 2.算法的定義 這種為解決某一問題而設計的確定的有限的步驟稱為算法。

二、算法的描述 要把解決問題的步驟表達出來,有多種方法可以表達算法。引導出算法的概念

1.用自然語言表達 用自然語言表達算法,就是把算法的各個步驟,依次用人們熟悉介紹三種算法的表達方式,的自然語言表示出來。并對它們進行比較,分析優優點:容易理解 缺點。缺點:書寫較煩、不確定性、對復雜的問題難以表達準確、不能被計算機識別和執行

給出流程圖的基本符號,2.用圖形符號表達 對其功能和使用情況加以用圖形符號表達算法必須要有一組規定統一、含義確定的專用符說明,以便今后在具體運用號。中的正確使用。常用的“流程圖”所用的基本符號 圖形符號 符號名稱 說明 流線 起始、終表示算法的開起始框:一流出線 止框 始或結束 終止框:一流入線 輸入、輸框中標明輸只有一流入線和一出框 入、輸出的內流出線

容 處理框 框中標明進行只有一流入線和一

什么處理 流出線 判定框 框中標明判定一流入線兩流出線 條件并在框外(T和F

標明判定后的)但同時只能一流

兩種結果的流出線起作用

向 流線 表示從某一框 給出流程圖的作法,通過詳到另一框的流細的解釋說明使學生初步向 掌握流程圖的使用和基本 連接圈 表示算法流向一條流線 畫法。出口或入口連 接點 優點:直觀、形象 缺點:不能被計算機識別和執行 例6-1-1:“物體在恒力作用下的加速度”的算法用下圖表達。

開始

M=m F1=F F2=f a=(F1-F2)/M 輸出a

結束 3.用程序實現算法 用計算機能理解和執行的程序設計語言把算法表示出來,然后把了解計算機解決問題的一程序輸入到計算機并執行,計算機才能按照預定的算法去解決問般過程,為今后用編程解決 10

題。實際問題打下基礎。不同類型的計算機能夠識別的指令和語言不盡相同,即使對同一 種計算機語言,不同類型的計算機對該語言的解釋程序也有差異。因此,用程序表示算法時,必須按照程序設計語言適用某類計算 機的具體規定來進行。例:用Pascal語言表示“從鍵盤輸入一組數據并求該組數據的平均值”的程序如下:

Program ex_aver

Var I:integer;x,av:real;

Begin

Av:=0;I:=0;

Do while not eof()Begin

Readln(x);av:=av+x;

I:=I+1;

End

av:=av/I;Writenln(“The average value is :”,av);End

三、用計算機解決問題的一般過程 使用計算機解決一個問題,一般包括四個過程 1.需求分析 “需求分析”是指對要解決的問題進行詳細的分析,弄清楚問題的要求,包括需要輸入什么數據,要得到什么結果,最后應輸出什么。“需求分析”就是確定要計算機“做什么”。2.設計算法 弄清楚要計算機“做什么”后,就要設計計算法,明確要計算機“怎么做” 11

解決一個問題,可能有多種算法。例如,數學題常常有“一題多解”。這就是說,解決一個問題的算法可能不止一種。這是,應該通過分析、比較、挑選一種最優的算法。3.編寫程序 計算機只能接受并執行計算機程序設計語言編寫的程序。當我們為解決一個問題確定了算法后,還必須將該算法用計算機程序設計語言編寫程序。這個過程成為“編碼”或“編程”。4.上機調試與維護 編寫完成的程序,不一定完全符合實際問題的要求,還必須在計算機上運行這個程序,排除程序中可能出現的錯誤,才能得到結果。這個過程稱為“上機調試”。即使是經過調試的程序,在使用一段時間后,仍然會被發現錯誤或不足之處。這就需要對程序做進一步的修改,使之更加完善。這個過程稱為“維護”。在實際解決問題時,上述四個步驟可能會根據不同的問題有所側重。

第四課

程序與程序設計語言

一、教學目標

1、知識與技能 使學生知道什么是源代碼,并理解算法、程序設計、程序設計語言之間的關系,了解程序設計語言的發展及種類。

2、過程與方法 使學生初步體驗編程樂趣,了解如何編輯程序、編譯程序和連接程序。

3、情感態度與價值觀 讓學生進一步領會算法和程序設計在解決問題中的地位,體會編寫出程序的魅力,從而培養學生學習編程的興趣。

二、重點難點(1)重點:了解代碼所包含的算法思想;(2)難點:計算機是如何編輯程序、編譯程序和連接程序的。

三、教學過程(2課時)正課講解

(一)嘗試用VB編寫程序

1、么是VB? ——VB是一種基本BASIC語言的可視化程序開發工具。

2、編寫程序 ⑴從桌面上啟動VB,彈出“新建工程”對話框,從“新建”頁面中選“標準EXE”,然后“打開“按鈕,建立”標準EXE工程。

注:為了避免打開時總是出現“新建工程”對話框,在首次啟動時,勾選“不再顯示這個對話框”。

⑵單擊工具箱“CommandButton”的按鈕,在Form1窗體中拖出一個“Command1”按鈕。Command1是命令按鈕,它有6個屬性、2個事件和4個方法。屬性

Caption Default 標題

決定窗體的默認命令按鈕

Style Enabled 控件的外觀

決定對象是否響應用戶生成事件

Visible Picture 決定對象是否可見

顯示的圖形 13

事件 方法 Click Drag Refresh 單擊 拖動 刷新 Move KeyPress SetFocus 移動 字符鍵被單設置焦點,將當前焦擊 點強制設置到文本框對象上

⑶選中此按鈕,從屬性窗口中將Caption改為“韓信點兵”。⑷給按鈕添加代碼,在Private Sub Command1_Click()和 End Sub之間添加代碼:

Dim N As Integer ‘聲明N為整型 N=1 ‘賦初始值 Do(N mod 3=2)and(N mod 5=3)and(N mod 7=2)Then ‘滿足條件打印N,不滿足繼續循環 Print N Exit do End if N=N+1 Loop ⑸從“運行”菜單中“單擊”啟動命令,運行程序。運行后,單擊“韓信點兵”按鈕。注:運行時,不能修改程序代碼。實踐題:從“調試”菜單中點擊“逐語句”命令(F8),然后按F8鍵試著單步運行程序,觀察代碼是如何運行的,程序執行注釋部分嗎?在程序運行的過程中,用鼠標指向變量N,看看它的值有什么變化,為什么會這樣變?

(二)算法、程序設計與程序設計語言之間的關系 ⑴算法 提出問題:什么是算法?算法有哪些特征? ⑵程序設計——尋求解決問題的方法,并將其實現步驟寫成計算機可執行的程序的過程。

⑶程序設計語言——泛指一切用于書寫計算機程序的語言。

算法是程序設計的前提,它包含方法和步驟; 程序是實現算法中的思想的過程; 程序設計語言把算法轉化為計算機認識的語言。14

(三)認識程序設計語言

1、發展過程 機器語言:由一串“0”和“1”構成二進制代碼。匯編語言:是一種符號化(英文助記符)的機器語言。高級語言:如Basic、C/C++、Fortran、Pascal、Cobol、Java等。

2、分類(按轉換方式不同分類)

編譯型語言

解釋型語言

編寫的源程序需要用編譯程序先翻譯成機器語言的源程序輸入計算機后,運行源程序,相應的解釋程序目標程序,然后再由連接裝配程序進行連接裝配,生會逐條分析源程序中的語句,每解釋一句由計算機執成可執行程序,這樣才能被計算機執行。行一句。C/C++、VB、Pascal、Cobol Qbasic、Lisp

3、編輯程序、編譯程序和連接程序 ⑴編輯程序 包含內容:一是將源程序逐個字符輸入到計算機內存,二是修改源程序,三將修改好的源程序保存在磁盤文件中。⑵編譯程序:將已編輯好的源程序(已存儲在磁盤文件中)翻譯成二進制的目標代碼。二進制代碼在UNIX下后綴為“.o”的文件,在DOS下是后綴為“.obj”文件。⑶連接:將各模塊的二進制目標代碼與系統標準模塊經連接處理后,得到具有有絕對地址的可執行文件,它是計算機直接執行的文件。在UNIX下它以“.out”為后綴,在MS-DOS以下“.exe”為后綴。

執行過程: 15

第五課 vb語言及程序開發環境

一、教學目標

1、知識與技能 掌握VB定義的常用的基本數據類型,常量與變量的定義方法,運算符、函數和表達式的描述。熟悉VB程序設計語言的開發環境,能調試簡單的VB程序。

2、方法與過程

本節涉及到基礎知識較多,所以要一個一個問題解決,從一個簡單的求圓的面積的程序入手,從中分析VB程序一般包括的四部分,基本數據類型、常量與變量,運算符、函數和表達式,而且結合練習來加強對這些新知識的鞏固。通過介紹VB程序的開發環境中的菜單、常用工具和常用窗口等,再通過上機操作運行一個程序,讓學生更容易上手。

3、情感態度和價值觀 這一節是學習VB程序的重要的入門課,授課時要注意結合學生的思路,逐個問題解決,不可一蹴而就。

二、重點難點

1、教學重點(1)VB常用的的基本數據類型,常量與變量,運算符和表達式(2)VB程序的開發環境

2、教學難點 把本節的內容加以運用

三、教學過程(3課時)導入: 以下是一個“求半徑為r的圓的面積”的程序,請你注意觀察程序的組成結構及其功能,并思考如下的問題:(1)程序有多少行,每一行的作用是什么?(2)如果按語句的作用區分,這個程序包含幾個部分?

Private sub command1_click()

‘定義名為command1_click()的事件過程 Const pi as single=3.14 ‘說明程序中pi是常量∏ Dim r as single,s as single

‘定義半徑r和面積s為單精度實型 r=inputbox(“r=”,”請輸入半徑”)

‘輸入r的值

s=pi*r*r ‘把表達式pi*r*r的值賦給s print “圓的面積s=”;s ‘把s的值輸出到當前的窗體上 16

End sub ‘過程結束 考察上述程序,我們容易看到:程序共有代碼7行,每一行都是VB的一個語句,VB的程序就是由這樣的一組語句組成。每一個語句都是按照一定的規則書寫的。總結上述分析,我們可以得到VB程序的一般包括如下部分:(1)數據類型說明部分(2)數據的輸入部分(3)數據的處理部分(4)數據的輸出部分

一、基本數據類型 描述客觀事物的數、字符以及所有能輸入到計算機中,并被計算機程序加工處理的集合稱為數據。數據既是計算機程序處理的對象,也是運算產生的結果。為了更好地處理各種數據,VB定義了多種數據的類型。基本數據類型是系統預先定義的數據類型,表2-1中列出了VB定義的常用的基本數據類型。例如在上述的程序中,既有單精度實型數的數據(如3.14等),也有字符類型的數據,如“輸入半 17

徑”、“圓的面積S=”。

二、常量與變量(1)常量 常量是指在程序運行過程中始終保持不變的常量、字符串等。例如在上述的程序中,3.14、“r=”、“輸入半徑”等都是常量。在程序設計中,以于一些經常使用的常量,可以用常量說明語句來定義。這樣可以提高程序的可讀性和可維護性。常量說明語句的格式是: Const 常量名 As 類型 = 表達式 在上述程序中,第2行就是一個常量說明語句,說明程序中需要使用的常量。(2)變量 在程序處理數據時,對于輸入的數據、參加運算的數據、運行結果等臨時數據,通常把它們暫時存儲在計算機的內存中。變量就是命名的內存單元位置。在VB中,變量名必須是由英文字母開頭,后面則可以由字母、數字或其它符號組成;變量的名稱最好與它所表示的內容意義相同的英文單詞來確定。(3)變量說明 使用變量前,一般應先說明變量名及其類型,以使系統為其分配存儲單元,變量說明語句格式如下:

Dim 變量

As

類型 如Dim r as single,定義半徑r為單精度實型

三、運算符、函數和表達式

(1)運算符 運算符是對數據進行加工的過程。描述各種不同運算的符號稱為運算符,參與運算的數據稱為操作數。在VB中,常用的運算符有算術運算符、字符串運算符和邏輯運算符等。①算術運算符有: +14 Age = Age + 1 Tree = Tree + Age Print “到”;Age;Loop Until Tree >= 100

“歲時種到”;Tree;“棵樹!” End Sub 2.通過師生共同分析“陳婷植樹”問題的程序,3.學生對老師所提問題展開分析問題、35

歸納總結VB語言的DO循環語句的格式、功能、設計算法、編寫程序、調試程序等用計執行過程,以及書寫的注意事項,歸納總結VB算機解決問題的探究活動。語言的DO循環特點。3.老師提出思考題:已知s=1×3×5×…×N,找4.學生在教師的指導下,閱讀、分析、出一個最大整數N,使得S<50000。要求學生展歸納,完成實踐任務。開分析問題、設計算法、編寫程序、調試程序等

5、要求學生上機練習共同探討P58的用計算機解決問題的探究活動。交流,得出使用DO循環的技巧和心得。

4、上機練習:P54實踐(1)、(2)

5、對幾種DO循環的比較分析:歸納總結出各自不同的特點的把握要素,使同學們能運用自如。設立一些由人力解決較困難的問題,要求學生運要求學生能設計出算法及編寫出程序。拓展 用所學編程知識去解決,比如:判斷一個大數是否為素數等問題。小結 VB語言的DO循環語句、格式、功能和執行過程,以及幾種不同DO 循環的比較。教師在布置課本的練習:P59(5),指導學生根據本節所學的知識,分析問題,設計算法,練習編程求解問題。36

第九課 模塊化程序設計

一、教學目標(1)理解自頂而下、逐步求精的程序設計方法;(2)掌握VB語言的過程與函數的定義和調用方法。(3)理解模塊化程序設計的基本思想。

二、重點難點 教學重點: 讓學生學會使用VB語言的過程與函數的定義和調用方法。教學難點: 理解模塊化程序設計的基本思想,并運用于程序設計中。

三、教學過程(2課時)教學環教師活動 學生活動 節 從歌德巴赫猜想的故事入手,驗證歌德巴赫 學生邊閱讀邊傾聽。猜想,激發學生學習的興趣和熱情,通過先看P61情意 的程序2-9A觀查此程序有沒有功能重復的地方,導入 如何才能省略書寫……并且反復調用同一功能的程序代碼呢?拉開本節教學的序幕。1.通過組織學生探究“驗證歌德巴赫猜想”問1.學生對“驗證歌德巴赫猜想”題,引導學生經歷分析問題、設計算法、編寫程問題展開分析問題、設計算法、序、調試程序等用計算機解決問題的過程;歸納編寫程序、調試程序等用計算機總結自頂而下、逐步求精的程序設計方法; 解決問題的探究活動。2.通過師生共同分析“驗證歌德巴赫猜想”的2.學生在教師的指導下,閱讀、新課 另一個程序,歸納總結VB語言的過程與函數的分析、歸納,完成實踐任務。講解 定義和調用方法。3.學生對“求五邊形的面積”3.通過師生共同分析“求五邊形的面積”程序,問題展開分析問題、設計算法、歸納總結模塊化程序設計的基本思想。編寫程序、調試程序等用計算機 解決問題的探究活動。

4、要求學生求三個數的平均數。(用自定義函4.學生在教師的指導下,閱讀、數及自定義子過程)分析、歸納,完成實踐任務。37

1、求園的面積,已知半徑為1、3、5、7、9、11。(調用函數方法)拓展

2、調用子程序,使第一行打印20個*,第二行打印10個*,第三行打印20個*。引導學生利用函數及子程序解決較復雜問題,體會利用函數及子程序的好處。1.自頂而下、逐步求精的程序設計方法; 小結 2.VB語言的過程與函數的定義和調用方法; 3.模塊化程序設計的基本思想。

指導學生根據本節所學的知識,完成求任意四邊形的面積問題,要求他們能分練習析問題,設計算法,編程求解問題。38

第十課 遞歸算法的實現

一、教學目標

1、知識與技能: 理解什么是遞歸算法,學生會用遞歸算法的思想分析問題 能夠應用自定義函數方法實現遞歸算法的編程

2、過程與方法: 學生參與討論,通過思考、動手操作,體驗遞歸算法的方法

3、情感態度與價值: 結合數學中的實例,激發學生的數學建模的意識,培養學生多維度的思考問題和解決問題。『教學目標設計的合理、準確。這也是在意料之中的,一般情況下,成功的教學任務分析一定會帶來成功的教學目標設計。』

二、重點難點 重點:理解什么是遞歸算法,學生用遞歸算法的思想分析問題; 應用自定義函數方法實現遞歸算法的編程 難點:應用自定義函數方法實現遞歸算法的編程 『大部分教師在確立教學重、難點時不會給出確立的依據,可能這些依據早就在教師的腦中明確了,也有可能是一筆糊涂賬,只不過是教參上是這樣寫的就照搬過來而已。如果在寫教學重、難點的同時能再給出確立重、難點的依據會令教案更具借鑒意義。本案例的作者雖然沒有寫依據,但由于前面成功的教學任務分析,也就自然確立了教學重、難點。這也是很好的。』

三、教學過程(2課時)進程 教師活動 學生活設計意圖 動

使用情境教學創設課堂導入:

法 情境 今天很高興,特此我給大家準備了一份禮品(精美包 在此活動過程裝猴與兔藝術品),你們想知道里面有什么禮物嗎?

中能讓學生初學生:想?? 師生共步從活動中體

師:好!我們班有一位同學知道里面有什么禮物!(在同活動驗“問題的發上課之前事先告訴其中的一個同學)但是他不能就這樣告“找答與收”從而走訴大家,有一個規則可以讓我們知道里面裝的是什么?? 案” 進了遞歸的思規則是: 維模式,為進1.從第一排的第一個同學開始。一步學習遞歸2.每位同學只問他相鄰的同學,每位同學最多只能被 算法埋下伏筆 問一次,而且一個同學不能再問第二人,當任何一個同學 知道了答案,要求立即告訴曾經問過他的那個同學(不能 告訴其他同學)以此類推。

3.一直到得出答案為結束。以游戲規則開展,我想讓第一位同學告訴大家,精裝的禮物是什么? 39

啟發師:前面我們學習了自定義函數,知道函數是為了實討論活分析問題 主體 現某種功能而編寫的一段相對獨立的程序,并且可以多次動過確定方案,培養的調用。程,總學生思維程序 結游戲化,為下面新 規則,學習遞歸算法算法描述: 了解活做好移植準備 function what(student)動規如果我知道答案,那么我就告訴你 律,并否則,我要問下一位同學再告訴你 將活動end function 過程進 行算法描述 學習展示題: 討論、實例教學,選新知 比較、擇“小猴吃桃”小猴吃桃: 有一天小猴子摘若干個桃子,當即吃了一半還覺得不

分析、這一題的目的過癮,又多吃了一個。第二天接著吃剩下桃子中的一半,歸納 是為了簡化教

仍覺得不過癮又多吃了一個,以后小猴子都是吃尚存桃子材“裴波那契” 一半多一個。到第10天早上小猴子再去吃桃子的時候,數列的多函數

看到只剩下一個桃子。問小猴子第一天共摘下了多少個桃調用,回避問 子? 題分析的復雜 1.鼓勵學生進行討論,共同尋找答案或解決方法 性較大的特

2.師生共同分析題: 點,從而使得 以4位同學排成了行,(設從行的后面開始的第一位同重點難點得以 學知道第10的桃子數(1個),倒數第二位同學知道第9輕松的突破。

天的桃子數是??)從教師提問排在前面第一位(第7天)的同學,你知道,你今天的桃子數有多少? 目的是討論出,只有倒數第一位同學知道,其他有同 學都不知道,但是他只要知道他后一位同學的桃子數就可 以求出本人所具有的桃子數,(后同學的桃子數+1)*2就 是本人的桃子數。建立數學模型:

假設第n,n<10天的桃子數為tao(n)那么 推導數 tao=10 n=1 學建模 tao(n)=(tao(n+1)+1)*2 n<10 我們能不能這樣設一個函數: 學生進培養學生養成算法描述: 行算法良好的編程習

function你有多少桃子?(第幾天)描述 慣 如果我第10天,那么我就有一個桃子。否則,我的桃子數=(前一天的桃子數+1)*2 end function 40

示圖協助學生

分析算算法實現過程法的實的始末思維,現過程 學生編程實現:

Function tao(ByVal days As Integer)As Integer

If days = 10 Then 培養學生的編 tao = 1 學生編程和調試程序 Else 程實現 能力,讓學生 tao =(tao(days + 1)+ 1)* 2 獲得成功的體 End If 檢 End Function 41

自主我們再來看第二題:(學生閱讀教材P68,讓學生閱尊重學生的個構建 讀教材的“裴波那契”,培養學生的自學能力、和知識遷閱讀 體發展,讓學移建構自我的知識體系)思考、生進行自主探裴波那契(Fibonacci leonardo,約1170-1250)是意大分析、究學習,使用利著名數學家.在他的著作《算盤書》中許多有趣的問題,討論,學主動、積極 最富成功的問題是著名的“兔子繁殖問題”: 如果每對兔的學習新知 子每月繁殖一對子兔,而子兔在出生后第二個月就有生殖識,培養他們 能力,試問第一月有一對小兔子第十二月時有多少對兔的自學能力。子? 1、1、2、3、5、8、13、21?? 培養學生分析

假設第n個月的兔子數目為f(n),那么 問題、解決問 f(n)=F(n-1)+f(n-2)當n≥3,題能力,煅練 f(1)=f(2)=1 學生“數學建 討論得出算法描述 模”建構主義 Function有多少對兔子(第幾月)的學習觀認 如果是第一月或第二月,那么就有一對兔子。為:學習不是 否則,(本月)兔子數=(本月-1)月的兔子數+(本月被動接收信-2)月的兔子數 息,而是主動

end Function 地建構意義,以自己原有的 Function tu(ByVal month As Integer)As Integer 知識經驗為基 If month = 1 Or month = 2 Then 編程實礎對外部信息 tu = 1 現。進行主動地選 Else 擇、加工和處 tu = tu(month2)理,人而獲得 End If 自己的意義過End Function 程。深化閱讀教材的循環結構實現,比較討論兩種算法的區別學生討培養學生分析知識 和特點 論 問題、歸納、梳理知識的能力,通過兩種算法的對比,讓學生深入體會遞歸算法的魅力。加深對本節課所學知識的理解。42

課堂我們今天所學習的算法是“遞歸算法”,我們談談什么 小結 是遞歸算法,遞歸算法有什么特點。師生討論,共同小結: 1.遞歸算法是數值層層調用實現的,函數先由上向下調用,當達到最底層后,再將函數值層層向上返回。(遞達成共下去,收回來,簡稱:遞歸)識 2.必須有個結束條件(有個該收回來的條件)3.可讀性強 4.計算機資源耗費大,所以效率比較底(常駐內存的數據比較多)布置1.N!(用遞歸算法編程實現)鞏固和發展本作業 2.求1+2+3+4+5??N(用遞歸算法編程實現)節課的學習內3.用遞推算法實現“猴子吃桃”問題求解 容。43

第二篇:算法與程序設計教案

第一課 初識算法與程序設計

一、教學目標

1、知識與技能

(1)理解算法的概念,培養學生自我探索信息,高效獲取信息的能力;

(2)能初步利用算法解決簡單的問題,培養學生的理論聯系實際能力和動手操作能力。

2、情感、態度、價值觀

學生在學習過程中,通過親身經歷體驗獲得對此算法的感性認識,培養學生自我獲取信息、分析評價信息、、表達呈現信息的能力,進一步提高其信息素養。

二、教學重點難點

重點:算法概念的理解

難點:如何科學合理的選擇和設計算法。

三、教學策略與手段

以趣味性問題設置情境,激發學生探索解決問題的興趣,與學生進行互動探討,通過Flash演示材料,比較直觀地把抽象的問題簡單化,使學生的思考逐步深入,從而總結出算法的概念,學會如何設計和選擇算法,培養學生自主探究學習的能力。

四、教學過程(1課時)

(一)我們來共同尋找下面一些生活中比較現實的問題的解決方法。【問題一】天下真的有“不要錢的午餐”嗎?

某一餐館門口海報上寫著“不要錢的午餐”,規則如下:在三個月內,來賓必須湊夠五個人,五人每次來就餐必須按照不同的順序坐,直到把所有可能的順序都坐一遍,以后來吃飯就可永遠免費”。于是有人想,這太容易了,每人每次坐不同的位置,吃五次不就行了?于是他就叫上自己的朋友參加這項活動,可是,吃了十次之后,還沒有吃上免費午餐,這是怎么回事呢?

學生們感覺非常有意思,很快以小組為單位進行熱烈的討論并得出了破解問題的步驟:①第一個座位5個人都有坐的機會②第二個座位只有4個人中的任一個有坐的機會(一個人不能同時坐兩個座位)③第三個座位只有3個人中的任一個有坐的機會④第四個座位只有2個人中的任一個有坐的機會⑤第五個座位只有1個人有坐的機會⑥計算:5×4×3×2×1=120⑦得出結論:需要吃120次才有可能吃上免費午餐。

【問題二】有三個和尚和三個妖怪過河,只有一條能裝下兩個人的船,在河的任何一方或者船上,如果妖怪的人數大于和尚的人數,那么和尚就會有被吃掉的危險。你能不能找出一種安全的渡河方法呢?請寫一寫你的渡河方案。學生:學生討論回答。〖展示步驟〗

①兩個妖怪先過河,一個妖怪回來; ②再兩個妖怪過河,一個妖怪回來; ③兩個和尚過河,一個妖怪和一個和尚回來; ④兩個和尚過河,一個妖怪回來; ⑤兩個妖怪過河,一個妖怪回來; ⑥兩個妖怪過河。

【Flash動畫展示】通過討論和動畫展示,我們可以知道,計算機解決問題和人解決問題一樣需要有清晰的解題步驟。算法就是解決問題的程序或步驟。

(二)【課件展示】算法的概念:

1、廣義的算法是指完成某項工作的方法和步驟,在我們日常生活中也經常使用算法,只是沒意識到罷了。如:洗衣機的使用說明書是操作洗衣機的算法,菜譜是做菜的算法等等。

2、在數學中,現代意義的算法是指可以用計算機來解決的某一類問題的程序和步驟,這些程序或步驟必須是明確和有效的,而且能夠在有限步之內完成。

【小試身手】按照這樣的理解,我們可以設計出很多由具體數學問題解決一類數學問題的算

法.下面看一個例子:(要求學生自己考慮并寫出具體的算法)

雞兔同籠問題。一個籠子里有雞和兔,現在只知道里面一共有17個頭,48只腳,雞和兔各有多少只?試設計一個求解的算法。

【設計意圖】求解雞兔的問題簡單直觀,卻包含著深刻的算法思想。應用解二元一次方程組的方法來求解雞兔同籠問題。

第一步:設有小雞x只,小兔y只,則有

第二步:將方程組中的第一個方程兩邊乘-2加到第二個方程中去,得到,得到y=7; 第三步:將y=7代入(1)得x=10。

【變一變】在籠中有雞、兔若干,已知有頭a個,有腳b只,求各有多少只雞和兔。

【師生合作】老師帶領學生共同書寫規范的算法的具體步驟,最后引出算法使用的范圍:能解決一類問題,并且能重復使用。

(三)【課件展示】算法的基本特征

①有窮性 ②確定性 ③不唯一性 ④有效性(邏輯性)

1、有窮性:一個算法應該包含有限個操作步驟,而不能是無限的。

2、確定性:算法的每個步驟都應該是明確無誤的,不能含義模糊,使執行者無所適從。

3、有零個或者多個輸入,有一個或者多個輸出

4、有效性:算法中的每一步都應該能有效地執行,執行算法最后應該能得到確定的結果。

【教學總結】

1、本節課通過一些生活中看似簡單問題的解決方法和步驟,使學生比較輕松的接受了生活算法的概念,進一步理解了計算機算法的概念。

2、課堂教學的效益取決于學生對所學知識理解了多少,能否用所學知識來解決一些實際問題。本節課的設計突出講與練的結合,培養學生的動手能力,并且引出學生對下一節課的內容的思考,比較順利的完成了本節課的教學任務。

3、如何優化算法,找到算法的形式和用算法解決問題的效益的最佳結合點,還尚需探討。

第三篇:算法與程序設計

《算法與程序設計》教學中實施研究性學習探步

作者:趙濮民

摘要:研究性學習是教育科研領域中一個嶄新的課題。信息技術教學作為以培養創新精神、研究能力和實踐能力為目標取向的必修課程,它強調讓學生通過研究性學習,提出問題,收集材料,對研究性課題進行探索、分析、研究,最后基于問題解決模式,在實踐操作中培養學生科學的態度和價值觀以及創新精神、創新思維、創造能力,并學會解決生活中與信息技術學習有關的實際問題。職業學校的學生,不僅應具有獨立接受知識的能力,更應具有獨立探索知識的能力,由“研究性學習”補充原有的“接受式學習”,使學習方式更趨完善,只有當這兩種學習方式結合起來,優勢互補,才能使基礎教育適應時代對人才培養的要求。

關鍵詞:程序設計;研究性學習;求真;求全;求變;求新;優勢互補

《算法與程序設計》是職業學校信息技術教學中的一個重點,也是難點。傳統的程序設計教學以老師講授型為主,由于算法與程序設計的內容邏輯性強,普遍認為在程序設計教學中難以實施研究性學習。

研究性學習是以“培養學生具有永不滿足、追求卓越的態度,培養學生發現問題、提出問題、從而解決問題的能力”為基本目標,以學生從學習中獲得作品設計與制作方法的困惑為方向,以在提出問題和解決問題的全過程中學習到算法與程序設計為學習方法的課程。經過反復研究,我們認為研究性學習可以應用于程序設計教學中。實施研究性學習的關鍵是要確定一個目標,要鼓勵學生主動地發現問題,并且通過探究或實踐活動去試圖解決問題。在課題研究的過程中采用分組交流討論、查閱資料、協作探究、歸納總結等方式,一步步引領學生深刻掌握算法與程序設計的精髓。

一、通過研究性學習,重構算法知識體系,要求真 研究性學習是學生在老師的指導下,結合真實生活,選定主題,然后搜集相關材料,對材料進行歸納、加工處理、分析、總結,得到相應結論的學習活動。在《算法與程序設計》教學中,根據教學內容,經過反復研究,確定了研究主題《搜索算法的應用研究》和《動態規劃算法的解題應用研究》,并根據學生的自愿報名成立了兩個研究小組。然后各小組根據自己研究的算法,重新整理相應的知識,對知識進行認知、歸納、總結。如《搜索算法的應用研究》小組,對搜索算法從以下幾方面進行整理:

1、搜索算法的算法思想、分類;

2、深度優先搜索的算法思想與算法結構;

3、廣度優先搜索的算法思想與算法結構;

4、深度優先搜索的優先策略;

5、廣度優先搜索的優化策略;

6、深度優先搜索與廣度優先搜索的異同。學生通過對搜索算法知識進行整理、分類、小結,加深了對搜索算法的理性理解與感性認知。

二、通過研究性學習,同學之間取長補短,要求全

每個學生都有所長,也有所短,研究性學習一個重要的特點就是:分工合作,共同討論,共同提高,使參與的學生全面發展。我們的“搜索算法的應用研究”小組共有五個成員,根椐學生的特點、特長,對他們進行分工,每位學生研究上述其中一個問題,然后整個小組一起討論,每位學生介紹自己的研究情況、研究成果,然后其他同學進行補充,發表自己的見解,這樣每個同學都使自己的研究內容得到補充,同時也學習到了其他同學研究方面的知識,可以取長補短,共同提高,得到全面發展。

三、通過研究性學習,總結算法的應用規律,要求變

研究性學習的目的,是要求學生搜集與主題有關的資料,歸納整理相關資料,根據相關材料和知識,對主題進行研究,提出自己的觀點或結論。我們在程序設計教學中進行算法專題研究也是這樣,除要求學生歸納、整理專題算法知識外,還要總結出算法的應用規律、應用算法解題的步驟和算法的框架,能根據實際情況,隨機應變。如在“動態規劃的應用研究”中,學生總結出:動規劃是解符合“無后效性原則”的最優問題的一種算法思想;用動態規劃解題的一般步驟是:(1)判斷題目是否為求最優問題,是否符合“無后效性原則”;(2)確定如果劃分階段;(3)確定每個階段有幾種狀態;(4)找出狀態轉移方程和邊界條件;(5)用算法語言實現算法過程。又如在“搜索算法的應用研究”中,研究小組的同學總結出:(1)廣度優先搜索算法通常應用于解最少步數問題,而深度優先搜索算法則通常用來解所有路徑問題;(2)深度優先搜索和廣度優先搜索都是搜索算法,前者時間復雜度較大,而后者則占用的內存較大;(3)深度優先搜索在實現時用遞歸或用堆棧來實現,而廣度優先搜索是用隊列來實現,實現兩種算法所用的數據結構不同;(4)深度優先搜索和廣度優先搜索都是搜索算法,但兩者的算法結構有較大的不同。學生通過自己對算法應用規律的總結,對算法的應用得到升華,進一步提高算法的應用能力和程序設計能力。

四、通過研究性學習,提高分析、歸納和綜合能力,要求新

對算法的專題研究,不僅要對算法理論進行總結,算法應用的研究也是很重要的一方面,通過算法的解題應用,既提高了學生分析問題的能力,也加深了學生對算法的理解,提高了學生的算法應用能力,進而得到對學生創新能力的培養。另外,我們在算法研究過程中,要求學生透切理解算法內容,用算法語言準確描述算法,通過這種途徑,進一步加深學生對算法的理解,同時也提高了學生的算法表達能力和歸納、總結的能力。

通過對算法進行專題研究,可以進一步加深學生對算法知識的理解,也可以提高學生的算法應用能力和程序設計能力。實踐告訴我們:在整個研究過程中要注意以下幾個問題:

1、課題不宜太大。研究課題的確定是研究性學習實施過程中重要的一環,課題選擇恰當與否,直接關系到整個課題研究的成敗。在程序設計教學中進行研究性學習活動,選題要遵循下面的原則:(1)課題的范圍不宜太大;(2)有一定的應用價值;(3)結合學生的實際。一個好的開始是成功的一半,在研究性學習活動中也是如此。

2、要理論研究與算法應用相結合。對算法的專題研究,算法應用是重點。在算法知識歸納總結的基礎上,重點應研究算法應用的一般規律、算法結構、應用算法解題的一般步驟等。不應該只是對算法理論的空洞論述,否則效果不好、意義也不大。

3、充分發揮教師的引導作用、學生的主體作用。在算法研究活動中,應充分發揮教師的引導和指導作用,既不能放任自由,也不能包辦代替,要充分發揮學生的主體作用。當學生遇到問題和困難時,老師應當引導和啟發學生,讓學生去探索和研究,而不是直接告訴學生答案,老師始終是學生的引導者,學生是真正的參與者,使學生通過算法研究,加深對算法的理解,提高算法應用能力和程序設計能力。

職業學校的學生,不僅應具有獨立接受知識的能力,更應具有獨立探索知識的能力,由“研究性學習”補充原有的“接受式學習”,使學習方式更趨完善,只有當這兩種學習方式結合起來,優勢互補,才能使基礎教育適應時代對人才培養的要求。

第四篇:教案算法與程序設計思想

算法與程序設計思想

【課標要求】

(一)利用計算機解決問題的基本過程

(1)結合實例,經歷分析問題、確定算法、編程求解等用計算機解決問題的基本過程,認識算法和程序設計在其中的地位和作用。

(2)經歷用自然語言、流程圖或偽代碼等方法描述算法的過程。

(4)了解程序設計語言、編輯程序、編譯程序、連接程序以及程序開發環境等基本知識。

【學情分析】

高一年級的學生已具備了一定的觀察、思考、分析和解決問題能力,也已有了順序結構、分支結構、循環結構等知識的儲備。因此,對于如何將解決問題的思路畫成流程圖已有一定的基礎,但可能還不很熟練,尤其對剛學過的循環結構,教師在課堂上要注意引導。『此處說“已有了順序結構、分支結構、循環結構等知識的儲備”,應該是指在必修部分對“計算機解決實際問題的基本過程”已有所體驗與了解,或是指已學習過數學中相關模塊的知識,這是本案例教學得以實施的必不可少的前提條件。』

【教學目標】

1.知識與技能:

建立求一批數據中最大值的算法設計思想,并將算法的設計思想用流程圖表示出來。2.過程與方法:

利用現實生活中比較身高的活動,以及對武術比賽中“打擂臺”流程的逐步梳理,讓學生學會從此類生活實際中提煉出求最大值的思想方法,即算法思想。培養學生分析問題、解決問題的能力,讓學生學會在面對問題時能梳理出解決問題的清晰思路,進而設計出解決某個特定問題的有限步驟,從而理解計算機是如何解決、處理某種問題的。

『在過程上,通過現實生活中的實例來引導學生總結“求最大值”的算法思想。過程的實現關鍵在于實例引用是否貼切,是否有利于學生向抽象結論的構建。本案例的實例選擇是符合這一要求的。在方法上,注重培養學生分析、解決問題的一般能力,再次體驗與理解應用計算機解決問題的基本過程,為后面更一步的學習打下基礎,積累信心。』

3.情感態度與價值觀:

讓學生全身心地投入到教學活動中,積極與同伴合作交流,進行探索活動。培養學生良好的思維品質,發展他們的創新思維,并養成積極的學習態度和良好的學習習慣。

創設情境,以激發學生的學習興趣。努力營造一個可以接納的、支持性的、寬容的課堂學習環境,讓學生置身于民主和愉悅的課堂氛圍中放飛思維、潛心研究、快樂創造。

『本案例對“情感、態度與價值觀”目標的設計,更多的是試圖建立一個活躍、民主、快樂的學習環境。良好的學習環境是學生樂學好學、教師提高課堂效率的重要條件。如果真能實現這樣一個環境,營造出理想狀態中的學習氛圍,無疑會使學生在學到“知識與技能”的同時收獲到更多的東西——合作、分享、成就。而且如果能夠結合教學內容來描述目標,則會使目標顯得更具體,更有針對性。』

【重點難點】

教學重點:建立求一批數據中最大值的算法設計思想,并將此算法設計思想用流程圖表示出來。

教學難點:上述重點問題同樣是本課教學的難點。另外,如何把人解決問題的思路、步驟用計算機語言描述出來也是本課的難點之一。

『建議,此處可添加關于教學重、難點的確立依據,以及解決教學難點的關鍵方法方面的描述。同一段知識內容的教學重、難點對于同類教師基本上是一致的,不同的是對教學重、難點的認識與處理方法。應該說,對教學重、難點認識的越深刻就越有可能找到更好的處理方法。』

【教學思路】

利用現實生活中比較一組學生身高這一事件,引導學生去發現求最大值的一種方法。如何設計求一批數據中最大值的算法?我認為讓學生自己去經歷整個探究過程,要比直接把現成的算法告訴學生有意義得多。它能迅速、有效地幫助學生建立程序設計思想。在完成這個任務的過程中,教師的循循善誘起到了非常關鍵的作用。找出一批數據中的最大者,從表面上來看是一個很簡單的問題。在比較數的過程中,人因為動用了眼睛,比較大小的思維過程一閃而過,所以能很快求出一批數據中的最大值。而計算機與人不同,它對這些數據看不見、摸不著,怎么來完成這一任務呢?其實,計算機解決問題的關鍵,就是要把人解決問題的思維過程用計算機語言描述出來,即為大腦思維的每一步“拍照”。這是計算機程序設計教學的一個重點,也是一個難點,需要教師在教學過程中逐步引導和訓練學生,使學生逐漸學會分析問題,尋求解決問題的方法和步驟。本案例運用生活中“打擂臺”的實例引導學生分析求最大值的方法,通過對這一現象的分析,逐步引出求最大值的算法設計思想。

『作者在此處點出了解決教學難點的方法,即采用“逐步引導和訓練”的方法。其意圖就是希望學生經歷整個過程,從而鍛煉、提升探究能力,領悟、理解其中的思想,實現授人以漁的目的。』

【教學過程】

1.情境創設___________如何建立支架的? 師(提問): 今天在第一排就座的有10 多位同學,誰是我們第一排在座各位中的最高者呢? 師(引導): 大家思考,通常這個任務我們是怎樣去完成的? 教師根據學生對問題的回答進行分析。引導學生往古時候比武時常常采用的“打擂臺”的方式上想,提示學生可參考電視上經常播放的“挑戰主持人”節目。師生: 打擂的過程可以描述為:

(1)確定一個擂主(討論第一個擂主是如何確定的);

(2)挑戰者上臺;

(3)擂主和挑戰者比較;

(4)挑戰者勝的話,挑戰者做擂主,否則擂主衛冕;

(5)重復執行(2)~(4)步驟,直到最后一個挑戰者。

師: 在打擂的過程中,我們看到(2)~(4)步驟是要重復做的,所以我們該怎么辦呢? 生: 需要循環結構來實現。師: 這幾個步驟序列重復到什么時候結束呢?由學生討論結束的辦法,很顯然,需要在最后加上一個能判斷什么時候結束的判斷框。

根據討論的步驟,最后師生共同得出打擂臺的算法和流程圖(如圖1)。

『作者的引導可以總結為:比身高(學生的回答可能多種多樣,也可能偏離預設方向)——比武、“打擂臺”(將學生發散出去的思考往預設方向上牽引)——“挑戰主持人”節目(進一步將學生的思考引到其頭腦中已有的認識上,前提是學生要看過該節目)——用自然語言的方式整理出比賽的規則(即算法的自然語言描述)——得到表示算法的流程圖。應該說,這樣的引導方式完全可以達到作者的預設目標。』 2.求一般情況下的最大值的算法 師(引導): 如果我們面對的是一堆數據,現在希望我們求出這一堆數據中的最大值該怎么辦?通過教師和學生的共同分析,把問題進一步細化為:

(1)從第一個數據開始看起;

(2)把第一個數據的值在變量中記下來;

(3)再取一個數據;

(4)比較這個數據與變量中記下的數據的值;

(5)如果這個數據的值比記下的數據的值大,則去掉變量中原來那個數據,記下新數據的值;

(6)重復執行(2)~(4),繼續比較,直到最后一個數據。

也就是說,計算機的變量始終記著當前比較過數據中的最大者(我們不妨用X 表示它),當取完最后一個數據時,X 中留下的也就是最大值了。求最大值的算法設計思想用下圖表示。

『教學在上一環節的基礎上再做進一步的深入,即擴大數據的比較范圍,討論一般的情況。由于學生已經經歷了上一環節的思考過程,因此,再次思考一般性問題的解決方案就變得容易多了,這又是另一維度的“逐步引導和訓練”,即具體到一般的過渡。這是作者對教學策略設計的準確實現。』 注意:

a.再次讓學生討論變量的意義,弄清賦值語句的意義。b.一些物理量用變量表達的意義。如X 表示最大值,X 表示輸入的一個值,且每次循環時都用同一個變量X。

c.為了控制循環結束,必須加入一個控制循環次數的計數器I,當I 達到一定的次數后,循環工作結束。

『除了對教學目標宏觀上的關注與設計之外,也注意到了教學內容細節上的把握。作者在此處提出的三點注意都是編程語言細節上的問題,應該說,這“三點注意”是作者多年或是本案例實踐過后總結的教學經驗,當然也可能是教師在教學設計時預先設想的教學問題。這些要“注意的點”正是教學實踐或設計中的精華所在,也是值得我們借鑒與學習的內容之一。』

3. 回顧小結

師生共同總結算法設計的過程,就是將大腦思維的每一步都記錄下來,并且用計算機能達到的功能來實現人解決問題的思路。

『最后帶領學生總結本節課的中心思想,即回答“算法設計的過程是怎樣的?”這一問題。使整節課有了一個明確的結論。』

第五篇:算法與程序設計思想

《算法與程序設計思想》教學案例1

一、教學目標 1.知識與技能:

求一批數據中最大值的算法設計思想,并將算法的設計思想用流程圖表示出來。2.過程與方法:

利用現實生活中比較身高的活動,以及對武術比賽中“打擂臺”流程的逐步梳理,讓學生學會從此類生活實際中提煉出求最大值的思想方法,即算法思想。

培養學生分析問題、解決問題的能力,讓學生學會在面對問題時能梳理出解決問題的清晰思路,進而設計出解決某個特定問題的有限步驟,從而理解計算機是如何解決、處理某種問題的。

3.情感、態度與價值觀:

讓學生全身心地投入到教學活動中,積極與同伴合作交流,進行探索活動。培養學生良好的思維品質,發展他們的創新思維,并養成積極的學習態度和良好的學習習慣。

創設情境,以激發學生的學習興趣。努力營造一個可以接納的、支持性的、寬容的課堂學習環境,讓學生置身于民主和愉悅的課堂氛圍中放飛思維、潛心研究、快樂創造。

二、教學重點、難點 教學重點:建立求一批數據中最大值的算法設計思想,并將此算法設計思想用流程圖表示出來。

教學難點:上述重點問題同樣是本課教學的難點。另外,如何把人解決問題的思路、步驟用計算機語言描述出來也是本課的難點之一。

三、教學對象分析

高一年級的學生。他們已具備了一定的觀察、思考、分析和解決問題能力,也已有了順序結構、分支結構、循環結構等知識的儲備。因此,對于如何將解決問題的思路畫成流程圖,學生已有一定的基礎,但可能還不很熟練,尤其對剛學過的循環結構,教師在課堂上要注意引導。

四、教學策略及教法設計

利用現實生活中比較一組學生身高這一事件,引導學生去發現求最大值的一種方法。如何設計求一批數據中最大值的算法?我認為讓學生自己去經歷整個探究過程,要比直接把現成的算法告訴學生有意義得多。它能迅速、有效地幫助學生建立程序設計思想。在完成這個任務的過程中,教師的循循善誘起到了非常關鍵的作用。找出一批數據中的最大者,從表面上來看是一個很簡單的問題。在比較數的過程中,人因為動用了眼睛,比較大小的思維過程一閃而過,所以能很快求出一批數據中的最大值。而計算機與人不同,它對這些數據看不見、摸不著,怎么來完成這一任務呢?其實,計算機解決問題的關鍵,就是要把人解決問題的思維過程用計算機語言描述出來,即為大腦思維的每一步“拍照”。這是計算機程序設計教學的一個重點,也是一個難點,需要教師在教學過程中逐步引導和訓練學生,使學生逐漸學會分析問題,尋求解決問題的方法和步驟。本案例運用生活中“打擂臺”的實例引導學生分析求最大值的方法,通過對這一現象的分析,逐步引出求最大值的算法設計思想。1 孫朝霞.從生活中探究和建立程序設計思想——《算法與程序設計思想》教學案例.中小學信息技術教育,2005(12)

五、教學過程 1.情境創設 師(提問): 今天在第一排就座的有10 多位同學,誰是我們第一排在座各位中的最高者呢?

師(引導): 大家思考,通常這個任務我們是怎樣去完成的? 教師根據學生對問題的回答進行分析。引導學生往古時候比武時常常采用的“打擂臺”的方式上想,提示學生可參考電視上經常播放的“挑戰主持人”節目。

師生: 打擂的過程可以描述為:

(1)確定一個擂主(討論第一個擂主是如何確定的);(2)挑戰者上臺;

(3)擂主和挑戰者比較;

(4)挑戰者勝的話,挑戰者做擂主,否則擂主衛冕;(5)重復執行(2)~(4)步驟,直到最后一個挑戰者。

師: 在打擂的過程中,我們看到(2)~(4)步驟是要重復做的,所以我們該怎么辦呢?

生: 需要循環結構來實現。

師: 這幾個步驟序列重復到什么時候結束呢?由學生討論結束的辦法,很顯然,需要在最后加上一個能判斷什么時候結束的判斷框。

根據討論的步驟,最后師生共同得出打擂臺的算法和流程圖(如圖1)。

2.求一般情況下的最大值的算法 師(引導): 如果我們面對的是一堆數據,現在希望我們求出這一堆數據中的最大值該怎么辦?通過教師和學生的共同分析,把問題進一步細化為:

(1)從第一個數據開始看起;

(2)把第一個數據的值在變量中記下來;(3)再取一個數據;

(4)比較這個數據與變量中記下的數據的值;

(5)如果這個數據的值比記下的數據的值大,則去掉變量中原來那個數據,記下新數據的值;

(6)重復執行(2)~(4),繼續比較,直到最后一個數據。也就是說,計算機的變量始終記著當前比較過數據中的最大者(我們不妨用X 表示它),當取完最后一個數據時,X 中留下的也就是最大值了。

求最大值的算法設計思想用圖2 表示。

注意:

a.再次讓學生討論變量的意義,弄清賦值語句的意義。

b.一些物理量用變量表達的意義。如X 表示最大值,X 表示輸入的一個值,且每次循環時都用同一個變量X。

c.為了控制循環結束,必須加入一個控制循環次數的計數器I,當I 達到一定的次數后,循環工作結束。

3. 回顧小結

師生共同總結算法設計的過程,就是將大腦思維的每一步都記錄下來,并且用計算機能達到的功能來實現人解決問題的思路。

下載《算法與程序設計》選修教案word格式文檔
下載《算法與程序設計》選修教案.doc
將本文檔下載到自己電腦,方便修改和收藏,請勿使用迅雷等下載。
點此處下載文檔

文檔為doc格式


聲明:本文內容由互聯網用戶自發貢獻自行上傳,本網站不擁有所有權,未作人工編輯處理,也不承擔相關法律責任。如果您發現有涉嫌版權的內容,歡迎發送郵件至:645879355@qq.com 進行舉報,并提供相關證據,工作人員會在5個工作日內聯系你,一經查實,本站將立刻刪除涉嫌侵權內容。

相關范文推薦

    淺談《算法與程序設計》教學策略

    淺談《算法與程序設計》教學策略 安徽宿州泗縣一中 許大偉 摘要:高中信息技術課程改革到今年已走過了四年時間,在選修模塊教學中有《算法與程序設計》和《多媒體技術應用》可......

    算法與程序設計教學反思

    1.1計算機解決問題的過程 課堂教學反思 2011年01月07日 10:58:52 來源:隆德縣第二中學【字體:大 中 小】 “1.1計算機解決問題的過程”課堂教學反思 本節是對用計算機程序......

    算法與程序設計教學思想

    算法與程序設計教學思想 在高中階段開設信息技術課程的基本目的是進一步提高學生的信息素養,使他們能適應社會發展的需求,為信息社會培養合格的人才。本課程力圖通過信息的獲......

    高中算法與程序設計教學

    高中算法與程序設計教學方法初探 左權中學 張彥萍 算法與程序設計是高中信息技術選修課。本模塊強調的是通過算法與程序設計解決實際問題的方法。對于學生來說,程序設計的......

    《算法與程序設計》教學探析 期

    【摘 要】在高中“算法與程序設計”模塊教學中,算法的設計以及運用程序設計解決問題的方法與思路,與學生原有的知識結構和解題經驗有較大差異,使得學生的學習存在較大困難。教......

    《算法與程序設計》選修課教學實踐

    《算法與程序設計》選修課教學實踐探索 安徽省宿州市泗縣新集中學 周士友 E-mail:ahxjzx@163.com 郵編:234313 電話:*** 摘要: 針對《算法與程序設計》選修模塊內容難......

    VB程序設計的常用算法教案

    VB程序設計的常用算法教案 算法(Algrith):計算機解題的基本思想方法和步驟。算法的描述:是對要解決一個問題或要完成一項任務所采 取的方法和步驟的描述,包括需要什么數據(輸入什......

    高中信息技術 算法與程序設計教案 粵教版選修1概要[5篇模版]

    2.3 選擇結構第一課時教學設計 【教學內容】 (1 教材模塊:《算法與程序設計》 (2 年級:高中一年級 (3 所用教材出版社:上海科技教育出版社 (4 所屬的章節: 第二章第三節 (5......

主站蜘蛛池模板: 亚洲呦女专区| 中国无码人妻丰满熟妇啪啪软件| 校花用?揉我| 久久天天躁狠狠躁夜夜2020老熟妇| 《人妻大乳被揉2》| 天堂av国产夫妇精品自在线| 97香蕉碰碰人妻国产欧美| 久激情内射婷内射蜜桃人妖| 日本一卡2卡3卡4卡无卡免费网站| 日韩亚洲精品国产第二页| 色99久久久久高潮综合影院| 色多多www视频在线观看免费| 国产人妻高清国产拍精品| 国产av激情久久无码天堂| 中文字幕人妻伦伦精品| 国产高清-国产av| 人妻哺乳奶头奶水| 国产农村乱子伦精品视频| 久在线中文字幕亚洲日韩| 精品av熟女一区二区偷窥海滩| 男人添女人囗交做爰视频| 99久久99久久精品国产片| 久久久国产一区二区三区| 亚洲国产欧美在线人成aaaa| 97超碰国产精品最新| 久久18禁高潮出水呻吟娇喘| 国产美女遭强高潮免费| 国产精品白浆在线观看无码专区| 亚洲性色av一区二区三区| 欧美精品黑人粗大视频| 国产精品白浆一区二小说| 亚洲色无码国产精品网站可下载| 久久亚洲一区二区三区四区| 毛片免费视频在线观看| 久久久久久久女国产乱让韩| 无码福利写真片在线播放| 三男一女吃奶添下面视频| 国产成人毛片在线视频| 久久www成人免费看| 国产精品中文久久久久久久| 亚洲欧美日韩精品久久亚洲区|