循環(huán)語句課件8_第1頁
循環(huán)語句課件8_第2頁
循環(huán)語句課件8_第3頁
循環(huán)語句課件8_第4頁
循環(huán)語句課件8_第5頁
已閱讀5頁,還剩22頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、1.2.3算法初步溫故而知新1、順序結(jié)構(gòu)常用的程序語言和格式2、條件結(jié)構(gòu)常用的程序語言和格式輸入語句輸入語句 INPUT “提示文字提示文字”;變量列表;變量列表輸出語句輸出語句 PRINT “提示文字提示文字”;變量列表;變量列表賦值語句賦值語句 變量變量=表達式表達式(1)IF 條件成立條件成立 THEN 語句語句1ELSE 語句語句2END IF(2)IF 條件成立條件成立 THEN 語句語句END IF例5 編寫程序,輸入一元二次方程算法描述:S1:輸入a,b,cS2:計算判別式S3:如果0有兩不同實根, =0有兩個相同實根, = 0 THENx1 = p + qx2 = p - qI

2、F x1 = x2 THENPRINT “只有一個實根:只有一個實根:”;x1=x1ELSEPRINT “有兩個實根:有兩個實根:”;“x1=”;x1,”x2=”;x2END IFELSEPRINT “沒有實根沒有實根”END IFEND例例6 6 編寫程序編寫程序, ,使得任意輸入使得任意輸入3 3個整數(shù)按大到小的順序輸出。個整數(shù)按大到小的順序輸出。算法分析:算法分析:算法思想:算法思想:3 3個數(shù)兩兩比較,確定大小。按個數(shù)兩兩比較,確定大小。按a a、b b、c c輸入,要按輸入,要按a a、b b、c c輸出,關(guān)鍵要找到最大值,將它賦值給輸出,關(guān)鍵要找到最大值,將它賦值給a a,中值賦給

3、,中值賦給b b,最小值賦給,最小值賦給c c。第一步第一步 輸入輸入3 3個整數(shù)個整數(shù)a a、b b、c c第二步第二步 將將a a與與b b比較,并把小者賦給比較,并把小者賦給b b,大的賦給,大的賦給a a;第三步第三步 將將a a與與c c比較,并把小者賦給比較,并把小者賦給c c,大的賦給,大的賦給a a第四步第四步 將將b b與與c c比較,并把小者賦給比較,并把小者賦給c c,大的賦給,大的賦給b b第五步第五步 按順序輸出按順序輸出a a,b b,c cINPUT “a,b,c=”;a,b,cIF b a THEN t = a a = b b = tEND IFIF c a T

4、HEN t = a a = c c = tEND IFIF c b THEN t = b b = c c = tEND IFPRINT a,b,cEND相應(yīng)的QBASIC程序:開始t=a,a=b,b=tt=a,a=c,c=tt=b,b=c,c=t輸入a,b,c輸入a,b,cba?ca?cb?結(jié)束是是是是否否否否是是否否對應(yīng)的流程圖練習(xí)鞏固開始開始輸入輸入a a,b b,c ca+ba+bc c,a+c a+c b b,b+cb+c a a是否同時成立?是否同時成立?存在這樣的存在這樣的三角形三角形不存在這樣不存在這樣的三角形的三角形結(jié)束結(jié)束否否是是(1) 該程序框圖所表示的算法是作用是什么?并

5、根據(jù)程序框圖寫出相應(yīng)的程序。三中天地三中天地循環(huán)結(jié)構(gòu)的定義:循環(huán)結(jié)構(gòu)的定義: 在一些算法中,從某處開始,按照一定條件,反復(fù)執(zhí)行在一些算法中,從某處開始,按照一定條件,反復(fù)執(zhí)行某一處理步驟的情況,這就是循環(huán)結(jié)構(gòu)。某一處理步驟的情況,這就是循環(huán)結(jié)構(gòu)。 反復(fù)執(zhí)行的處理步驟稱為循環(huán)體。反復(fù)執(zhí)行的處理步驟稱為循環(huán)體。兩種循環(huán)結(jié)構(gòu)有什么差別?兩種循環(huán)結(jié)構(gòu)有什么差別?AP成立成立不成立不成立While(當(dāng)型)循環(huán)(當(dāng)型)循環(huán) 成立成立AP不成立不成立Until(直到型)循環(huán))循環(huán) 成立成立AP不成立不成立AP成立成立不成立不成立While(當(dāng)型)循環(huán))循環(huán)Until(直到型)循環(huán))循環(huán)兩種循環(huán)結(jié)構(gòu)有什么差別

6、?兩種循環(huán)結(jié)構(gòu)有什么差別?先執(zhí)行循環(huán)體,然后再檢查條先執(zhí)行循環(huán)體,然后再檢查條件是否成立,如果不成立就重件是否成立,如果不成立就重復(fù)執(zhí)行循環(huán)體,直到條件成立復(fù)執(zhí)行循環(huán)體,直到條件成立退出循環(huán)。退出循環(huán)。先判斷指定的條件是否為真,先判斷指定的條件是否為真,若條件為真,執(zhí)行循環(huán)條件,若條件為真,執(zhí)行循環(huán)條件,條件為假時退出循環(huán)。條件為假時退出循環(huán)。先執(zhí)行先執(zhí)行 后判斷后判斷先判斷先判斷 后執(zhí)行后執(zhí)行循環(huán)結(jié)構(gòu)循環(huán)結(jié)構(gòu)AP成立成立不成立不成立While(當(dāng)型)循環(huán)(當(dāng)型)循環(huán)算法中的循環(huán)結(jié)構(gòu)是由循環(huán)語句來實現(xiàn)的。算法中的循環(huán)結(jié)構(gòu)是由循環(huán)語句來實現(xiàn)的。 成立成立AP不成立不成立Until(直到型)循環(huán))

