算法與程序設(shè)計(jì)選修教案_第1頁
算法與程序設(shè)計(jì)選修教案_第2頁
算法與程序設(shè)計(jì)選修教案_第3頁
算法與程序設(shè)計(jì)選修教案_第4頁
算法與程序設(shè)計(jì)選修教案_第5頁
已閱讀5頁,還剩47頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、第一課 初識(shí)算法與程序設(shè)計(jì)一、教學(xué)目標(biāo)、知識(shí)與技能1)理解算法的概念,培養(yǎng)學(xué)生自我探索信息,高效獲取信息的能力;2)能初步利用算法解決簡單的問題,培養(yǎng)學(xué)生的理論聯(lián)系實(shí)際能力和動(dòng)手操作能力。、情感、態(tài)度、價(jià)值觀學(xué)生在學(xué)習(xí)過程中,通過親身經(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é)策略與手段以趣味性問題設(shè)置情境,激發(fā)學(xué)生探索解決問題的興趣,與學(xué)生進(jìn)行互動(dòng)探討,通過Flash 演示材料,比較直觀地把抽象的問題簡單化,使學(xué)生的思考逐步深入,從而總結(jié)

2、出算法的概念,學(xué)會(huì)如何設(shè)計(jì)和選擇算法,培養(yǎng)學(xué)生自主探究學(xué)習(xí)的能力。四、教學(xué)過程( 1 課時(shí))(一)我們來共同尋找下面一些生活中比較現(xiàn)實(shí)的問題的解決方法。【問題一】天下真的有“不要錢的午餐”嗎?某一餐館門口海報(bào)上寫著“不要錢的午餐” , 規(guī)則如下:在三個(gè)月內(nèi),來 賓必須湊夠五個(gè)人,五人每次來就餐必須按照不同的順序坐,直到把所有可能 的順序都坐一遍,以后來吃飯就可永遠(yuǎn)免費(fèi)” 。于是有人想,這太容易了,每人每次坐不同的位置,吃五次不就行了?于是他就叫上自己的朋友參加這項(xiàng)活動(dòng),可是,吃了十次之后,還沒有吃上免費(fèi)午餐,這是怎么回事呢?學(xué)生們感覺非常有意思,很快以小組為單位進(jìn)行熱烈的討論并得出了破解問題的

3、步驟:第一個(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é)論:需 要吃1 2 0次才有可能吃上免費(fèi)午餐。【問題二】有三個(gè)和尚和三個(gè)妖怪過河,只有一條能裝下兩個(gè)人的船,在河的任何一方或者船上,如果妖怪的人數(shù)大于和尚的人數(shù),那么和尚就會(huì)有被吃掉的危險(xiǎn)。你能不能找出一種安全的渡河方法呢?請(qǐng)寫一寫你的渡河方案。學(xué)生:學(xué)生討論回答。展示步驟兩個(gè)妖怪先過河,一個(gè)妖怪回來;再兩個(gè)妖怪過河,一個(gè)妖怪回來;兩個(gè)和

4、尚過河,一個(gè)妖怪和一個(gè)和尚回來;兩個(gè)和尚過河,一個(gè)妖怪回來;兩個(gè)妖怪過河,一個(gè)妖怪回來;兩個(gè)妖怪過河?!?Flash 動(dòng)畫展示】通過討論和動(dòng)畫展示,我們可以知道,計(jì)算機(jī)解決問題和人解決問題一樣需要有清晰的解題步驟。算法就是解決問題的程序或步驟?!菊n件展示】算法的概念:、廣義的算法是指完成某項(xiàng)工作的方法和步驟,在我們?nèi)粘I钪幸步?jīng)常使用算法,只是沒意識(shí)到罷了。如:洗衣機(jī)的使用說明書是操作洗衣機(jī)的算法,菜譜是做菜的算法等等。、在數(shù)學(xué)中,現(xiàn)代意義的算法是指可以用計(jì)算機(jī)來解決的某一類問題的程序和步驟,這些程序或步驟必須是明確和有效的,而且能夠在有限步之內(nèi)完成。【小試身手】 按照這樣的理解, 我們可以設(shè)

5、計(jì)出很多由具體數(shù)學(xué)問題解決一類數(shù)學(xué)問題的算法. 下面看一個(gè)例子: (要求學(xué)生自己考慮并寫出具體的算法)雞兔同籠問題。一個(gè)籠子里有雞和兔,現(xiàn)在只知道里面一共有17 個(gè)頭, 48 只腳,雞和兔各有多少只?試設(shè)計(jì)一個(gè)求解的算法。【設(shè)計(jì)意圖】求解雞兔的問題簡單直觀,卻包含著深刻的算法思想。應(yīng)用解二元一次方程組的方法來求解雞兔同籠問題。第一步:設(shè)有小雞x 只,小兔 y 只,則有第二步:將方程組中的第一個(gè)方程兩邊乘 2 加到第二個(gè)方程中去,得到 ,得到 y=7;第三步:將y=7 代入( 1)得 x=10?!咀円蛔儭吭诨\中有雞、兔若干,已知有頭 a 個(gè),有腳 b 只,求各有多少只雞和兔?!編熒献鳌坷蠋煄ьI(lǐng)

6、學(xué)生共同書寫規(guī)范的算法的具體步驟,最后引出算法使用的范圍:能解決一類問題,并且能重復(fù)使用?!菊n件展示】算法的基本特征有窮性確定性 不唯一性有效性(邏輯性)1、有窮性:一個(gè)算法應(yīng)該包含有限個(gè)操作步驟,而不能是無限的。2、確定性:算法的每個(gè)步驟都應(yīng)該是明確無誤的,不能含義模糊,使執(zhí)行者無所適從。3、有零個(gè)或者多個(gè)輸入,有一個(gè)或者多個(gè)輸出有效性: 算法中的每一步都應(yīng)該能有效地執(zhí)行, 執(zhí)行算法最后應(yīng)該能得到確定的結(jié)果?!窘虒W(xué)總結(jié)】本節(jié)課通過一些生活中看似簡單問題的解決方法和步驟, 使學(xué)生比較輕松的接受了生活算法的概念,進(jìn)一步理解了計(jì)算機(jī)算法的概念。課堂教學(xué)的效益取決于學(xué)生對(duì)所學(xué)知識(shí)理解了多少, 能否用

