版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
補充簡單算法設計程序的簡單算法制定本章主要內(nèi)容1.結構化程序的算法設計2.結構化算法的性質(zhì)及結構3.結構化算法的描述方法4.結構化算法流程圖思考如何編程實現(xiàn)以下各題【例1】要求從鍵盤輸入3個數(shù),找出其中最小的那個數(shù),將其輸出到屏幕?!纠?】從鍵盤輸入兩個變量的值a、b,請按輸入值從小到大的順序將這兩個變量的值輸出到屏幕?!纠?】幾何級數(shù)求和:sum=1+2+3+4+5…+(n?1)+n。程序的簡單算法制定算法:解決問題的方法和要遵循的步驟。算法描述了程序要執(zhí)行的操作及操作的步驟順序。程序的功能是通過算法來描述的。C語言程序是一種結構化的程序。結構化程序:問題可以分解成相互獨立的幾個部分。每個獨立部分可以通過簡單的語句或結構來實現(xiàn)。分問題解的過程就是算法設計的過程。重點:掌握分析問題、解決問題的方法。
1.結構化程序的算法設計【例1】要求從鍵盤輸入3個數(shù),找出其中最小的那個數(shù),將其輸出到屏幕。請給出解決這個問題的算法。分析:程序對于從鍵盤輸入的3個數(shù)必須用3個變量來保存,分別用a,b,c代表輸入的3個數(shù),另外,還需要一個變量min來保存最小的那個數(shù)。1.先比較a和b的值,把數(shù)值小的放入min中;2.再將min與c比較,又把數(shù)值小的放入min中。3.經(jīng)過兩次比較,min中已存放的是a,b,c3個數(shù)中最小的數(shù)。把min的值輸出就是所需結果。算法步驟:1.輸入3個數(shù),其值分別賦給3個變量a,b,c;2.把a與b中較小的那個數(shù)放入變量min中;3.把c與min中較小的那個數(shù)放入變量min中;4.輸出最后結果min的值。改進上面的算法描述,將第2步和第3步的算法具體化。1.輸入三個數(shù),其值分別賦給三個變量a,b,c;2.比較a與b的值,如果a<b,則min=a;否則min=b;3.比較c與min的值,如果c<min,則min=c;4.輸出最后結果min的值。通過算法描述的步驟,可以很方便地用程序語言來實現(xiàn)。2.結構化算法的性質(zhì)及結構2.1結構化算法性質(zhì)1.算法名稱給算法命名,是為了方便算法的描述,在C語言中,算法的名字通常就是函數(shù)名。2.輸入算法應有輸入的數(shù)據(jù)或初始條件。3.輸出算法通常會有一個或多個輸出,是對輸入數(shù)據(jù)加工后的結果。4.有效性算法的每一步都是可執(zhí)行的,可通過人工計算的。5.正確性算法的結果必須是正確的,可驗證的。6.有限性任何算法必須在執(zhí)行有限條指令后結束。2.2結構化算法的結構在C語言算法的主要結構有如下3種。1.順序結構順序結構的特點:程序在執(zhí)行過程中是按語句的先后順序來執(zhí)行的,每一條語句都代表著一個功能,2.分支結構分支結構的特點:程序在執(zhí)行過程中,會根據(jù)條件的不同有選擇的執(zhí)行不同的功能。3.循環(huán)結構循環(huán)結構的特點:程序在執(zhí)行過程中,在一定的時間段內(nèi)或一定的條件下,重復地執(zhí)行某個功能,直到時間已到或條件不再滿足。程序設計要解決的兩個主要問題:
(1)按什么順序或步驟來執(zhí)行;(2)用什么語句來實現(xiàn)。算法設計是核心問題。提示3.結構化算法的描述方法常用的描述方法有自然語言、流程圖、偽代碼等。
3.1自然語言
用類自然語言表示算法。如:漢語、英語或其他語言。
特點:通俗易懂,簡單明了?!纠?】從鍵盤輸入兩個變量的值a、b,請按輸入值從小到大的順序將這兩個變量的值輸出到屏幕。請寫出這個問題的算法描述。算法描述:第1步:輸入變量a和b的值;第2步:比較a和b的值;如果a大于等于b,則先輸出a,再輸出b;否則,先輸出b,再輸出a;第3步:算法結束?!纠?】幾何級數(shù)求和:sum=1+2+3+4+5…+(n?1)+n。請寫出該問題的算法。算法描述:第1步:給定一個大于0的正整數(shù)n的值;第2步:定義一個整型變量i,設其初始值1;第3步:定義整型變量sum,其初始值設置為0;第4步:如果i小于等于n,則轉第5步,否則執(zhí)行第8步;第5步:將sum的值加上i的值后,重新賦值給sum;第6步:將i的值加1,重新賦值給i;第7步:執(zhí)行第4步;第8步:輸出sum的值;第9步:算法結束。思考:①該問題的其他描述。②用自然語言描述算法的缺陷。3.2流程圖流程圖是一種算法的形象表示。流程圖是由流程線和幾何圖形框連接而成的。算法流程圖的符號采用美國國家標準化協(xié)會(ANSI)規(guī)定的一些常用符號:開始框判斷框結束框執(zhí)行框數(shù)據(jù)框連接符流程線算法流程圖的3種基本結構:順序結構、分支結構、循環(huán)結構1.順序結構順序結構是一種簡單的線性結構,根據(jù)流程線所示的方向,按順序執(zhí)行各矩形框的指令。基本流程圖:注:指令A、指令B、指令C可以是一條或多條指令。執(zhí)行順序:A—B—C。2.分支結構分支結構要對給定的條件進行判斷,看是否滿足給定的條件,根據(jù)條件結果的真假而分別執(zhí)行不同的執(zhí)行框?;玖鞒虉D有兩種:注:
(1)虛線框表示可將分支結構看成一個矩形框。
(2)指令A、指令B可以是一條或多條指令,也可以是分支結構。3.循環(huán)結構分支結構是在條件為真的情況下,重復執(zhí)行某個執(zhí)行框中的內(nèi)容?;玖鞒虉D有兩種:注:(1)虛線框表示可將循環(huán)結構看成一個矩形框。
(2)指令A稱為循環(huán)體,可以是一條或多條指令,也可以是其他分支或循環(huán)結構。
(3)do_while結構可以轉化成while結構。(1)while循環(huán):(2)do_while循環(huán):循環(huán)結構的特點:①在循環(huán)體指令A中必須要有對條件的值進行修改的語句,使得經(jīng)過有限次循環(huán)后,循環(huán)一定能結束。②while型循環(huán)中循環(huán)體可能一次都不執(zhí)行,而do_while型循環(huán)則至少執(zhí)行一次循環(huán)。③do_while型循環(huán)可以轉化成為while型循環(huán)結構,但while型循環(huán)不一定能轉化為do_while型循環(huán)。關于結構化流程圖的規(guī)則:1.可分別將順序結構、分支結構、循環(huán)結構的基本流程圖看成是一個執(zhí)行框。2.任何兩個按順序的執(zhí)行框可以合并為一個執(zhí)行框。
反復運用規(guī)則1和規(guī)則2可得到結構化流程圖的最簡形式:特別提示【例4】分析下面的流程圖,是否符合結構化算法標準。運用規(guī)則【例5】將例1的算法用流程圖表示,分析其是否符合結構化的標準。從鍵盤輸入3個數(shù),找出其中最小的那個數(shù),將其輸出到屏幕。運用規(guī)則
【例6】將例2所描述的問題用算法流程圖來表示。從鍵盤輸入兩個整型變量a,b的值,按輸入值從小到大的順序輸出到屏幕。算法流程圖為:【例7】將例3所描述的問題用算法流程圖來表示。計算幾何級數(shù)的和:sum=1+2+3+4+5+…+(n?1)+n。算法流程圖為:4.算法設計范例【例8】把從鍵盤輸入的大寫字母轉換成小寫字母輸出,若為小寫字母或其他字符,則不作任何轉換直接輸出。分析:用字符變量ch來接收從鍵盤輸入的字符。大、小寫字母的ASCII碼值相差32,大寫字母A的值為65,而小寫字母a的值為97。流程圖描述的算法:【例9】已知實數(shù)a,b,計算u的值:u=(r+s)2,并將計算結果輸出到屏幕。當a<b時,r=a2?b2,
。當a≥b時,r=b2?a2,
。分析:用a,b,r,s,u分
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024雙方共建智慧城市合作協(xié)議書3篇
- 2025專業(yè)版上海市勞動合同范本
- 2024年數(shù)據(jù)中心冷卻系統(tǒng)改造項目信托貸款合同3篇
- 《礦井扇風機》課件
- 2025勞務合同與承攬合同的比較
- 2024年某環(huán)保公司與某城市關于廢棄物處理與資源回收合同
- 百貨業(yè)態(tài)的營銷管理目錄課件
- 2024年版智能穿戴設備生產(chǎn)與銷售合同
- 《腹部創(chuàng)傷及其護理》課件
- 市政工程勞務分包協(xié)議
- 《基于Halbach分布的初級永磁直線電機的電磁設計與分析》
- 光伏發(fā)電項目管理述職報告
- 2024年辦公室檔案管理工作總結模版(3篇)
- 2024-2025學年高一【數(shù)學(人教A版)】數(shù)學建?;顒?1)-教學設計
- 2025年小學五年級數(shù)學(北京版)-分數(shù)的意義(三)-3學習任務單
- 生物人教版(2024版)生物七年級上冊復習材料
- 中華人民共和國野生動物保護法
- 數(shù)字化轉型成熟度模型與評估(DTMM)國家標準解讀 2024
- 河南省名校八校聯(lián)考2024-2025學年高二上學期期中模擬考試語文試題(含答案解析)
- 第五單元觀察物體(一) (單元測試)-2024-2025學年二年級上冊數(shù)學 人教版
- 【初中生物】脊椎動物(魚)課件-2024-2025學年人教版(2024)生物七年級上冊
評論
0/150
提交評論