【正文】
按從大到小的順序輸出。a, b, c d=b*b4*a*c p=b/(2*a) q=SQR(ABS(d))/(2*a) IF d=0 THEN x1=p+q x2=pq IF x1=x2 THEN PRINT “One real root:”。a, b, c IF ba THEN t=a a=b b=t END IF IF ca THEN t=a a=c c=t END IF IF cb THEN t=b b=c c=t END IF PRINT a, b, c END 好。 程序: INPUT “請輸入旅客行李的重量( kg) x=”; x IF x0 AND x=20 THEN y=*x ELSE y=*20+*(x20) END IF PRINT “該旅客行李托運(yùn)費(fèi)為:”; y END 【課堂精練】 1. 20P 練習(xí) 2.(題略) 分析:如果有兩個或是兩個以上的并列條件時,用“ AND”把它們連接起來。即 WHILE語句和 UNTIL語句。這時,計算機(jī)將不執(zhí)行循環(huán)體,直接跳到 WEND語句后,接著執(zhí)行 WEND之后的語句。 【例題精析】 〖例 3〗:編寫程序,計算自然數(shù) 1+2+3+?? +99+100的和。 程序: WHILE 型: UNTIL型: DO 循環(huán)體 LOOP UNTIL 條件 滿足條件? 循環(huán)體 是 否 i=1 sum=0 WHLIE i=100 sum=sum+i i=i+1 WEND PRINT sum END i=1 sum=0 DO sum=sum+i i=i+1 LOOP UNTIL i100 PRINT sum END 〖例 4〗:根據(jù) ,將程序框圖轉(zhuǎn)化為程序語句。 分析:從 1997 年底開始,經(jīng)過 x年后生產(chǎn)總值為 300( 1+5﹪) x,可將 1997 年生產(chǎn)總值賦給變量 a,然后對其進(jìn)行累乘,用 n作為計數(shù) 變量進(jìn)行循環(huán),直到 a的值超過 400萬元為止?!? END IF END IF END 開始 a400? a=a*p a=300,p=,n=1997 n=n+1 輸出 n 結(jié)束 否 是 a=300 p= n=1997 DO a=a*p n=n+1 LOOP UNTIL a400 PRINT n END 【課堂精練】 1. 23P 練習(xí) 2. 3(題略) 參考答案: :程序: X=1 WHILE X< =20 Y=X^23*X+5 X=X+1 PRINT “ Y=”; Y WEND END 3.解:程序: INPUT “ 請輸入正整數(shù) n=” ; n a=1 i=1 WHILE i=n a=a*i i=i+1 WEND PRINT “n!=” ; a END 【課堂小結(jié)】 本節(jié)課主要學(xué)習(xí)了條件語句和循環(huán)語句的結(jié)構(gòu)、特點(diǎn)、作用以及用法,并懂得利用解決一些簡單問題。 條件語句一般用在需要對條件進(jìn)行判斷的算法設(shè)計中,如判斷一個數(shù)的正負(fù),確定兩個數(shù)的大小等問題,還有求分段函數(shù)的函數(shù)值等,往往要用條件語句,有時甚至要用到條件語句的嵌套。(要求所設(shè)計問題利用條件語句或循環(huán)語句) 。如累加求和,累乘求積等問題中常用到。有些復(fù)雜問題可用兩層甚至多層循環(huán)解決。n flag=1 IF n2 THEN d=2 WHILE d=n1 AND flag=1 IF n MOD d=0 THEN flag=0 ELSE d=d+1 END IF WEND ELSE IF flag=1 THEN PRINT n;“是質(zhì)數(shù)。 程序: 〖思考〗:上述判定質(zhì)數(shù)的 算法是否還能有所改進(jìn)?(讓學(xué)生課后思考。我們可以用 WHILE型 語句,也可以用 UNTIL型語句。其對應(yīng)的程序結(jié)構(gòu)框圖為:(如上右圖) ( 2) UNTIL語句的一般格式是: 其對應(yīng)的程序結(jié)構(gòu)框圖為:(如上右圖)