7、所學(xué)知識(shí)來解決一些實(shí)際問題。本節(jié)課的設(shè)計(jì)突出講與練的結(jié)合,培養(yǎng)學(xué)生的動(dòng)手能力,并且引出學(xué)生對(duì)下一節(jié)課的內(nèi)容的思考,比較順利的完成了本節(jié)課的教學(xué)任務(wù)。如何優(yōu)化算法, 找到算法的形式和用算法解決問題的效益的最佳結(jié)合點(diǎn), 還尚需探討。第二課 用計(jì)算機(jī)解決問題一、教學(xué)目標(biāo)( 1)讓學(xué)生了解算法、窮舉法、 程序設(shè)計(jì)語言、 編寫程序和調(diào)試程序等概念。讓學(xué)生知道對(duì)現(xiàn)實(shí)問題的自然語言的描述,特別是類似程序設(shè)計(jì)語言的自然語言描述。讓學(xué)生理解分析問題、設(shè)計(jì)算法、編寫程序、調(diào)試程序這一用計(jì)算機(jī)解決問題的基本步驟,認(rèn)識(shí)其在算法與程序設(shè)計(jì)中的作用。二、重點(diǎn)難點(diǎn)重點(diǎn)用計(jì)算解決問題的過程中的分析問題、 設(shè)計(jì)算法、 和上機(jī)調(diào)

8、試程序等步驟。 用計(jì)算機(jī)解決問題的過程中的分析問題、 設(shè)計(jì)算法也是本節(jié)的難點(diǎn)。三、教學(xué)過程( 2 課時(shí))(一)引入教師:“在科技發(fā)達(dá)的今天,我們到處都可以看到計(jì)算機(jī)的蹤影, 感受到計(jì)算機(jī)給學(xué)習(xí)、生活帶來的方便。然而,在驚嘆計(jì)算機(jī)的神奇和享受的歡樂 的時(shí)候,你是否了解計(jì)算解決問題的基本過程?有沒有思考過其中的奧妙呢? 下面我們先看一個(gè)古典的問題:”學(xué)生觀看的電視劇漢劉邦片斷,內(nèi)容大致如下:“韓信是我國西漢初著名的軍事家, 劉邦得天下,軍事上全依靠他。韓信點(diǎn) 兵,多多益善,不僅如此,還能經(jīng)常以少勝多,以弱勝強(qiáng)。在與楚軍決戰(zhàn)時(shí)韓 信指揮諸侯聯(lián)軍,在垓下十面埋伏,擊敗楚軍,楚霸王項(xiàng)羽因此自殺?!逼瑪嘟Y(jié)

9、束時(shí)屏幕出現(xiàn)“韓信點(diǎn)兵”問題:“相傳漢高祖劉邦問大將軍韓信統(tǒng)御兵士多少,韓信答說,每3人一列余1人、5人一列余2人、7人一列余4人、13人一列余6人。劉邦茫然而不知其數(shù)。你呢? ”(二)問題教師:“下面我們先助劉邦解決一個(gè)簡單的問題。”“韓信點(diǎn)兵”問題1:求整除3余1、整除5余2、整除7余4的最小自然 數(shù)。(三)探究把全班分成16個(gè)學(xué)習(xí)小組,每個(gè)小組的同學(xué)一起探究、討論問題。利用已學(xué)過的數(shù)學(xué)知識(shí)找出題目已知什么求什么、明確已知和未知之間的關(guān)系和寫出求解問題的解題步驟。并填寫計(jì)算機(jī)解決問題的過程教學(xué)活動(dòng)表中的“探究問題記錄表”。如下:探究問題記錄表分析問題(找出已知和未寫出解題步驟知、列出已知和

10、未知之間的關(guān)系)果學(xué)生討論,教師在這過程中到各學(xué)習(xí)小組中,引導(dǎo)個(gè)別學(xué)習(xí)小組分析問題、 寫出解題步驟。教師提問23個(gè)同學(xué),從中逐漸引導(dǎo)出類似如下的分析問題和 解題步驟,并給出算法的概念。分析問題(找出已知和未知、列出已知和未知之間的關(guān)系)寫出解題步驟設(shè)所求的數(shù)為X,則X應(yīng)滿足:X整除3余1X整除5余2X整除7余41、令X為1。2、如果X整除3余1, X整除5余2,X整除7余4,這就 是題目要求的數(shù),則記卜這個(gè)X。3、令X為X+1(為算卜一個(gè)作準(zhǔn)備)。4、如果算出,則結(jié)束;否則跳轉(zhuǎn)2。5、寫出答案。教師解釋第3步“另X為X+1”并指出它與數(shù)學(xué)中的區(qū)別,并從上面的解題 步驟中總結(jié)出窮舉的算法。教師:

11、“剛才有些同學(xué)把題目解出來了,答案是 67,韓信作為大將軍,統(tǒng) 率士兵當(dāng)然不止67人,下面我們來解決一個(gè)數(shù)據(jù)量稍大的問題?!闭故绢}目:“韓信點(diǎn)兵”問題2:求整除3余1、整除5余2、整除7余4、整除13余6、整除17余8的最小自然數(shù)。學(xué)生分析上述問題并寫出算法,不用計(jì)算。學(xué)生有了第1題的經(jīng)驗(yàn),很快會(huì) 寫出和第一題類似的算法。如下:分析問題(找出已知和未知、列出已知和未知之間的關(guān)系)寫出解題步驟設(shè)所求的數(shù)為X,則X應(yīng)滿足: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,則記下這個(gè)X。3、

12、令 X 為 X+1。4、如果算出,則結(jié)束;否則跳轉(zhuǎn)2。5、寫出答案。教師:“上面的結(jié)果超過1萬,人工計(jì)算要很長時(shí)間,在科技發(fā)達(dá)的今天,你想到什么?” (用計(jì)算機(jī)解題)(四)用計(jì)算機(jī)解決問題教師:“計(jì)算機(jī)怎么樣解決問題?用計(jì)算機(jī)解決問題, 同樣要經(jīng)過分析問題、設(shè)計(jì)算法兩步驟?!痹谥v授過程中展示人工解題中分析問題和設(shè)計(jì)算法這兩個(gè) 步驟。用計(jì)算機(jī)解題,是不是輸入上面的算法?上面用自然語言描述的算法,計(jì)算機(jī)不懂,必須翻譯成計(jì)算機(jī)的語言,這就是程序設(shè)計(jì)語言?!北纠?Visual Basic 語言編寫的程序請(qǐng)看如下:Private Sub Command1_Click()Dim X As Integer

13、, Y As IntegerX = 1: Y = 0DoIf X Mod 3 = 1 ThenIf X Mod 5 = 2 ThenIf X Mod 7 = 4 ThenIf X Mod 13 = 6 ThenIf X Mod 17 = 8 Then Y = XEnd IfEnd IfEnd IfEnd IfX = X + 1Loop Until Y 0Print 韓信統(tǒng)御士兵數(shù): ; YEnd Sub教師:“程序編好以后,通過鍵盤輸入計(jì)算機(jī),并運(yùn)行程序查看結(jié)果這個(gè)過程叫調(diào)試程序?!保ㄎ澹┯^摩根據(jù)前面編制的程序,啟動(dòng) Visual Basic 程序設(shè)計(jì)環(huán)境,輸入程序代碼,進(jìn)行調(diào)試,最后得到運(yùn)行

