《算法與程序設計》選修教案_第1頁
《算法與程序設計》選修教案_第2頁
《算法與程序設計》選修教案_第3頁
《算法與程序設計》選修教案_第4頁
《算法與程序設計》選修教案_第5頁
已閱讀5頁,還剩38頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

第一課初識算法與程序設計一、教學目標1、知識與技能(1)理解算法的概念,培養(yǎng)學生自我探索信息,高效獲取信息的能力;(2)能初步利用算法解決簡單的問題,培養(yǎng)學生的理論聯系實際能力和動手操作能力。2、情感、態(tài)度、價值觀學生在學習過程中,通過親身經歷體驗獲得對此算法的感性認識,培養(yǎng)學生自我獲取信息、分析評價信息、、表達呈現信息的能力,進一步提高其信息素養(yǎng)。二、教學重點難點重點:算法概念的理解難點:如何科學合理的選擇和設計算法。三、教學策略與手段以趣味性問題設置情境,激發(fā)學生探索解決問題的興趣,與學生進行互動探討,通過Flash演示材料,比較直觀地把抽象的問題簡單化,使學生的思考逐步深入,從而總結出算法的概念,學會如何設計和選擇算法,培養(yǎng)學生自主探究學習的能力。四、教學過程(1課時)(一)我們來共同尋找下面一些生活中比較現實的問題的解決方法?!締栴}一】天下真的有“不要錢的午餐”嗎?某一餐館門口海報上寫著“不要錢的午餐”,規(guī)則如下:在三個月內,來賓必須湊夠五個人,五人每次來就餐必須按照不同的順序坐,直到把所有可能的順序都坐一遍,以后來吃飯就可永遠免費”。于是有人想,這太容易了,每人每次坐不同的位置,吃五次不就行了?于是他就叫上自己的朋友參加這項活動,可是,吃了十次之后,還沒有吃上免費午餐,這是怎么回事呢?學生們感覺非常有意思,很快以小組為單位進行熱烈的討論并得出了破解問題的步驟:①第一個座位5個人都有坐的機會②第二個座位只有4個人中的任一個有坐的機會(一個人不能同時坐兩個座位)③第三個座位只有3個人中的任一個有坐的機會④第四個座位只有2個人中的任一個有坐的機會⑤第五個座位只有1個人有坐的機會⑥計算:5×4×3×2×1=120⑦得出結論:需要吃120次才有可能吃上免費午餐?!締栴}二】有三個和尚和三個妖怪過河,只有一條能裝下兩個人的船,在河的任何一方或者船上,如果妖怪的人數大于和尚的人數,那么和尚就會有被吃掉的危險。你能不能找出一種安全的渡河方法呢?請寫一寫你的渡河方案。學生:學生討論回答。〖展示步驟〗①兩個妖怪先過河,一個妖怪回來;②再兩個妖怪過河,一個妖怪回來;③兩個和尚過河,一個妖怪和一個和尚回來;④兩個和尚過河,一個妖怪回來;⑤兩個妖怪過河,一個妖怪回來;⑥兩個妖怪過河?!綟lash動畫展示】通過討論和動畫展示,我們可以知道,計算機解決問題和人解決問題一樣需要有清晰的解題步驟。算法就是解決問題的程序或步驟。(二)【課件展示】算法的概念:1、廣義的算法是指完成某項工作的方法和步驟,在我們日常生活中也經常使用算法,只是沒意識到罷了。如:洗衣機的使用說明書是操作洗衣機的算法,菜譜是做菜的算法等等。2、在數學中,現代意義的算法是指可以用計算機來解決的某一類問題的程序和步驟,這些程序或步驟必須是明確和有效的,而且能夠在有限步之內完成?!拘≡嚿硎帧堪凑者@樣的理解,我們可以設計出很多由具體數學問題解決一類數學問題的算法.下面看一個例子:(要求學生自己考慮并寫出具體的算法)雞兔同籠問題。一個籠子里有雞和兔,現在只知道里面一共有17個頭,48只腳,雞和兔各有多少只?試設計一個求解的算法?!驹O計意圖】求解雞兔的問題簡單直觀,卻包含著深刻的算法思想。應用解二元一次方程組的方法來求解雞兔同籠問題。第一步:設有小雞x只,小兔y只,則有第二步:將方程組中的第一個方程兩邊乘-2加到第二個方程中去,得到,得到y(tǒng)=7;第三步:將y=7代入(1)得x=10?!咀円蛔儭吭诨\中有雞、兔若干,已知有頭a個,有腳b只,求各有多少只雞和兔?!編熒献鳌坷蠋煄ьI學生共同書寫規(guī)范的算法的具體步驟,最后引出算法使用的范圍:能解決一類問題,并且能重復使用。(三)【課件展示】算法的基本特征①有窮性②確定性③不唯一性④有效性(邏輯性)1、有窮性:一個算法應該包含有限個操作步驟,而不能是無限的。2、確定性:算法的每個步驟都應該是明確無誤的,不能含義模糊,使執(zhí)行者無所適從。3、有零個或者多個輸入,有一個或者多個輸出4、有效性:算法中的每一步都應該能有效地執(zhí)行,執(zhí)行算法最后應該能得到確定的結果?!窘虒W總結】1、本節(jié)課通過一些生活中看似簡單問題的解決方法和步驟,使學生比較輕松的接受了生活算法的概念,進一步理解了計算機算法的概念。2、課堂教學的效益取決于學生對所學知識理解了多少,能否用所學知識來解決一些實際問題。本節(jié)課的設計突出講與練的結合,培養(yǎng)學生的動手能力,并且引出學生對下一節(jié)課的內容的思考,比較順利的完成了本節(jié)課的教學任務。3、如何優(yōu)化算法,找到算法的形式和用算法解決問題的效益的最佳結合點,還尚需探討。第二課用計算機解決問題一、教學目標(1)讓學生了解算法、窮舉法、程序設計語言、編寫程序和調試程序等概念。(2)讓學生知道對現實問題的自然語言的描述,特別是類似程序設計語言的自然語言描述。(3)讓學生理解分析問題、設計算法、編寫程序、調試程序這一用計算機解決問題的基本步驟,認識其在算法與程序設計中的作用。二、重點難點重點用計算解決問題的過程中的分析問題、設計算法、和上機調試程序等步驟。用計算機解決問題的過程中的分析問題、設計算法也是本節(jié)的難點。三、教學過程(2課時)(一)引入

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

