




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
第二講基本算法語句教學(xué)目的:理解幾種基本算法語句——輸入語句、輸出語句、賦值語句、條件語句、循環(huán)語句,進(jìn)一步體會算法的基本思想;教學(xué)重點:理解幾種基本算法語句——輸入語句、輸出語句、賦值語句、條件語句、循環(huán)語句。教學(xué)難點:理解幾種基本算法語句——輸入語句、輸出語句、賦值語句、條件語句、循環(huán)語句?!局R概要】知識點1輸入語句輸入語句的格式:INPUT“提示內(nèi)容”;變量例如:INPUT“x=”;x功能:實現(xiàn)算法的輸入變量信息(數(shù)值或字符)的功能。要求:(1)輸入語句要求輸入的值是具體的常量;(2)提示內(nèi)容提示用戶輸入的是什么信息,必須加雙引號,提示內(nèi)容“原原本本”的在計算機屏幕上顯示,提示內(nèi)容與變量之間要用分號隔開;(3)一個輸入語句可以給多個變量賦值,中間用“,”分隔;輸入語句還可以是““提示內(nèi)容1”;變量1,“提示內(nèi)容2”;變量2,“提示內(nèi)容3”;變量3,……”的形式。例如:INPUT“a=,b=,c=,”;a,b,c。知識點2輸出語句輸出語句的一般格式:PRINT“提示內(nèi)容”;表達(dá)式例如:PRINT“S=”;S;功能:實現(xiàn)算法輸出信息(表達(dá)式)要求:(1)表達(dá)式是指算法和程序要求輸出的信息;(2)提示內(nèi)容提示用戶要輸出的是什么信息,提示內(nèi)容必須加雙引號,提示內(nèi)容要用分號和表達(dá)式分開。(3)如同輸入語句一樣,輸出語句可以一次完成輸出多個表達(dá)式的功能,不同的表達(dá)式之間可用“,”分隔;輸出語句還可以是“提示內(nèi)容1”;表達(dá)式1,“提示內(nèi)容2”;表達(dá)式2,“提示內(nèi)容3”;表達(dá)式3,……”的形式;例如:PRINT“a,b,c:”;a,b,c。知識點3賦值語句賦值語句的一般格式:變量=表達(dá)式;賦值語句中的“=”稱作賦值號作用:賦值語句的作用是將表達(dá)式所代表的值賦給變量;要求:(1)賦值語句左邊只能是變量名字,而不是表達(dá)式,右邊表達(dá)式可以是一個常量、變量或含變量的運算式。如:2=x是錯誤的;(2)賦值號的左右兩邊不能對換。賦值語句是將賦值號右邊的表達(dá)式的值賦給賦值號左邊的變量。如“A=B”“B=A”的含義運行結(jié)果是不同的,如x=5是對的,5=x是錯的,A+B=C是錯的,C=A+B是對的。(3)不能利用賦值語句進(jìn)行代數(shù)式的演算。(如化簡、因式分解、解方程等),如。這是實現(xiàn)不了的。在賦值號右邊表達(dá)式中每一個變量的值必須事先賦給確定的值。在一個賦值語句中只能給一個變量賦值。不能出現(xiàn)兩個或以上的“=”。但對于同一個變量可以多次賦值。知識點4條件語句(1)“IF—THEN—ELSE”語句格式:IF條件THEN語句1ELSE語句2ENDIF說明:在“IF—THEN—ELSE”語句中,“條件”表示判斷的條件,“語句1”表示滿足條件時執(zhí)行的操作內(nèi)容;“語句2”表示不滿足條件時執(zhí)行的操作內(nèi)容;ENDIF表示條件語句的結(jié)束。計算機在執(zhí)行“IF—THEN—ELSE”語句時,首先對IF后的條件進(jìn)行判斷,如果符合條件,則執(zhí)行THEN后面的“語句1”;若不符合條件,則執(zhí)行ELSE后面的“語句2”。(2)“IF—THEN”語句格式:IF條件THEN語句ENDIF說明:“條件”表示判斷的條件;“語句”表示滿足條件時執(zhí)行的操作內(nèi)容,條件不滿足時,直接結(jié)束判斷過程;ENDIF表示條件語句的結(jié)束。計算機在執(zhí)行“IF—THEN”語句時,首先對IF后的條件進(jìn)行判斷,如果符合條件就執(zhí)行THEN后邊的語句,若不符合條件則直接結(jié)束該條件語句,轉(zhuǎn)而執(zhí)行其它后面的語句知識點5循環(huán)語句(1)當(dāng)型循環(huán)語句當(dāng)型(WHILE型)語句的一般格式為:WHILE條件循環(huán)體WEND說明:計算機執(zhí)行此程序時,遇到WHILE語句,先判斷條件是否成立,如果成立,則執(zhí)行WHILE和WEND之間的循環(huán)體,然后返回到WHILE語句再判斷上述條件是否成立,如果成立,再執(zhí)行循環(huán)體,這個過程反復(fù)執(zhí)行,直到一次返回到WHILE語句判斷上述條件不成立為止,這時不再執(zhí)行循環(huán)體,而是跳到WEND語句后,執(zhí)行WEND后面的語句。因此當(dāng)型循環(huán)又稱“前測試型”循環(huán),也就是我們經(jīng)常講的“先測試后執(zhí)行”、“先判斷后循環(huán)”。(2)直到型循環(huán)語句直到型(UNTIL型)語句的一般格式為:DO循環(huán)體LOOPUNTIL條件說明:計算機執(zhí)行UNTIL語句時,先執(zhí)行DO和LOOPUNTIL之間的循環(huán)體,然后判斷“LOOPUNTIL”后面的條件是否成立,如果條件成立,返回DO語句處重新執(zhí)行循環(huán)體。這個過程反復(fù)執(zhí)行,直到一次判斷“LOOPUNTIL”后面的條件條件不成立為止,這時不再返回執(zhí)行循環(huán)體,而是跳出循環(huán)體執(zhí)行“LOOPUNTIL條件”下面的語句。因此直到型循環(huán)又稱“后測試型”循環(huán),也就是我們經(jīng)常講的“先執(zhí)行后測試”、“先循環(huán)后判斷”?!净A(chǔ)題典例解析】例1(判斷題)判斷下列給出的輸入語句、輸出語句和賦值語句是否正確?為什么?(1)輸入語句INPUTa;b;c(2)輸出語句A=4(3)賦值語句3=B(4)賦值語句A=B=-2解:(1)錯,變量之間應(yīng)用“,”號隔開;(2)錯,PRINT語句不能用賦值號“=”;(3)錯,賦值語句中“=”號左右不能互換;(4)錯,一個賦值語句只能給一個變量賦值點評:輸入語句、輸出語句和賦值語句基本上對應(yīng)于算法中的順序結(jié)構(gòu)。輸入語句、輸出語句和賦值語句都不包括“控制轉(zhuǎn)移”,由它們組成的程序段必然是順序結(jié)構(gòu)例2(語句的識別)請寫出下面運算輸出的結(jié)果。(1)(2)(3)解:(1)16;語句是將a,b和的一半賦值給變量c,語句是將c的平方賦值給d,最后輸出d的值(2)1,2,3;語句是將a,b的和賦值給c,語句是將的值賦值給了b。(3)20,30,20;經(jīng)過語句后a,b,c的值是20,20,30。經(jīng)過語句后a,b,c的值是20,30,30。經(jīng)過語句后a,b,c的值是20,30,20。點評:語句的識別問題是一個逆向性思維,一般我們認(rèn)為我們的學(xué)習(xí)是從算法步驟(自然語言)至程序框圖,再到算法語言(程序)。如果將程序擺在我們的面前時,我們要從識別逐個語句,整體把握,概括程序的功能例3(賦值語句的應(yīng)用)寫出求三個數(shù)a,b,c的方差的程序。解:方差是在初中統(tǒng)計內(nèi)容中學(xué)習(xí)過的知識,計算所有數(shù)的方差首先計算所有數(shù)的平均數(shù),通過公式來計算。算法步驟:第一步:計算平均數(shù);第二步:計算方差;第三步:得到的結(jié)果即為所求。程序如下:INPUTa,b,cy=(a+b+c)/3S=((a-y)2+(b-y)2+(c-y)2)/3PRINTSEND點評:套用公式求值問題是傳統(tǒng)數(shù)學(xué)求值問題的一種,它是一種典型的順序結(jié)構(gòu),也就是說只通過輸入、輸出和賦值語句就可以完成任務(wù)。解決這類問題的關(guān)鍵是先分析這種問題的解法,即構(gòu)造計算的過程,再寫出算法步驟和流程圖,再翻譯成算法語句即可例4(賦值語句的應(yīng)用)編寫一個程序,要求輸入的兩個正數(shù)a和b的值,輸出ab和ba的值。解:可以利用INPUT語句輸入兩個正數(shù),然后將ab和ba的值分別賦給兩個變量輸出即可。也可以將ab和ba的底數(shù)和冪數(shù)進(jìn)行交換,故還可以利用賦值語句,采用將兩個變量的值互換的辦法實現(xiàn)。程序1:INPUT“a,b:”;a,bA=a^bB=b^aPRINT“ab=”;A,“ba=”;BEND程序2:INPUT“a,b:”;a,bA=a^bPRINT“ab=”;Ax=aa=bb=xA=a^bPRINT“ab=”;AEND點評:交換a,b的值可通過下面三個語句來實現(xiàn):通過引進(jìn)一個變量t實現(xiàn)變量a和b的值的交換,因此只需用賦值語句即可實現(xiàn)算法。在一些較為復(fù)雜的問題算法中經(jīng)常需要對兩個變量的值進(jìn)行交換,因此應(yīng)熟練掌握這種方法。開始輸入a,ba>b?輸出a輸出b結(jié)束開始輸入a,ba>b?輸出a輸出b結(jié)束YN編寫程序,輸出兩個不相等的實數(shù)a、b的最大值解:要輸出兩個不相等的實數(shù)a、b的最大值,從而想到對a,b的大小關(guān)系進(jìn)行判斷,a,b的大小關(guān)系有兩種情況:(1)a>b;(2)b>a,這也就用到了我們經(jīng)常提及的分類討論的方式,找出兩個數(shù)的最大值第一步:輸入a,b的數(shù)值;第二步:判斷a,b的大小關(guān)系,若a>b,則輸出a的值,否則輸出b的值。(程序框圖如右圖)程序如下:(“IF—THEN—ELSE”語句)開始輸入a,bb>a?輸出a結(jié)束YNa=bINPUT“開始輸入a,bb>a?輸出a結(jié)束YNa=bIFa>bTHENPRINTaELSEPRINTbENDIFEND算法二:第一步:輸入a,b的數(shù)值;第二步:判斷a,b的大小關(guān)系,若b>a,則將b的值賦予a;否則直接執(zhí)行第三步;第三步:輸出a的值,結(jié)束。(程序框圖如右圖)程序如下:(“IF—THEN”語句)INPUT“a,b”;a,bIFb>aTHENa=bENDIFPRINTaEND例6(循環(huán)語句)設(shè)計一個計算1×3×5×7×…×99的算法,編寫算法程序。解:算法如下:第一步:s=1;第二步:i=3;第三步:s=s×i;第四步:i=i+2;第五步:如果i≤99,那么轉(zhuǎn)到第三步;第六步:輸出s;程序如下:(“WHILE型”循環(huán)語句)s=1i=3WHILEi<=99s=s*ii=i+2WENDPRINTsEND例8(循環(huán)語句)編寫一個程序,求1!+2!+…+10!的值解:這個問題是求前10個正整數(shù)的階乘之和,可以用“WHILE+WHILE”循環(huán)嵌套語句格式來實現(xiàn)程序結(jié)構(gòu)要做到如下步驟:①處理“N!”的值;(注:處理N!值的變量就是一個內(nèi)循環(huán)變量)②累加“N!”的值。(注:累加N!值的變量就是一個外循環(huán)變量)顯然,通過10次循環(huán)可分別求出1!、2!、…、10!的值,并同時累加起來,可求得S的值。而求T=N!,又可以用一個循環(huán)(內(nèi)循環(huán))來實現(xiàn)。程序為:s=0i=1WHILEi<=10j=1t=1WHILEj<=it=t*jj=j+1WENDs=s+ti=i+1WENDPRINTsEND上面程序中內(nèi)循環(huán)變量為:j,t;外循環(huán)變量為:s,i“典例2”程序是一個的“WHILE+WHILE”型循環(huán)嵌套語句格式。這是一個比較好想的方法,但實際上對于求n!,我們也可以根據(jù)求出的(n-1)!乘上n即可得到,而無需重新從1再累乘到n。程序可改為:s=0i=1j=1WHILEi<=10j=j*is=s+ji=i+1WENDPRINTsEND顯然第二個程序的效率要比第一個高得多。第一程序要進(jìn)行1+2+…+10=55次循環(huán),而第二程序進(jìn)行10次循環(huán)。如題目中求的是1?。??。?000!,則兩個程序的效率區(qū)別更明顯點評:解決具體的構(gòu)造循環(huán)語句的算法問題,要盡可能的少引入循環(huán)變量,另外,也盡可能使得循環(huán)嵌套的層數(shù)少,否則也浪費計算機的系統(tǒng)資源?!揪C合題典例解析】例1編寫程序,計算數(shù)列{an}的前20項的和。(其中數(shù)列的前幾項分別為1,1,2,3,5,8,……)解:這是“Fibonacci數(shù)列”的典型特征,從第三項起每一項都是它前兩項的和,即。程序如下:a=1b=1s=0i=3WHILEi<=20s=s+a+bt=aa=bb=b+ti=i+1WENDPRINTsENDY開始輸入xx>0?x=0輸出1輸出0輸出0Y開始輸入xx>0?x=0輸出1輸出0輸出0YNN結(jié)束是計數(shù)變量的臨界值,在當(dāng)型結(jié)構(gòu)中“小于等于n”維持循環(huán),而在直到型循環(huán)結(jié)構(gòu)中“大于n”跳出循環(huán)2.累加變量是最終的輸出結(jié)果。每進(jìn)入一次循環(huán)體隨著計數(shù)變量改變而改變。累加變量的初始值通常為0。例2高等數(shù)學(xué)中經(jīng)常用到符號函數(shù),符號函數(shù)的定義為,試編寫程序輸入x的值,輸出y的值。程序一:(嵌套結(jié)構(gòu))Y開始Y開始輸入xx>0?輸出1YNN結(jié)束x=0?輸出0x<0?輸出-1YN程序語言:INPUTxIFx>0THENy=1ELSEIFx=0THENy=0ELSEy=-1ENDIFENDIFPRINTyEND程序二:(疊加結(jié)構(gòu))程序框圖:程序如下:INPUTxIFx>0THENy=1ENDIFIFx=0THENy=0ENDIFIFx<0THENy=-1ENDIFPRINTyEND點評:1.條件結(jié)構(gòu)的差異,造成程序執(zhí)行的不同。當(dāng)代入x的數(shù)值時,“程序一”先判斷外層的條件,依次執(zhí)行不同的分支,才有可能判斷內(nèi)層的條件;而“程序二”中執(zhí)行了對“條件1”的判斷,同時也對“條件2”進(jìn)行判斷,是按程序中條件語句的先后依次判斷所有的條件,滿足哪個條件就執(zhí)行哪個語句2.條件語句的嵌套可多于兩層,可以表達(dá)算法步驟中的多重限制條件。例3中國網(wǎng)通規(guī)定:撥打市內(nèi)電話時,如果不超過3分鐘,則收取話費0.22元;如果通話時間超過3分鐘,則超出部分按每分鐘0.1元收取通話費,不足一分鐘按以一分鐘計算。設(shè)通話時間為t(分鐘),通話費用y(元),如何設(shè)計一個程序,計算通話的費用。解:算法分析:數(shù)學(xué)模型實際上為:y關(guān)于t的分段函數(shù)。關(guān)系是如下:其中[t-3]表示取不大于t-3的整數(shù)部分算法步驟如下:第一步:輸入通話時間t;第二步:如果t≤3,那么y=0.22;否則判斷t∈Z是否成立,若成立執(zhí)行y=0.2+0.1×(t-3);否則執(zhí)行y=0.2+0.1×([t-3]+1)。第三步:輸出通話費用c。算法程序如下:INPUT“請輸入通話時間:”;tIFt<=3THENy=0.22ELSEIFINT(t)=tTHENy=0.22+0.1*(t-3)ELSEy=0.22+0.1*(INT(t-3)+1)ENDIFENDIFPRINT“通話費用為:”;yEND學(xué)習(xí)小結(jié):(1)學(xué)習(xí)了循環(huán)語句的兩種格式,我們來挖掘一下應(yīng)用循環(huán)語句編寫程序的“條件三要素”第一:循環(huán)語句中的變量一般需要進(jìn)行一定的初始化操作。請看我們用WHILE循
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 體育裝備贊助合同范例
- 全房定制安裝合同范例
- 關(guān)于電器合同范例
- 會議招商合同范例
- 2025年中國圓形鋼化玻璃鍋蓋市場調(diào)查研究報告
- 2025年中國前大燈總成市場調(diào)查研究報告
- 與房東續(xù)租簽合同范例
- 刀具定做合同范例
- 入河排污口設(shè)置合同范例
- 充值方案合同范例寫
- 消費者行為學(xué)課件
- 【小升初】部編版2022-2023學(xué)年四川省綿陽市語文升學(xué)分班考真題專項模擬試卷(04 現(xiàn)代文閱讀)含解析
- 人教版(2019)高中英語必修第二冊:Unit5Music單元測試(含答案與解析)
- 21級全新版大學(xué)進(jìn)階英語2 國際班 教案
- 圖解心經(jīng)心得整理分享PPT課件
- 武漢市第五醫(yī)院重離子治療中心項目可行性研究報告
- (完整版)學(xué)生課堂學(xué)習(xí)自我評價表
- 《英語專業(yè)畢業(yè)論文寫作指導(dǎo)》
- SAE-J400-2002-中文版
- 不銹鋼電梯門套安裝技術(shù)交底_
- 煙花爆竹危險固體廢棄物綜合利用建設(shè)項目可行性研究報告-甲乙丙資信
評論
0/150
提交評論