版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、第三章 程序的簡(jiǎn)單算法設(shè)計(jì),第三章 程序的簡(jiǎn)單算法設(shè)計(jì),3.1 結(jié)構(gòu)化程序的算法設(shè)計(jì) 3.2 結(jié)構(gòu)化算法的性質(zhì)及結(jié)構(gòu) 3.3 結(jié)構(gòu)化算法的描述方法 3.4 算法設(shè)計(jì)范例,第三章 程序的簡(jiǎn)單算法設(shè)計(jì),3.1 結(jié)構(gòu)化程序的算法設(shè)計(jì) 3.2 結(jié)構(gòu)化算法的性質(zhì)及結(jié)構(gòu) 3.3 結(jié)構(gòu)化算法的描述方法 3.4 算法設(shè)計(jì)范例,問題1 你理解的算法是什么?平時(shí)你有沒有使用過算法?,算法: 解決問題的方法和要遵循的步驟。 算法描述了程序要執(zhí)行的操作及操作的步驟順序。 程序的功能是通過算法來描述的。,C語言程序是一種結(jié)構(gòu)化的程序。 結(jié)構(gòu)化程序: 問題可以分解成相互獨(dú)立的幾個(gè)部分。 每個(gè)獨(dú)立部分可以通過簡(jiǎn)單的語句或結(jié)
2、構(gòu)來實(shí)現(xiàn)。 分問題解的過程就是算法設(shè)計(jì)的過程。 重點(diǎn):掌握分析問題、解決問題的方法。,例1 要求從鍵盤輸入3個(gè)數(shù),找出其中最小的那個(gè)數(shù),將其輸出到屏幕。請(qǐng)給出解決這個(gè)問題的算法。,分析:程序?qū)τ趶逆I盤輸入的3個(gè)數(shù)必須用3個(gè)變量來保存,分別為a,b,c代表輸入的3個(gè)數(shù),另外,還需要一個(gè)變量min來保存最小的那個(gè)數(shù)。 1.先比較a和b的值,把數(shù)值小的放入min中; 2.再將min與c比較,又把數(shù)值小的放入min中。 3.經(jīng)過兩次比較,min中已存放的是a,b,c 3個(gè)數(shù)中最小的數(shù)。把min的值輸出就是所需結(jié)果。,算法步驟: 1輸入3個(gè)數(shù),其值分別賦給3個(gè)變量a,b,c; 2把a(bǔ)與b中較小的那個(gè)數(shù)放
3、入變量min中; 3把c與min中較小的那個(gè)數(shù)放入變量min中; 4輸出最后結(jié)果min的值。 改進(jìn)上面的算法描述,將第2步和第3步的算法具體化。 1輸入三個(gè)數(shù),其值分別賦給三個(gè)變量a,b,c; 2比較a與b的值,如果ab,則min=a;否則min=b; 3比較c與min的值,如果cmin,則min=c; 4輸出最后結(jié)果min的值。 通過算法描述的步驟,可以很方便地用程序語言來實(shí)現(xiàn)。 。,第三章 程序的簡(jiǎn)單算法設(shè)計(jì),3.1 結(jié)構(gòu)化程序的算法設(shè)計(jì) 3.2 結(jié)構(gòu)化算法的性質(zhì)及結(jié)構(gòu) 3.3 結(jié)構(gòu)化算法的描述方法 3.4 算法設(shè)計(jì)范例,一、結(jié)構(gòu)化算法性質(zhì),1. 算法名稱 給算法命名,是為了方便算法的描述
4、,在C語言中,算法的名字通常就是函數(shù)名。 2輸入 算法應(yīng)有輸入的數(shù)據(jù)或初始條件。 3輸出 算法通常會(huì)有一個(gè)或多個(gè)輸出,是對(duì)輸入數(shù)據(jù)加工后的結(jié)果。 4有效性 算法的每一步都是可執(zhí)行的,可通過人工計(jì)算的。 5正確性 算法的結(jié)果必須是正確的,可驗(yàn)證的。 6有限性 任何算法必須在執(zhí)行有限條指令后結(jié)束。,二、結(jié)構(gòu)化算法的結(jié)構(gòu),在C語言算法的主要結(jié)構(gòu)有如下3種。 1順序結(jié)構(gòu) 順序結(jié)構(gòu)的特點(diǎn):程序在執(zhí)行過程中是按語句的先后順序來執(zhí)行的,每一條語句都代表著一個(gè)功能, 2分支結(jié)構(gòu) 分支結(jié)構(gòu)的特點(diǎn):程序在執(zhí)行過程中,會(huì)根據(jù)條件的不同有選擇的執(zhí)行不同的功能。 3循環(huán)結(jié)構(gòu) 循環(huán)結(jié)構(gòu)的特點(diǎn):程序在執(zhí)行過程中,在一定的時(shí)
5、間段內(nèi)或一定的條件下,重復(fù)地執(zhí)行某個(gè)功能,直到時(shí)間已到或條件不再滿足 。,第三章 程序的簡(jiǎn)單算法設(shè)計(jì),3.1 結(jié)構(gòu)化程序的算法設(shè)計(jì) 3.2 結(jié)構(gòu)化算法的性質(zhì)及結(jié)構(gòu) 3.3 結(jié)構(gòu)化算法的描述方法 3.4 算法設(shè)計(jì)范例,流程圖 流程圖是一種算法的形象表示。 流程圖是由流程線和幾何圖形框連接而成的。 算法流程圖的符號(hào)采用美國國家標(biāo)準(zhǔn)化協(xié)會(huì)(ANSI)規(guī)定的一些常用符號(hào):,流程線,算法流程圖的3種基本結(jié)構(gòu): 順序結(jié)構(gòu)、分支結(jié)構(gòu)、循環(huán)結(jié)構(gòu) 1.順序結(jié)構(gòu) 順序結(jié)構(gòu)是一種簡(jiǎn)單的線性結(jié)構(gòu),根據(jù)流程線所示的方向,按順序執(zhí)行各矩形框的指令。 基本流程圖:,注: 指令A(yù)、指令B、指令C可以是一條或多條指令。 執(zhí)行順
6、序:ABC,2.分支結(jié)構(gòu) 分支結(jié)構(gòu)要對(duì)給定的條件進(jìn)行判斷,看是否滿足給定的條件,根據(jù)條件結(jié)果的真假而分別執(zhí)行不同的執(zhí)行框。 基本流程圖有兩種:,注:(1) 虛線框表示可將分支結(jié)構(gòu)看成一個(gè)矩形框。 (2)指令A(yù)、指令B可以是一條或多條指令,也可以是分支結(jié)構(gòu)。,3.循環(huán)結(jié)構(gòu) 分支結(jié)構(gòu)是在條件為真的情況下,重復(fù)執(zhí)行某個(gè)執(zhí)行框中的內(nèi)容。 基本流程圖有兩種:,注:(1) 虛線框表示可將循環(huán)結(jié)構(gòu)看成一個(gè)矩形框。 (2) 指令A(yù)稱為循環(huán)體,可以是一條或多條指令,也可以是其他分支或循環(huán)結(jié)構(gòu)。 (3) do_while結(jié)構(gòu)可以轉(zhuǎn)化成while結(jié)構(gòu)。,循環(huán)結(jié)構(gòu)的特點(diǎn): 在循環(huán)體指令A(yù)中必須要有對(duì)條件的值進(jìn)行修改的
7、語句,使得經(jīng)過有限次循環(huán)后,循環(huán)一定能結(jié)束。 while型循環(huán)中循環(huán)體可能一次都不執(zhí)行,而do_while型循環(huán)則至少執(zhí)行一次循環(huán)。 do_while型循環(huán)可以轉(zhuǎn)化成為while型循環(huán)結(jié)構(gòu),但while型循環(huán)不一定能轉(zhuǎn)化為do_while型循環(huán)。,例2 要求從鍵盤輸入3個(gè)數(shù),找出其中最小的那個(gè)數(shù),將其輸出到屏幕。,例3:幾何級(jí)數(shù)求和:sum=1+2+3+4+5+(n1)+n。請(qǐng)寫出該問題的算法和流程圖。,算法描述: 第1步:給定一個(gè)大于0的正整數(shù)n的值; 第2步:定義一個(gè)整型變量i,設(shè)其初始值1; 第3步:定義整型變量sum,其初始值設(shè)置為0; 第4步:如果i小于等于n,則轉(zhuǎn)第5步,否則執(zhí)行第
8、8步; 第5步:將sum的值加上i的值后,重新賦值給sum; 第6步:將i的值加1,重新賦值給i; 第7步:執(zhí)行第4步; 第8步:輸出sum 的值; 第9步:算法結(jié)束。,偽代碼部分在這里不做講述,請(qǐng)大家下去自學(xué)。 。,第三章 程序的簡(jiǎn)單算法設(shè)計(jì),3.1 結(jié)構(gòu)化程序的算法設(shè)計(jì) 3.2 結(jié)構(gòu)化算法的性質(zhì)及結(jié)構(gòu) 3.3 結(jié)構(gòu)化算法的描述方法 3.4 算法設(shè)計(jì)范例,例4 對(duì)一個(gè)大于或等于3的正整數(shù),判斷它是不是一個(gè)素?cái)?shù)。,分析:素?cái)?shù)是指除了1和它本身之外,不能被其他任何整數(shù)整除的數(shù)。 判斷n是否是素?cái)?shù)的方法:n作為被除數(shù),將2到(n-1)各個(gè)整數(shù)先后作為除數(shù),如果都不能被整除,則n為素?cái)?shù)。 注:實(shí)際上不必用2到(n-1)的整數(shù)除,只要2到n/2,甚至2到 都可以,這樣可以減少運(yùn)算次數(shù),提高運(yùn)算效率。,算法步驟: 1、輸入n的值; 2、2i(i作為除數(shù)); 3、n除以i,的
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 運(yùn)籌學(xué)課程設(shè)計(jì)結(jié)論
- 2024年幼兒語言區(qū)教案
- 除塵器安裝施工方案圖
- 二零二五版建筑勞務(wù)分包合同4篇
- 2025年食用油行業(yè)數(shù)據(jù)服務(wù)與市場(chǎng)分析合同3篇
- 年度空調(diào)濾清器競(jìng)爭(zhēng)策略分析報(bào)告
- 2024年心理咨詢師題庫附參考答案ab卷 (一)
- 2024美容院美容產(chǎn)品網(wǎng)絡(luò)營銷合同范本2篇
- 治安監(jiān)控施工方案
- 環(huán)保設(shè)備與設(shè)計(jì)課程設(shè)計(jì)
- 學(xué)校對(duì)口幫扶工作計(jì)劃
- 2014新PEP小學(xué)英語六年級(jí)上冊(cè)-Unit5-What-does-he-do復(fù)習(xí)課件
- 礦山隱蔽致災(zāi)普查治理報(bào)告
- 副總經(jīng)理招聘面試題與參考回答(某大型國企)2024年
- PDCA循環(huán)提高護(hù)士培訓(xùn)率
- 《獅子王》電影賞析
- 河北省保定市定州市2025屆高二數(shù)學(xué)第一學(xué)期期末監(jiān)測(cè)試題含解析
- 中醫(yī)護(hù)理人文
- 2024-2030年中國路亞用品市場(chǎng)銷售模式與競(jìng)爭(zhēng)前景分析報(bào)告
- 貨物運(yùn)輸安全培訓(xùn)課件
- 前端年終述職報(bào)告
評(píng)論
0/150
提交評(píng)論