學生觀看的電視劇《漢劉邦》片斷,內容大致如下:“韓信是我國西漢初著名的軍事家,劉邦得天下,軍事上全依靠他。韓信點兵,多多益善,不僅如此,還能經常以少勝多,以弱勝強。在與楚軍決戰(zhàn)時韓信指揮諸侯聯軍,在垓下十面埋伏,擊敗楚軍,楚霸王項羽因此自殺?!逼瑪嘟Y束時屏幕出現“韓信點兵”問題:“相傳漢高祖劉邦問大將軍韓信統(tǒng)御兵士多少,韓信答說,每3人一列余1人、5人一列余2人、7人一列余4人、13人一列余6人……。劉邦茫然而不知其數。你呢?”(二)問題教師:“下面我們先助劉邦解決一個簡單的問題?!薄绊n信點兵”問題1:求整除3余1、整除5余2、整除7余4的最小自然數。(三)探究把全班分成16個學習小組,每個小組的同學一起探究、討論問題。利用已學過的數學知識找出題目已知什么求什么、明確已知和未知之間的關系和寫出求解問題的解題步驟。并填寫《計算機解決問題的過程》教學活動表中的“探究問題記錄表”。如下:探究問題記錄表分析問題(找出已知和未知、列出已知和未知之間的關系)寫出解題步驟結果

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

設所求的數為X,則X應滿足:X整除3余1X整除5余2X整除7余41、令X為1。2、如果X整除3余1,X整除5余2,

X整除7余4,這就是題目要求的數,則記下這個X。3、令X為X+1(為算下一個作準備)。4、如果算出,則結束;否則跳轉2。5、寫出答案。教師解釋第3步“另X為X+1”并指出它與數學中的區(qū)別,并從上面的解題步驟中總結出窮舉的算法。教師:“剛才有些同學把題目解出來了,答案是67,韓信作為大將軍,統(tǒng)率士兵當然不止67人,下面我們來解決一個數據量稍大的問題?!闭故绢}目:“韓信點兵”問題2:求整除3余1、整除5余2、整除7余4、整除13余6、整除17余8的最小自然數。學生分析上述問題并寫出算法,不用計算。學生有了第1題的經驗,很快會寫出和第一題類似的算法。如下:分析問題(找出已知和未知、列出已知和未知之間的關系)寫出解題步驟

設所求的數為X,則X應滿足:X整除3余1X整除5余2X整除7余4X整除13余6X整除17余81、令X為1。2、如果X整除3余1,

X整除5余2,

X整除7余4,X整除13余6,X整除17余8,則記下這個X。3、令X為X+1。4、如果算出,則結束;否則跳轉2。5、寫出答案。教師:“上面的結果超過1萬,人工計算要很長時間,在科技發(fā)達的今天,你想到什么?”(用計算機解題)(四)用計算機解決問題教師:“計算機怎么樣解決問題?用計算機解決問題,同樣要經過分析問題、設計算法兩步驟?!痹谥v授過程中展示人工解題中分析問題和設計算法這兩個步驟。用計算機解題,是不是輸入上面的算法?上面用自然語言描述的算法,計算機不懂,必須翻譯成計算機的語言,這就是程序設計語言?!北纠肰isualBasic語言編寫的程序請看如下:PrivateSubCommand1_Click()

DimXAsInteger,YAsInteger

X=1:Y=0

Do

IfXMod3=1Then

IfXMod5=2Then

IfXMod7=4Then

IfXMod13=6Then

IfXMod17=8ThenY=X

EndIf

EndIf

EndIf

EndIf

X=X+1

LoopUntilY>0

Print"韓信統(tǒng)御士兵數:";YEndSub

教師:“程序編好以后,通過鍵盤輸入計算機,并運行程序查看結果這個過程叫調試程序?!保ㄎ澹┯^摩根據前面編制的程序,啟動VisualBasic程序設計環(huán)境,輸入程序代碼,進行調試,最后得到運行的結果。要求同組內先完成的同學幫助還未完成的同學。幫助的時候不能代勞,只能動口不動手。(六)交流教師:“前面我們學習了用計算機解決問題的過程,它和人工解有什么關系呢?同一學習小組的同學一起探討人工求解問題和用計算機求解問題的異同,并把討論結果記錄在《計算機解決問題的過程》教學活動表的“討論記錄”表中。如下:關于求解問題的方式討論記錄求解問題的方式相同點不同點人工求解問題

用計算機求解問題

教師提問2~3個小組的討論結果,并引導出大致如下的形式結果:求解問題的方式相同點不同點人工求解問題分析問題、設計算法、得出結果、驗算結果等對題目進行解答、運算速度慢、不需要計算機等用計算機求解問題編寫程序、調試程序、運算速度快等第三課算法與算法的描述一、教學目標1、知識與技能(1)了解算法的定義及其表達方法;(2)認知流程圖的六種基本符號;(3)理解計算機解決問題的一般過程。2、方法與過程(1)理解用不同的表達方法描述算法的優(yōu)缺點;(2)掌握用流程圖描述簡單的算法。3、情感態(tài)度和價值觀以生活中的實例引入算法,激發(fā)學生的學習興趣,培養(yǎng)學生的主動探究能力。

二、重點難點(一)教學重點1、算法的定義;2、算法的三種表達方法;3、流程圖的六種基本符號;4、用流程圖描述簡單的算法。(二)教學難點5、算法的描述(三種);6、用流程圖描述算法。三、教學過程(2課時)教學內容預期目標新課內容:一、對算法的初步了解1.一個簡單的物理問題:求物體在恒力作用下的加速度。根據在物理課中學過的知識,要解決這個問題有多種方法:方法一:a)

測量出物體的質量m、拉力F和滑動摩擦力fb)

將測量所得的數據輸入計算機c)

根據牛頓第二定律F-f=m*a,計算出加速度ad)

輸出所得的結果方法二:a)

測量出物體從靜止開始移動的距離s、時間tb)

將測量所得的數據輸入計算機c)

利用公式:s=a*t*t/2計算出加速度ad)

輸出所得的結果2.算法的定義這種為解決某一問題而設計的確定的有限的步驟稱為算法。二、算法的描述要把解決問題的步驟表達出來,有多種方法可以表達算法。1.用自然語言表達用自然語言表達算法,就是把算法的各個步驟,依次用人們熟悉的自然語言表示出來。優(yōu)點:容易理解缺點:書寫較煩、不確定性、對復雜的問題難以表達準確、不能被計算機識別和執(zhí)行2.用圖形符號表達用圖形符號表達算法必須要有一組規(guī)定統(tǒng)一、含義確定的專用符號。常用的“流程圖”所用的基本符號圖形符號符號名稱說明流線起始、終止框表示算法的開始或結束起始框:一流出線終止框:一流入線

輸入、輸出框框中標明輸入、輸出的內容只有一流入線和一流出線