14、的結(jié)果。要求同組內(nèi)先完成的同學(xué)幫助還未完成的同學(xué)。幫助的時(shí)候不能代勞,只能動(dòng)口不動(dòng)手。(六)交流教師:“前面我們學(xué)習(xí)了用計(jì)算機(jī)解決問題的過程,它和人工解有什么關(guān)系呢?同一學(xué)習(xí)小組的同學(xué)一起探討人工求解問題和用計(jì)算機(jī)求解問題的異同, 并把討論結(jié)果記錄在計(jì)算機(jī)解決問題的過程教學(xué)活動(dòng)表的“討論記錄”表 中。如下:關(guān)于求解問題的方式討論記錄求解問題的方式相同點(diǎn)不同點(diǎn)人工求解問題用計(jì)算機(jī)求解問題教師提問23個(gè)小組的討論結(jié)果,并引導(dǎo)出大致如下的形式結(jié)果:求解問題的方式相同點(diǎn)不同點(diǎn)人工求解問題分析問題、設(shè)計(jì)算法、得出結(jié)果、驗(yàn)算結(jié)果等對(duì)題目進(jìn)行解答、運(yùn) 算速度慢、不需要計(jì) 算機(jī)等用計(jì)算機(jī)求解問題編寫程序、調(diào)試

15、程序、運(yùn)算速度快等第三課 算法與算法的描述一、教學(xué)目標(biāo)1、知識(shí)與技能( 1)了解算法的定義及其表達(dá)方法;( 2)認(rèn)知流程圖的六種基本符號(hào);( 3)理解計(jì)算機(jī)解決問題的一般過程。2、方法與過程( 1)理解用不同的表達(dá)方法描述算法的優(yōu)缺點(diǎn);( 2)掌握用流程圖描述簡單的算法。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、用流程圖描述簡單的算法(二)教學(xué)難點(diǎn)5、算法的描述(三種);6、用流程圖描述算法。三、教學(xué)過程(2課時(shí))教學(xué)內(nèi)容預(yù)期目標(biāo)新課內(nèi)容:一、對(duì)算法的初

16、步了解一個(gè)簡單的物理問題:求物體在恒力作用下的加速度。根據(jù)在物理課中學(xué)過的知識(shí),要解決這個(gè)問題有多種方法:方:測(cè)量出物體的質(zhì)量 m拉力F和滑動(dòng)摩擦力f將測(cè)量所得的數(shù)據(jù)輸入計(jì)算機(jī)根據(jù)牛頓第二定律F-f=m*a ,計(jì)算出加速度a輸出所得的結(jié)果方法二:引入物理學(xué)中的例子,激發(fā)學(xué)生的學(xué)習(xí) 興趣,有助于學(xué)生理 解算法的概念測(cè)量出物體從靜止開始移動(dòng)的距離 s、時(shí)間t將測(cè)量所得的數(shù)據(jù)輸入計(jì)算機(jī)利用公式:s=a*t*t/2 計(jì)算出加速度a輸出所得的結(jié)果算法的定義這種為解決某一問題而設(shè)計(jì)的確定的有限的步驟稱為算法。二、算法的描述要把解決問題的步驟表達(dá)出來,有多種方法可以表達(dá)算法。.用自然語言表達(dá)用自然語言表達(dá)算

17、法,就是把算法的各個(gè)步驟,依次用人們熟悉的自然語言表示出來。優(yōu)點(diǎn):容易理解缺點(diǎn):書寫較煩、不確定性、對(duì)復(fù)雜的問題難以表達(dá)準(zhǔn)確、不能被計(jì)算機(jī)識(shí)別和執(zhí)行.用圖形符號(hào)表達(dá)引導(dǎo)出算法的概念介紹三種算法的表 達(dá)方式,并對(duì)它們進(jìn) 行比較,分析優(yōu)缺 點(diǎn)。給出流程圖的 基本符號(hào),對(duì)其功能 和使用情況加以說 明,以便今后在具體 運(yùn)用中的正確使用。用圖形符號(hào)表達(dá)算法必須要有一組規(guī)定統(tǒng)一、含 義確定的專用符號(hào)。常用的“流程圖”所用的基本符號(hào)圖形符號(hào)符號(hào)名稱說明流線1=起始、終止框表不算法的開始或結(jié)束起始框:一流出線終止框:一流入線口輸入、輸出框框中標(biāo)明輸入、輸出的內(nèi)容只有一流入線和一流出線給出流程圖的作法,通過詳細(xì)

18、的解釋說明使學(xué)生初步掌握11處理框框中標(biāo)明進(jìn)行什么處理只有一流入線和一流出線流程圖的使用和基本畫法。O0判定框框中標(biāo)明 判定條件 并在框外 標(biāo)明判定 后的兩種 結(jié)果的流 向一流入線兩流出線(T和F)但同時(shí)只能一流出線起作用流線表不從某 一框到另 一框的流 向連接圈表不算法流向出口一條流線或入口連接點(diǎn)優(yōu)點(diǎn):直觀、形象 缺點(diǎn):不能被計(jì)算機(jī)識(shí)別和執(zhí)行例6-1-1 : “物體在恒力作用下的加速度”的算法用下圖表達(dá)F2=f了解計(jì)算機(jī)解決問題的一般過程,為今后用編程解決實(shí)際問題打下基礎(chǔ)。a= (F1-F2)丁/輸出a結(jié)束.用程序?qū)崿F(xiàn)算法用計(jì)算機(jī)能理解和執(zhí)行的程序設(shè)計(jì)語言把算法 表示出來,然后把程序輸入到計(jì)

