版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、1 2 算法:算法: 算法是解決問題的步驟。算法是解決問題的步驟。 計算機算法的特征:計算機算法的特征: 可執(zhí)行性可執(zhí)行性 確定性確定性 有窮性有窮性 可輸入輸出信息可輸入輸出信息 (1)(1)算法是程序設(shè)計學(xué)習(xí)的重點。算法是程序設(shè)計學(xué)習(xí)的重點。 3 流程圖:流程圖: 流程圖是圖形化的表示方法,比較直觀,基本流程圖是圖形化的表示方法,比較直觀,基本 組成元件包括矩形框、菱形框、箭頭線等。其組成元件包括矩形框、菱形框、箭頭線等。其 中矩形框表示要執(zhí)行的指令,在框內(nèi)標注指令中矩形框表示要執(zhí)行的指令,在框內(nèi)標注指令 內(nèi)容;菱形框表示要判斷其中表達式的值是真內(nèi)容;菱形框表示要判斷其中表達式的值是真 還
2、是假;箭頭線則標示指令的流程方向。還是假;箭頭線則標示指令的流程方向。 偽碼:偽碼: 偽碼是介于自然語言和程序設(shè)計語言之間的一偽碼是介于自然語言和程序設(shè)計語言之間的一 種類自然語言的表示方法,書寫形式自由,容種類自然語言的表示方法,書寫形式自由,容 易轉(zhuǎn)換為程序。易轉(zhuǎn)換為程序。 4 3 循循 環(huán)環(huán) 結(jié)結(jié) 構(gòu)構(gòu) 1 順順 序序 結(jié)結(jié) 構(gòu)構(gòu) 2 分分 支支 結(jié)結(jié) 構(gòu)構(gòu) 算法的基本結(jié)構(gòu):算法的基本結(jié)構(gòu): 對算法的理論研究和實踐表明,任何算法的描述對算法的理論研究和實踐表明,任何算法的描述 都可以分解為三種基本結(jié)構(gòu)或它們的組合,這三都可以分解為三種基本結(jié)構(gòu)或它們的組合,這三 種基本結(jié)構(gòu)是種基本結(jié)構(gòu)是順
3、序結(jié)構(gòu)順序結(jié)構(gòu)、分支結(jié)構(gòu)分支結(jié)構(gòu)和和循環(huán)結(jié)構(gòu)循環(huán)結(jié)構(gòu)。 5 語句1 語句2 圖圖2.1 順序結(jié)構(gòu)流程圖順序結(jié)構(gòu)流程圖 6 7 i+; -j; abs(x); coutij; sum=a+b; a=b=c; i=1,j=2; b*=c; 8 例如:例如: if(x=0) couta; coutb; 9 for (m = 0; mb) t=a;a=b;b=t; 20 a=a+b;b=a-b;a=a-b; 21 true 表達表達 式式 語句語句1 false 語句語句2 圖圖2.7 雙分支雙分支if語句流程圖語句流程圖 22 #include using namespace std; int ma
4、in() int year; coutyear; if(year%4=0 else coutyear年不是閏年年不是閏年0) if(y0) coutx與與y均大于均大于0; else coutx大于大于0,y小于等于小于等于0; v注意:注意: 如何使之與如何使之與 第一個第一個if配配 對?對? 28 29 注意:表達式只能是整型、注意:表達式只能是整型、 字符型或枚舉型字符型或枚舉型 注意:常量表達式注意:常量表達式 1n的值必須各不的值必須各不 相同。相同。 30 有有 無無 無無false 有有 無無 false true 計算表達式的值計算表達式的值 常量表達式常量表達式1語句語句1
5、break 常量表達式常量表達式2語句語句2 break 無無 有有 false 常量表達式常量表達式n true 語句語句nbreak default語句語句n+1 true有有 圖圖2.12 switch語句執(zhí)行流程語句執(zhí)行流程 31 32 共用同一個語句組共用同一個語句組 思考:若省去思考:若省去break語句,情況語句,情況 會怎樣?會怎樣? 33 2.3.1 while 語句語句 while (表達式表達式) 語句語句 false true 表達表達 式式 語句語句 圖圖2.14 while語句流程圖語句流程圖 循環(huán)條件,循環(huán)條件, 其值為其值為true ( 非( 非 0 ) 、)
6、、 false(0) 循環(huán)體循環(huán)體 34 【例【例2.8】求求 1+2+3+100 #include using namespace std; int main() int i(1),sum(0); /定義變量,初始化定義變量,初始化 while(i=100) /構(gòu)造循環(huán)構(gòu)造循環(huán) sum+=i; / 循環(huán)體,多次執(zhí)行循環(huán)體,多次執(zhí)行 i+; coutsum=sumendl; return 0; 0 1 1 2 真真 3 3 真真 6 4 真真 10 5 真真真真 100 真真 101 真真 5050 假假 sum5050 0 sum 1 i 1 2 3 3 6 4100 5050 101 循環(huán)
7、結(jié)束循環(huán)結(jié)束! 實際上是將實際上是將i不停地累加到一起不停地累加到一起 35 5 1 3 1 2 1 1 n #include using namespace std; int main() int i=0; double s=0; while(s5) s+=double(1)/+i; coutn=iendl; return 0; 36 false true 表達表達 式式 語句語句 圖圖2.15 do-while語句流程圖語句流程圖 37 int i(1),sum(0); while(i=100) sum+=i; i+; 循環(huán)體和條件表達式都相同循環(huán)體和條件表達式都相同 38 注意:注意:
8、dowhile首先執(zhí)行循環(huán)體,然后再判斷表達式,至首先執(zhí)行循環(huán)體,然后再判斷表達式,至 少執(zhí)行一次循環(huán)體。少執(zhí)行一次循環(huán)體。當?shù)谝淮窝h(huán)表達式的值為真時,當?shù)谝淮窝h(huán)表達式的值為真時, while與與dowhile的結(jié)果完全一樣,否則結(jié)果不相同。的結(jié)果完全一樣,否則結(jié)果不相同。 39 40 for(for(表達式表達式1;1;表達式表達式2;2;表達式表達式3 3 ) ) 表達式表達式2 執(zhí)行執(zhí)行 非非0 0 0 0 退出退出 循環(huán)循環(huán) 表達式表達式1 表達式表達式3 表達式表達式1; while(表達式表達式2) ; 表達式表達式3; 2.3.3 for 語句語句 41 42 43 思考思考
9、 該小球反彈多少該小球反彈多少 次才能靜止下來?次才能靜止下來? 44 for( ;i=100) break ; / break語句用于跳出循環(huán)語句用于跳出循環(huán) int sum=0; for(int i=1; i=100; ) / 省略表達式省略表達式3 sum+=i+; / 在循環(huán)體中對循環(huán)變量在循環(huán)體中對循環(huán)變量i遞增遞增 45 三個表達式都可以是任何類型的三個表達式都可以是任何類型的C+表達式。表達式。 int i,sum; for(i=1,sum=0;i=100;sum+=i,i+); 表達式表達式1可以是變量定義語句,即循環(huán)控制變量可在其中定義??梢允亲兞慷x語句,即循環(huán)控制變量可在
10、其中定義。 int sum=0; for(int i=1;i=100;i+) sum+=i; 46 for() while() do while(); 47 圖2.19 九九乘法表運行界面 48 true false i=1 i=9 ? true false j=1 j=9 ? 顯示顯示i*j表達式表達式 j+ i+ #include using namespace std; int main() coutttt九九 九九 乘乘 法法 表表 endl; coutttt- endl; for(int i=1;i=9;i+) for(int j=1;j=9;j+) coutij=i*jt; cou
11、tendl; return 0; 49 圖2.21 下三角的九九乘法表 圖2.22 上三角的九九乘法表 思考:思考:打印上三角或下三角程序如何改動?打印上三角或下三角程序如何改動? 50 51 break; 用于下列兩種情況:用于下列兩種情況: 1、在開關(guān)語句中,其功能是退出開關(guān)語句,、在開關(guān)語句中,其功能是退出開關(guān)語句, 執(zhí)行其后的語句;執(zhí)行其后的語句; 2、在循環(huán)體中,其功能是用來退出、在循環(huán)體中,其功能是用來退出該重循環(huán)該重循環(huán) 52 53 54 55 while(i=100) break; coutsumendl; while(in (2) m除以除以n得余數(shù)得余數(shù)r (3) 若若r=
12、0,則,則n為最大公約數(shù),結(jié)束;否則執(zhí)行為最大公約數(shù),結(jié)束;否則執(zhí)行(4) (4) mn,n r,再重復(fù)執(zhí)行,再重復(fù)執(zhí)行(2) m n r 12 5 2 5 2 1 2 1 0 輾轉(zhuǎn)相除法輾轉(zhuǎn)相除法 while (r=m % n)!=0) m=n;n=r; coutn; 60 61 62 63 當?shù)诋數(shù)趎 n項的絕對值小于項的絕對值小于1010-6 -6時結(jié)束。 時結(jié)束。 分析:關(guān)鍵是找部分級數(shù)和的分析:關(guān)鍵是找部分級數(shù)和的通項通項: ),(,nt nn x t nn 7531 ) 2)(1( 2 2 64 65 int i,j,k,n; cout水仙花數(shù):水仙花數(shù):; for(i=1;i=9;i+) for(j=0;j=9;j+) for(k=0;k=9;k+) m=i*i*i+j*j*j+k*k*k; n=100*i+10*j+k; if(m=n) coutm ; 66 67 1003/35 100 zyx zyx 采用試湊法采用試湊法(也稱為窮舉法或枚舉法也稱為窮舉法或枚舉法)來實現(xiàn),即將可能出現(xiàn)來實現(xiàn),即將可能出現(xiàn) 的各種情況一一羅列測試,判斷是否滿足條件,采用循環(huán)結(jié)構(gòu)的各種情況一一羅列測試,判斷是否滿足條件,采用循環(huán)結(jié)構(gòu) 來實現(xiàn)。來實現(xiàn)。 68 69 圖2.29 牛頓迭代法示意圖 f(x1) x3 y 0 C B A x
溫馨提示
- 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)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024公司基地出租合同范文
- 2024工程勞務(wù)合同范本油漆工程合同范本2
- 2024送貨工人勞動合同勞動合同糾紛咨詢
- 西安電子科技大學(xué)《變形與斷裂》2023-2024學(xué)年第一學(xué)期期末試卷
- 家長會家長教育孩子
- 2024《建設(shè)工程造價咨詢合同》
- 醫(yī)藥制造業(yè)的創(chuàng)新創(chuàng)業(yè)與風(fēng)險投資考核試卷
- 化工企業(yè)的人力資源管理考核試卷
- 2024廚房設(shè)備采購合同
- 齊一附屬醫(yī)院一病一品項目
- 經(jīng)濟思想史知識點總匯
- 護理安全質(zhì)控總結(jié)分析報告
- 2024年核苷酸二鈉(I+G)行業(yè)分析報告及未來發(fā)展趨勢
- 養(yǎng)老行業(yè)發(fā)展趨勢與前景展望
- 遠程遙控設(shè)備操作安全保障
- 搶救記錄死亡記錄和死亡病例討論記錄課件
- 機加工節(jié)拍計算表
- 年產(chǎn)15萬噸發(fā)酵豆粕項目可行性研究報告
- 幼兒園公開課:大班語言《相反國》課件(優(yōu)化版)
- VSD護理完整版本
- 中小學(xué)勞動教育在跨學(xué)科融合中的作用探究
評論
0/150
提交評論