處理框框中標明進行什么處理只有一流入線和一流出線

判定框框中標明判定條件并在框外標明判定后的兩種結果的流向一流入線兩流出線

(T和F

)但同時只能一流出線起作用

流線表示從某一框到另一框的流向

連接圈表示算法流向出口或入口連接點一條流線優(yōu)點:直觀、形象缺點:不能被計算機識別和執(zhí)行開始

M=m

F1=F

F2=f

開始

M=m

F1=F

F2=f

a=(F1-F2)/M

輸出a

結束

3.用程序實現算法用計算機能理解和執(zhí)行的程序設計語言把算法表示出來,然后把程序輸入到計算機并執(zhí)行,計算機才能按照預定的算法去解決問題。不同類型的計算機能夠識別的指令和語言不盡相同,即使對同一種計算機語言,不同類型的計算機對該語言的解釋程序也有差異。因此,用程序表示算法時,必須按照程序設計語言適用某類計算機的具體規(guī)定來進行。例:用Pascal語言表示“從鍵盤輸入一組數據并求該組數據的平均值”的程序如下:Programex_averVarI:integer;x,av:real;Begin

Av:=0;I:=0;

Dowhilenoteof()Begin

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

I:=I+1;End

av:=av/I;

Writenln(“Theaveragevalueis:”,av);End三、用計算機解決問題的一般過程使用計算機解決一個問題,一般包括四個過程1.需求分析“需求分析”是指對要解決的問題進行詳細的分析,弄清楚問題的要求,包括需要輸入什么數據,要得到什么結果,最后應輸出什么。“需求分析”就是確定要計算機“做什么”。2.設計算法弄清楚要計算機“做什么”后,就要設計計算法,明確要計算機“怎么做”解決一個問題,可能有多種算法。例如,數學題常常有“一題多解”。這就是說,解決一個問題的算法可能不止一種。這是,應該通過分析、比較、挑選一種最優(yōu)的算法。3.編寫程序計算機只能接受并執(zhí)行計算機程序設計語言編寫的程序。當我們?yōu)榻鉀Q一個問題確定了算法后,還必須將該算法用計算機程序設計語言編寫程序。這個過程成為“編碼”或“編程”。4.上機調試與維護編寫完成的程序,不一定完全符合實際問題的要求,還必須在計算機上運行這個程序,排除程序中可能出現的錯誤,才能得到結果。這個過程稱為“上機調試”。即使是經過調試的程序,在使用一段時間后,仍然會被發(fā)現錯誤或不足之處。這就需要對程序做進一步的修改,使之更加完善。這個過程稱為“維護”。在實際解決問題時,上述四個步驟可能會根據不同的問題有所側重。

引入物理學中的例子,激發(fā)學生的學習興趣,有助于學生理解算法的概念

引導出算法的概念

介紹三種算法的表達方式,并對它們進行比較,分析優(yōu)缺點。

給出流程圖的基本符號,對其功能和使用情況加以說明,以便今后在具體運用中的正確使用。

給出流程圖的作法,通過詳細的解釋說明使學生初步掌握流程圖的使用和基本畫法。

了解計算機解決問題的一般過程,為今后用編程解決實際問題打下基礎。

第四課程序與程序設計語言一、教學目標1、知識與技能使學生知道什么是源代碼,并理解算法、程序設計、程序設計語言之間的關系,了解程序設計語言的發(fā)展及種類。2、過程與方法使學生初步體驗編程樂趣,了解如何編輯程序、編譯程序和連接程序。3、情感態(tài)度與價值觀讓學生進一步領會算法和程序設計在解決問題中的地位,體會編寫出程序的魅力,從而培養(yǎng)學生學習編程的興趣。二、重點難點(1)重點:了解代碼所包含的算法思想;(2)難點:計算機是如何編輯程序、編譯程序和連接程序的。三、教學過程(2課時)正課講解(一)嘗試用VB編寫程序1、

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

編寫程序⑴從桌面上啟動VB,彈出“新建工程”對話框,從“新建”頁面中選“標準EXE”,然后“打開“按鈕,建立”標準EXE工程。注:為了避免打開時總是出現“新建工程”對話框,在首次啟動時,勾選“不再顯示這個對話框”。⑵單擊工具箱“CommandButton”的按鈕,在Form1窗體中拖出一個“Command1”按鈕。Command1是命令按鈕,它有6個屬性、2個事件和4個方法。屬性Caption標題Default決定窗體的默認命令按鈕Enabled決定對象是否響應用戶生成事件Style控件的外觀Visible決定對象是否可見Picture顯示的圖形事件方法Click單擊Drag拖動Refresh刷新KeyPress字符鍵被單擊Move移動SetFocus設置焦點,將當前焦點強制設置到文本框對象上

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

DimNAsInteger‘聲明N為整型N=1‘賦初始值

Do(Nmod3=2)and(Nmod5=3)and(Nmod7=2)Then‘滿足條件打印N,不滿足繼續(xù)循環(huán)PrintN

ExitdoEndifN=N+1Loop⑸從“運行”菜單中“單擊”啟動命令,運行程序。運行后,單擊“韓信點兵”按鈕。

注:運行時,不能修改程序代碼。實踐題:從“調試”菜單中點擊“逐語句”命令(F8),然后按F8鍵試著單步運行程序,觀察代碼是如何運行的,程序執(zhí)行注釋部分嗎?在程序運行的過程中,用鼠標指向變量N,看看它的值有什么變化,為什么會這樣變?(二)算法、程序設計與程序設計語言之間的關系⑴算法提出問題:什么是算法?算法有哪些特征?⑵程序設計——尋求解決問題的方法,并將其實現步驟寫成計算機可執(zhí)行的程序的過程。⑶程序設計語言——泛指一切用于書寫計算機程序的語言。算法是程序設計的前提,它包含方法和步驟;程序是實現算法中的思想的過程;程序設計語言把算法轉化為計算機認識的語言。(三)認識程序設計語言1、