19、算機(jī)并執(zhí)行,計(jì) 算機(jī)才能按照預(yù)定的算法去解決問題。 不同類型的計(jì)算機(jī)能夠識(shí)別的指令和語言不盡相同,即使對(duì)同一種計(jì)算機(jī)語言,不同類型的計(jì) 算機(jī)對(duì)該語言的解釋程序也有差異。因此,用程序表示算法時(shí),必須按照程序設(shè)計(jì)語言適用某類計(jì)算機(jī)的具體規(guī)定來進(jìn)行。例:用Pascal語言表示“從鍵盤輸入一組數(shù)據(jù)并求該組數(shù)據(jù)的平均值”的程序如下:Program ex_averVar I:integer;x,av:real;BeginAv:=0;I:=0;Do while not eof()BeginReadln(x); av:=av+x;I:=I+1;Endav:=av/I;Writenln( The average

20、 value is : ,av);End三、用計(jì)算機(jī)解決問題的一般過程使用計(jì)算機(jī)解決一個(gè)問題,一般包括四個(gè)過程.需求分析“需求分析”是指對(duì)要解決的問題進(jìn)行詳細(xì)的分析,弄清楚問題的要求,包括需要輸入什么數(shù)據(jù), 要得到什么結(jié)果,最后應(yīng)輸出什么?!靶枨蠓治觥本褪谴_定要計(jì)算機(jī)“做什么”。.設(shè)計(jì)算法弄清楚要計(jì)算機(jī)“做什么”后,就要設(shè)計(jì)計(jì)算法, 明確要計(jì)算機(jī)“怎么做”解決一個(gè)問題,可能有多種算法。例如,數(shù)學(xué)題 常常有“一題多解”。這就是說,解決一個(gè)問題 的算法可能不止一種。這是,應(yīng)該通過分析、比 較、挑選一種最優(yōu)的算法。.編寫程序計(jì)算機(jī)只能接受并執(zhí)行計(jì)算機(jī)程序設(shè)計(jì)語言編 寫的程序。當(dāng)我們?yōu)榻鉀Q一個(gè)問題確定

21、了算法 后,還必須將該算法用計(jì)算機(jī)程序設(shè)計(jì)語言編寫 程序。這個(gè)過程成為“編碼”或“編程”。.上機(jī)調(diào)試與維護(hù)編寫完成的程序,不一定完全符合實(shí)際問題的要 求,還必須在計(jì)算機(jī)上運(yùn)行這個(gè)程序,排除程序 中可能出現(xiàn)的錯(cuò)誤,才能得到結(jié)果。這個(gè)過程稱 為“上機(jī)調(diào)試”。即使是經(jīng)過調(diào)試的程序,在使用一段時(shí)間后,仍 然會(huì)被發(fā)現(xiàn)錯(cuò)誤或不足之處。這就需要對(duì)程序做 進(jìn)一步的修改,使之更加完善。這個(gè)過程稱為“維護(hù)”。在實(shí)際解決問題時(shí),上述四個(gè)步驟可能會(huì)根據(jù)不同的問題有所側(cè)重。第四課 程序與程序設(shè)計(jì)語言一、教學(xué)目標(biāo)1、知識(shí)與技能使學(xué)生知道什么是源代碼,并理解算法、程序設(shè)計(jì)、程序設(shè)計(jì)語言之間的關(guān)系, 了解程序設(shè)計(jì)語言的發(fā)展及

22、種類。2、過程與方法使學(xué)生初步體驗(yàn)編程樂趣,了解如何編輯程序、編譯程序和連接程序。3、情感態(tài)度與價(jià)值觀讓學(xué)生進(jìn)一步領(lǐng)會(huì)算法和程序設(shè)計(jì)在解決問題中的地位,體會(huì)編寫出程序的魅 力,從而培養(yǎng)學(xué)生學(xué)習(xí)編程的興趣。二、重點(diǎn)難點(diǎn)(1)重點(diǎn):了解代碼所包含的算法思想;(2)難點(diǎn):計(jì)算機(jī)是如何編輯程序、編譯程序和連接程序的。三、教學(xué)過程(2課時(shí))正課講解(一)嘗試用VB編寫程序么是VRVB是一種基本BASIC語言的可視化程序開發(fā)工具。編寫程序從桌面上啟動(dòng)VB,彈出“新建工程”對(duì)話框,從“新建”頁面中選“標(biāo)準(zhǔn)EXE,然后“打開”按鈕,建立標(biāo)準(zhǔn) EXE1程。注:為了避免打開時(shí)總是出現(xiàn)“新建工程”對(duì)話框,在首次啟動(dòng)

23、時(shí),勾選“不再顯示這個(gè)對(duì)話框”。單擊工具箱“ CommandButton的按鈕,在 Forml窗體中拖出一個(gè)“Command1 按鈕。Command是命令按鈕,它有6個(gè)屬性、2個(gè)事件和4個(gè)方法。屬性Caption標(biāo)題Default決定窗體的默認(rèn)命令按鈕Enabled,定對(duì)象是否響應(yīng)用 戶生成事件Style控件的外觀Visible決定對(duì)象是否口見Picture顯示的圖形事件方法Click單擊Drag拖動(dòng)Refresh刷新KeyPress字符鍵被單擊Move移動(dòng)SetFocus設(shè)置焦點(diǎn),將當(dāng)前焦點(diǎn)強(qiáng)制設(shè)置到文本框?qū)ο笊线x中此按鈕,從屬性窗口中將 Caption改為“韓信點(diǎn)兵”。給按鈕添加代碼,在

24、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,不滿足繼續(xù)循環(huán)Print NExit doEnd ifN=N+1Loop從“運(yùn)行”菜單中“單擊”啟動(dòng)命令,運(yùn)行程序。運(yùn)行后,單擊“韓信 點(diǎn)兵”按鈕注:運(yùn)行時(shí),不能修改程序代碼。實(shí)踐題:從“調(diào)試”菜單中點(diǎn)擊“逐語句”命令(F8),然后按F8鍵試著單步運(yùn)行程序,觀察代碼是如何運(yùn)行的,程序執(zhí)行注釋部分嗎?在程序運(yùn)行的過程中,用鼠標(biāo)指向變量N