7、循環(huán)兩種循環(huán)語句:兩種循環(huán)語句:WHILE 條件條件 循環(huán)體循環(huán)體WEND(1)WHILE語句的一般格式:語句的一般格式: 當(dāng)計算機遇到當(dāng)計算機遇到WHILE語句時,先判斷條件的真假,如語句時,先判斷條件的真假,如果條件符合,就執(zhí)行果條件符合,就執(zhí)行WHILE與與WEND之間的循環(huán)體;然之間的循環(huán)體;然后再檢查上述條件,如果條件仍符合,再次執(zhí)行循環(huán)體,后再檢查上述條件,如果條件仍符合,再次執(zhí)行循環(huán)體,這個過程反復(fù)進行,直到某一次條件不符合為止這個過程反復(fù)進行,直到某一次條件不符合為止.這時,這時,計算機將不執(zhí)行循環(huán)體,直接跳到計算機將不執(zhí)行循環(huán)體,直接跳到WEND語句后,接著執(zhí)語句后,接著執(zhí)行

8、行WEND之后的語句之后的語句.也叫也叫“前測試型前測試型”循環(huán)循環(huán)循環(huán)體循環(huán)體滿足條件?滿足條件?是是否否While(當(dāng)型)循環(huán)(當(dāng)型)循環(huán)練習(xí)、根據(jù)練習(xí)、根據(jù)1.1.2例例3中的程序框圖,編寫中的程序框圖,編寫 計算機程序來計算計算機程序來計算1+2+100的值的值i=100?i=1開始輸出sum結(jié)束否是sum=0i=i+1sum=sum+ii=1sum=0WHILE i100PRINT sumENDi=1開始開始結(jié)束結(jié)束sum=0輸出輸出sumi=i+1sum=sum+ii100?否否是是程序框圖:程序框圖:程序:程序:思考思考3 3:圖圖1.1-2,用按照算法執(zhí)行的順序,把程序,用按照

9、算法執(zhí)行的順序,把程序框圖中的內(nèi)容轉(zhuǎn)化為相應(yīng)的程序語句??驁D中的內(nèi)容轉(zhuǎn)化為相應(yīng)的程序語句。開始輸入nflag=1n2?d=2是d整除n?flag=0d2d=2輸入nd2 THEN d=2 WHILE d=n-1 AND flag=1 IF n MOD d=0 THEN flag=0 ELSE d=d+1 END IF WEND END IF IF flag=1 THEN PRINT n;是質(zhì)數(shù)是質(zhì)數(shù). ELSE PRINT n;不是質(zhì)數(shù)不是質(zhì)數(shù). END IF END思考題:判斷質(zhì)數(shù)的思考題:判斷質(zhì)數(shù)的算法是否還有所改進?算法是否還有所改進?練習(xí)練習(xí) P231.根據(jù)你畫出的用二分法求方程根據(jù)你

10、畫出的用二分法求方程x2-2=0的的 近似根的程序框圖,寫出相應(yīng)的程序語句近似根的程序框圖,寫出相應(yīng)的程序語句。2.編寫程序,計算函數(shù)編寫程序,計算函數(shù)f(x)=x2-3x+5當(dāng)當(dāng)x=1,2, 3,,20時的函數(shù)值。時的函數(shù)值。3.編寫一個程序,輸入正整數(shù)編寫一個程序,輸入正整數(shù)n,計算它的,計算它的 階乘階乘n!(n!=n*(n-1)*3*2*1)練習(xí)練習(xí) P231.根據(jù)你畫出的用二分根據(jù)你畫出的用二分 法求方程法求方程x2-2=0的的 近似根的程序框圖,近似根的程序框圖, 寫出相應(yīng)的程序語句寫出相應(yīng)的程序語句。開始x1=1,x2=2c=0.005輸出x122xxx211()2f xx2(

11、)2f xxf(x1)f(x)0?否是x1=xx2=x|x1-x2|c?是否結(jié)束f(x)=0?否是練習(xí)練習(xí) P23開始x1=1,x2=2c=0.005輸出x122xxx211()2f xx2( )2f xxf(x1)f(x)0?否是x1=xx2=x|x1-x2|c?是否結(jié)束f(x)=0?否是x1=1x2=2c=0.005DO X=(X1+X2)/2 f(x1)=x12-2 f(x)=x2-2 IF f(x)=0 THEN PRINT 方程根為:方程根為:;x ELSE IF f(x1)*f(x)0 THEN x2=x ELSE x1=x END IF END IFLOOP UNTIL ABS(

12、x1-x2)=cPRINT 方程的近似根為:方程的近似根為:;xEND練習(xí)練習(xí) P232.編寫程序,計算函數(shù)編寫程序,計算函數(shù)f(x)=x2-3x+5當(dāng)當(dāng)x=1,2, 3,,20時的函數(shù)值。時的函數(shù)值。x=1WHILE xnPRINT 這個數(shù)的階乘為:這個數(shù)的階乘為:;tEND練習(xí)鞏固1 1、設(shè)計一個算法框圖:逐個輸出、設(shè)計一個算法框圖:逐個輸出1 12 2,2 22 2,3 32 2,n n2 2,并,并寫出相應(yīng)的寫出相應(yīng)的QBASICQBASIC程序。程序。INPUT ni = 0WHILE i = nEND結(jié)束i=0開始i = i+1 : t=i2i=n?否是PRINT tINPUT n2、設(shè)計一個算法框圖:求滿足12 3 n10000的最小正整數(shù)n,并寫出相應(yīng)的QBASIC程序。結(jié)束輸出ii=0,Sum=1開始i = i + 1Sum=Sum*iSum10000?否是i = 0sum = 0DOi =

溫馨提示

  • 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論