發(fā)展過程機器語言:由一串“0”和“1”構成二進制代碼。匯編語言:是一種符號化(英文助記符)的機器語言。高級語言:如Basic、C/C++、Fortran、Pascal、Cobol、Java等。2、分類(按轉換方式不同分類)編譯型語言解釋型語言編寫的源程序需要用編譯程序先翻譯成機器語言的目標程序,然后再由連接裝配程序進行連接裝配,生成可執(zhí)行程序,這樣才能被計算機執(zhí)行。源程序輸入計算機后,運行源程序,相應的解釋程序會逐條分析源程序中的語句,每解釋一句由計算機執(zhí)行一句。C/C++、VB、Pascal、CobolQbasic、Lisp3、編輯程序、編譯程序和連接程序⑴編輯程序包含內容:一是將源程序逐個字符輸入到計算機內存,二是修改源程序,三將修改好的源程序保存在磁盤文件中。⑵編譯程序:將已編輯好的源程序(已存儲在磁盤文件中)翻譯成二進制的目標代碼。二進制代碼在UNIX下后綴為“.o”的文件,在DOS下是后綴為“.obj”文件。⑶連接:將各模塊的二進制目標代碼與系統(tǒng)標準模塊經連接處理后,得到具有有絕對地址的可執(zhí)行文件,它是計算機直接執(zhí)行的文件。在UNIX下它以“.out”為后綴,在MS-DOS以下“.exe”為后綴。執(zhí)行過程:第五課vb語言及程序開發(fā)環(huán)境一、教學目標1、知識與技能掌握VB定義的常用的基本數據類型,常量與變量的定義方法,運算符、函數和表達式的描述。熟悉VB程序設計語言的開發(fā)環(huán)境,能調試簡單的VB程序。2、方法與過程本節(jié)涉及到基礎知識較多,所以要一個一個問題解決,從一個簡單的求圓的面積的程序入手,從中分析VB程序一般包括的四部分,基本數據類型、常量與變量,運算符、函數和表達式,而且結合練習來加強對這些新知識的鞏固。通過介紹VB程序的開發(fā)環(huán)境中的菜單、常用工具和常用窗口等,再通過上機操作運行一個程序,讓學生更容易上手。3、情感態(tài)度和價值觀這一節(jié)是學習VB程序的重要的入門課,授課時要注意結合學生的思路,逐個問題解決,不可一蹴而就。二、重點難點1、教學重點(1)

VB常用的的基本數據類型,常量與變量,運算符和表達式(2)

VB程序的開發(fā)環(huán)境2、教學難點把本節(jié)的內容加以運用

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

‘定義名為command1_click()的事件過程

Constpiassingle=3.14

‘說明程序中pi是常量∏

Dimrassingle,sassingle

‘定義半徑r和面積s為單精度實型

r=inputbox(“r=”,”請輸入半徑”)

‘輸入r的值

s=pi*r*r

‘把表達式pi*r*r的值賦給s

print“圓的面積s=”;s

‘把s的值輸出到當前的窗體上Endsub

‘過程結束

考察上述程序,我們容易看到:程序共有代碼7行,每一行都是VB的一個語句,VB的程序就是由這樣的一組語句組成。每一個語句都是按照一定的規(guī)則書寫的。

總結上述分析,我們可以得到VB程序的一般包括如下部分:(1)

數據類型說明部分(2)

數據的輸入部分(3)

數據的處理部分(4)

數據的輸出部分一、基本數據類型描述客觀事物的數、字符以及所有能輸入到計算機中,并被計算機程序加工處理的集合稱為數據。數據既是計算機程序處理的對象,也是運算產生的結果。為了更好地處理各種數據,VB定義了多種數據的類型?;緮祿愋褪窍到y(tǒng)預先定義的數據類型,表2-1中列出了VB定義的常用的基本數據類型。

例如在上述的程序中,既有單精度實型數的數據(如3.14等),也有字符類型的數據,如“輸入半徑”、“圓的面積S=”。二、常量與變量

(1)常量

常量是指在程序運行過程中始終保持不變的常量、字符串等。例如在上述的程序中,3.14、“r=”、“輸入半徑”等都是常量。

在程序設計中,以于一些經常使用的常量,可以用常量說明語句來定義。這樣可以提高程序的可讀性和可維護性。

常量說明語句的格式是:

Const

常量名

As類型=表達式

在上述程序中,第2行就是一個常量說明語句,說明程序中需要使用的常量。

(2)變量

在程序處理數據時,對于輸入的數據、參加運算的數據、運行結果等臨時數據,通常把它們暫時存儲在計算機的內存中。變量就是命名的內存單元位置。在VB中,變量名必須是由英文字母開頭,后面則可以由字母、數字或其它符號組成;變量的名稱最好與它所表示的內容意義相同的英文單詞來確定。

(3)變量說明

使用變量前,一般應先說明變量名及其類型,以使系統(tǒng)為其分配存儲單元,變量說明語句格式如下:

Dim

變量

As

類型

如Dimrassingle,定義半徑r為單精度實型三、

運算符、函數和表達式

(1)運算符運算符是對數據進行加工的過程。描述各種不同運算的符號稱為運算符,參與運算的數據稱為操作數。在VB中,常用的運算符有算術運算符、字符串運算符和邏輯運算符等。①算術運算符有:運算符號+-*/^\MOD含義加號減號乘號除號乘方整除取余數

算術運算符的運算規(guī)則和數學中相同,如果意義不明確時,可以加上括號使其看起來更明白。VB中只使用一種括號“()”,它可以多次嵌套。

②字符串運算符有:&

VB中的字符串運算符是“&”,該運算符主要用于連接兩個或更多的字符串,例如:“"abcd"&"efg"”連接后結果為"abcdefg"。(2)函數在VB中有兩類函數,分別是內部函數和自定義函數轉換函數。常用的內部函數有數值函數、字符函數、時間/日期函數和其它函數等,如表2-2所示,自定義函數是由程序員根據需要定義的函數。

在程序中要使用一個函數時,只需要給出函數名和一個或多個參數,就能得到函數值。調用函數的格式如下:

函數名(參數表)(3)表達式

表達式是指某個求值規(guī)則,它由運算符和配對的圓括號將變量、常量、函數等操作數以合理的形式連接起來的式子。例如在上述的程序中,式子pi*r*r是合法的表達式。四、練習

(1)下列數據屬于字符串常量的是()

A.bcda

B."kfjf"

C.’fksj’

D.”j_hjh”

(2)在VB語言中,下列數據中合法的長整型常量是()A.09B

B.2738940

C.99.7800

D.8.12345E12

(3)在VB語言中,下列變量中合法的變量是()A.b90

B.abc=9

C.print

D.8888F1

(4)在VB語言中,下列表達式中合法的表達式是()A.a+b*|c|

B.bct÷9

C.4-2*∏