25、,看看它的值有什么變化,為什么會(huì)這樣變?(二)算法、程序設(shè)計(jì)與程序設(shè)計(jì)語言之間的關(guān)系算法提出問題:什么是算法?算法有哪些特征?程序設(shè)計(jì)一一尋求解決問題的方法,并將其實(shí)現(xiàn)步驟寫成計(jì)算機(jī)可執(zhí)行的程序的過程。程序設(shè)計(jì)語言一一泛指一切用于書寫計(jì)算機(jī)程序的語言。算法是程序設(shè)計(jì)的前提,它包含方法和步驟;程序是實(shí)現(xiàn)算法中的思想的過程;程序設(shè)計(jì)語言把算法轉(zhuǎn)化為計(jì)算機(jī)認(rèn)識(shí)的語言。(三)認(rèn)識(shí)程序設(shè)計(jì)語言發(fā)展過程機(jī)器語言:由一串“ 0”和“1”構(gòu)成二進(jìn)制代碼。匯編語言:是一種符號(hào)化(英文助記符)的機(jī)器語言。高級(jí)語言:如 Basic、C/C+、Fortran、Pascal、Cobol、Java 等。2、分類(按轉(zhuǎn)換方

26、式不同分類)編譯型語言解釋型語言編寫的源程序需要用編譯程序先翻譯成機(jī)器語言的目標(biāo)程序,然后再由連接源程序輸入計(jì)算機(jī)后,運(yùn)行源程序,相應(yīng)的解釋程序會(huì)逐條分析源程序中的裝配程序進(jìn)行連接裝配,生成可執(zhí)行程 序,這樣才能被計(jì)算機(jī)執(zhí)行。語句,每解釋 句由計(jì)算機(jī)執(zhí)彳口一句。C/C+、VB、Pascal、CobolQbasic、Lisp3、編輯程序、編譯程序和連接程序編輯程序包含內(nèi)容:一是將源程序逐個(gè)字符輸入到計(jì)算機(jī)內(nèi)存, 二是修改源程序, 三將修改好的源程序保存在磁盤文件中。編譯程序:將已編輯好的源程序(已存儲(chǔ)在磁盤文件中)翻譯成二進(jìn)制的目 標(biāo)代碼。二進(jìn)制代碼在UNIX下后綴為“.o ”的文件,在DOST

27、是后綴為.obj 文件。連接:將各模塊的二進(jìn)制目標(biāo)代碼與系統(tǒng)標(biāo)準(zhǔn)模塊經(jīng)連接處理后,得到具有有絕對(duì)地址的可執(zhí)行文件,它是計(jì)算機(jī)直接執(zhí)行的文件。在UNIX下它以“.out ”為后綴,在 MS-DOSZ下”.exe”為后綴執(zhí)行過程:第五課 vb 語言及程序開發(fā)環(huán)境一、教學(xué)目標(biāo)1、知識(shí)與技能掌握VB定義的常用的基本數(shù)據(jù)類型,常量與變量的定義方法,運(yùn)算符、函數(shù)和表達(dá)式的描述。熟悉 VB程序設(shè)計(jì)語言的開發(fā)環(huán)境,能調(diào)試簡單的 VB 程序。2、方法與過程本節(jié)涉及到基礎(chǔ)知識(shí)較多,所以要一個(gè)一個(gè)問題解決,從一個(gè)簡單的求圓的面積的程序入手,從中分析VB程序一般包括的四部分,基本數(shù)據(jù)類型、常量與變量, 運(yùn)算符、 函數(shù)

28、和表達(dá)式, 而且結(jié)合練習(xí)來加強(qiáng)對(duì)這些新知識(shí)的鞏固。通過介紹VB程序的開發(fā)環(huán)境中的菜單、常用工具和常用窗口等,再通過上機(jī)操作運(yùn)行一個(gè)程序,讓學(xué)生更容易上手。3、情感態(tài)度和價(jià)值觀這一節(jié)是學(xué)習(xí)VB程序的重要的入門課,授課時(shí)要注意結(jié)合學(xué)生的思路,逐個(gè)問題解決,不可一蹴而就。二、重點(diǎn)難點(diǎn)1、教學(xué)重點(diǎn)VB 常用的的基本數(shù)據(jù)類型,常量與變量,運(yùn)算符和表達(dá)式VB 程序的開發(fā)環(huán)境2、教學(xué)難點(diǎn)把本節(jié)的內(nèi)容加以運(yùn)用三、教學(xué)過程( 3 課時(shí)) 導(dǎo)入:以下是一個(gè)“求半徑為 r 的圓的面積”的程序,請(qǐng)你注意觀察程序的組成結(jié)構(gòu)及其功能,并思考如下的問題:( 1)程序有多少行,每一行的作用是什么?( 2)如果按語句的作用區(qū)分

29、,這個(gè)程序包含幾個(gè)部分?Private sub command1_click() 定義名為 command1_click() 的事件過程Const pi as single=說明程序中pi是常量口Dim r as single,s as single 定義半徑r 和面積 s為單精度實(shí)型r=inputbox( “r= ” , ”請(qǐng)輸入半徑”) 輸入 r 的值s=pi*r*r 把表達(dá)式pi*r*r 的值賦給 sprint “圓的面積s=” ;s 把 s 的值輸出到當(dāng)前的窗體上End sub 過程結(jié)束考察上述程序,我們?nèi)菀卓吹剑撼绦蚬灿写a7行,每一行都是VB的一個(gè)語句,VB的程序就是由這樣的一組語

30、句組成。每一個(gè)語句都是按照一定的規(guī)則書寫的??偨Y(jié)上述分析,我們可以得到VB程序的一般包括如下部分:數(shù)據(jù)類型說明部分?jǐn)?shù)據(jù)的輸入部分?jǐn)?shù)據(jù)的處理部分?jǐn)?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ù)(如等) ,也有字符類型的數(shù)據(jù),如“輸入半徑” 、 “圓的面積S=” 。二、常量與變量1 )常量常量是指在程序

31、運(yùn)行過程中始終保持不變的常量、字符串等。例如在上述的程序中, 、 “r= ”、 “輸入半徑”等都是常量。在程序設(shè)計(jì)中, 以于一些經(jīng)常使用的常量, 可以用常量說明語句來定義。這樣可以提高程序的可讀性和可維護(hù)性。常量說明語句的格式是:Const 常量名 As 類型 = 表達(dá)式在上述程序中, 第 2 行就是一個(gè)常量說明語句, 說明程序中需要使用的常量。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中,變量名必須是由英文字母開頭,后面則可以由字母、數(shù)字或其它符號(hào)組成;變量的名稱最好與它所表示的

32、內(nèi)容意義相同的英文單詞來確定。(3)變量說明使用變量前,一般應(yīng)先說明變量名及其類型,以使系統(tǒng)為其分配存儲(chǔ)單元,變量說明語句格式如下:Dim 變量 As 類型如Dim r as single ,定義半徑r為單精度實(shí)型三、運(yùn)算符、函數(shù)和表達(dá)式(1)運(yùn)算符運(yùn)算符是對(duì)數(shù)據(jù)進(jìn)行加工的過程。描述各種不同運(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)算符號(hào)+-*/八MOD含義加號(hào)減號(hào)乘號(hào)除號(hào)乘方整除取余數(shù)算術(shù)運(yùn)算符的運(yùn)算規(guī)則和數(shù)學(xué)中相同,如果意義不明確時(shí),可以加上 括號(hào)使其看起來更明白。VB中只使用一種括號(hào)“()”,它可以多次

33、嵌套。字符串運(yùn)算符有:&VB中的字符串運(yùn)算符是“ &”,該運(yùn)算符主要用于連接兩個(gè)或更多的字 符串,例如:abcd &efgu ”連接后結(jié)果為abcdefg。(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ù)以合理的形式連接起來的式子。例如在上述的程序中,式

