![《算法與程序設(shè)計(jì)》選修教學(xué)教案_第1頁(yè)](http://file4.renrendoc.com/view11/M03/34/3A/wKhkGWWM9tuAfv_IAAIoivqiPN4600.jpg)
![《算法與程序設(shè)計(jì)》選修教學(xué)教案_第2頁(yè)](http://file4.renrendoc.com/view11/M03/34/3A/wKhkGWWM9tuAfv_IAAIoivqiPN46002.jpg)
![《算法與程序設(shè)計(jì)》選修教學(xué)教案_第3頁(yè)](http://file4.renrendoc.com/view11/M03/34/3A/wKhkGWWM9tuAfv_IAAIoivqiPN46003.jpg)
![《算法與程序設(shè)計(jì)》選修教學(xué)教案_第4頁(yè)](http://file4.renrendoc.com/view11/M03/34/3A/wKhkGWWM9tuAfv_IAAIoivqiPN46004.jpg)
![《算法與程序設(shè)計(jì)》選修教學(xué)教案_第5頁(yè)](http://file4.renrendoc.com/view11/M03/34/3A/wKhkGWWM9tuAfv_IAAIoivqiPN46005.jpg)
版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
歡迎閱讀
第一課初識(shí)算法與程序設(shè)計(jì)
一、教學(xué)目標(biāo)
1、知識(shí)與技能
(1)理解算法的概念,培養(yǎng)學(xué)生自我探索信息,高效獲取信息的能力;
(2)能初步利用算法解決簡(jiǎn)單的問(wèn)題,培養(yǎng)學(xué)生的理論聯(lián)系實(shí)際能力和動(dòng)手操
作能力。
2、情感、態(tài)度、價(jià)值觀
學(xué)生在學(xué)習(xí)過(guò)程中,通過(guò)親身經(jīng)歷體驗(yàn)獲得對(duì)此算法的感性認(rèn)識(shí),培養(yǎng)學(xué)生自
我獲取信息、分析評(píng)價(jià)信息、、表達(dá)呈現(xiàn)信息的能力,進(jìn)一步提高其信息素養(yǎng)。
二、教學(xué)重點(diǎn)難點(diǎn)
重點(diǎn):算法概念的理解
難點(diǎn):如何科學(xué)合理的選擇和設(shè)計(jì)算法。
三、教學(xué)策略與手段
以趣味性問(wèn)題設(shè)置情境,激發(fā)學(xué)生探索解決問(wèn)題的興趣,與學(xué)生進(jìn)行互動(dòng)探討,
通過(guò)Flash演示材料,比較直觀地把抽象的問(wèn)題簡(jiǎn)單化,使學(xué)生的思考逐步深入,
從而總結(jié)出算法的概念,學(xué)會(huì)如何設(shè)計(jì)和選擇算法,培養(yǎng)學(xué)生自主探究學(xué)習(xí)的能力。
四、教學(xué)過(guò)程(1課時(shí))
(-)我們來(lái)共同尋找下面一些生活中比較現(xiàn)實(shí)的問(wèn)題的解決方法。
【問(wèn)題一】天下真的有“不要錢的午餐”嗎?
某一餐館門口海報(bào)上寫著“不要錢的午餐”,規(guī)則如下:在三個(gè)月內(nèi),來(lái)賓必
須湊夠五個(gè)人,五人每次來(lái)就餐必須按照不同的順序坐,直到把所有可能的順序都
坐一遍,以后來(lái)吃飯就可永遠(yuǎn)免費(fèi)”。于是有人想,這太容易了,每人每次坐不同
頁(yè)腳內(nèi)容
歡迎閱讀
的位置,吃五次不就行了?于是他就叫上自己的朋友參加這項(xiàng)活動(dòng),可是,吃了十
次之后,還沒(méi)有吃上免費(fèi)午餐,這是怎么回事呢?
學(xué)生們感覺(jué)非常有意思,很快以小組為單位進(jìn)行熱烈的討論并得出了破解問(wèn)題的步
驟:①第一個(gè)座位5個(gè)人都有坐的機(jī)會(huì)②第二個(gè)座位只有4個(gè)人中的任一個(gè)有坐的
機(jī)會(huì)(一個(gè)人不能同時(shí)坐兩個(gè)座位)③第三個(gè)座位只有3個(gè)人中的任一個(gè)有坐的機(jī)
會(huì)④第四個(gè)座位只有2個(gè)人中的任一個(gè)有坐的機(jī)會(huì)⑤第五個(gè)座位只有1個(gè)人有坐的
機(jī)會(huì)⑥計(jì)算:5X4X3X2X1=120⑦得出結(jié)論:需要吃120次才有可能
吃上免費(fèi)午餐。
【問(wèn)題二】有三個(gè)和尚和三個(gè)妖怪過(guò)河,只有一條能裝下兩個(gè)人的船,在河的任何
一方或者船上,如果妖怪的人數(shù)大于和尚的人數(shù),那么和尚就會(huì)有被吃掉的危險(xiǎn)。
你能不能找出一種安全的渡河方法呢?請(qǐng)寫一寫你的渡河方案。
學(xué)生:學(xué)生討論回答。
K展示步驟》
①兩個(gè)妖怪先過(guò)河,一個(gè)妖怪回來(lái);
②再兩個(gè)妖怪過(guò)河,一個(gè)妖怪回來(lái);
③兩個(gè)和尚過(guò)河,一個(gè)妖怪和一個(gè)和尚回來(lái);
④兩個(gè)和尚過(guò)河,一個(gè)妖怪回來(lái);
⑤兩個(gè)妖怪過(guò)河,一個(gè)妖怪回來(lái);
⑥兩個(gè)妖怪過(guò)河。
【Flash動(dòng)畫展示】通過(guò)討論和動(dòng)畫展示,我們可以知道,計(jì)算機(jī)解決問(wèn)題和人解決
問(wèn)題一樣需要有清晰的解題步驟。算法就是解決問(wèn)題的程序或步驟。
(二)【課件展示】算法的概念:
1、廣義的算法是指完成某項(xiàng)工作的方法和步驟,在我們?nèi)粘I钪幸步?jīng)常使用算
頁(yè)腳內(nèi)容
法,只是沒(méi)意識(shí)到罷了。如:洗衣機(jī)的使用說(shuō)明書是操作洗衣機(jī)的算法,菜譜是做
菜的算法等等。
2、在數(shù)學(xué)中,現(xiàn)代意義的算法是指可以用計(jì)算機(jī)來(lái)解決的某一類問(wèn)題的程序和步
驟,這些程序或步驟必須是明確和有效的,而且能夠在有限步之內(nèi)完成。
【小試身手】按照這樣的理解,我們可以設(shè)計(jì)出很多由具體數(shù)學(xué)問(wèn)題解決一類數(shù)學(xué)問(wèn)
題的算法.下面看一個(gè)例子:(要求學(xué)生自己考慮并寫出具體的算法)
雞兔同籠問(wèn)題。一個(gè)籠子里有雞和兔,現(xiàn)在只知道里面一共有17個(gè)頭,48只腳,雞
和兔各有多少只?試設(shè)計(jì)一個(gè)求解的算法。
【設(shè)計(jì)意圖】求解雞兔的問(wèn)題簡(jiǎn)單直觀,卻包含著深刻的算法思想。應(yīng)用解二元一
次方程組的方法來(lái)求解雞兔同籠問(wèn)題。
第一步:設(shè)有小雞x只,小兔y只,則有
第二步:將方程組中的第一個(gè)方程兩邊乘一2加到第二個(gè)方程中去,得到,得到y(tǒng)=7;
第三步:將y=7代入(1)得x=10。
【變一變】在籠中有雞、兔若干,已知有頭a個(gè),有腳b只,求各有多少只雞和兔。
【師生合作】老師帶領(lǐng)學(xué)生共同書寫規(guī)范的算法的具體步驟,最后引出算法使用的
范圍:能解決一類問(wèn)題,并且能重復(fù)使用。
(三)【課件展示】算法的基本特征
①有窮性②確定性③不唯一性④有效性(邏輯性)
1、有窮性:一個(gè)算法應(yīng)該包含有限個(gè)操作步驟,而不能是無(wú)限的。
2、確定性:算法的每個(gè)步驟都應(yīng)該是明確無(wú)誤的,不能含義模糊,使執(zhí)行者無(wú)所適
從。
3、有零個(gè)或者多個(gè)輸入,有一個(gè)或者多個(gè)輸出
4、有效性:算法中的每一步都應(yīng)該能有效地執(zhí)行,執(zhí)行算法最后應(yīng)該能得到確定的
歡迎閱讀
結(jié)果。
【教學(xué)總結(jié)】
1、本節(jié)課通過(guò)一些生活中看似簡(jiǎn)單問(wèn)題的解決方法和步驟,使學(xué)生比較輕松的接受
了生活算法的概念,進(jìn)一步理解了計(jì)算機(jī)算法的概念。
2、課堂教學(xué)的效益取決于學(xué)生對(duì)所學(xué)知識(shí)理解了多少,能否用所學(xué)知識(shí)來(lái)解決一些
實(shí)際問(wèn)題。本節(jié)課的設(shè)計(jì)突出講與練的結(jié)合,培養(yǎng)學(xué)生的動(dòng)手能力,并且引出學(xué)生
對(duì)下一節(jié)課的內(nèi)容的思考,比較順利的完成了本節(jié)課的教學(xué)任務(wù)。
3、如何優(yōu)化算法,找到算法的形式和用算法解決問(wèn)題的效益的最佳結(jié)合點(diǎn),還尚需
探討。
第二課用計(jì)算機(jī)解決問(wèn)題
一、教學(xué)目標(biāo)
(1)讓學(xué)生了解算法、窮舉法、程序設(shè)計(jì)語(yǔ)言、編寫程序和調(diào)試程序等概念。
(2)讓學(xué)生知道對(duì)現(xiàn)實(shí)問(wèn)題的自然語(yǔ)言的描述,特別是類似程序設(shè)計(jì)語(yǔ)言的
自然語(yǔ)言描述。
(3)讓學(xué)生理解分析問(wèn)題、設(shè)計(jì)算法、編寫程序、調(diào)試程序這一用計(jì)算機(jī)解
決問(wèn)題的基本步驟,認(rèn)識(shí)其在算法與程序設(shè)計(jì)中的作用。
二、重點(diǎn)難點(diǎn)
重點(diǎn)用計(jì)算解決問(wèn)題的過(guò)程中的分析問(wèn)題、設(shè)計(jì)算法、和上機(jī)調(diào)試程序等步
驟。用計(jì)算機(jī)解決問(wèn)題的過(guò)程中的分析問(wèn)題、設(shè)計(jì)算法也是本節(jié)的難點(diǎn)。
三、教學(xué)過(guò)程(2課時(shí))
(一)引入
???教師:“在科技發(fā)達(dá)的今天,我們到處都可以看到計(jì)算機(jī)的蹤影,感受到計(jì)算
機(jī)給學(xué)習(xí)、生活帶來(lái)的方便。然而,在驚嘆計(jì)算機(jī)的神奇和享受的歡樂(lè)的時(shí)候,你
頁(yè)腳內(nèi)容
是否了解計(jì)算解決問(wèn)題的基本過(guò)程?有沒(méi)有思考過(guò)其中的奧妙呢?下面我們先看一
個(gè)古典的問(wèn)題:”
???學(xué)生觀看的電視劇《漢劉邦》片斷,內(nèi)容大致如下:
“韓信是我國(guó)西漢初著名的軍事家,劉邦得天下,軍事上全依靠他。韓信點(diǎn)兵,
多多益善,不僅如此,還能經(jīng)常以少勝多,以弱勝?gòu)?qiáng)。在與楚軍決戰(zhàn)時(shí)韓信指揮諸
侯聯(lián)軍,在垓下十面埋伏,擊敗楚軍,楚霸王項(xiàng)羽因此自殺?!?/p>
片斷結(jié)束時(shí)屏幕出現(xiàn)“韓信點(diǎn)兵”問(wèn)題:“相傳漢高祖劉邦問(wèn)大將軍韓信統(tǒng)御兵
士多少,韓信答說(shuō),每3人一列余1人、5人一列余2人、7人一列余4人、13人一
列余6人……。劉邦茫然而不知其數(shù)。你呢?”
(二)問(wèn)題
教師:“下面我們先助劉邦解決一個(gè)簡(jiǎn)單的問(wèn)題?!?/p>
“韓信點(diǎn)兵”問(wèn)題1:求整除3余1、整除5余2、整除7余4的最小自然數(shù)。
(三)探究
把全班分成16個(gè)學(xué)習(xí)小組,每個(gè)小組的同學(xué)一起探究、討論問(wèn)題。利用已學(xué)過(guò)
的數(shù)學(xué)知識(shí)找出題目已知什么求什么、明確已知和未知之間的關(guān)系和寫出求解問(wèn)題
的解題步驟。并填寫《計(jì)算機(jī)解決問(wèn)題的過(guò)程》教學(xué)活動(dòng)表中的“探究問(wèn)題記錄表”。
如下:
探究問(wèn)題記錄表
分析問(wèn)題(找出已知和未
結(jié)
知、列出已知和未知之間寫出解題步驟
果
的關(guān)系)
歡迎閱讀
學(xué)生討論,教師在這過(guò)程中到各學(xué)習(xí)小組中,引導(dǎo)個(gè)別學(xué)習(xí)小組分析問(wèn)題、寫
出解題步驟。教師提問(wèn)2?3個(gè)同學(xué),從中逐漸引導(dǎo)出類似如下的分析問(wèn)題和解題步
驟,并給出算法的概念。
分析問(wèn)題(找出已知和未
知、列出已知和未知之間寫出解題步驟
的關(guān)系)
1、令X為1。
2、如果X整除3余1,X整除5余
???設(shè)所求的數(shù)為X,則
2,
X應(yīng)滿足:
??????X整除7余4,這就是題目
X整除3余1
要求的數(shù),則記下這個(gè)X。
X整除5余2
3、令X為X+l(為算下一個(gè)作準(zhǔn)備)。
X整除7余4
4、如果算出,則結(jié)束;否則跳轉(zhuǎn)2。
5、寫出答案。
教師解釋第3步“另X為X+1”并指出它與數(shù)學(xué)中的區(qū)別,并從上面的解題步驟
中總結(jié)出窮舉的算法。
教師:“剛才有些同學(xué)把題目解出來(lái)了,答案是67,韓信作為大將軍,統(tǒng)率士兵
當(dāng)然不止67人,下面我們來(lái)解決一個(gè)數(shù)據(jù)量稍大的問(wèn)題。”
展示題目:
“韓信點(diǎn)兵”問(wèn)題2:求整除3余1、整除5余2、整除7余4、整除13余6、整
除17余8的最小自然數(shù)。
學(xué)生分析上述問(wèn)題并寫出算法,不用計(jì)算。學(xué)生有了第1題的經(jīng)驗(yàn),很快會(huì)寫出
和第一題類似的算法。如下:
頁(yè)腳內(nèi)容
分析問(wèn)題(找出已知和未
知、列出已知和未知之間寫出解題步驟
的關(guān)系)
1、令X為1。
???設(shè)所求的數(shù)為X,則2、如果X整除3余1,
X應(yīng)滿足:??????X整除5余2,
X整除3余1??????X整除7余4,
X整除5余2X整除13余6,
X整除7余4X整除17余8,則記下這個(gè)X。
X整除13余63、令X為X+1。
X整除17余84、如果算出,則結(jié)束;否則跳轉(zhuǎn)2。
5、寫出答案。
教師:“上面的結(jié)果超過(guò)1萬(wàn),人工計(jì)算要很長(zhǎng)時(shí)間,在科技發(fā)達(dá)的今天,你
想到什么?”(用計(jì)算機(jī)解題)
(四)用計(jì)算機(jī)解決問(wèn)題
教師:”計(jì)算機(jī)怎么樣解決問(wèn)題?用計(jì)算機(jī)解決問(wèn)題,同樣要經(jīng)過(guò)分析問(wèn)題、設(shè)
計(jì)算法兩步驟?!痹谥v授過(guò)程中展示人工解題中分析問(wèn)題和設(shè)計(jì)算法這兩個(gè)步驟。
用計(jì)算機(jī)解題,是不是輸入上面的算法?上面用自然語(yǔ)言描述的算法,計(jì)算機(jī)不懂,
必須翻譯成計(jì)算機(jī)的語(yǔ)言,這就是程序設(shè)計(jì)語(yǔ)言?!?/p>
本例用VisualBasic語(yǔ)言編寫的程序請(qǐng)看如下:
PrivateSubCommandl_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)御士兵數(shù):〃;Y
EndSub
?教師:“程序編好以后,通過(guò)鍵盤輸入計(jì)算機(jī),并運(yùn)行程序查看結(jié)果這個(gè)過(guò)程叫調(diào)
試程序?!?/p>
(五)觀摩
根據(jù)前面編制的程序,啟動(dòng)VisualBasic程序設(shè)計(jì)環(huán)境,輸入程序代碼,進(jìn)行
調(diào)試,最后得到運(yùn)行的結(jié)果。要求同組內(nèi)先完成的同學(xué)幫助還未完成的同學(xué)。幫助
的時(shí)候不能代勞,只能動(dòng)口不動(dòng)手。
(六)交流
頁(yè)腳內(nèi)容
教師:“前面我們學(xué)習(xí)了用計(jì)算機(jī)解決問(wèn)題的過(guò)程,它和人工解有什么關(guān)系呢?
同一學(xué)習(xí)小組的同學(xué)一起探討人工求解問(wèn)題和用計(jì)算機(jī)求解問(wèn)題的異同,并把討論
結(jié)果記錄在《計(jì)算機(jī)解決問(wèn)題的過(guò)程》教學(xué)活動(dòng)表的“討論記錄”表中。如下:
關(guān)于求解問(wèn)題的方式討論記錄
求解問(wèn)題的方式相同點(diǎn)不同點(diǎn)
人工求解問(wèn)題
用計(jì)算機(jī)求解問(wèn)
題
???教師提問(wèn)2?3個(gè)小組的討論結(jié)果,并引導(dǎo)出大致如下的形式結(jié)果:
求解問(wèn)題的方式相同點(diǎn)不同點(diǎn)
對(duì)題目進(jìn)行解答、運(yùn)
人工求解問(wèn)題分析問(wèn)題、設(shè)計(jì)算法、算速度慢、不需要計(jì)
得出結(jié)果、驗(yàn)算結(jié)果算機(jī)等
用計(jì)算機(jī)求解問(wèn)等編寫程序、調(diào)試程序、
題運(yùn)算速度快等
第三課算法與算法的描述
一、教學(xué)目標(biāo)
1、知識(shí)與技能
(1)了解算法的定義及其表達(dá)方法;
(2)認(rèn)知流程圖的六種基本符號(hào);
(3)理解計(jì)算機(jī)解決問(wèn)題的一般過(guò)程。
2、方法與過(guò)程
(1)理解用不同的表達(dá)方法描述算法的優(yōu)缺點(diǎn);
歡迎閱讀
(2)掌握用流程圖描述簡(jiǎn)單的算法。
3、情感態(tài)度和價(jià)值觀
以生活中的實(shí)例引入算法,激發(fā)學(xué)生的學(xué)習(xí)興趣,培養(yǎng)學(xué)生的主動(dòng)探究能力。
?二、重點(diǎn)難點(diǎn)
(一)教學(xué)重點(diǎn)
1、算法的定義;
2、算法的三種表達(dá)方法;
3、流程圖的六種基本符號(hào);
4、用流程圖描述簡(jiǎn)單的算法。
(二)教學(xué)難點(diǎn)
5、算法的描述(三種);
6、用流程圖描述算法。
三、教學(xué)過(guò)程(2課時(shí))
教學(xué)內(nèi)容預(yù)期目標(biāo)
新課內(nèi)容:引入物理學(xué)中的例
一、對(duì)算法的初步了解子,激發(fā)學(xué)生的學(xué)習(xí)
1.一個(gè)簡(jiǎn)單的物理問(wèn)題:求物體在恒力作用下興趣,有助于學(xué)生理
的加速度。解算法的概念
根據(jù)在物理課中學(xué)過(guò)的知識(shí),要解決這個(gè)問(wèn)題有
引導(dǎo)出算法的概念?
多種方法:
方法一:介紹三種算法的表
a)???測(cè)量出物體的質(zhì)量m、拉力F和滑動(dòng)摩擦達(dá)方式,并對(duì)它們進(jìn)
力f行比較,分析優(yōu)缺
頁(yè)腳內(nèi)容
b)???將測(cè)量所得的數(shù)據(jù)輸入計(jì)算機(jī)點(diǎn)。
c)???根據(jù)牛頓第二定律F-f初*a,計(jì)算出加速
??給出流程圖的基
度a
本符號(hào),對(duì)其功能和
d)???輸出所得的結(jié)果
使用情況加以說(shuō)明,
方法二:
以便今后在具體運(yùn)
a)???測(cè)量出物體從靜止開(kāi)始移動(dòng)的距離s、時(shí)
用中的正確使用。
間t
b)???將測(cè)量所得的數(shù)據(jù)輸入計(jì)算機(jī)給出流程圖的作法,
c)???利用公式:s=a*t*t/2計(jì)算出加速度a通過(guò)詳細(xì)的解釋說(shuō)
d)???輸出所得的結(jié)果明使學(xué)生初步掌握
2.算法的定義流程圖的使用和基
這種為解決某一問(wèn)題而設(shè)計(jì)的確定的有限的步本畫法。
驟稱為算法。
了解計(jì)算機(jī)解決問(wèn)
二、算法的描述
題的一般過(guò)程,為今
要把解決問(wèn)題的步驟表達(dá)出來(lái),有多種方法可以
后用編程解決實(shí)際
表達(dá)算法。
問(wèn)題打下基礎(chǔ)。
1.用自然語(yǔ)言表達(dá)
用自然語(yǔ)言表達(dá)算法,就是把算法的各個(gè)步驟,
依次用人們熟悉的自然語(yǔ)言表示出來(lái)。
優(yōu)點(diǎn):容易理解
缺點(diǎn):書寫較煩、不確定性、對(duì)復(fù)雜的問(wèn)題難以
表達(dá)準(zhǔn)確、不能被計(jì)算機(jī)識(shí)別和執(zhí)行
2.用圖形符號(hào)表達(dá)
歡迎閱讀
用圖形符號(hào)表達(dá)算法必須要有一組規(guī)定統(tǒng)一、含
義確定的專用符號(hào)。
常用的“流程圖”所用的基本符號(hào)
圖形符符號(hào)名說(shuō)明流線
號(hào)稱
起始、表示算法起始框:一流
終止框的開(kāi)始或出線
結(jié)束終止框:一流
入線
輸入、框中標(biāo)明只有一流入線
輸出框輸入、輸出和一流出線
的內(nèi)容
處理框框中標(biāo)明只有一流入線
進(jìn)行什么和一流出線
處理
判定框框中標(biāo)明一流入線兩流
判定條件出線(T和F)
并在框外但同時(shí)只能一
標(biāo)明判定流出線起作用
后的兩種
結(jié)果的流
向
頁(yè)腳內(nèi)容
流線表示從某
一框到另
一框的流
向
連接圈表示算法一條流線
流向出口
或入口連
接點(diǎn)
優(yōu)點(diǎn):直觀、形象
缺點(diǎn):不能被計(jì)算機(jī)識(shí)別和執(zhí)行
例“物體在恒力作用下的加速度”的算
法用下圖表達(dá)。開(kāi)始
TXX、童.
??3.用程序?qū)嵙?xí)
M=m
用計(jì)算機(jī)能理解和執(zhí)行的程序設(shè)計(jì)語(yǔ)言把算法
F1=F
表示出來(lái),然后luiJJF削入到計(jì)算機(jī)并執(zhí)行,計(jì)
算機(jī)才能按照預(yù)F2=f去解決問(wèn)題。
不同類型的計(jì)1a=(FlF2)/M的指令和語(yǔ)言不盡
相同,即使對(duì)同不種卜麗語(yǔ)言,不同類型的計(jì)
/輸出J/
算機(jī)對(duì)該語(yǔ)言而眸St浮也有差異。
因此,用程序表范百荔7、須按照程序設(shè)計(jì)語(yǔ)
言適用某類計(jì)算機(jī)的具體規(guī)定來(lái)進(jìn)行。
例:用Pascal語(yǔ)言表示“從鍵盤輸入一組數(shù)據(jù)
并求該組數(shù)據(jù)的平均值”的程序如下:
歡迎閱讀
Programex_aver
VarI: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
三、用計(jì)算機(jī)解決問(wèn)題的一般過(guò)程
使用計(jì)算機(jī)解決一個(gè)問(wèn)題,一般包括四個(gè)過(guò)程
1.需求分析
“需求分析”是指對(duì)要解決的問(wèn)題進(jìn)行詳細(xì)的分
析,弄清楚問(wèn)題的要求,包括需要輸入什么數(shù)據(jù),
要得到什么結(jié)果,最后應(yīng)輸出什么。
“需求分析”就是確定要計(jì)算機(jī)“做什么”。
2.設(shè)計(jì)算法
弄清楚要計(jì)算機(jī)“做什么”后,就要設(shè)計(jì)計(jì)算法,
明確要計(jì)算機(jī)“怎么做”
解決一個(gè)問(wèn)題,可能有多種算法。例如,數(shù)學(xué)題
頁(yè)腳內(nèi)容
常常有“一題多解”。這就是說(shuō),解決一個(gè)問(wèn)題
的算法可能不止一種。這是,應(yīng)該通過(guò)分析、比
較、挑選一種最優(yōu)的算法。
3.編寫程序
計(jì)算機(jī)只能接受并執(zhí)行計(jì)算機(jī)程序設(shè)計(jì)語(yǔ)言編
寫的程序。當(dāng)我們?yōu)榻鉀Q一個(gè)問(wèn)題確定了算法
后,還必須將該算法用計(jì)算機(jī)程序設(shè)計(jì)語(yǔ)言編寫
程序。這個(gè)過(guò)程成為“編碼”或“編程”。
4.上機(jī)調(diào)試與維護(hù)
編寫完成的程序,不一定完全符合實(shí)際問(wèn)題的要
求,還必須在計(jì)算機(jī)上運(yùn)行這個(gè)程序,排除程序
中可能出現(xiàn)的錯(cuò)誤,才能得到結(jié)果。這個(gè)過(guò)程稱
為“上機(jī)調(diào)試”。
即使是經(jīng)過(guò)調(diào)試的程序,在使用一段時(shí)間后,仍
然會(huì)被發(fā)現(xiàn)錯(cuò)誤或不足之處。這就需要對(duì)程序做
進(jìn)一步的修改,使之更加完善。這個(gè)過(guò)程稱為“維
護(hù)”。
在實(shí)際解決問(wèn)題時(shí),上述四個(gè)步驟可能會(huì)根據(jù)不
同的問(wèn)題有所側(cè)重。
-第四課程序與程序設(shè)計(jì)語(yǔ)言
一、教學(xué)目標(biāo)
1、知識(shí)與技能
歡迎閱讀
使學(xué)生知道什么是源代碼,并理解算法、程序設(shè)計(jì)、程序設(shè)計(jì)語(yǔ)言之間的關(guān)系,了
解程序設(shè)計(jì)語(yǔ)言的發(fā)展及種類。
2、過(guò)程與方法
使學(xué)生初步體驗(yàn)編程樂(lè)趣,了解如何編輯程序、編譯程序和連接程序。
3、情感態(tài)度與價(jià)值觀
讓學(xué)生進(jìn)一步領(lǐng)會(huì)算法和程序設(shè)計(jì)在解決問(wèn)題中的地位,體會(huì)編寫出程序的魅力,
從而培養(yǎng)學(xué)生學(xué)習(xí)編程的興趣。
二、重點(diǎn)難點(diǎn)
(1)重點(diǎn):了解代碼所包含的算法思想;
(2)難點(diǎn):計(jì)算機(jī)是如何編輯程序、編譯程序和連接程序的。
三、教學(xué)過(guò)程(2課時(shí))
正課講解
(一)嘗試用VB編寫程序
1、??么是VB?
——VB是一種基本BASIC語(yǔ)言的可視化程序開(kāi)發(fā)工具。
2、??編寫程序
⑴從桌面上啟動(dòng)VB,彈出“新建工程”對(duì)話框,從“新建”頁(yè)面中選“標(biāo)準(zhǔn)
EXE”,然后“打開(kāi)“按鈕,建立"標(biāo)準(zhǔn)EXE工程。
注:為了避免打開(kāi)時(shí)總是出現(xiàn)“新建工程”對(duì)話框,在首次啟動(dòng)時(shí),勾選“不
再顯示這個(gè)對(duì)話框”。
⑵單擊工具箱“CommandButton”的按鈕,在Forml窗體中拖出一個(gè)
“Commandl”按鈕。
Commandl是命令按鈕,它有6個(gè)屬性、2個(gè)事件和4個(gè)方法。
頁(yè)腳內(nèi)容
屬性
Caption標(biāo)題Default決定窗體的默認(rèn)命令按鈕
Enabled決定對(duì)象是否響應(yīng)用Style控件的外觀
戶生成事件
Visible決定對(duì)象是否可見(jiàn)Picture顯示的圖形
事件方法
Click單擊Drag拖動(dòng)Refresh刷新
KeyPress字符鍵被Move移動(dòng)SetFocus設(shè)置焦點(diǎn),將當(dāng)
單擊前焦點(diǎn)強(qiáng)制設(shè)
置到文本框?qū)?/p>
象上
?⑶選中此按鈕,從屬性窗口中將Caption改為“韓信點(diǎn)兵”。
⑷給按鈕添加代碼,在PrivateSubCommandl_Click()和EndSub之間
添加代碼:
DimNAsInteger,聲明N為整型
N=1'賦初始值
Do(Nmod3=2)and(Nmod5=3)and(Nmod7=2)
Then'滿足條件打印N,不滿足繼續(xù)循環(huán)
PrintN
Exitdo
Endif
N=N+1
Loop
歡迎閱讀
⑸從“運(yùn)行”菜單中“單擊”啟動(dòng)命令,運(yùn)行程序。運(yùn)行后,單擊“韓信點(diǎn)兵”
按鈕。
注:運(yùn)行時(shí),不能修改程序代碼。
實(shí)踐題:從“調(diào)試”菜單中點(diǎn)擊“逐語(yǔ)句”命令(F8),然后按F8鍵試著單步
運(yùn)行程序,觀察代碼是如何運(yùn)行的,程序執(zhí)行注釋部分嗎?在程序運(yùn)行的過(guò)程中,
用鼠標(biāo)指向變量N,看看它的值有什么變化,為什么會(huì)這樣變?
(二)算法、程序設(shè)計(jì)與程序設(shè)計(jì)語(yǔ)言之間的關(guān)系
⑴算法
提出問(wèn)題:什么是算法?算法有哪些特征?
⑵程序設(shè)計(jì)一一尋求解決問(wèn)題的方法,并將其實(shí)現(xiàn)步驟寫成計(jì)算機(jī)可執(zhí)行的程
序的過(guò)程。
⑶程序設(shè)計(jì)語(yǔ)言一一泛指一切用于書寫計(jì)算機(jī)程序的語(yǔ)言。
算法是程序設(shè)計(jì)的前提,它包含方法和步驟;
程序是實(shí)現(xiàn)算法中的思想的過(guò)程;
程序設(shè)計(jì)語(yǔ)言把算法轉(zhuǎn)化為計(jì)算機(jī)認(rèn)識(shí)的語(yǔ)言。
(三)認(rèn)識(shí)程序設(shè)計(jì)語(yǔ)言
1、?發(fā)展過(guò)程
機(jī)器語(yǔ)言:由一串“0”和“1”構(gòu)成二進(jìn)制代碼。
匯編語(yǔ)言:是一種符號(hào)化(英文助記符)的機(jī)器語(yǔ)言。
高級(jí)語(yǔ)言:如Basic、C/C++、Fortran>Pascal>CoboLJava等。
2、分類(按轉(zhuǎn)換方式不同分類)
編譯型語(yǔ)言解釋型語(yǔ)言
頁(yè)腳內(nèi)容
編寫的源程序需要用編譯程序先翻譯成源程序輸入計(jì)算機(jī)后,運(yùn)行源程序,相應(yīng)
機(jī)器語(yǔ)言的目標(biāo)程序,然后再由連接裝配的解釋程序會(huì)逐條分析源程序中的語(yǔ)句,
程序進(jìn)行連接裝配,生成可執(zhí)行程序,這每解釋一句由計(jì)算機(jī)執(zhí)行一句。
樣才能被計(jì)算機(jī)執(zhí)行。
C/C++、VB、Pascal、CobolQbasic、Lisp
3、編輯程序、編譯程序和連接程序
⑴編輯程序
包含內(nèi)容:一是將源程序逐個(gè)字符輸入到計(jì)算機(jī)內(nèi)存,二是修改源程序,三
將修改好的源程序保存在磁盤文件中。
⑵編譯程序:將已編輯好的源程序(已存儲(chǔ)在磁盤文件中)翻譯成二進(jìn)制的目標(biāo)代
碼。
二進(jìn)制代碼在UNIX下后綴為“.0”的文件,在DOS下是后綴為“.obj”
文件。
⑶連接:將各模塊的二進(jìn)制目標(biāo)代碼與系統(tǒng)標(biāo)準(zhǔn)模塊經(jīng)連接處理后,得到具有有絕
對(duì)地址的可執(zhí)行文件,它是計(jì)算機(jī)直接執(zhí)行的文件。
在UNIX下它以“.out”為后綴,在MS-DOS以下”.exe”為后綴。
執(zhí)行過(guò)程:
第五課vb語(yǔ)言及程序開(kāi)發(fā)環(huán)境
一、教學(xué)目標(biāo)
1、知識(shí)與技能
掌握VB定義的常用的基本數(shù)據(jù)類型,常量與變量的定義方法,運(yùn)算符、函數(shù)
和表達(dá)式的描述。熟悉VB程序設(shè)計(jì)語(yǔ)言的開(kāi)發(fā)環(huán)境,能調(diào)試簡(jiǎn)單的VB程序。
2、方法與過(guò)程
歡迎閱讀
本節(jié)涉及到基礎(chǔ)知識(shí)較多,所以要一個(gè)一個(gè)問(wèn)題解決,從一個(gè)簡(jiǎn)單的求圓的
面積的程序入手,從中分析VB程序一般包括的四部分,基本數(shù)據(jù)類型、常量與
變量,運(yùn)算符、函數(shù)和表達(dá)式,而且結(jié)合練習(xí)來(lái)加強(qiáng)對(duì)這些新知識(shí)的鞏固。通過(guò)
介紹VB程序的開(kāi)發(fā)環(huán)境中的菜單、常用工具和常用窗口等,再通過(guò)上機(jī)操作運(yùn)
行一個(gè)程序,讓學(xué)生更容易上手。
3、情感態(tài)度和價(jià)值觀
這一節(jié)是學(xué)習(xí)VB程序的重要的入門課,授課時(shí)要注意結(jié)合學(xué)生的思路,逐個(gè)
問(wèn)題解決,不可一蹴而就。
二、重點(diǎn)難點(diǎn)
1、教學(xué)重點(diǎn)
(1)???VB常用的的基本數(shù)據(jù)類型,常量與變量,運(yùn)算符和表達(dá)式
(2)???VB程序的開(kāi)發(fā)環(huán)境
2、教學(xué)難點(diǎn)
把本節(jié)的內(nèi)容加以運(yùn)用
?三、教學(xué)過(guò)程(3課時(shí))
導(dǎo)入:
以下是一個(gè)“求半徑為r的圓的面積”的程序,請(qǐng)你注意觀察程序的組成結(jié)構(gòu)及其功能,
并思考如下的問(wèn)題:
(1)程序有多少行,每一行的作用是什么?
(2)如果按語(yǔ)句的作用區(qū)分,這個(gè)程序包含幾個(gè)部分?
Privatesubcommandl_click()???????'定義名為commandl_click()的事件過(guò)程
?Constpiassingled.14???????????,說(shuō)明程序中pi是常量IT
?Dimrassingle,sassingle?????????'定義半徑r和面積s為單精度實(shí)型
頁(yè)腳內(nèi)容
?r=inputbox(“r=”,”請(qǐng)輸入半徑”)????'輸入r的值
?s=pi*r*r???????????????????????,把表達(dá)式pi*r*r的值賦給s
?print“圓的面積s=";s????????????'把s的值輸出到當(dāng)前的窗體上
End,過(guò)程結(jié)束
??考察上述程序,我們?nèi)菀卓吹剑撼绦蚬灿写a7行,每一行都是VB的一個(gè)語(yǔ)句,
VB的程序就是由這樣的一組語(yǔ)句組成。每一個(gè)語(yǔ)句都是按照一定的規(guī)則書寫的。
??總結(jié)上述分析,我們可以得到VB程序的一般包括如下部分:
(1)???數(shù)據(jù)類型說(shuō)明部分
(2)???數(shù)據(jù)的輸入部分
(3)???數(shù)據(jù)的處理部分
(4)???數(shù)據(jù)的輸出部分
一、基本數(shù)據(jù)類型
描述客觀事物的數(shù)、字符以及所有能輸入到計(jì)算機(jī)中,并被計(jì)算機(jī)程序加工處理
的集合稱為數(shù)據(jù)。數(shù)據(jù)既是計(jì)算機(jī)程序處理的對(duì)象,也是運(yùn)算產(chǎn)生的結(jié)果。
為了更好地處理各種數(shù)據(jù),VB定義了多種數(shù)據(jù)的類型。基本數(shù)據(jù)類型是系統(tǒng)預(yù)
先定義的數(shù)據(jù)類型,表2-1中列出了VB定義的常用的基本數(shù)據(jù)類型。
?例如在上述的程序中,既有單精度實(shí)型數(shù)的數(shù)據(jù)(如3.14等),也有字符類型的
數(shù)據(jù),如“輸入半徑”、“圓的面積S="。
二、常量與變量
??????(1)常量
???????常量是指在程序運(yùn)行過(guò)程中始終保持不變的常量、字符串等。例如在上述的
程序中,3.14、“r=”、“輸入半徑”等都是常量。
???????在程序設(shè)計(jì)中,以于一些經(jīng)常使用的常量,可以用常量說(shuō)明語(yǔ)句來(lái)定義。這
歡迎閱讀
樣可以提高程序的可讀性和可維護(hù)性。
???????常量說(shuō)明語(yǔ)句的格式是:
?????????????Const?常量名?As類型=表達(dá)式
???????在上述程序中,第2行就是一個(gè)常量說(shuō)明語(yǔ)句,說(shuō)明程序中需要使用的常量。
999999(2)變量
???????在程序處理數(shù)據(jù)時(shí),對(duì)于輸入的數(shù)據(jù)、參加運(yùn)算的數(shù)據(jù)、運(yùn)行結(jié)果等臨時(shí)數(shù)
據(jù),通常把它們暫時(shí)存儲(chǔ)在計(jì)算機(jī)的內(nèi)存中。變量就是命名的內(nèi)存單元位置。在
VB中,變量名必須是由英文字母開(kāi)頭,后面則可以由字母、數(shù)字或其它符號(hào)組
成;變量的名稱最好與它所表示的內(nèi)容意義相同的英文單詞來(lái)確定。
??????(3)變量說(shuō)明
???????使用變量前,一般應(yīng)先說(shuō)明變量名及其類型,以使系統(tǒng)為其分配存儲(chǔ)單元,
變量說(shuō)明語(yǔ)句格式如下:
??????????Dim?變量?As??類型
???????如Dimrassingle,定義半徑r為單精度實(shí)型
三、?運(yùn)算符、函數(shù)和表達(dá)式
???(1)運(yùn)算符
運(yùn)算符是對(duì)數(shù)據(jù)進(jìn)行加工的過(guò)程。描述各種不同運(yùn)算的符號(hào)稱為運(yùn)算符,參與運(yùn)
算的數(shù)據(jù)稱為操作數(shù)。在VB中,常用的運(yùn)算符有算術(shù)運(yùn)算符、字符串運(yùn)算符和邏輯
運(yùn)算符等。
①算術(shù)運(yùn)算符有:
運(yùn)算符+-*/A\MOD
號(hào)
頁(yè)腳內(nèi)容
含義加號(hào)減號(hào)乘號(hào)除號(hào)乘方整除取余數(shù)
????算術(shù)運(yùn)算符的運(yùn)算規(guī)則和數(shù)學(xué)中相同,如果意義不明確時(shí),可以加上括號(hào)使其看
起來(lái)更明白。VB中只使用一種括號(hào)“()”,它可以多次嵌套。
???②字符串運(yùn)算符有:&
???VB中的字符串運(yùn)算符是“&”,該運(yùn)算符主要用于連接兩個(gè)或更多的字符串,例
如:abed"&"efg"”連接后結(jié)果為"abedefg"。
(2)函數(shù)
在VB中有兩類函數(shù),分別是內(nèi)部函數(shù)和自定義函數(shù)轉(zhuǎn)換函數(shù)。常用的內(nèi)部函
數(shù)有數(shù)值函數(shù)、字符函數(shù)、時(shí)間/日期函數(shù)和其它函數(shù)等,如表2-2所示,自定義函
數(shù)是由程序員根據(jù)需要定義的函數(shù)。
?在程序中要使用一個(gè)函數(shù)時(shí),只需要給出函數(shù)名和一個(gè)或多個(gè)參數(shù),就能得到
函數(shù)值。調(diào)用函數(shù)的格式如下:????????函數(shù)名(參數(shù)表)
(3)表達(dá)式
??表達(dá)式是指某個(gè)求值規(guī)則,它由運(yùn)算符和配對(duì)的圓括號(hào)將變量、常量、函數(shù)
等操作數(shù)以合理的形式連接起來(lái)的式子。例如在上述的程序中,式子pi*r*i?是合
法的表達(dá)式。
四、練習(xí)
??(1)下列數(shù)據(jù)屬于字符串常量的是()
???????A.bcda??????B."kfjf"???C/fksj'?????D.”j_hjh”
??(2)在VB語(yǔ)言中,下列數(shù)據(jù)中合法的長(zhǎng)整型常量是()
A.09B9"99"B27389409999999999
??(3)在VB語(yǔ)言中,下列變量中合法的變量是()
A.b90?????B.abc=9??????C.print????D.8888F1
歡迎閱讀
??(4)在VB語(yǔ)言中,下列表達(dá)式中合法的表達(dá)式是()
A.a+b*|c|??????B.bctH-9?????C.4-2*!!??D.pi*r*r
五、可視化程序的開(kāi)發(fā)環(huán)境
前面的學(xué)習(xí)使我們知道,要較快地學(xué)會(huì)運(yùn)行調(diào)試VB程序,首先需要熟悉
VB程序設(shè)計(jì)語(yǔ)言的開(kāi)發(fā)環(huán)境。VB程序設(shè)計(jì)語(yǔ)言的開(kāi)發(fā)環(huán)境的界面如下圖:
VB程序設(shè)計(jì)語(yǔ)言的開(kāi)發(fā)環(huán)境中,控件工具箱、代碼窗口、窗體設(shè)計(jì)器窗口、
工程資源管理器窗口、屬性窗口是一些常用的程序設(shè)計(jì)與調(diào)試工具,這些工具互
相協(xié)調(diào)、互相補(bǔ)充,如果熟練、合理地使用會(huì)大大地減少應(yīng)用程序的開(kāi)發(fā)難度,
提高工作效率。
四、課外拓展
在了解、熟悉了VB程序設(shè)計(jì)語(yǔ)言的開(kāi)發(fā)環(huán)境以后,你肯定躍躍欲試,一顯身手。
好吧,就讓我們一起來(lái)體驗(yàn)VB程序的運(yùn)行調(diào)試吧!
求s=lX2X3義…Xn問(wèn)題的VB程序:
privatesubform_load()
??n=inputbox(“請(qǐng)輸入n的值:","輸入")
??s=l
???fori=lton
????s=s*I
???nextI
msgbox“s="+str(s),0,"計(jì)算結(jié)果"
endsub
當(dāng)N=22時(shí),運(yùn)行的結(jié)果是:?????????????????????
第六課程序的順序結(jié)構(gòu)
頁(yè)腳內(nèi)容
一、教學(xué)目標(biāo)
1、知識(shí)與技能
理解程序順序結(jié)構(gòu)的執(zhí)行流程,掌握賦值語(yǔ)句和輸入輸出語(yǔ)句,能夠編寫簡(jiǎn)單的
順序結(jié)構(gòu)的程序,以解決生活中的一些計(jì)算問(wèn)題。
2、方法與過(guò)程
本節(jié)從簡(jiǎn)單的問(wèn)題入手,如求圓的面積,讓學(xué)生初步掌握賦值語(yǔ)句和輸入輸出語(yǔ)
句的使用方法及其功能。進(jìn)而轉(zhuǎn)入較為復(fù)雜的問(wèn)題,如編寫程序使從鍵盤上輸入一
個(gè)三位數(shù),然后反方向輸出,并且運(yùn)用到上一章所學(xué)的運(yùn)算符、表達(dá)式等,對(duì)知識(shí)
進(jìn)行鞏固,課程安排形成循序漸進(jìn)的梯度,充分挖掘?qū)W生潛力,讓有余力的學(xué)生可
以有更大空間。
3、情感態(tài)度和價(jià)值觀
程序設(shè)計(jì)選取的題目與高一所學(xué)的數(shù)學(xué)、物理中學(xué)到的新知識(shí)有密切的聯(lián)系,從
而激發(fā)學(xué)生對(duì)程序設(shè)計(jì)的追求和向往。
二、重點(diǎn)難點(diǎn)
1、教學(xué)重點(diǎn)
(1)???賦值語(yǔ)句和輸入輸出語(yǔ)句的使用
(2)???程序順序結(jié)構(gòu)的執(zhí)行流程
(3)???能編寫程序解決簡(jiǎn)單的應(yīng)用題
2、教學(xué)難點(diǎn)
根據(jù)題目寫出正確的程序
?三、教學(xué)過(guò)程(2課時(shí))
導(dǎo)入:演示求圓的面積這道題的程序,讓學(xué)生明白通過(guò)程序可以解決數(shù)學(xué)中的問(wèn)題,
也給學(xué)生展示完整的程序代碼,這道程序的功能就是靠這些代碼來(lái)控制的,引起學(xué)
歡迎閱讀
生的注意,激發(fā)他們的求知欲。
一、演示上述的程序,并把程序代碼中的各行代碼的作用解釋一遍,順便把程序的
執(zhí)行流程說(shuō)明一下,編寫的程序與設(shè)計(jì)的算法是一致的。
Privatesubcommandl_click()???????,定義名為commandl_click()的事件過(guò)程
?Constpiassingled.14???????????,說(shuō)明程序中pi是常量R
?Dimrassingle.sassingle?????????'定義半徑r和面積s為單精度實(shí)型
?r=inputbox(“尸”,”請(qǐng)輸入半徑”)????'輸入r的值
?s=pi*r*r???????????????????????,把表達(dá)式pi*r*r的值賦給s
?print“圓的面積s=";s????????????'把s的值輸出到當(dāng)前的窗體上
Endsub????????????????????????,過(guò)程結(jié)束
二、賦值語(yǔ)句
在上述的程序中,r=inputbox(“尸”,”請(qǐng)輸入半徑"),s=pi*r*r的含義分別是將賦值
號(hào)右邊的函數(shù)inputbox("r=”J請(qǐng)輸入半徑”)的值賦給變量r,將賦值號(hào)右邊的表達(dá)式
pi*r*r的值賦給變量s。它們的作用都是將表達(dá)式的值賦給左邊的變量,這種語(yǔ)句稱
為賦值語(yǔ)句。
賦值語(yǔ)句的基本格式是:
????????變量=表達(dá)式
這里的“=”是賦值符號(hào),它的含義是將表達(dá)式的值賦給左邊的變量。
觀察下列賦值語(yǔ)句的作用:
(1)???A=B,它是將變量B的值賦給變量A,但B的值并未改變。
(2)???A=123表示將數(shù)值123賦給變量A。
(3)???A=A+10表示將變量A的值加10后,再賦給變量A。如果原來(lái)A
的值為30,則執(zhí)行此語(yǔ)句后,A的值為40。
頁(yè)腳內(nèi)容
(4)???如果A=30,B=40,則依次執(zhí)行語(yǔ)句T=A,A=B,B=T后,A、B
兩個(gè)變量的值發(fā)生交換A=40,B=30o
三、輸入數(shù)據(jù)的函數(shù)
???????Inputbox。是提供從鍵盤輸入數(shù)據(jù)的函數(shù),利用它可產(chǎn)生一個(gè)對(duì)話框,提示用
戶輸入數(shù)據(jù)并單擊命令按鈕。該函數(shù)返回值是字符類型。利用這個(gè)函數(shù),上述程
序中的Linputbox(“尸”,”請(qǐng)輸入半徑”),所以在程序運(yùn)行時(shí),從鍵盤上輸入數(shù)據(jù)
賦值給變量ro
????????Inputbox。的語(yǔ)法格式為:
???????????Inputbox(提示信息,標(biāo)題,默認(rèn)值,位置)
???其中:
??????提示信息:指對(duì)輸入數(shù)據(jù)的提示,顯示在對(duì)話框中,不能省略。
??????標(biāo)題:指運(yùn)行此函數(shù)后彈出的對(duì)話框的標(biāo)題。
??????默認(rèn)值:指默認(rèn)的輸入數(shù)據(jù)值。
??????位置:指運(yùn)行此函數(shù)后彈出的對(duì)話框的左上角在屏幕上的位置與提示信息和
標(biāo)題是用引號(hào)引起來(lái)的字符串。例如:執(zhí)行下面的程序運(yùn)行情況:
???????PrivateSubCommandl_Click()
????????A=InputBox("A=","輸入",12,100,20)
EndSub
運(yùn)行該程序,屏幕上窗口的左上角將位于坐標(biāo)為(100,20)的位置,標(biāo)題為“輸入”,
窗口的提示信息為“A=”,而在輸入欄內(nèi)會(huì)出現(xiàn)默認(rèn)的數(shù)據(jù)12。如下圖所示:
?四、輸出數(shù)據(jù)的方法
Print是輸出數(shù)據(jù)、文本的一個(gè)重要方法。在求圓的面積程序中,print”圓的
面積s=”;s就是利用Print方法將計(jì)算出來(lái)的圓的面積s的值輸出到窗體上。
歡迎閱讀
Print方法輸出數(shù)據(jù)的基本格式是:
?????Print輸出內(nèi)容
在這里,輸出內(nèi)容可以是數(shù)、變量、表達(dá)式,也可以是用引號(hào)括起來(lái)的字符
串。
說(shuō)明:
(1)如果輸出的內(nèi)容是數(shù)、變量、表達(dá)式,則輸出的是數(shù)、變量、表達(dá)式的
值。如果是引號(hào)引起來(lái)的字符串,則原樣輸出。
例如:語(yǔ)句Print3?的結(jié)果為3
?????語(yǔ)句Print2+2的結(jié)果為4
語(yǔ)句Print“你好”的結(jié)果為?你好
(2)輸出內(nèi)容可以是一個(gè)或多個(gè)。如果是多個(gè)輸出內(nèi)容,則各輸出內(nèi)容之間
可以用逗號(hào)或分號(hào)分隔;如果用分號(hào),則后面一個(gè)輸出內(nèi)容緊跟前一個(gè)輸出;如
果是逗號(hào),則按照分區(qū)格式輸出。
?例如:A=5,B=3
??????Print“A=”;A,"B=";B
??????輸出結(jié)果為:A=5?????????B=3
??????A=5,B=3
??????Print“A=”;A;“B=";B
??????輸出結(jié)果為:A=5B=3
(3)如果輸出內(nèi)容后面沒(méi)有符號(hào),則表示下一個(gè)Print換行輸出;如果Print
中沒(méi)有輸出內(nèi)容,則表達(dá)輸出一個(gè)空行。
??????例如:A=5,B=3
999999Q99999prjnt"A="-A
頁(yè)腳內(nèi)容
9?999??9??97prjnt“B=”?B
五、練習(xí)
問(wèn)題1:已知長(zhǎng)方體的長(zhǎng)、寬、高,編寫一個(gè)程序,求長(zhǎng)方體的全面積和體積。
(1)???分析問(wèn)題
設(shè)長(zhǎng)方體的長(zhǎng)、寬、高分別為A、B、C,由于長(zhǎng)方體的六個(gè)面的面積兩兩對(duì)應(yīng)
相等,所以長(zhǎng)方體的全面積為:S=2*(A*B+A*C+B*C),體積為:V=A*B*C。
(2)設(shè)計(jì)算法
①???輸入A、B、C的值
②???計(jì)算S=2*(A*B+A*C+B*C)
③???計(jì)算V=A*B*C
@???輸出S,V的值
(3)編寫程序
Privatesubcommandl_click()
DimAassingle,Bassingle,Cassingle,Sassingle,Vassingle
A=Inputbox("A="J輸入”)
B=Inputbox("B="J輸入”)
C=Inputbox("C="J輸入”)
S=2*(A*B+A*C+B*C)
V=A*B*C
Print“全面積S=";S,“體積V=";V
??????(4)調(diào)式程序
六、小結(jié)
在以上的程序中,執(zhí)行時(shí)按語(yǔ)句出現(xiàn)的順序執(zhí)。即當(dāng)執(zhí)行第一條語(yǔ)句后,必
歡迎閱讀
然從第二條語(yǔ)句繼續(xù),順序執(zhí)行所有的語(yǔ)句,直到執(zhí)行完最后一條語(yǔ)句為止。像
這樣的控制結(jié)構(gòu)稱為程序的順序結(jié)構(gòu)。順序結(jié)構(gòu)的最大特點(diǎn)是在這個(gè)結(jié)構(gòu)內(nèi)按由
上到下的的書寫順序執(zhí)行,它只有一個(gè)入口和一個(gè)出口。這是一種最簡(jiǎn)單、最基
本的結(jié)構(gòu)。如圖
五、課外拓展
試編寫程序從鍵盤上輸入一個(gè)三位數(shù),然后將它反方向輸出。例如輸入456,輸
出應(yīng)為654。
第七課程序的選擇結(jié)構(gòu)
一、教學(xué)目標(biāo)
1、知識(shí)與技能
理解程序選擇結(jié)構(gòu)中的條件選擇語(yǔ)句的執(zhí)行流程,掌握條件選擇語(yǔ)句和多種選
擇語(yǔ)句的使用方法,能夠編寫簡(jiǎn)單的選擇結(jié)構(gòu)的程序,以解決生活中的一些計(jì)算問(wèn)
題。
2、方法與過(guò)程
本節(jié)從簡(jiǎn)單的問(wèn)題入手,通過(guò)一道求一個(gè)數(shù)的絕對(duì)值的題目,讓學(xué)生明白條件
選取擇語(yǔ)句的執(zhí)行流程及使用方法。進(jìn)而再做類似的練習(xí),加強(qiáng)學(xué)生的理解,課程
安排形成循序漸進(jìn)的梯度,充分挖掘?qū)W生潛力。
3、情感態(tài)度和價(jià)值觀
程序設(shè)計(jì)選取的題目都是生活中遇到的例子,加強(qiáng)學(xué)生利用本學(xué)科解決日學(xué)生活中
的問(wèn)題的意識(shí)。
?二、重點(diǎn)難點(diǎn)
1、教學(xué)重點(diǎn)
(1)條件選擇語(yǔ)句和多重選擇語(yǔ)句的使用
頁(yè)腳內(nèi)容
(2)程序條件選擇結(jié)構(gòu)的執(zhí)行流程
(3)會(huì)使用條件語(yǔ)句和多重選擇語(yǔ)句編寫程序解決簡(jiǎn)單的應(yīng)用題
2、教學(xué)難點(diǎn):根據(jù)題目寫出正確的程序
?三、教學(xué)過(guò)程(2課時(shí))
導(dǎo)入:演示求一個(gè)數(shù)的絕對(duì)值這道題的程序,讓學(xué)生明白通過(guò)程序可以解決數(shù)
學(xué)中的問(wèn)題,也給學(xué)生展示完整的程序代碼,這道程序的功能就是靠這些代碼來(lái)控
制的,引起學(xué)生的注意,激發(fā)他們的求知欲。
一、演示上述的程序,并把程序代碼中的各行代碼的作用解釋一遍,順便把程序的
執(zhí)行流程說(shuō)明一下,編寫的程序與設(shè)計(jì)的算法是一致的。
?程序2-3
Privatesubcommandl_click()???????,定義名為commandl_click()的事件過(guò)程
?DimAassingle?????????????????'定義求絕對(duì)值的數(shù)A為單精度實(shí)型
?人=麗11也0*(“1=”,”請(qǐng)輸入半徑")???'輸入A的值
?IfA>=0then????????????????????'如果A>=0
Print"Y=";A???????????????????,輸出A的值
Else
Print“Y=”;一A?????????????????'輸出一A的值
EndiP999999???????????999
?Endsub999999999999999999999999'過(guò)程結(jié)束
?二、條件語(yǔ)句
在解決問(wèn)題的過(guò)程中,常常需要對(duì)事物進(jìn)行判斷和選擇,如上題中,求一個(gè)數(shù)A的
絕對(duì)值,如果A>=0,則這個(gè)數(shù)的絕對(duì)值為A,否則為一A。在程序設(shè)計(jì)中,如何實(shí)
現(xiàn)判斷和選擇呢?在上述代碼中,有一個(gè)用if開(kāi)頭的語(yǔ)句,這就是條件語(yǔ)句。
歡迎閱讀
(一)條件語(yǔ)句的基本格式是:
???????if條件then語(yǔ)句組1?else語(yǔ)句組2
??或
?????????????if條件then
999??999?????9?語(yǔ)句組1
99999????????else
9999999Q9999???語(yǔ)句組2
9999999999???endif
其中,條件是一個(gè)邏輯表達(dá)式,語(yǔ)句組是一組VB的語(yǔ)句。
(二)條件執(zhí)行語(yǔ)句的執(zhí)行過(guò)程
條件語(yǔ)句的執(zhí)行過(guò)程是:當(dāng)條件成立時(shí),執(zhí)行then后面的語(yǔ)句組1,否則執(zhí)行語(yǔ)句
組2,條件語(yǔ)句的執(zhí)行流程圖如下圖所示。
????在條件語(yǔ)句的基本格式中有時(shí)可以省略else和語(yǔ)句組2,這時(shí)條件語(yǔ)句的執(zhí)
行過(guò)程是當(dāng)條件成立時(shí),執(zhí)行then后面的語(yǔ)句組1,否則退出條件語(yǔ)句,執(zhí)行下
面的語(yǔ)句。
(三)關(guān)系表達(dá)式
????????在程序2-3中,程序的第三行是一個(gè)條件語(yǔ)句,其中的條件A>=0表達(dá)式,
一般稱為關(guān)系表達(dá)式,關(guān)系表達(dá)式是用關(guān)系運(yùn)算符連接起來(lái)的式子。
?????關(guān)系運(yùn)算符號(hào)有:
運(yùn)算符號(hào)二>>=<<——<>
含義等于大于大于等于小于小于等不等
于于
當(dāng)關(guān)系表式成立時(shí)其值為真(Ture),當(dāng)表達(dá)式不成立時(shí)其值則為假(False);
頁(yè)腳內(nèi)容
關(guān)系表達(dá)式的值既不是數(shù)值型量,也不是字符型量,而是一種新的數(shù)量類型-
邏輯型。邏輯型只有兩個(gè)可能的值:假(False)和真(Ture)。
????????關(guān)系表達(dá)式的值定義如下:
(1)對(duì)數(shù)值型的數(shù)據(jù)比較,是按照數(shù)值的大小來(lái)進(jìn)行比較。如13>6的值
為真。
???????(2)對(duì)其它類型數(shù)據(jù)的比較,則按照其序號(hào)進(jìn)行比較。如"D">"B"其
值為假。2<X<
???????(四)邏輯表達(dá)式
????????在實(shí)際問(wèn)題中,對(duì)于一些復(fù)雜的條件,還需要幾個(gè)關(guān)系表達(dá)式組合起來(lái)才
能表示。例如,條件2Vx<9就需要用2Vx和X<9這兩個(gè)表達(dá)式來(lái)表示.將多個(gè)關(guān)
系表達(dá)式用邏輯運(yùn)算符連接起來(lái)的式子稱為邏輯表達(dá)式,邏輯表達(dá)式的運(yùn)算值為
邏輯型。邏輯運(yùn)算符有:
????????Not(非)取操作數(shù)相反的值。即當(dāng)操作數(shù)為假時(shí)\結(jié)果為真;當(dāng)操作數(shù)為
真時(shí),結(jié)果為假。
????????And(與)當(dāng)兩個(gè)操作數(shù)都為真時(shí),結(jié)果才為真。
????????Or(或)當(dāng)兩個(gè)操作數(shù)都為假時(shí),結(jié)果才為假。
??????(五)邏輯運(yùn)算的順序
(1)當(dāng)條件中只有邏輯運(yùn)算符時(shí),運(yùn)算的順序?yàn)镹ot、And、Or
(2)當(dāng)條件中既有算術(shù)運(yùn)算符,又有關(guān)系運(yùn)算符和邏輯運(yùn)算符時(shí),運(yùn)算順序是:
算術(shù)運(yùn)算符,關(guān)系運(yùn)算符,邏輯運(yùn)算符
例如:
?a+b>c+danda>=5ornotc>0ord<0
當(dāng)a=5,b=7,c=2,d=l時(shí),運(yùn)算結(jié)果是真。
歡迎閱讀
三、練習(xí)
四、練習(xí)
問(wèn)題1:某商場(chǎng)為了對(duì)蘋果進(jìn)行促銷,規(guī)定購(gòu)買2千克以上可以在原價(jià)每千克1.5
的基礎(chǔ)上打8折。請(qǐng)?jiān)O(shè)計(jì)一個(gè)程序計(jì)算購(gòu)買x千克蘋果的應(yīng)付款。
(1)???分析問(wèn)題
設(shè)買蘋果的重量為x千克,應(yīng)付款為y元,如果x>=2,則y=1.5*x*0.8,否則y=1.5*x。
??????????(2)設(shè)計(jì)算法
①???輸入x的值
②???如果x>=2,則y=L5*x*0.8
③???否則y=1.5*x
@???輸出y的值
(3)編寫程序
Privatesubcommandl_click()
Dimxassingle
x=Inputbox(“請(qǐng)輸入購(gòu)買蘋果的重量”)
ifx>=2then
??y=1.5*x*0.8
else
??y=1.5*x
endif
Print“應(yīng)付款”;y;“元”
???????(4)調(diào)式程序
五、多重選擇語(yǔ)句
頁(yè)腳內(nèi)容
問(wèn)題2:輸入一個(gè)成績(jī),如果90分以上,則輸出“優(yōu)秀”;80-89,則輸出“良
好”;70-79,則輸出“中等”;60-69,則輸出“及格”;60分以下則輸出“不及
格”,請(qǐng)編寫程序。
如果這道題使用if語(yǔ)句來(lái)編寫程序的話,程序如下:
程序2-4
Privatesubcommand_click()
?X=inputbox(“請(qǐng)輸入一個(gè)分?jǐn)?shù)”)
IfX>=90thenprint”優(yōu)秀”
IfX>=80andX<89thenprint"良好”
IfX>=70andX<79thenprint”中等”
IfX>=60andX<69thenprint”及格”
IfX<60thenprint”不及格”
Endsub
在程序2-4中,使用了5個(gè)if語(yǔ)句來(lái)處理5種情況。這樣的程序在可讀性和效率
方面都是比較差的,如果再多一些情況,它的缺陷就會(huì)暴露得更加明顯,如何處理
這個(gè)問(wèn)題呢?
(-)多重選擇語(yǔ)句格式
在VB語(yǔ)言中,設(shè)置了一個(gè)處理多種情況的語(yǔ)句,稱為多重選擇語(yǔ)句,它的基本
格式為:
???selectcase表達(dá)式
??????case表達(dá)式列表1
?????????語(yǔ)句組1
case表達(dá)式列表2
歡迎閱讀
????caseelse
????????語(yǔ)句組N+l
????endselect
其中
(1)表達(dá)式和表達(dá)式列表可以是數(shù)值型或字符型,表達(dá)式列表還可以是多個(gè)
用逗號(hào)分開(kāi)的表達(dá)式。
(2)???表達(dá)式列表與表達(dá)式的類型必須相同。
(3)???表達(dá)式列表又稱值域,它有如下三種形式:
①???表達(dá)式1,表達(dá)式2,……
②???表達(dá)式1to表達(dá)式2
③???Is關(guān)系表達(dá)式
?????(二)多重選擇語(yǔ)句的執(zhí)行過(guò)程
?多重選擇語(yǔ)句的執(zhí)行過(guò)程是:
?????當(dāng)表達(dá)式的值為表達(dá)式列表1時(shí),執(zhí)行語(yǔ)句組1;
?????當(dāng)表達(dá)式的值為表達(dá)式列表2時(shí),執(zhí)行語(yǔ)句組2;
???????????????...
??當(dāng)表達(dá)式的值為表達(dá)式列表N時(shí),執(zhí)行語(yǔ)句組N;
??當(dāng)表達(dá)式的值不是上述值時(shí),執(zhí)行語(yǔ)句組N+1;
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年翻轉(zhuǎn)式瓶殺菌機(jī)項(xiàng)目可行性研究報(bào)告
- 2025年焊接螺母項(xiàng)目可行性研究報(bào)告
- 2025至2031年中國(guó)水鎂石顆粒行業(yè)投資前景及策略咨詢研究報(bào)告
- 2025年實(shí)驗(yàn)(中試)反應(yīng)裝置項(xiàng)目可行性研究報(bào)告
- 2025年型砂項(xiàng)目可行性研究報(bào)告
- 2025至2030年中國(guó)自動(dòng)手搖鑰匙復(fù)制機(jī)數(shù)據(jù)監(jiān)測(cè)研究報(bào)告
- 2025至2030年壓力管件項(xiàng)目投資價(jià)值分析報(bào)告
- 2025至2030年不銹鋼網(wǎng)片輸送帶項(xiàng)目投資價(jià)值分析報(bào)告
- 學(xué)校醫(yī)務(wù)室聘用合同
- 借款居間服務(wù)合同
- 2024年秋新北師大版七年級(jí)上冊(cè)數(shù)學(xué)教學(xué)課件 3.1.1 代數(shù)式
- 全過(guò)程工程咨詢管理服務(wù)方案
- NB-T10342-2019水電站調(diào)節(jié)保證設(shè)計(jì)導(dǎo)則
- 《麻風(fēng)病防治知識(shí)》課件
- 經(jīng)典誦讀演講稿6篇
- 鄉(xiāng)村醫(yī)生返聘協(xié)議書
- 2024機(jī)械買賣協(xié)議
- 當(dāng)代世界經(jīng)濟(jì)與政治 第八版 課件 第四章 發(fā)展中國(guó)家的經(jīng)濟(jì)與政治
- 2024-2030年中國(guó)汽車安全氣囊行業(yè)發(fā)展形勢(shì)分析及投資規(guī)劃分析報(bào)告
- DZ∕T 0289-2015 區(qū)域生態(tài)地球化學(xué)評(píng)價(jià)規(guī)范(正式版)
- 譯林版六年級(jí)下冊(cè)英語(yǔ)Unit-1《The-lion-and-the-mouse》教學(xué)課件
評(píng)論
0/150
提交評(píng)論