D.pi*r*r五、可視化程序的開發(fā)環(huán)境前面的學習使我們知道,要較快地學會運行調試VB程序,首先需要熟悉VB程序設計語言的開發(fā)環(huán)境。VB程序設計語言的開發(fā)環(huán)境的界面如下圖:VB程序設計語言的開發(fā)環(huán)境中,控件工具箱、代碼窗口、窗體設計器窗口、工程資源管理器窗口、屬性窗口是一些常用的程序設計與調試工具,這些工具互相協調、互相補充,如果熟練、合理地使用會大大地減少應用程序的開發(fā)難度,提高工作效率。四、課外拓展在了解、熟悉了VB程序設計語言的開發(fā)環(huán)境以后,你肯定躍躍欲試,一顯身手。好吧,就讓我們一起來體驗VB程序的運行調試吧!求s=1×2×3×…×n問題的VB程序:privatesubform_load()

n=inputbox(“請輸入n的值:”,“輸入”)

s=1

fori=1ton

s=s*I

nextImsgbox“s=”+str(s),0,”計算結果”endsub當N=22時,運行的結果是:

第六課程序的順序結構一、教學目標1、知識與技能理解程序順序結構的執(zhí)行流程,掌握賦值語句和輸入輸出語句,能夠編寫簡單的順序結構的程序,以解決生活中的一些計算問題。2、方法與過程本節(jié)從簡單的問題入手,如求圓的面積,讓學生初步掌握賦值語句和輸入輸出語句的使用方法及其功能。進而轉入較為復雜的問題,如編寫程序使從鍵盤上輸入一個三位數,然后反方向輸出,并且運用到上一章所學的運算符、表達式等,對知識進行鞏固,課程安排形成循序漸進的梯度,充分挖掘學生潛力,讓有余力的學生可以有更大空間。3、情感態(tài)度和價值觀程序設計選取的題目與高一所學的數學、物理中學到的新知識有密切的聯系,從而激發(fā)學生對程序設計的追求和向往。二、重點難點1、教學重點(1)

賦值語句和輸入輸出語句的使用(2)

程序順序結構的執(zhí)行流程(3)

能編寫程序解決簡單的應用題2、教學難點根據題目寫出正確的程序

三、教學過程(2課時)導入:演示求圓的面積這道題的程序,讓學生明白通過程序可以解決數學中的問題,也給學生展示完整的程序代碼,這道程序的功能就是靠這些代碼來控制的,引起學生的注意,激發(fā)他們的求知欲。一、演示上述的程序,并把程序代碼中的各行代碼的作用解釋一遍,順便把程序的執(zhí)行流程說明一下,編寫的程序與設計的算法是一致的。Privatesubcommand1_click()

‘定義名為command1_click()的事件過程

Constpiassingle=3.14

‘說明程序中pi是常量∏

Dimrassingle,sassingle

‘定義半徑r和面積s為單精度實型

r=inputbox(“r=”,”請輸入半徑”)

‘輸入r的值

s=pi*r*r

‘把表達式pi*r*r的值賦給s

print“圓的面積s=”;s

‘把s的值輸出到當前的窗體上Endsub

‘過程結束二、賦值語句在上述的程序中,r=inputbox(“r=”,”請輸入半徑”),s=pi*r*r的含義分別是將賦值號右邊的函數inputbox(“r=”,”請輸入半徑”)的值賦給變量r,將賦值號右邊的表達式pi*r*r的值賦給變量s。它們的作用都是將表達式的值賦給左邊的變量,這種語句稱為賦值語句。賦值語句的基本格式是:

變量=表達式這里的“=”是賦值符號,它的含義是將表達式的值賦給左邊的變量。觀察下列賦值語句的作用:(1)

A=B,它是將變量B的值賦給變量A,但B的值并未改變。(2)

A=123表示將數值123賦給變量A。(3)

A=A+10表示將變量A的值加10后,再賦給變量A。如果原來A的值為30,則執(zhí)行此語句后,A的值為40。(4)

如果A=30,B=40,則依次執(zhí)行語句T=A,A=B,B=T后,A、B兩個變量的值發(fā)生交換A=40,B=30。三、輸入數據的函數

Inputbox()是提供從鍵盤輸入數據的函數,利用它可產生一個對話框,提示用戶輸入數據并單擊命令按鈕。該函數返回值是字符類型。利用這個函數,上述程序中的r=inputbox(“r=”,”請輸入半徑”),所以在程序運行時,從鍵盤上輸入數據賦值給變量r。

Inputbox()的語法格式為:

Inputbox(提示信息,標題,默認值,位置)

其中:

提示信息:指對輸入數據的提示,顯示在對話框中,不能省略。

標題:指運行此函數后彈出的對話框的標題。

默認值:指默認的輸入數據值。

位置:指運行此函數后彈出的對話框的左上角在屏幕上的位置與提示信息和標題是用引號引起來的字符串。例如:執(zhí)行下面的程序運行情況:

PrivateSubCommand1_Click()

A=InputBox("A=","輸入",12,100,20)EndSub運行該程序,屏幕上窗口的左上角將位于坐標為(100,20)的位置,標題為“輸入”,窗口的提示信息為“A=”,而在輸入欄內會出現默認的數據12。如下圖所示:

四、輸出數據的方法Print是輸出數據、文本的一個重要方法。在求圓的面積程序中,print“圓的面積s=”;s就是利用Print方法將計算出來的圓的面積s的值輸出到窗體上。Print方法輸出數據的基本格式是:

Print輸出內容在這里,輸出內容可以是數、變量、表達式,也可以是用引號括起來的字符串。說明:(1)如果輸出的內容是數、變量、表達式,則輸出的是數、變量、表達式的值。如果是引號引起來的字符串,則原樣輸出。例如:語句Print3

的結果為3

語句Print2+2的結果為4語句Print“你好”的結果為

你好(2)輸出內容可以是一個或多個。如果是多個輸出內容,則各輸出內容之間可以用逗號或分號分隔;如果用分號,則后面一個輸出內容緊跟前一個輸出;如果是逗號,則按照分區(qū)格式輸出。

例如:A=5,B=3

Print“A=”;A,“B=”;B

輸出結果為:A=5

B=3

A=5,B=3

Print“A=”;A;“B=”;B

輸出結果為:A=5B=3(3)如果輸出內容后面沒有符號,則表示下一個Print換行輸出;如果Print中沒有輸出內容,則表達輸出一個空行。

例如:A=5,B=3

Print“A=”;A

Print“B=”;B五、練習問題1:已知長方體的長、寬、高,編寫一個程序,求長方體的全面積和體積。(1)

分析問題設長方體的長、寬、高分別為A、B、C,由于長方體的六個面的面積兩兩對應相等,所以長方體的全面積為:S=2*(A*B+A*C+B*C),體積為:V=A*B*C。(2)設計算法①

輸入A、B、C的值②

計算S=2*(A*B+A*C+B*C)③

計算V=A*B*C④

輸出S,V的值(3)編寫程序