34、子 pi*r*r 是合法的表達(dá)式。四、練習(xí)( 1 )下列數(shù)據(jù)屬于字符串常量的是( )A bcdaB. kfjf C. fksj D. ” j_hjh ”(2)在VB語言中,下列數(shù)據(jù)中合法的長整型常量是()A. 09B(3)在VB語言中,下列變量中合法的變量是()A b90=9D.8888F1(4)在VB語言中,下列表達(dá)式中合法的表達(dá)式是()A. a+b*|c|+9* n D. pi*r*r五、可視化程序的開發(fā)環(huán)境前面的學(xué)習(xí)使我們知道,要較快地學(xué)會(huì)運(yùn)行調(diào)試 VB程序,首先需要熟悉 VB 程序設(shè)計(jì)語言的開發(fā)環(huán)境。 VB 程序設(shè)計(jì)語言的開發(fā)環(huán)境的界面如下 圖:VB程序設(shè)計(jì)語言的開發(fā)環(huán)境中,控件工具箱

35、、代碼窗口、窗體設(shè)計(jì)器 窗口、工程資源管理器窗口、屬性窗口是一些常用的程序設(shè)計(jì)與調(diào)試工具, 這些工具互相協(xié)調(diào)、互相補(bǔ)充,如果熟練、合理地使用會(huì)大大地減少應(yīng)用 程序的開發(fā)難度,提高工作效率。四、課外拓展在了解、熟悉了 VB程序設(shè)計(jì)語言的開發(fā)環(huán)境以后,你肯定躍躍欲試,一顯 身手。好吧,就讓我們一起來體驗(yàn) VB程序的運(yùn)行調(diào)試吧!求s=1 X2X 3X-X n問題的VB程序:private sub form_load()n=inputbox( “請(qǐng)輸入n的值:”,“輸入”)s=1for i=1 to ns=s*Inext Imsgbox “s= +str(s),0,” 計(jì)算結(jié)果”end sub當(dāng)N=2

36、2時(shí),運(yùn)行的結(jié)果是:第六課程序的順序結(jié)構(gòu)一、教學(xué)目標(biāo)1、知識(shí)與技能理解程序順序結(jié)構(gòu)的執(zhí)行流程,掌握賦值語句和輸入輸出語句,能夠編寫簡單的順序結(jié)構(gòu)的程序,以解決生活中的一些計(jì)算問題。2、方法與過程本節(jié)從簡單的問題入手,如求圓的面積,讓學(xué)生初步掌握賦值語句和輸入輸出語句的使用方法及其功能。進(jìn)而轉(zhuǎn)入較為復(fù)雜的問題,如編寫程序使從鍵盤上輸入一個(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é)生

37、對(duì)程序設(shè)計(jì)的追求和向往。二、重點(diǎn)難點(diǎn)1、教學(xué)重點(diǎn)賦值語句和輸入輸出語句的使用程序順序結(jié)構(gòu)的執(zhí)行流程能編寫程序解決簡單的應(yīng)用題2、教學(xué)難點(diǎn)根據(jù)題目寫出正確的程序三、教學(xué)過程( 2 課時(shí))導(dǎo)入: 演示求圓的面積這道題的程序,讓學(xué)生明白通過程序可以解決數(shù)學(xué)中的問題,也給學(xué)生展示完整的程序代碼,這道程序的功能就是靠這些代碼來控制的,引起學(xué)生的注意,激發(fā)他們的求知欲。一、演示上述的程序,并把程序代碼中的各行代碼的作用解釋一遍,順便把程序的執(zhí)行流程說明一下,編寫的程序與設(shè)計(jì)的算法是一致的。Private sub command1_click() 定義名為 command1_click()的事件過程Cons

38、t pi as single=說明程序中pi是常量口Dim r as single,s as single 定義半徑r 和面積 s為單精度實(shí)型r=inputbox(“r= ” , ”請(qǐng)輸入半徑”) 輸入 r 的值s=pi*r*r 把表達(dá)式pi*r*r 的值賦給 sprint “圓的面積s=” ;s 把 s 的值輸出到當(dāng)前的窗體上End sub 過程結(jié)束二、賦值語句在上述的程序中, r=inputbox( “r=” , ”請(qǐng)輸入半徑” ) , s=pi*r*r 的含義分別是將賦值號(hào)右邊的函數(shù)inputbox( “r=” , ”請(qǐng)輸入半徑” )的值賦給變量r, 將賦值號(hào)右邊的表達(dá)式 pi*r*r

39、的值賦給變量s 。它們的作用都是將表達(dá)式的值賦給左邊的變量,這種語句稱為賦值語句。賦值語句的基本格式是:變量 =表達(dá)式這里的“=”是賦值符號(hào),它的含義是將表達(dá)式的值賦給左邊的變量。觀察下列賦值語句的作用:A=B,它是將變量B的值賦給變量A,彳SB的值并未改變。A=123 表示將數(shù)值123賦給變量A。A=A+10表示將變量A的值加10后,再賦給變量 A如果原來 A 的值為30,則執(zhí)行此語句后,A 的值為40。如果A=3Q B=4Q則依次執(zhí)行語句T=A A=B B=T后,A、B 兩個(gè)變量的值發(fā)生交換A=40, B=30。三、輸入數(shù)據(jù)的函數(shù)Inputbox() 是提供從鍵盤輸入數(shù)據(jù)的函數(shù), 利用它可

40、產(chǎn)生一個(gè)對(duì)話框,提示用戶輸入數(shù)據(jù)并單擊命令按鈕。該函數(shù)返回值是字符類型。利用這個(gè)函數(shù), 上述程序中的 r=inputbox( “r=” , ”請(qǐng)輸入半徑” ) , 所以在程序運(yùn)行時(shí),從鍵盤上輸入數(shù)據(jù)賦值給變量r 。Inputbox() 的語法格式為: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)引起來的字符串。例如:執(zhí)行下面的程序運(yùn)行情況:Private Sub Command1_C

41、lick()A = InputBox(A=, 輸入 , 12, 100, 20)End Sub運(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ì)算出來的圓的面積s 的值輸出到窗體上。Print 方法輸出數(shù)據(jù)的基本格式是:Print 輸出內(nèi)容在這里,輸出內(nèi)容可以是數(shù)、變量、表達(dá)式,也可以是用引號(hào)括起來的字符串。說明:( 1)如果輸出的內(nèi)

