《高一數(shù)學(xué) 基本算法語(yǔ)言 ppt》由會(huì)員分享,可在線閱讀,更多相關(guān)《高一數(shù)學(xué) 基本算法語(yǔ)言 ppt(23頁(yè)珍藏版)》請(qǐng)?jiān)谘b配圖網(wǎng)上搜索。
1、 1.2.3基本算法語(yǔ)句基本算法語(yǔ)句 循環(huán)語(yǔ)句循環(huán)語(yǔ)句算法中的循環(huán)結(jié)構(gòu)是由循環(huán)語(yǔ)句來實(shí)現(xiàn)的算法中的循環(huán)結(jié)構(gòu)是由循環(huán)語(yǔ)句來實(shí)現(xiàn)的 . .循環(huán)結(jié)構(gòu)有兩種循環(huán)結(jié)構(gòu)有兩種-當(dāng)型與直到型當(dāng)型與直到型.滿足條件?滿足條件?循環(huán)體循環(huán)體是是否否當(dāng)型循環(huán)結(jié)構(gòu)當(dāng)型循環(huán)結(jié)構(gòu)(當(dāng)條件滿當(dāng)條件滿足時(shí)反復(fù)執(zhí)行循環(huán)體足時(shí)反復(fù)執(zhí)行循環(huán)體)直到型循環(huán)結(jié)構(gòu)直到型循環(huán)結(jié)構(gòu)(反復(fù)執(zhí)反復(fù)執(zhí)行循環(huán)體直到條件滿足行循環(huán)體直到條件滿足)循環(huán)體循環(huán)體是是否否滿足條件?滿足條件?對(duì)應(yīng)于程序框圖中的兩種循環(huán)結(jié)構(gòu),一般對(duì)應(yīng)于程序框圖中的兩種循環(huán)結(jié)構(gòu),一般程序設(shè)計(jì)語(yǔ)言中也有當(dāng)型(程序設(shè)計(jì)語(yǔ)言中也有當(dāng)型(WHILEWHILE型)和直到型型)和直到型(
2、UNTILUNTIL型)兩種語(yǔ)句結(jié)構(gòu)。型)兩種語(yǔ)句結(jié)構(gòu)。 即即WHILEWHILE語(yǔ)句和語(yǔ)句和UNTILUNTIL語(yǔ)句。語(yǔ)句。 (1)WHILE(1)WHILE語(yǔ)句的一般格式是語(yǔ)句的一般格式是: :WHILE WHILE 條件條件 循環(huán)體循環(huán)體WENDWEND其中循環(huán)體是由計(jì)算機(jī)反復(fù)執(zhí)行的一組語(yǔ)句其中循環(huán)體是由計(jì)算機(jī)反復(fù)執(zhí)行的一組語(yǔ)句構(gòu)成的。構(gòu)成的。WHLIEWHLIE后面的后面的“條件條件”是用于控制計(jì)算機(jī)是用于控制計(jì)算機(jī)執(zhí)行循環(huán)體或跳出循環(huán)體的。執(zhí)行循環(huán)體或跳出循環(huán)體的。WHILEWHILE當(dāng)當(dāng) 時(shí)候時(shí)候WENDWEND朝朝方向方向 行走行走(1)WHILE(1)WHILE語(yǔ)句的一般格式是
3、語(yǔ)句的一般格式是 WHILE 條件條件 循環(huán)體循環(huán)體WEND 當(dāng)計(jì)算機(jī)遇到當(dāng)計(jì)算機(jī)遇到WHILEWHILE語(yǔ)句時(shí)語(yǔ)句時(shí), ,先判斷條件的真假先判斷條件的真假, ,如果條件如果條件符合符合, ,就執(zhí)行就執(zhí)行WHILEWHILE與與WENDWEND之間之間的循環(huán)體的循環(huán)體; ;然后再檢查上述條然后再檢查上述條件件, ,如果條件仍符合如果條件仍符合, ,再次執(zhí)行再次執(zhí)行循環(huán)體循環(huán)體, ,這個(gè)過程反復(fù)進(jìn)行這個(gè)過程反復(fù)進(jìn)行, ,直直到某一次條件不符合為止到某一次條件不符合為止. .這這時(shí)時(shí), ,計(jì)算機(jī)將不執(zhí)行循環(huán)體計(jì)算機(jī)將不執(zhí)行循環(huán)體, ,直直接跳到接跳到WENDWEND語(yǔ)句后語(yǔ)句后, ,接著執(zhí)行接著執(zhí)
4、行WENDWEND之后的語(yǔ)句之后的語(yǔ)句. . 滿足條件?滿足條件?循環(huán)體循環(huán)體是是否否當(dāng)型循環(huán)結(jié)構(gòu)當(dāng)型循環(huán)結(jié)構(gòu)(2)UNTIL(2)UNTIL語(yǔ)句的一般格式是語(yǔ)句的一般格式是: :DODO 循環(huán)體循環(huán)體LOOP UNTIL LOOP UNTIL 條件條件循環(huán)體循環(huán)體是是否否滿足條件?滿足條件?直到型循環(huán)結(jié)構(gòu)直到型循環(huán)結(jié)構(gòu)DODO做什么做什么LOOP UNTILLOOP UNTIL繞環(huán)回線走繞環(huán)回線走, ,直到達(dá)到某種直到達(dá)到某種 條件為止條件為止思考思考: :參照其直到型循環(huán)結(jié)構(gòu)對(duì)應(yīng)的程序框圖參照其直到型循環(huán)結(jié)構(gòu)對(duì)應(yīng)的程序框圖, ,說說說說計(jì)算機(jī)是按怎樣的順序執(zhí)行計(jì)算機(jī)是按怎樣的順序執(zhí)行UNT
5、ILUNTIL語(yǔ)句的?語(yǔ)句的? (2)UNTIL(2)UNTIL語(yǔ)句的一般格式是語(yǔ)句的一般格式是: :DODO 循環(huán)體循環(huán)體LOOP UNTIL LOOP UNTIL 條件條件循環(huán)體循環(huán)體是是否否滿足條件?滿足條件?直到型循環(huán)結(jié)構(gòu)直到型循環(huán)結(jié)構(gòu)從從UNTILUNTIL型循環(huán)結(jié)構(gòu)分析型循環(huán)結(jié)構(gòu)分析, ,計(jì)算機(jī)執(zhí)行該語(yǔ)句時(shí)計(jì)算機(jī)執(zhí)行該語(yǔ)句時(shí), ,先先執(zhí)行一次循環(huán)體執(zhí)行一次循環(huán)體, ,然后進(jìn)行條件的判斷然后進(jìn)行條件的判斷, ,如果條件不如果條件不滿足滿足, ,繼續(xù)返回執(zhí)行循環(huán)體繼續(xù)返回執(zhí)行循環(huán)體, ,然后再進(jìn)行條件的判斷然后再進(jìn)行條件的判斷, ,這個(gè)過程反復(fù)進(jìn)行這個(gè)過程反復(fù)進(jìn)行, ,直到某一次條件滿
6、足時(shí)直到某一次條件滿足時(shí), ,不再執(zhí)不再執(zhí)行循環(huán)體行循環(huán)體, ,跳到跳到LOOP UNTILLOOP UNTIL語(yǔ)句后執(zhí)行其他語(yǔ)句語(yǔ)句后執(zhí)行其他語(yǔ)句, ,是先執(zhí)行循環(huán)體后進(jìn)行條件判斷的循環(huán)語(yǔ)句是先執(zhí)行循環(huán)體后進(jìn)行條件判斷的循環(huán)語(yǔ)句. .提問提問: :通過對(duì)照通過對(duì)照, ,大家覺得大家覺得WHILEWHILE型語(yǔ)句與型語(yǔ)句與UNTILUNTIL型型語(yǔ)句之間有什么區(qū)別呢?語(yǔ)句之間有什么區(qū)別呢? 區(qū)別區(qū)別:在:在WHILEWHILE語(yǔ)句中語(yǔ)句中, ,是當(dāng)條件是當(dāng)條件滿足滿足時(shí)執(zhí)行循環(huán)時(shí)執(zhí)行循環(huán)體體, ,而在而在UNTILUNTIL語(yǔ)句中語(yǔ)句中, ,是當(dāng)條件是當(dāng)條件不滿足不滿足時(shí)執(zhí)行循環(huán)時(shí)執(zhí)行循環(huán)體。
7、體。WHILEWHILE語(yǔ)句的一般格式語(yǔ)句的一般格式WHILE WHILE 條件條件 循環(huán)體循環(huán)體WENDWENDUNTILUNTIL語(yǔ)句的一般格式語(yǔ)句的一般格式DODO 循環(huán)體循環(huán)體LOOP UNTIL LOOP UNTIL 條件條件例例1.1.編寫程序編寫程序, ,計(jì)算自然數(shù)計(jì)算自然數(shù)1+2+3+1+2+3+99+100+99+100的和的和. .分析分析: :這是一個(gè)累加問題這是一個(gè)累加問題. .我們可我們可以用以用WHILEWHILE型語(yǔ)句型語(yǔ)句, ,也可以用也可以用UNTILUNTIL型語(yǔ)型語(yǔ)句。句。WHILEWHILE語(yǔ)句語(yǔ)句開始開始結(jié)束結(jié)束i=1S=0i=i+1S=S+i輸出輸出
8、Si100?是是否否當(dāng)型循環(huán)結(jié)構(gòu)當(dāng)型循環(huán)結(jié)構(gòu)i=1S=0WHLIE i100?否否是是直到型直到型i=1S=0DOS=S+ii=i+1LOOP UNTIL i100PRINT SEND開始開始i=1S=0i100?是是S=S+ii=i+1否否輸出輸出S結(jié)束結(jié)束當(dāng)型循環(huán)當(dāng)型循環(huán)結(jié)構(gòu)結(jié)構(gòu)變式訓(xùn)練變式訓(xùn)練(1):(1):編寫程序求編寫程序求:n!=1:n!=12 23 34 45 5n n的值的值. .如何修改如何修改? ?輸入輸入nWHILEWHILE語(yǔ)句語(yǔ)句i=1S=0WHLIE i100PRINT SENDS=1101S=Sii=i+2是是開始開始結(jié)束結(jié)束i=1S=0i=i+1S=S+i輸出輸
9、出Si100?否否直到型直到型S=1S=Si i=i+2i101?變式變式3:函數(shù)函數(shù)y=x2-3x+5,從從x=1開始連續(xù)輸入開始連續(xù)輸入19個(gè)自然數(shù)進(jìn)行取值個(gè)自然數(shù)進(jìn)行取值,輸出相應(yīng)的函數(shù)值輸出相應(yīng)的函數(shù)值,用程序語(yǔ)用程序語(yǔ)言進(jìn)行編程言進(jìn)行編程x=1DOy=x2-3x+5LOOP UNTIL x20PRINT “x=”;x, “y=”;yENDx=x+1程序程序直到型直到型當(dāng)型當(dāng)型x=1WHILE x=n OR r=0IF r=0 THEN PRINT “n is not a prime number.”ELSE PRINT “n is a prime number.”END IFEND程
10、序程序例例3.圖圖1.20轉(zhuǎn)化成程序語(yǔ)言轉(zhuǎn)化成程序語(yǔ)言程序框圖程序框圖程序程序INPUT “a,b,d=”;a,b,dDOm=(a+b)/2f=m2-2g=a2-2IF gf0 THENb=mELSEa=mEND IFLOOP UNTIL ABS(a-b)d OR f=0PRINT mEND繼續(xù)繼續(xù)是是是是否否f(a) f(m)0?程序框圖程序框圖開始開始f(x)=x2-2輸入誤差輸入誤差d和初值和初值a,b2abmb=m否否a=m|a-b|d或或f(m)=0?輸出輸出m結(jié)束結(jié)束返回返回練習(xí)練習(xí)1求求S=1+1/2+1/3+1/n,編寫程序編寫程序程序程序INPUT “n=”;ni=1S=0W
11、HILE i=nS=S+1/ii=i+1WENDPRINT “S=”;SEND練習(xí)練習(xí)2.P33頁(yè)頁(yè)A組組T3.程序程序INPUT “n=”;ni=1S=0WHILE i=nS=S+(i+1)/ii=i+1WENDPRINT “S=”;SEND練習(xí)練習(xí)1程序程序n=1p=1000WHILE n=7p=p(1+0.5)n=n+1WENDPRINT pEND6.P40頁(yè)頁(yè)A組組T2. 程序框圖程序框圖程序程序INPUT a1,b1,c1,a2,b2,c2IF a10 THENu=-a2/a1b=b2+b1uc=c2+c1uy=c/bx=(c2-b2y)/a2ELSEy=c1/b1x=(c2-b2y)/a2END IFPRINT x,yEND 繼續(xù)繼續(xù)開始開始程序框圖程序框圖輸入輸入a1,b1,c1,a2,b2,c2a10?是是u=-a2/a1b=b2+b1uc=c2+c1uy=c/bx=(c2-b2y)/a2否否y=c1/b1輸出輸出x,y結(jié)束結(jié)束返回返回7.P25-26頁(yè)頁(yè)B組組T3.程序程序INPUT “a=”;aINPUT “n=”;ntn=0sn=0i=1WHILE i=ntn=tn+asn=sn+tna=a10i=i+1WENDPRINT snEND