Privatesubcommand1_click()DimAassingle,Bassingle,Cassingle,Sassingle,VassingleA=Inputbox(“A=”,”輸入”)B=Inputbox(“B=”,”輸入”)C=Inputbox(“C=”,”輸入”)S=2*(A*B+A*C+B*C)V=A*B*CPrint“全面積S=”;S,“體積V=”;V

(4)調式程序六、小結在以上的程序中,執(zhí)行時按語句出現的順序執(zhí)。即當執(zhí)行第一條語句后,必然從第二條語句繼續(xù),順序執(zhí)行所有的語句,直到執(zhí)行完最后一條語句為止。像這樣的控制結構稱為程序的順序結構。順序結構的最大特點是在這個結構內按由上到下的的書寫順序執(zhí)行,它只有一個入口和一個出口。這是一種最簡單、最基本的結構。如圖五、課外拓展試編寫程序從鍵盤上輸入一個三位數,然后將它反方向輸出。例如輸入456,輸出應為654。第七課程序的選擇結構一、教學目標1、知識與技能理解程序選擇結構中的條件選擇語句的執(zhí)行流程,掌握條件選擇語句和多種選擇語句的使用方法,能夠編寫簡單的選擇結構的程序,以解決生活中的一些計算問題。2、方法與過程本節(jié)從簡單的問題入手,通過一道求一個數的絕對值的題目,讓學生明白條件選取擇語句的執(zhí)行流程及使用方法。進而再做類似的練習,加強學生的理解,課程安排形成循序漸進的梯度,充分挖掘學生潛力。3、情感態(tài)度和價值觀程序設計選取的題目都是生活中遇到的例子,加強學生利用本學科解決日學生活中的問題的意識。

二、重點難點1、教學重點(1)條件選擇語句和多重選擇語句的使用(2)程序條件選擇結構的執(zhí)行流程(3)會使用條件語句和多重選擇語句編寫程序解決簡單的應用題2、教學難點:根據題目寫出正確的程序

三、教學過程(2課時)導入:演示求一個數的絕對值這道題的程序,讓學生明白通過程序可以解決數學中的問題,也給學生展示完整的程序代碼,這道程序的功能就是靠這些代碼來控制的,引起學生的注意,激發(fā)他們的求知欲。一、演示上述的程序,并把程序代碼中的各行代碼的作用解釋一遍,順便把程序的執(zhí)行流程說明一下,編寫的程序與設計的算法是一致的。

程序2-3Privatesubcommand1_click()

‘定義名為command1_click()的事件過程

DimAassingle

‘定義求絕對值的數A為單精度實型

A=inputbox(“r=”,”請輸入半徑”)

‘輸入A的值

IfA>=0then

‘如果A>=0Print“Y=”;A

‘輸出A的值ElsePrint“Y=”;-A

‘輸出-A的值Endif

Endsub

‘過程結束

二、條件語句在解決問題的過程中,常常需要對事物進行判斷和選擇,如上題中,求一個數A的絕對值,如果A>=0,則這個數的絕對值為A,否則為-A。在程序設計中,如何實現判斷和選擇呢?在上述代碼中,有一個用if開頭的語句,這就是條件語句。(一)條件語句的基本格式是:

if條件then語句組1

else語句組2

if條件then

語句組1

else

語句組2

endif其中,條件是一個邏輯表達式,語句組是一組VB的語句。(二)條件執(zhí)行語句的執(zhí)行過程條件語句的執(zhí)行過程是:當條件成立時,執(zhí)行then后面的語句組1,否則執(zhí)行語句組2,條件語句的執(zhí)行流程圖如下圖所示。

在條件語句的基本格式中有時可以省略else和語句組2,這時條件語句的執(zhí)行過程是當條件成立時,執(zhí)行then后面的語句組1,否則退出條件語句,執(zhí)行下面的語句。(三)關系表達式

在程序2-3中,程序的第三行是一個條件語句,其中的條件A>=0表達式,一般稱為關系表達式,關系表達式是用關系運算符連接起來的式子。

關系運算符號有:運算符號=>>=<<=<>含義等于大于大于等于小于小于等于不等于當關系表式成立時其值為真(Ture),當表達式不成立時其值則為假(False);關系表達式的值既不是數值型量,也不是字符型量,而是一種新的數量類型——邏輯型。邏輯型只有兩個可能的值:假(False)和真(Ture)。

關系表達式的值定義如下:(1)對數值型的數據比較,是按照數值的大小來進行比較。如13>6的值為真。

(2)對其它類型數據的比較,則按照其序號進行比較。如"D">"B"其值為假。2<X<

(四)邏輯表達式

在實際問題中,對于一些復雜的條件,還需要幾個關系表達式組合起來才能表示。例如,條件2<X<9就需要用2<X和X<9這兩個表達式來表示.將多個關系表達式用邏輯運算符連接起來的式子稱為邏輯表達式,邏輯表達式的運算值為邏輯型。邏輯運算符有:

Not(非)取操作數相反的值。即當操作數為假時,結果為真;當操作數為真時,結果為假。

And(與)當兩個操作數都為真時,結果才為真。

Or(或)當兩個操作數都為假時,結果才為假。

(五)邏輯運算的順序(1)當條件中只有邏輯運算符時,運算的順序為Not、And、Or(2)當條件中既有算術運算符,又有關系運算符和邏輯運算符時,運算順序是:算術運算符,關系運算符,邏輯運算符例如:

a+b>c+danda>=5ornotc>0ord<0當a=5,b=7,c=2,d=1時,運算結果是真。

三、練習四、練習問題1:某商場為了對蘋果進行促銷,規(guī)定購買2千克以上可以在原價每千克1.5的基礎上打8折。請設計一個程序計算購買x千克蘋果的應付款。(1)

分析問題設買蘋果的重量為x千克,應付款為y元,如果x>=2,則y=1.5*x*0.8,否則y=1.5*x。

(2)設計算法①

輸入x的值②

如果x>=2,則y=1.5*x*0.8③

否則y=1.5*x④

輸出y的值(3)編寫程序

Privatesubcommand1_click()Dimxassinglex=Inputbox(“請輸入購買蘋果的重量”)ifx>=2then

y=1.5*x*0.8else

y=1.5*xendifPrint“應付款”;y;“元”

(4)調式程序五、多重選擇語句問題2:輸入一個成績,如果90分以上,則輸出“優(yōu)秀”;80-89,則輸出“良好”;70-79,則輸出“中等”;60-69,則輸出“及格”;60分以下則輸出“不及格”,請編寫程序。如果這道題使用if語句來編寫程序的話,程序如下:程序2-4Privatesubcommand_click()