42、容是數(shù)、變量、表達(dá)式,則輸出的是數(shù)、變量、表達(dá)式的值。如果是引號(hào)引起來的字符串,則原樣輸出。例如:語句 Print 3 的結(jié)果為 3語句 Print 2+2 的結(jié)果為 4語句 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=3Print“A=”; A, “B=”; B輸出結(jié)果為: A=5B=3A=5 , B=3Print“A=”; A; “B=”; B輸出結(jié)果為: A=5B=3( 3)如果輸出內(nèi)容后面沒有符號(hào),則表示下

43、一個(gè)Print 換行輸出;如果 Print 中沒有輸出內(nèi)容,則表達(dá)輸出一個(gè)空行。例如:A=5, B=3Print“A=” ; APrint“ B=” ; B五、練習(xí)問題 1 :已知長方體的長、寬、高,編寫一個(gè)程序,求長方體的全面積和體積。( 1)分析問題設(shè)長方體的長、寬、高分別為 A、R C,由于長方體的六個(gè)面的面積兩兩對(duì)應(yī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)編寫程序Private sub command1_clic

44、k()Dim A as single,B as single,C as single,S as single,V as singleA=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)調(diào)式程序六、小結(jié)在以上的程序中,執(zhí)行時(shí)按語句出現(xiàn)的順序執(zhí)。即當(dāng)執(zhí)行第一條語句后,必然從第二條語句繼續(xù),順序執(zhí)行所有的語句,直到執(zhí)行完最后一條語句為止。像這樣的控制結(jié)構(gòu)稱為程序的順序結(jié)構(gòu)。順序結(jié)構(gòu)的最大特點(diǎn)是在這個(gè)

45、結(jié)構(gòu)內(nèi)按由上到下的的書寫順序執(zhí)行,它只有一個(gè)入口和一個(gè)出口。這是一種最簡單、最基本的結(jié)構(gòu)。如圖五、課外拓展試編寫程序從鍵盤上輸入一個(gè)三位數(shù), 然后將它反方向輸出。 例如輸入 456,輸出應(yīng)為 654。第七課 程序的選擇結(jié)構(gòu)一、教學(xué)目標(biāo)1、知識(shí)與技能理解程序選擇結(jié)構(gòu)中的條件選擇語句的執(zhí)行流程,掌握條件選擇語句和多種選擇語句的使用方法,能夠編寫簡單的選擇結(jié)構(gòu)的程序,以解決生活中的一些計(jì)算問題。2、方法與過程本節(jié)從簡單的問題入手,通過一道求一個(gè)數(shù)的絕對(duì)值的題目,讓學(xué)生明白條件選取擇語句的執(zhí)行流程及使用方法。進(jìn)而再做類似的練習(xí),加強(qiáng)學(xué)生的理解,課程安排形成循序漸進(jìn)的梯度,充分挖掘?qū)W生潛力。3、情感態(tài)度

46、和價(jià)值觀程序設(shè)計(jì)選取的題目都是生活中遇到的例子, 加強(qiáng)學(xué)生利用本學(xué)科解決日學(xué)生活中的問題的意識(shí)。二、重點(diǎn)難點(diǎn)1、教學(xué)重點(diǎn)( 1)條件選擇語句和多重選擇語句的使用( 2)程序條件選擇結(jié)構(gòu)的執(zhí)行流程( 3)會(huì)使用條件語句和多重選擇語句編寫程序解決簡單的應(yīng)用題2、教學(xué)難點(diǎn):根據(jù)題目寫出正確的程序三、教學(xué)過程( 2 課時(shí))導(dǎo)入:演示求一個(gè)數(shù)的絕對(duì)值這道題的程序,讓學(xué)生明白通過程序可以解決數(shù)學(xué)中的問題,也給學(xué)生展示完整的程序代碼,這道程序的功能就是靠這些代碼來控制的,引起學(xué)生的注意,激發(fā)他們的求知欲。一、演示上述的程序,并把程序代碼中的各行代碼的作用解釋一遍,順便把程序的執(zhí)行流程說明一下,編寫的程序與設(shè)

47、計(jì)的算法是一致的。程序 2-3Private sub command1_click() 定義名為 command1_click()的事件過程Dim A as single 定義求絕對(duì)值的數(shù) A 為單精度實(shí)型A=inputbox( “r=,”請(qǐng)輸入半徑)輸入A的值If A=0 then 如果 A=0Print“Y=” ;A 輸出A 的值ElsePrint“Y=” ; A 輸出 A 的值End subEnd if過程結(jié)束二、條件語句在解決問題的過程中,常常需要對(duì)事物進(jìn)行判斷和選擇,如上題中,求一個(gè)數(shù)A的絕對(duì)值,如果A=0,則這個(gè)數(shù)的絕對(duì)值為 A,否則為A。在程序設(shè)計(jì)中,如何實(shí)現(xiàn)判斷和選擇呢?在上述

48、代碼中, 有一個(gè)用 if 開頭的語句, 這就是條件語句。(一)條件語句的基本格式是:if 條件 then 語句組 1 else 語句組 2或if條件 then語句組1else語句組2end if其中,條件是一個(gè)邏輯表達(dá)式,語句組是一組 VB的語句。(二)條件執(zhí)行語句的執(zhí)行過程條件語句的執(zhí)行過程是:當(dāng)條件成立時(shí),執(zhí)行then 后面的語句組1,否則執(zhí)行語句組2 ,條件語句的執(zhí)行流程圖如下圖所示。在條件語句的基本格式中有時(shí)可以省略 else 和語句組 2, 這時(shí)條件語句的執(zhí)行過程是當(dāng)條件成立時(shí),執(zhí)行then 后面的語句組1,否則退出條件語句,執(zhí)行下面的語句。(三)關(guān)系表達(dá)式在 程序 2-3 中, 程

49、序的第三行是一個(gè)條件語句, 其中的條件A=0表達(dá)式,一般稱為關(guān)系表達(dá)式,關(guān)系表達(dá)式是用關(guān)系運(yùn)算符連接起來 的式子。關(guān)系運(yùn)算符號(hào)有:運(yùn)算符號(hào)= = =含義等于大于大于等于小于小于等于不等于當(dāng)關(guān)系表式成立時(shí)其值為真(Ture),當(dāng)表達(dá)式不成立時(shí)其值則為假 (False);關(guān)系表達(dá)式的值既不是數(shù)值型量,也不是字符型量,而是一種新的數(shù)量類型一一邏輯型。邏輯型只有兩個(gè)可能的值:假( False)和真 (Ture)。關(guān)系表達(dá)式的值定義如下:(1)對(duì)數(shù)值型的數(shù)據(jù)比較,是按照數(shù)值的大小來進(jìn)行比較。如 136 的值為真。(2)對(duì)其它類型數(shù)據(jù)的比較,則按照其序號(hào)進(jìn)行比較。如D) B其值為假。2X(四)邏輯表達(dá)式在

