版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
算法的流程圖學(xué)習(xí)技巧與講解本章學(xué)習(xí)目標(biāo)理解算法的概念了解算法的表示方法掌握流程圖的繪制方法掌握三種基本結(jié)構(gòu)的流程圖了解結(jié)構(gòu)化程序設(shè)計(jì)方法/內(nèi)容進(jìn)度算法算法的表示方法自然語(yǔ)言傳統(tǒng)流程圖N-S流程圖偽代碼計(jì)算機(jī)語(yǔ)言各種表示方法的比較結(jié)構(gòu)化程序設(shè)計(jì)方法文檔和注釋/算法的引入問題:計(jì)算矩形的周長(zhǎng)第一步:定義三個(gè)變量存儲(chǔ)長(zhǎng)、寬和周長(zhǎng)第二步:提示用戶輸入矩型的長(zhǎng)和寬第三步:計(jì)算周長(zhǎng),兩個(gè)長(zhǎng)加上兩個(gè)寬第四步:打印計(jì)算結(jié)果算法的定義:解決問題所使用的一系列合乎邏輯的、簡(jiǎn)潔的步驟。lengthwidth/算法與程序關(guān)系著名科學(xué)家沃思(NikiklausWirth)的公式:數(shù)據(jù)結(jié)構(gòu)+算法=程序擴(kuò)充后的公式:數(shù)據(jù)結(jié)構(gòu)+算法+程序設(shè)計(jì)方法+語(yǔ)言和環(huán)境=程序算法是靈魂,數(shù)據(jù)結(jié)構(gòu)是加工對(duì)象,語(yǔ)言是工具,程序設(shè)計(jì)方法是使用手段。/算法的特性有窮性確定性有效性有零個(gè)或多個(gè)輸入有一個(gè)或多個(gè)輸出/算法的分析與優(yōu)化分析程序的算法設(shè)計(jì),應(yīng)先看主流程圖,再逐步細(xì)化地分析了解算法是否實(shí)現(xiàn)了任務(wù)需求,方法是否合理性能上是否存在瓶頸,能否被優(yōu)化如果有多個(gè)輸入條件,處理時(shí)是否覆蓋了全部輸入條件如果有多個(gè)輸出結(jié)果,其輸出是否被系統(tǒng)所定義和處理/內(nèi)容進(jìn)度算法算法的表示方法自然語(yǔ)言傳統(tǒng)流程圖N-S流程圖偽代碼計(jì)算機(jī)語(yǔ)言各種表示方法的比較結(jié)構(gòu)化程序設(shè)計(jì)方法文檔和注釋/算法的表示方法案例:判斷2000~2500年中的每一年是否為閏年。閏年的條件:能被4整除,但不能被100整除的年份; 能被100整除,又能被400整除的年份;/自然語(yǔ)言自然語(yǔ)言描述:設(shè)y為被檢測(cè)的年份,則算法可表示如下:S1:2000→y;S2:若y不能被4整除,則輸出y“不是閏年”,然后轉(zhuǎn)到S6;S3:若y能被4整除,不能被100整除,則輸出y“是閏年”,然后轉(zhuǎn)到S6;S4:若y能被100整除,又能被400整除,輸出y“是閏年”,然后轉(zhuǎn)到S6;S5:輸出y“不是閏年”,然后轉(zhuǎn)到S6;S6:y+1→y;S7:當(dāng)y≤2500時(shí),返回S2繼續(xù)執(zhí)行,否則結(jié)束。/自然語(yǔ)言使用自然語(yǔ)言描述算法的優(yōu)缺點(diǎn):優(yōu)點(diǎn):通俗易懂缺點(diǎn):文字冗長(zhǎng)含義不太嚴(yán)格,容易出現(xiàn)歧義/內(nèi)容進(jìn)度算法算法的表示方法自然語(yǔ)言傳統(tǒng)流程圖N-S流程圖偽代碼計(jì)算機(jī)語(yǔ)言各種表示方法的比較結(jié)構(gòu)化程序設(shè)計(jì)方法文檔和注釋/傳統(tǒng)流程圖用一些圖框表示指令或活動(dòng)的各種操作流程ANSI規(guī)定的常用流程圖符號(hào):起始框輸入/輸出框判斷框處理框流程線連接點(diǎn)注釋框/三種基本結(jié)構(gòu)順序結(jié)構(gòu)選擇結(jié)構(gòu)ABPYNAB/三種基本結(jié)構(gòu)循環(huán)結(jié)構(gòu)PAY當(dāng)型(while)循環(huán)結(jié)構(gòu)NPAYN直到型(until)循環(huán)結(jié)構(gòu)/應(yīng)用舉例優(yōu)點(diǎn):比較清晰,可以解決任何復(fù)雜的問題缺點(diǎn):流程圖比較長(zhǎng),基本結(jié)構(gòu)之間的流程線多余/內(nèi)容進(jìn)度算法算法的表示方法自然語(yǔ)言傳統(tǒng)流程圖N-S流程圖偽代碼計(jì)算機(jī)語(yǔ)言各種表示方法的比較結(jié)構(gòu)化程序設(shè)計(jì)方法文檔和注釋/N-S流程圖美國(guó)學(xué)者I.Nassi和B.shneiderman提出流程圖符號(hào):AB順序結(jié)構(gòu)PYNAB選擇結(jié)構(gòu)當(dāng)P成立A當(dāng)型循環(huán)結(jié)構(gòu)A直到P成立直到型循環(huán)結(jié)構(gòu)/應(yīng)用舉例y+1=>y打印“非閏年”優(yōu)點(diǎn):直觀易懂缺點(diǎn):畫起來比較麻煩,不易修改/內(nèi)容進(jìn)度算法算法的表示方法自然語(yǔ)言傳統(tǒng)流程圖N-S流程圖偽代碼計(jì)算機(jī)語(yǔ)言各種表示方法的比較結(jié)構(gòu)化程序設(shè)計(jì)方法文檔和注釋/偽代碼BEGIN(算法開始) 2000=>y whiley<=2500 {ify能被4整除 ify不被100整除 printy:”是閏年” else ify能被400整除 printy:”是閏年” else printy:”非閏年” endif endif else printy:”非閏年” endify+1=>y }END(算法結(jié)束)/內(nèi)容進(jìn)度算法算法的表示方法自然語(yǔ)言傳統(tǒng)流程圖N-S流程圖偽代碼計(jì)算機(jī)語(yǔ)言各種表示方法的比較結(jié)構(gòu)化程序設(shè)計(jì)方法文檔和注釋/#include<stdio.h>voidmain(){inty=2000;while(y<=2500){if((y%4)==0){if(y%100!=0) printf("%d年是閏年\n",y);else if(y%400==0) printf("%d年是閏年\n",y); else printf("%d年是非閏年\n",y);}else printf("%d年是非閏年\n",y);y=y+1;} }計(jì)算機(jī)語(yǔ)言/內(nèi)容進(jìn)度算法算法的表示方法自然語(yǔ)言傳統(tǒng)流程圖N-S流程圖偽代碼計(jì)算機(jī)語(yǔ)言各種表示方法的比較結(jié)構(gòu)化程序設(shè)計(jì)方法文檔和注釋/表示方法優(yōu)點(diǎn)缺點(diǎn)自然語(yǔ)言通俗易懂文字冗長(zhǎng),含義不太嚴(yán)格,容易出現(xiàn)歧義流程圖比較清晰,可以解決任何復(fù)雜的問題流程圖比較長(zhǎng),基本結(jié)構(gòu)之間的流程線多余N-S流程圖直觀易懂畫起來比較麻煩,不易修改偽代碼書寫比較自由,容易表達(dá)思想,容易修改不太直觀,容易出現(xiàn)邏輯上的錯(cuò)誤計(jì)算機(jī)語(yǔ)言表示直接在計(jì)算機(jī)上可以運(yùn)行,得到結(jié)果必須嚴(yán)格遵守所用語(yǔ)言的語(yǔ)法規(guī)則各種表示方法比較/繪制流程圖應(yīng)該注意的事項(xiàng)一個(gè)流程圖只有一個(gè)入口點(diǎn)和一個(gè)出口點(diǎn);主要畫出問題的邏輯處理過程,無需將每一步都畫的很詳細(xì);如果算法很復(fù)雜,則可以先畫出大的邏輯關(guān)系,再把一些關(guān)鍵處理步驟細(xì)化成的流程圖;流程圖在跨頁(yè)時(shí),需要在流程線上標(biāo)注出號(hào)碼,以便在下一頁(yè)找出對(duì)應(yīng)關(guān)系;讓編程人員或讀者能夠容易讀懂流程圖。/內(nèi)容進(jìn)度算法算法的表示方法自然語(yǔ)言傳統(tǒng)流程圖N-S流程圖偽代碼計(jì)算機(jī)語(yǔ)言各種表示方法的比較結(jié)構(gòu)化程序設(shè)計(jì)方法文檔和注釋/結(jié)構(gòu)化程序設(shè)計(jì)方法C語(yǔ)言是結(jié)構(gòu)化程序設(shè)計(jì)方法優(yōu)點(diǎn):程序便于編寫、閱讀、修改、維護(hù)程序可靠性較好,質(zhì)量較高主要有兩種:自頂向下、逐步細(xì)化、模塊化設(shè)計(jì)、結(jié)構(gòu)化編碼把一個(gè)復(fù)雜問題的求解過程分階段進(jìn)行,每個(gè)階段處理的問題都控制在人們?nèi)菀桌斫夂吞幚淼姆秶鷥?nèi)。例如,建筑樓房。優(yōu)點(diǎn):程序結(jié)構(gòu)周全、層次分明、容易設(shè)計(jì),讀者易理解,且修改方便。自下而上、逐步積累先處理細(xì)節(jié)和小的地方,然后再組織起來形成系統(tǒng)。缺點(diǎn):很難考慮周全,往往只注意細(xì)節(jié),而容易忽略全局,不符合一般人的思路。/應(yīng)用舉例機(jī)票預(yù)定系統(tǒng)預(yù)訂機(jī)票系統(tǒng)客戶信息管理機(jī)票查詢機(jī)票打印/應(yīng)用舉例逐
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 無抵押貸款合同樣式
- 員工離職協(xié)議模板
- 配電室維護(hù)協(xié)議書
- 權(quán)威加工合同范文合輯
- 大學(xué)新生入學(xué)法律協(xié)議范文
- 全面服裝代理合同范本
- 消防工程專業(yè)承包合同
- 廣告位承包協(xié)議范本
- 美術(shù)作品購(gòu)買協(xié)議范本2024年
- 個(gè)人稅收居民證明委托申請(qǐng)
- 2024年榆林科創(chuàng)新城產(chǎn)業(yè)發(fā)展集團(tuán)有限公司招聘筆試沖刺題(帶答案解析)
- 王遠(yuǎn)方故意殺人案庭審筆錄解讀
- 第10課《養(yǎng)成遵紀(jì)守法好習(xí)慣》第2框《履行遵紀(jì)守法義務(wù)》-【中職專用】《職業(yè)道德與法治》同步課堂課件
- 機(jī)械設(shè)計(jì)答辯常見問題及對(duì)策
- 2019年1月自考00804金融法二試題及答案含解析
- 新建低空經(jīng)濟(jì)產(chǎn)業(yè)園建設(shè)項(xiàng)目可行性研究報(bào)告
- 小區(qū)物業(yè)電動(dòng)車管理方案
- 2017年10月自考00258保險(xiǎn)法試題及答案含解析
- (高清版)TDT 1057-2020 國(guó)土調(diào)查數(shù)據(jù)庫(kù)標(biāo)準(zhǔn)
- 倉(cāng)庫(kù)管理系統(tǒng)系統(tǒng)架構(gòu)及功能技術(shù)介紹
- 電動(dòng)汽車充電樁運(yùn)營(yíng)管理策劃書
評(píng)論
0/150
提交評(píng)論