X=inputbox(“請輸入一個分數”)IfX>=90thenprint”優(yōu)秀”IfX>=80andX<89thenprint”良好”IfX>=70andX<79thenprint”中等”IfX>=60andX<69thenprint”及格”IfX<60thenprint”不及格”Endsub在程序2-4中,使用了5個if語句來處理5種情況。這樣的程序在可讀性和效率方面都是比較差的,如果再多一些情況,它的缺陷就會暴露得更加明顯,如何處理這個問題呢?(一)多重選擇語句格式在VB語言中,設置了一個處理多種情況的語句,稱為多重選擇語句,它的基本格式為:

selectcase表達式

case表達式列表1

語句組1case表達式列表2……

caseelse

語句組N+1

endselect其中(1)表達式和表達式列表可以是數值型或字符型,表達式列表還可以是多個用逗號分開的表達式。(2)

表達式列表與表達式的類型必須相同。(3)

表達式列表又稱值域,它有如下三種形式:①

表達式1,表達式2,……②

表達式1to表達式2③

Is關系表達式

(二)多重選擇語句的執(zhí)行過程

多重選擇語句的執(zhí)行過程是:

當表達式的值為表達式列表1時,執(zhí)行語句組1;

當表達式的值為表達式列表2時,執(zhí)行語句組2;

……

當表達式的值為表達式列表N時,執(zhí)行語句組N;

當表達式的值不是上述值時,執(zhí)行語句組N+1;有了多重選擇語句,對于多種情況的選擇問題,就可以利用它來解決。運用多重選擇語句編寫問題2的程序如下:Privatesubcommand_click()

X=inputbox(“請輸入學生成績”)

SelectcaseX

CaseIs>=90Print”優(yōu)秀”

Case80to89Print”良好”

Case70to79Print”中等”

Case60to69Print”及格”

CaseelsePrint”不及格”EndselectEndsub

(三)練習

問題3:我們把字符作如下的分類:大寫字母:A…Z;小寫字母:a…z;數字:0…9;其它字符。編寫程序,根據上述分類的方法,輸入一個字符,報告該字符所屬的類型。