50、實(shí)際問題中,對(duì)于一些復(fù)雜的條件,還需要幾個(gè)關(guān)系表達(dá)式組合起來才能表示。例如,條件 2X9就需要用2X和Xc+d and a=5 or not c0 or d=2, 則 y=*x*, 否則 y=*x( 2)設(shè)計(jì)算法輸入x 的值如果x=2, 則 y=*x*否則y=*x輸出y 的值( 3)編寫程序Private sub command1_click()End subDim x as single x=Inputbox( “請(qǐng)輸入購買蘋果的重量” if x=2 theny=*x*elsey=*xend ifPrint “應(yīng)付款” ; y; “元”( 4 )調(diào)式程序五、多重選擇語句問題 2 :輸入一個(gè)成

51、績,如果90 分以上,則輸出“優(yōu)秀” ; 80-89 ,則輸出“良好” ; 70-79 ,則輸出“中等” ; 60-69 ,則輸出“及格” ; 60分以下則輸出“不及格” ,請(qǐng)編寫程序。如果這道題使用 if 語句來編寫程序的話,程序如下:程序 2-4Private sub command_click()X=inputbox( “請(qǐng)輸入一個(gè)分?jǐn)?shù)”)If X=90 then print ”優(yōu)秀”If X =80 and X=70 and X=60 and X69 then print”及格”If X =90Print ”優(yōu)秀”Case 80 to 89Print ”良好”Case 70 to 79

52、Print ”中等”Case 60 to 69Print ”及格”Case elsePrint ”不及格”End select(三)練習(xí)問題3:我們把字符作如下的分類:大寫字母: A-Z;小寫字母:a - z;數(shù)字:。-9;其它字符。編寫程序,根據(jù)上述分類的方法,輸入一個(gè)字符,報(bào)告該字符所屬的類型。六、小結(jié)與順序結(jié)構(gòu)相比較,選擇結(jié)構(gòu)就是程序的執(zhí)行不再完全按照語句的順序執(zhí)行,而是根據(jù)某種條件是否成立來決定程序執(zhí)行的走向,它進(jìn)一步體現(xiàn)了計(jì)算機(jī)的智能特點(diǎn)。在VB語言中,選擇結(jié)構(gòu)通過if語句和select case 語句這兩個(gè)條件語句來實(shí)現(xiàn),運(yùn)用條件語句的關(guān)鍵是條件的表示,如果能夠正確地表達(dá)條件,就可

53、以簡化程序,在多重選擇的情況下,使用 select case 語句,可以使程序更直觀,更準(zhǔn)確地描述出分支的走向。四、課外拓展問題4:編一個(gè)程序,輸入三個(gè)數(shù),輸出其中的最大數(shù)。問題5:自已上網(wǎng)查資料,搜集有關(guān)氣象風(fēng)級(jí)表的資料,比如說0 級(jí)是屬于無風(fēng), 12 級(jí)是屬于颶風(fēng)等,試編寫程序,輸入一個(gè)風(fēng)級(jí),輸出相應(yīng)的概況,名稱,速度等。第八課 程序的循環(huán)結(jié)構(gòu)一、教學(xué)目標(biāo)1、知識(shí)與技能掌握循環(huán)結(jié)構(gòu)編程的一般步驟及特點(diǎn)。(1)掌握VB語言的FOR環(huán)語句、語句的格式、功能和執(zhí)行過程;(2)掌握VB語言的循環(huán)嵌套的規(guī)則。培養(yǎng)和提升學(xué)生:(1)學(xué)會(huì)使用VB語言的FOR1環(huán)語句來實(shí)現(xiàn)循環(huán)控制結(jié)構(gòu),解決實(shí)際問題;(2

54、初步掌握程序調(diào)試運(yùn)行的方法。2、方法與過程采用“問題解決教學(xué)法”。3、情感態(tài)度和價(jià)值觀(1)經(jīng)歷用計(jì)算機(jī)解決問題的過程,體驗(yàn)成功的快樂。(2)在老師的指導(dǎo)下,與同學(xué)共同探究問題,讓學(xué)生體驗(yàn)自主學(xué)習(xí)、協(xié)助學(xué)習(xí)的樂趣。二、重點(diǎn)難點(diǎn)讓學(xué)生學(xué)會(huì)使用VB語言的FOR1環(huán)語句來實(shí)現(xiàn)循環(huán)控制結(jié)構(gòu),解決實(shí)際問題。三、教學(xué)過程(for循環(huán)結(jié)構(gòu))(2課時(shí))教教師活動(dòng)學(xué)生活動(dòng)學(xué)環(huán)節(jié)從袁隆平的超級(jí)水稻研究的故事入手,又到“輸出100以內(nèi)的所有偶數(shù)的算術(shù)學(xué)生邊閱讀邊傾聽。提問:有同學(xué)試圖用以下方法解決:情平方根”的的問題出發(fā),激發(fā)學(xué)生學(xué)習(xí)的興Private Sub Command_Click()息導(dǎo)入趣和熱情,拉開了本

55、節(jié)教學(xué)的序幕。PrintSqr(2)PrintSqr(4)PrintSqr(6)PrintSqr(100)End Sub由此老師引入今天的循環(huán)問題:即問1.通過組織學(xué)生探究”輸出100以內(nèi)的 所有偶數(shù)的算術(shù)平方根”的問題、設(shè)計(jì)算法、 編寫程序、調(diào)試程序等用計(jì)算機(jī)解決問題的 過程:Private Sub Command_Click()For I=2 To 100 Step 2Print Sqr (I)Next IEnd Sub題中包含有重復(fù)執(zhí)行的處理。.學(xué)生對(duì)問題展開分析問題、設(shè) 計(jì)算法、編寫程序、調(diào)試程序等用計(jì) 算機(jī)解決問題的探究活動(dòng)。.學(xué)生在教師的指導(dǎo)下,閱讀、 分析、歸納,完成實(shí)踐任務(wù)。Next循環(huán)變量3.學(xué)生對(duì)老師所提問題(分別求 甲、乙、丙三位同學(xué)的語文、數(shù)學(xué)、 英語三科的平均分)展開分析問題、課讓學(xué)生感到用VB提供的循環(huán)結(jié)構(gòu)語句,講能很簡便地解決循環(huán)問題解 2.通過師生共同分析“輸出100以內(nèi)的所有偶數(shù)的算術(shù)平方根”問題的程序,歸納總結(jié)VB語言的FOR環(huán)語句的格式、功能、執(zhí)行過程,以及書

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論