算法(人教版)老師版_第1頁
算法(人教版)老師版_第2頁
算法(人教版)老師版_第3頁
算法(人教版)老師版_第4頁
算法(人教版)老師版_第5頁
已閱讀5頁,還剩23頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

第1課時算法的概念【教法建議】1.教學時可先從學生熟知的事例廣義地描述算法——某一工作的方法和步驟,例如廣播操圖解是廣播操的算法,菜譜是做菜的算法,歌譜是一首歌曲的算法,空調說明書是空調使用的算法等.然后再舉例說明本章主要討論的是計算機能實現的算法——一類問題的機械的、統(tǒng)一的求解方法,例如解方程(組)的算法,函數求值的算法,作圖問題的算法等.對算法的三個特性,也宜采用通過實例使學生逐步感受的方式,引導學生自我體驗,不需作過多的闡述與說明。【問題情境】1.發(fā)電子郵件的方法很多,請給出一種操作步驟。解第一步打開電子信箱;第二步點擊“寫郵件”;第三步輸入發(fā)送地址;第四步輸入主題;第五步輸入信件內容;第六步點擊“發(fā)送郵件”。2.求解方程組2x+y=7,①4x+5y=11②請將求解這個方程組的一個操作過程按一定的步驟表示出來。解第一步方程①不動,將方程②中x的系數除以方程①中x的系數,得到乘數m=eq\f(4,2);第二步方程②減去m乘以方程①,消去方程②中的x項,得到2x-y=7,3y=-3;第三步將上面的方程組自下而上回代求解,得到y(tǒng)=-1,x=4。所以原方程組的解為x=4,y=-1.【范例解讀】寫出求533除以7的商和余數的算法過程。解第一步以5除以7進行試商,不夠除;第二步以53除以7進行試商,發(fā)現商為7(即最終結果的首位數),余數為4;第三步以余數4作十位數,3作個位數,即43對7進行試商,得商6余1;第四步得到結果:533除以7的商為76,余數為1。已知lg2=0.3010,lg3=0.4771,寫出求log64的值的一個算法。解第一步將log64用常用對數表示:log64=eq\f(lg4,lg6);第二步將lg4,lg6用lg2,lg3表示:log64=eq\f(2lg2,lg3+lg2);第三步將lg2,lg3分別用0.3010,0.4771代入計算:log64=eq\f(20.3010,0.3010+0.4771)≈0.7737.說明:要通過算法過程的分析,讓學生感受解決問題的思維過程,培養(yǎng)學生有條理地分析問題、解決問題的能力。【歸納點拔】1.算法,就是做某一工作的方法和步驟,也就是一類問題的機械的、統(tǒng)一的求解方法,求算法就是給出完成一件事情的操作程序。2.算法具有下列特點:(1)有限性:一個算法在執(zhí)行有限個步驟后必須結束.(2)確定性:算法的每一個步驟和次序應當是確定的.(3)有效性:算法的每一個步驟都必須是有效的。【測試反饋】1.算法是指………………………(B)A為解決問題而編寫的計算機程序B為解決問題而采取的方法與步驟C為解決問題而需要采用的計算機語言D為解決問題而采用的計算方法寫出解方程3x+5=0的一個算法過程。解第一步將常數項5移到方程右邊,得:3x=-5;第二步在方程兩邊同時除以3,即得原方程的解:x=-eq\f(5,3)。3.將“打電話”的過程描述成一個算法,這個算法可表示為:解第一步拿起話筒;第二步拔號;第三步通話。由此說明算法具有下列特性:算法的每一步驟都是有效的;每個步驟和次序時確定的;有限個步驟后一定能夠結束。作棱長為2的正三棱柱的直觀圖的算法過程可表示為解第一步在邊長為2的正三角形ABC中,取水平邊AB所在直線為X軸,AB邊的垂直平分線為Y軸(使C點落在Y軸正半軸上),建立直角坐標系XOY;第二步畫出對應的X‘軸和Y’軸,使∠X‘O’Y‘=45o;第三步以點O‘為中點,在X‘軸上作長度為2的線段A’B’;在X‘軸的正半軸上);第四步在Y‘軸正半軸上取點C‘,使O’C‘=1;第五步連結A‘C‘、B’C‘,則ΔA’B“C‘即為ΔABC的水平放置的直觀圖;第六步在坐標系X‘O’Y‘中,作O’Z‘軸,使∠X’O‘Z’=90O;第七步分別過A‘、B’、C‘作O’Z‘的平行線,并在同側分別取A’A‘’、B‘B’‘、C’C‘’=2;第八步連結A‘’B‘’、B‘’C‘’、C‘’A‘’,并加以整理(去掉輔助線,將被遮擋的部分改為虛線),就得到棱長為2的正三棱柱的直觀圖。寫出解方程組x+y=3,(1)y+z=5,(2)z+x=4(3)的一個算法。解這個方程組的算法較多,下面是其中一種:第一步將方程(1)、(2)、(3)相加并化簡得x+y+z=6(4);第二步分別將(4)減去(2)、(3)、(1)可得x=1,y=2,z=3.寫出方程組的解x=1,y=2,z=3.6.寫出求357911的值的一個算法。解第一步計算3與5的積,得15;第二步計算15與7的積,得105;第三步計算105與9的積,得945;第四步計算945與11的積,得10395。7.用一個算法將用數學模型解決實際問題的過程表示出來。解第一步將實際問題用數學模型表示;ABAABAEACADAMANA第三步將數學模型的解還原為實際問題的解。8.給出一個算法,確定給定的線段的三等分點.解第一步從已知線段的一個端點A出發(fā),作一射線;第二步在射線上依次截取AC=CD=DE;第三步連結BE;第四步分別過點C,D作BE的平行線,交AB于M,N,則點M,N就是線段AB的三等分點.第2課時程序框圖(順序結構)【教法建議】1.教學時,可先用自然語言敘述算法過程,再將算法過程根據展開的流程進行圖示,進而引入“流程圖”這一算法表示形式。2.算法含有兩大要素:一是操作.如做菜的操作包括:煎、炸、炒、蒸、煮等等;駕駛汽車的操作包括:開電門、換檔、左轉、右轉、開燈、關燈等等.計算機算法的操作主要包括:算術運算、邏輯運算、關系運算、函數運算等等.二是控制結構.它的作用是控制算法各操作的執(zhí)行順序.一個算法通常由順序、選擇、循環(huán)這三種基本結構組成.本節(jié)重點是用流程圖來描述算法的這三種基本結構.3.畫流程圖實際上是將解決問題的算法用流程圖符號表示出來,所以首先要搞清楚需要解決什么問題,采用什么算法可以解決.其次再弄清楚初值、循環(huán)情況、條件、表達式、程序的結構、流向等.4.順序結構學生容易理解,教學時讓學生自己舉一些只包含順序結構算法的實例?!締栴}情境】1.輸入42輸入42減去6結果小于6嗎?是否輸出結果終止上面的“框圖”可以表示一個算法嗎?按照這一程序操作時,輸出的結果是多少?若第一個“輸入框”中輸入的是77,則輸出的結果又是多少?答這個框圖表示的是一個算法,按照這一程序操作時,輸出的結果是0。若第一個輸入框中輸入的是77,則輸出的結果是5?!痉独庾x】例1半徑為r的圓面積計算公式為S=r2。當r=10時,寫出計算圓面積的算法,畫出程序框圖。解算法如下:第一步將10賦給變量r;第二步用公式S=r2計算圓的面積S;第三步輸出圓的面積S。上述算法用程序框圖表示為:rr←10S←r2輸出S例2已知兩個單元分別存放了變量x和y的值,試給出交換這兩個變量值的一個算法,并畫出程序框圖。解為了達到交換的目的,可以設置一個存放中間變量的單元。算法是第一步p←x;第二步x←y;第三步y(tǒng)←p。程序框圖是pp←xx←yy←p【歸納點拔】1.畫程序框圖時應注意的問題(1)先建立解決問題的算法,并將其用自然語言表述。(2)再弄清楚初值、循環(huán)情況、條件、表達式、程序的結構、流向等.2.順序結構表示的算法過程是依次進行多個處理,可用框圖表示為AABB【測試反饋】1.根據程序框圖……………………(C)XX=1,Y=2,Z=3XX=Y,Y=X,Z=Y輸出Z輸出Z終止終止輸出的結果是A3B1C2D0提示:該算法的第一步分別將X,Y,Z賦于1,2,3三個數,第二步先使X取Y的值,即X取值變成2,再使Y取X的值,即Y的值也是2,最后讓Z取Y的值,即Z取值也是2,從而第三步輸出時,Z的值是2。2.按下面的順序結構進行操作……………………(A)第1步輸入兩個不相等的實數a,b;第2步計算eq\f(a+b,2);第3步計算eq\r(ab);第4步比較eq\f(a+b,2)與eq\r(ab)的大小第5步將較大的一個數打印出來。A這個算法打印出的結果一定是eq\f(a+b,2)B這個算法打印出的結果一定是eq\r(ab)C這個算法打印出的結果可能是eq\f(a+b,2),也可能是eq\r(ab)D這個算法不一定能運行提示:通過作差比較可以發(fā)現,eq\f(a+b,2)≥eq\r(ab),故最后打印出來的是eq\f(a+b,2)。3.給出求點A(2,-1)關于直線2x-y+4=0的對稱點的一個算法,并畫出程序框圖。解第一步設點A(2,-1)關于直線2x-y+4=0的對稱點為B(a,b);第二步由直線AB與直線2x-y+4=0垂直可得eq\f(b+1,a-2)=-eq\f(1,2)(1);第三步由線段AB中點落在直線2x-y+4=0上可得2·eq\f(2+a,2)-eq\f(b-1,2)+4=0(2);第四步聯立方程組eq\f(b+1,a-2)=-eq\f(1,2),2·eq\f(2+a,2)-eq\f(b-1,2)+4=0。解得a=-eq\f(26,5),b=eq\f(13,5),從而得到點A(2,-1)關于直線2x-y+4=0對稱點為(-eq\f(26,5),eq\f(13,5))。設對稱點B根據AB與2x-y+4=0垂直得到式(1)設對稱點B根據AB與2x-y+4=0垂直得到式(1)根據AB中點在2x-y+4=0上得到式(2)聯立方程組解得對稱點坐標4.畫出用現代漢語詞典查閱“仕”字的程序框圖。在“部首目錄”中查“二畫在“部首目錄”中查“二畫”中“亻”的頁碼(16)從16頁開始的“亻”部中的“三畫”中查找“仕”的頁碼(1152)翻到1152頁,查閱“仕”5.寫出解不等式組x-2<1,(1)2x+1>5(2)的一個算法,并畫出程序框圖。解算法:第一步解不等式(1),得x<3;(3)第二步解不等式(2),得x>2;(4)第三步求(3)、(4)的公共部分,得原不等式組的解2<x<3.程序框圖:解不等式(1)解不等式(1)解不等式(2)求上述兩不等式解集的交集6.寫出求過兩點(-1,1)和(3,9)的直線的在x軸上的截距的一個算法,并用程序框圖表示這個算法。解算法第一步寫出過點(-1,1)、(3,9)的直線的方程;第二步在直線方程中令y=0,解出x的值,即得此直線在x軸上的截距。第三步輸出x。寫出過點(-1,1)、(3,9)的直線方程在上述方程中令y=0求解對應的x寫出過點(-1,1)、(3,9)的直線方程在上述方程中令y=0求解對應的x輸出x7.若x1,x2是一元二次方程2x2-3x+1=0的兩個實根,求x12+x22的值。給出解決上述問題的一個算法,并畫出程序框圖。解算法第一步由韋達定理得x1+x2=eq\f(3,2),x1x2=eq\f(1,2);第二步將x12+x22用x1+x2和x1x2表示出來x12+x22=(x1+x2)2-2x1x2;第三步將x1+x2、x1x2分別用eq\f(3,2)、eq\f(1,2)代入上式得x12+x22=eq\f(5,4).第四步輸出x12+x22的值。程序框圖求x求x1+x2,x1x2的值將x12+x22用x1+x2和x1x2表示將x1+x2、x1x2分別用eq\f(3,2)、eq\f(1,2)代入計算輸出x12+x228.已知函數f(x)=eq\f(x,1+x),實數a1=f(1),an+1=f(an),(n∈N*)。試寫出一個求a4的算法,并畫出程序框圖。解算法程序框圖由a1=f(1)求a1由a2=f(a1)求a2由a3=f(a2由a1=f(1)求a1由a2=f(a1)求a2由a3=f(a2)求a3由a4=f(a3)求a4輸出a4第二步計算a2=eq\f(a1,1+a1)=eq\f(1,3);第三步計算a3=eq\f(a2,1+a2)=eq\f(1,4);第四步計算a4=eq\f(a3,1+a3)=eq\f(1,5).第五步輸出a4.第3課時程序框圖(條件結構)【教法建議】1.教學時應從具體問題出發(fā),根據算法過程中,需要按給定的條件進行分析、比較和判斷,并按判斷的的不同情況進行不同的操作,讓學生體會到描述這類問題的算法需要用到選擇結構的設計.這些實例應是學生所熟悉的,如分段函數的求值、解一元一次不等式、求解一元二次方程、求實數的絕對值等。2.選擇結構的嵌套不要作過高要求,可作為選學內容。【問題情境】1.某市居民用水收費的方法是:水費=基本費+超額費+損耗費。若每月用水不超過10m3,只付基本費8元和每戶每月的定額損耗費1元;若用水超過10m3,除了付上面的基本費和損耗費外,超過部分每m3付2元的超額費。試寫出求該戶居民每月的應付水費y的一個算法,并畫出該算法的程序框圖。解設該戶居民每月和水量為x噸。則9(0≤x≤10),y=9+2(x-10)(x>10).上述函數就是求該戶居民每月水費的一個算法,用程序框圖表示為輸入x輸入xx>10Yy←9+2(x-10)y←9輸出y結束開始N【范例解讀】開始輸入a,b,ca>b且a>cx開始輸入a,b,ca>b且a>cx←ab>cx←bx←c輸出x結束YNYN解例2設計求解一元二次方程ax2+bx+c=0(a≠0)的一個算法,并用程序框圖表示。解算法如下:第一步輸入a,b,c;第二步Δ←b2-4ac;第三步如果Δ<0為真,則輸出“方程無實數根”,否則x1←eq\f(-b+\r(Δ),2a),x2←eq\f(-b-\r(Δ),2a).根據上述步驟,可畫出上這一算法的程序框圖輸入a,b,c輸入a,b,cΔ←b2-4acΔ<0輸出“方程無實數根”x1←eq\f(-b+\r(Δ),2a),x2←eq\f(-b-\r(Δ),2a)輸出x1,x2結束YN【歸納點拔】1.對需要按給定的條件進行分析、比較和判斷,并按判斷的的不同情況進行不同的操作的問題,設計算法時就要用到選擇結構的設計.2.選擇結構也稱為“分支結構”或“選取結構”,它要先根據指定的條件進行判斷,再由判斷的結果決定選取執(zhí)行兩條分支路徑中的某一條.3.下圖的虛線框內就是選擇結構的一般形式。在A、B兩個操作選項中,只能執(zhí)行A和B之一,不可能既執(zhí)行A又執(zhí)行B,但A或B兩個框中可以有一個是空的,即不執(zhí)行任何操作.AABpYN【測試反饋】1.根據下面的程序框圖操作,使得當成績不低于60分時,輸出“及格”,當成績低于60分時,輸出“不及格”…………(A)輸入成績x輸入成績xx≥601及格不及格2則A1框中填“Y”,2框中填“N”B1框中填“N”,2框中填“Y”C1框中填“Y”,2框中可填可不填C2框中填“N”,1框可填可不填2.表示解方程ax+b=0(a,b為常數)的一個正確的算法是……(D)輸入a,bx輸入a,bx←eq\f(b,a)輸出xB輸入a,bx←-eq\f(b,a)輸出xA輸入a,ba=0輸入a,ba=0x←0輸出xCx←-eq\f(b,a)YN輸入a,ba=0Dx←-eq\f(b,a)輸出xb=0NYNYx∈Rx∈Ф提示:在求解x時,需要在方程兩邊同時除以a,故對a為0的情況應加以討論。3.在表示解不等式ax+b<0(a,b為常數,且a≠0)的算法的程序框圖中,判斷框中應填入的內容是。(a>0或a>0都可)提示:解一元一次不等式時,需要在不等式的兩邊同時除以a,故應對提示:解一元一次不等式時,需要在不等式的兩邊同時除以a,故應對a的符號進行討論。4.給出下面的算法:輸入x輸入xx是有理數y←1y←0輸出yYN若x=,則y=(0),若x=3.14159,則y=(1)提示:這個算法表示的是一個分段函數,當自變量是有理數時,函數值為1,否則函數值為0。5.對于輸入的實數x,將求函數x2+1x≥0,y=-x+1x<0.的函數值的算法用程序框圖表示。輸入xx輸入xx≥0y←x2+1YNy←-x+1輸出y輸入整數nn是奇數輸入整數nn是奇數YN輸出1輸出0解7.某地的出租車按如下方法收費:起步價10元,可行3km(不含3km);3km到7km(不含7km)按1.6元/km計價(不足1km按1km計算);7km以后都按2.4元/km計價(不足1km按1km計算)。試給出當行車路程為xkm時的車費的一個算法,并用程序框圖表示。解當行車路程為xkm時的車費的算法可用下面的函數表示:100<x<3,y=10+1.6([x-3]+1)3≤x<7,16.4+2.4([x-7]+1)x≥7.其中[x]表示實數x的整數部分。這個算法的程序框圖是輸入路程x輸入路程x0<x<3Yy←10N3≤x<7y←6.8+1.6[x]YNy←2+2.4[x]輸出y8.輸入一個學生的三門成績,判斷其學習成績等級。平均分90分以上(包括90分)為優(yōu)秀、80分至90分為良好(包括80分、其它類同)、70分至80分為中等、60分至70分為及格、60分以下為不及格。試用程序框圖表示上述算法過程。輸入三門成績a,b,cs輸入三門成績a,b,cs←eq\f(a+b+c,3)s≥90Y輸出“優(yōu)秀”s≥80輸出“良好”s≥70輸出“中等”s≥60輸出“及格”輸出“不及格”NYNYNYN第4課時程序框圖(循環(huán)結構)【教法建議】1.教學中要通過實例讓學生感受重復的過程,以及過多重復對書寫算法帶來的不便,從而產生建立處理循環(huán)問題的算法結構的需求。2.對直到型循環(huán)結構的結構特點要求學生能熟練掌握。3.考慮到學生的接受能力,對當型循環(huán)不一定現在介紹,可待學生有了感性認識和一定的算法設計基礎之后,教師再作適當的回顧和補充.在學習算法程序時,就要用到“While語句”,即當型循環(huán).【問題情境】1.計算前5個正整數的和時,可以按下面的算法進行第一步計算1+2,得到3;第二步將第一步所得結果3與3相加,得到6;第三步將第二步所得結果6與4相加,得到10;第四步將第三步所得結果10與5相加,得到15。當要求計算前100個正整數的和時,可用這種算法嗎?你能找到簡便的算法嗎?解因為算法過程完全類同,故可考慮用循環(huán)結構的算法加以描述:nn←1S←1n>6Nn←n+1S←S+n輸出SY【范例解讀】例1給出求91的大于1的最小正約數的一個算法,并用程序框圖表示。解設計思想:因為91的正約數是不超過91正整數,所以可以對2到91的所有正整數逐一檢驗。I←I←2I是91的約數輸出IYNI←I+1整數I作范圍限制。此算法的程序框圖如下:例2設計一個求10個數的平均數的算法。解設計思想:先求出10個數的和,再求其平均數??捎醚h(huán)結構對10個數據求和。算法過程:第一步S=0;第二步I=1;第三步輸入G(G為一個數據);第四步S=S+G;第五步I=I+1;第六步如果I不大于10,轉第三步(即輸入下一個數據);第七步A=eq\f(S,10);第八步輸出A。此算法的程序框圖:SS=0I=1輸入GS=S+GI=I+1I>10A←eq\f(S,10)輸出AYN【歸納點拔】1.當一個算法中包含多次重復執(zhí)行相同類型的操作時,應考慮使用循環(huán)結構。2.常見的循環(huán)結構有“直到型”和“當型”兩種,其程序框圖分別為:直到型循環(huán)直到型循環(huán)ApYN當型循環(huán)ApYN3.當型循環(huán)和直到型循環(huán)是可以互相轉換的.對同一個問題,如果分別用當型循環(huán)和直到型循環(huán)來處理的話,則兩者判斷的條件恰好相反.【測試反饋】1.按下面的程序框圖運行后,所得的I的值為………………(C)I=0I=0J=10J<19YI=I+1J=J+3N輸出IA4B5C3D6提示:當J<19時,I每增加1,H增加3,這樣J從10增加到16時均滿足判斷條件,故I增加3。2.給出下面的程序框圖:SSum=0i=2n=0sum≥100YNi=i+2n=n+1sum=sum+i輸出“+”;i輸出sum,n輸出1輸出“輸出“=”;sum這個程序框圖的輸出結果是……………………(C)A1+2+3+……+100=5050sum=5050n=100B1+3+5+……+99=2500sum=2500n=50C1+3+5+……+19=100sum=100n=10D1+2+3+……+14=105sum=105n=14提示:這個程序框圖表示的算法是,將從1開始的連續(xù)自然數求和,直到和超過100時為此。輸出時,不斷將這些自然數連同加號都不斷打印出來,故選C。3.給出下面的算法:S1屏幕上顯示兩個兩位整數;S2提示用戶輸入這兩個數的和;S3檢查計算結果是否正確,如果是,則顯示“正確”;否則顯示“錯誤!再試一次”,然后繼續(xù)輸入計算結果,直至結果正確為止。S4詢問用戶是否繼續(xù)練習,如果用戶回答“Y”,則重復上述過程;如果回答“N”,則程序退出。將下面的空檔填上適當的內容,以完成表示這個算法的程序框圖開始開始隨機顯示兩個兩位數m,n“請輸入m+n的值”YN終止YN“正確,是否繼續(xù)練習?”答案正確“錯誤!再試一次”4.在下面的空檔內填上適當的內容,完成這個用循環(huán)結構表示的求35791113值的程序框圖。開始開始S=1I=I+2S=SII=1I<13YN輸出S提示:求積時,將S的初始值定為1,對任何乘數都適用;又由于是相鄰奇數求積,故跨度(即“步長”)為2。5.用程序框圖表示求eq\r(2)的近似值的算法,使誤差不超過0.001。解構造函數f(x)=x2-2,則eq\r(2)是方程f(x)=0在(1,2)上的根。算法過程:第一步取區(qū)間[a,b]的中點x0=eq\f(1,2)(a+b)(其中a=1,b=2);第二步若f(a)f(x0)>0,則eq\r(2)∈(x0,b),以x0代替a;若f(a)f(x0)<0,則eq\r(2)∈(a,x0),以x0代替b;第三步若|a-b|<0.001,計算終止,此時eq\r(2)≈x0,否則轉第一步。用程序框圖表示:輸入a,b輸入a,bx0←eq\f(1,2)(a+b)f(a)=a2-2f(b)=b2-2f(a)f(x0)<0NYb←x0a←x0|a-b|<0.001輸出x0YN6.用N1代表第一個學生的學號,Ni表示第i個學生的學號,Gi表示第i個學生的成績,那么下圖表示了一個什么樣的算法?i←i←1Gi≥80打印Ni,Gii←i+1i≤50結束YNYN這個程序框圖求出了學號為150的學生中成績不低于80分學生的學號與成績。7.設計求不超過正整數n的最大素數的算法,并將此算法用流程圖表示。解算法思想:對從n到2的正整數,從大到小依次逐一檢驗。此算法程序框圖可表示為8.一隊士兵來到一條有鱷魚的深河的左岸。只有一條小船和兩個小孩,這條船只能承載兩個小孩或一個士兵。試設計一個算法,將這隊士兵渡到對岸,并將這個算法用程序框圖表示。解算法:第一步兩個兒童將船劃到右岸;第二步他們中一個上岸,另一個劃回來;第三步兒童上岸,一個士兵劃過去;第四步士兵上岸,讓兒童劃回來;第五步如果左岸還有士兵,那么轉第一步;否則結束。上述算法用程序框圖表示為兩個兒童劃到右岸兩個兒童劃到右岸一個兒童劃回左岸一個士兵劃到右岸另一個兒童劃回岸右岸還有士兵嗎?N結束Y第5課時基本算法語句(輸入、輸出、賦值語句)【教法建議】1.在本章教學時,建議所用符號相對統(tǒng)一,以免引起混淆.如用賦值語句“x=23”表示給變量x賦值23,就不宜再用“23x”或“x23”等其它形式來表示了.2.本節(jié)對上機不作要求,有基礎或有興趣的學生可以將算法程序嘗試上機通過.3.任何一種程序語言的輸入、輸出語句都十分豐富,教學時不必一一列舉.能知道用“INPUY”和“PRINT”分別描述數據的輸入和輸出即可.這一部分內容的教學重點應放在問題的算法分析上,同時,對于問題的背景多作一些介紹,讓學生更好地了解中國古代數學中的算法思想.【問題情境】已知某學生一次考試中語文、數學和英語學科的得分分別為85、90、95,試設計適當的算法求出這名學生的總分和平均分。解Sum=0INPUT“語文成績=”;CINPUT“數學成績=”;MINPUT“英語成績=”;ESum=C+M+EA=(1/3)SumPRINT“總分=”;SumPRINT“平均分=”;AEND【范例解讀】例1已知三角形的三邊,試寫出表示求這個三角形的周長的算法程序。解設三角形三邊分別為a,b,c,則計算這個三角形周長的算法程序可表示為M=0INPUTa,b,cM=a+b+cPRINTMEND例2已知一勻變速運動的物體的初速度、未速度和加速度分別為V1,V2,a,求物體運動的距離s。試編寫求解這個問題的一個算法的程序框圖,并寫出這個算法程序。解由題意可知:V2=V1+at,故運動時間t=eq\f(V2-V1,a),所以,物體運動的距離s=V1t+eq\f(1,2)at2=eq\f(V22-V12,2a)據此,可設計算法如下輸入V輸入V1,V2,as←eq\f(V22-V12,2a)輸出s將此算法程序為INPUTV1,V2,as=(V2^2-V1^2)/(2*a)PRINTsEND【歸納點拔】1.“INPUT”語句的一般格式為:“INPUT‘提示字符串’;輸入變量表列”,輸入的變量之間用逗號“,”隔開;2.輸出語句用“PRINT”表示,其一般格式為:“PRINT‘提示字符串’;需輸出的變量表列”,需輸出的變量之間用“,”隔開。【測試反饋】1.賦值語句a=a+1的含意是……………………(C)A把變量a的值存放到a+1中B變量a的值等于a+1的值C把變量a的值加1后賦給變量aD把變量a+1的值存放到a中提示:在算法語句中,“=”具有的是賦值功能,a=a+1即將a+1的值賦于a。2.下列四個語句中語法正確的是………………(A)AINPUT“A,B,C=”;A,B,CBINPUT;“A,B,C=”;A,B,CCINPUT“A,B,C=”;A;B;CDINPUT“A=”,A,“B=”,B3.若A=3,B=6,則下面程序運行后的結果是。(23)INPUT“A,B=”;A,BC=A*B+5PRINTCEND4.執(zhí)行下面的程序X=1Y=2Z=3X=YY=XZ=YPRINTX;Y;ZEND的結果是。(222)提示:X,Y,Z的初始值分別為1,2,3,執(zhí)行到“X=Y”時,X的值被賦于2,于是“Y=X”使Y值變?yōu)閄的值2,“Z=Y”又使Z值變成了2,故輸出的X,Y,Z的值均為2。5.試用偽代碼編寫程序,輸出如下圖形(其中空格可用函數TAB(n)表示,它的含義是:空n個字符)********************解PRINTTAB(7);“**”PRINTTAB(6);“****”PRINTTAB(5);“******”PRINTTAB(4);“******”END6.已知一個正三棱柱的底面邊長為a,高為h,用輸入、輸出語句和賦值語句表示計算此三棱柱的體積的算法。解INPUTaINPUThV=SQR(3)a^2h/4PRINTVEND7.請編寫程序,實現三個變量A,B,C的值按順序互換,即A→B→C→A之間的交換。解分兩步進行。先實現A,B交換,再實現A,C交換。INPUTAINPUTBINPUTCD=AA=BB=DD=CC=AA=DEND8.某市2004年112月的產值分別為3.8,4.2,5.3,6.1,5.6,4.8,7.3,4.5,6.4,5.8,4.7,6.5(億元),該市要統(tǒng)計每季度的月平均產值及2003年的月平均產值,試分別用賦值語句和輸入、輸出語句表示計算上述各個平均值的算法。解設112月的產值分別為a1,a2,…,a12,INPUTa1,a2,…a12S1=a1+a2+a3S2=a4+a5+a6S3=a7+a8+a9S4=a10+a11+a12S=S1+S2+S3+S4M1=S1/3M2=S2/3M3=S3/3M4=S4/3M=S/12PRINTM1,M2,M3,M4,MEND第6課時基本算法語句(條件語句)【教法建議】1.要實現選擇結構,就要用到條件語句.教學中應結合選擇結構的程序構圖介紹條件語句。在編制算法程序時,一般應先用自然語言建立算法,再將其用程序構圖直觀表示,最后根據框圖編寫程序。2.一般情況下,建議只使用“塊If語句”來表達選擇結構,以便于教和學.書寫時,為了清晰和方便閱讀,通常將Then部分和Else部分縮進書寫.“塊If語句”可以嵌套?!締栴}情境】下面的問題可用哪種結構的算法表示?如何表示這種結構的算法程序?輸入一個正整數n,如果是偶數,就將其輸出。解INPUTnIFnMOD2=0THENPRINTnENDIFEND【范例解讀】例1.輸入兩個數A和B,將較大的數打印出來。解INPUTA,BIFA>BTHENPRINTAELSEPRINTBENDIFEND例2.已知函數1,(x>0)y=0,(x=0)-1,(x<0).輸入x的值,計算y的值。寫出表示這個計算過程的算法程序。解INPUTxIFx>0THENY=1ELSEIFx=0THENy=0ELSEy=-1ENDIFENDIFEND【歸納點拔】對條件結構的算法用偽代碼表示時需用條件語句;條件語句的一般格式是IFATHENBELSESENDIF其中A為條件,B是在條件成立時執(zhí)行的操作,S為條件不成立時執(zhí)行的操作;3.有的條件語句也可以不帶“ELSE”分支,即滿足條件時執(zhí)行B,否則不執(zhí)行任何操作。4.條件語句可以進行嵌套。在進行條件語句的嵌套時,書寫要有層次,對內層的條件語句有兩種寫法:(1)IFA1THENB1ELSEIFA2THENB2ELSESENDIFENDIF(2)IFA1THENB1ELSEIFA2THENB2ELSESENDIFA1A1成立嗎語句B1YA2成立嗎N語句B2Y語句S后繼語句其相應的程序框圖為【測試反饋】1.下列程序運行的結果是……………………(A)X=23IFXMOD3=0THENy=1ELSEy=0ENDIFENDA0B1C1,0D0,1提示:根據條件語句,如果X除以3的余數是0,那么y取1,否則y取0,因為X=23,不是3人倍數,故y取0。2.按下列程序運行的結果是………………(D)A=4.5B=6IFA>=5THENB=B+1ELSEB=B-3B=B+2ENDIFIFB>=4THENB=B*BELSEB=A+BENDIFPRINTBENDA10.5B11.5C16D25提示:A=4.5,第一個選擇結構條件不滿足,則B=B-3=3,B=B+2=5;而第二個選擇

溫馨提示

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

評論

0/150

提交評論