六、小結與順序結構相比較,選擇結構就是程序的執(zhí)行不再完全按照語句的順序執(zhí)行,而是根據某種條件是否成立來決定程序執(zhí)行的走向,它進一步體現了計算機的智能特點。在VB語言中,選擇結構通過if語句和selectcase語句這兩個條件語句來實現,運用條件語句的關鍵是條件的表示,如果能夠正確地表達條件,就可以簡化程序,在多重選擇的情況下,使用selectcase語句,可以使程序更直觀,更準確地描述出分支的走向。四、課外拓展問題4:編一個程序,輸入三個數,輸出其中的最大數。問題5:自已上網查資料,搜集有關氣象風級表的資料,比如說0級是屬于無風,12級是屬于颶風等,試編寫程序,輸入一個風級,輸出相應的概況,名稱,速度等。第八課程序的循環(huán)結構一、教學目標1、知識與技能掌握循環(huán)結構編程的一般步驟及特點。(1)掌握VB語言的FOR循環(huán)語句、語句的格式、功能和執(zhí)行過程;(2)掌握VB語言的循環(huán)嵌套的規(guī)則。培養(yǎng)和提升學生:(1)學會使用VB語言的FOR循環(huán)語句來實現循環(huán)控制結構,解決實際問題;(2初步掌握程序調試運行的方法。2、方法與過程采用“問題解決教學法”。3、情感態(tài)度和價值觀(1)經歷用計算機解決問題的過程,體驗成功的快樂。(2)在老師的指導下,與同學共同探究問題,讓學生體驗自主學習、協助學習的樂趣。二、重點難點讓學生學會使用VB語言的FOR循環(huán)語句來實現循環(huán)控制結構,解決實際問題。三、教學過程(for循環(huán)結構)(2課時)教學環(huán)節(jié)教師活動學生活動情意導入

從袁隆平的超級水稻研究的故事入手,又到“輸出100以內的所有偶數的算術平方根”的的問題出發(fā),激發(fā)學生學習的興趣和熱情,拉開了本節(jié)教學的序幕。學生邊閱讀邊傾聽。提問:有同學試圖用以下方法解決:Private

Sub

Command_Click()Print

Sqr(2)Print

Sqr(4)Print

Sqr(6)……Print

Sqr(100)End

Sub由此老師引入今天的循環(huán)問題:即問題中包含有重復執(zhí)行的處理。新課講解1.通過組織學生探究“輸出100以內的所有偶數的算術平方根”的問題、設計算法、編寫程序、調試程序等用計算機解決問題的過程:Private

Sub

Command_Click()ForI=2To100

Step

2

Print

Sqr(I)Next

IEnd

Sub讓學生感到用VB提供的循環(huán)結構語句,能很簡便地解決循環(huán)問題2.通過師生共同分析“輸出100以內的所有偶數的算術平方根”問題的程序,歸納總結VB語言的FOR循環(huán)語句的格式、功能、執(zhí)行過程,以及書寫的注意事項,歸納總結VB語言的for循環(huán)特點。For

循環(huán)變量=初值

To

終值

Step

步長值

語句組Next循環(huán)變量3.老師提出上機實踐問題:分別求甲、乙、丙三位同學的語文、數學、英語三科的平均分。要求學生展開分析問題、設計算法、編寫程序、調試程序等用計算機解決問題的探究活動。

4、要求學生課堂練習:指出所列程序中的錯誤,加強知識學習和把握。5、上機練習:(1)P53實踐2(2)求1×3×5×……×19的值。6、由問題“已知m個學生進行n個科目的考試,請計算每個同學的平均分?!币鲅h(huán)嵌套的問題,幫助學生分析學會嵌套的技巧與方法:?

PrivateSubCommand1_Click()?

DimmAsInteger,nAsInteger,iAsInteger?

DimfenAsSingle,sumAsSingle,averageAsSingle?

m=InputBox("請輸入學生人數:")?

n=InputBox("考試科目數:")?

Fori=1Tom?

sum=0?

Forj=1Ton?

fen=Val(InputBox("請輸入第"+Str$(i)+"個同學第"+Str$(j)+"科"))?

sum=sum+fen?

Nextj?

average=sum/n?

Print"第";i;"同學平均分:";average?

Nexti?

EndSub通過對以上程序的分析和程序執(zhí)行過程,使學生能真領會和把握這一編程技巧。1.學生對問題展開分析問題、設計算法、編寫程序、調試程序等用計算機解決問題的探究活動。2.學生在教師的指導下,閱讀、分析、歸納,完成實踐任務。

3.學生對老師所提問題(分別求甲、乙、丙三位同學的語文、數學、英語三科的平均分)展開分析問題、設計算法、編寫程序、調試程序等用計算機解決問題的探究活動。

4.學生在教師的指導下,閱讀、分析、歸納,完成實踐任務。5、要求學生完成上機練習,老師巡視幫助學生完成任務。6、要求學生上機練習P56的實踐(1)、(2),老師巡視幫助學生完成任務。拓展由圖形的輸出問題加深學生對循環(huán)嵌套的問題的把握,幫助學生分析學會嵌套的技巧與方法:要求學生求的圖形。老師巡視幫助學生完成任務。小結

VB語言的FOR循環(huán)語句、格式、功能和執(zhí)行過程,以及for循環(huán)嵌套。練習

教師在布置課本的練習:P59(1)、(2),指導學生根據本節(jié)所學的知識,分析問題,設計算法,編程求解問題。

(Do循環(huán)結構)一、重點難點讓學生學會使用VB語言的do循環(huán)語句來實現循環(huán)控制結構,解決實際問題;以及幾種不同do循環(huán)結構的比較異同。二、教學過程(Do循環(huán)結構)教學環(huán)節(jié)教師活動學生活動情意導入

從“陳婷植樹”的故事入手,激發(fā)學生學習的興趣和熱情,拉開了本節(jié)教學的序幕。學生邊閱讀邊傾聽。新課講解1.通過組織學生探究“陳婷植樹”的問題、設計算法、編寫程序、調試程序等用計算機解決問題的過程:

PrivateSubCommand1_Click()

DimAge

AsInteger,Tree

AsInteger

Age=17

Tree=3

Do

Age=Age+1

Tree=Tree+Age-14

LoopUntilTree>=100

Print"到";Age;"歲時種到";Tree;"棵樹!"

EndSub2.通過師生共同分析“陳婷植樹”問題的程序,歸納總結VB語言的DO循環(huán)語句的格式、功能、執(zhí)行過程,以及書寫的注意事項,歸納總結VB語言的DO循環(huán)特點。3.老師提出思考題:已知s=1×3×5×…×N,找出一個最大整數N,使得S<50000。要求學生展開分析問題、設計算法、編寫程序、調試程序等用計算機解決問題的探究活動。4、上機練習:P54實踐(1)、(2)5、對幾種DO循環(huán)的比較分析:歸納總結出各自不同的特點的把握要素,使同學們能運用自如。1.學生對問題展開分析問題、設計算法、編寫程序、調試程序等用計算機解決問題的探究活動。2.學生在教師的指導下,閱讀、分析、歸納,完成實踐任務。

3.學生對老師所提問題展開分析問題、設計算法、編寫程序、調試程序等用計算機解決問題的探究活動。

4.學生在教師的指導下,閱讀、分析、歸納,完成實踐任務。5、要求學生上機練習共同探討P58的交流,得出使用DO循環(huán)的技巧和心得。拓展設立一些由人力解決較困難的問題,要求學生運用所學編程知識去解決,比如:判斷一個大數是否為素數等問題。要求學生能設計出算法及編寫出程序。小結

VB語言的DO循環(huán)語句、格式、功能和執(zhí)行過程,以及幾種不同DO循環(huán)的比較。練習

教師在布置課本的練習:P59(5),指導學生根據本節(jié)所學的知識,分析問題,設計算法,編程求解問題。

第九課 模塊化程序設計一、教學目標(1)理解自頂而下、逐步求精的程序設計方法;(2)掌握VB語言的過程與函數的定義和調用方法。(3)理解模塊化程序設計的基本思想。二、重點難點教學重點:讓學生學會使用VB語言的過程與函數的定義和調用方法。教學難點:理解模塊化程序設計的基本思想,并運用于程序設計中。三、教學過程(2課時)

教學環(huán)節(jié)教師活動學生活動情意導入

從歌德巴赫猜想的故事入手,驗證歌德巴赫猜想,激發(fā)學生學習的興趣和熱情,通過先看P61的程序2-9A觀查此程序有沒有功能重復的地方,如何才能省略書寫……并且反復調用同一功能的程序代碼呢?拉開本節(jié)教學的序幕。

學生邊閱讀邊傾聽。新課講解1.通過組織學生探究“驗證歌德巴赫猜想”問題,引導學生經歷分析問題、設計算法、編寫程序、調試程序等用計算機解決問題的過程;歸納總結自頂而下、逐步求精的程序設計方法;2.通過師生共同分析“驗證歌德巴赫猜想”的另一個程序,歸納總結VB語言的過程與函數的定義和調用方法。3.通過師生共同分析“求五邊形的面積”程序,歸納總結模塊化程序設計的基本思想。

4、要求學生求三個數的平均數。(用自定義函數及自定義子過程)1.學生對“驗證歌德巴赫猜想”問題展開分析問題、設計算法、編寫程序、調試程序等用計算機解決問題的探究活動。2.學生在教師的指導下,閱讀、分析、歸納,完成實踐任務。3.學生對“求五邊形的面積”問題展開分析問題、設計算法、編寫程序、調試程序等用計算機解決問題的探究活動。4.學生在教師的指導下,閱讀、分析、歸納,完成實踐任務。拓展1、求園的面積,已知半徑為1、3、5、7、9、11。(調用函數方法)2、調用子程序,使第一行打印20個*,第二行打印10個*,第三行打印20個*。引導學生利用函數及子程序解決較復雜問題,體會利用函數及子程序的好處。小結1.自頂而下、逐步求精的程序設計方法;2.VB語言的過程與函數的定義和調用方法;3.模塊化程序設計的基本思想。練習

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

第十課 遞歸算法的實現一、教學目標1、知識與技能:理解什么是遞歸算法,學生會用遞歸算法的思想分析問題能夠應用自定義函數方法實現遞歸算法的編程2、過程與方法:學生參與討論,通過思考、動手操作,體驗遞歸算法的方法3、情感態(tài)度與價值:結合數學中的實例,激發(fā)學生的數學建模的意識,培養(yǎng)學生多維度的思考問題和解決問題。『教學目標設計的合理、準確。這也是在意料之中的,一般情況下,成功的教學任務分析一定會帶來成功的教學目標設計。』二、重點難點重點:理解什么是遞歸算法,學生用遞歸算法的思想分析問題;應用自定義函數方法實現遞歸算法的編程難點:應用自定義函數方法實現遞歸算法的編程『大部分教師在確立教學重、難點時不會給出確立的依據,可能這些依據早就在教師的腦中明確了,也有可能是一筆糊涂賬,只不過是教參上是這樣寫的就照搬過來而已。如果在寫教學重、難點的同時能再

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論