




版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
1.1什么是算法1.2簡單算法舉例1.3算法特性1.4如何表達一種算法1.5構造化程序設計辦法第1頁1.1什么是算法廣義地說,為處理一種問題而采取辦法和步驟,就稱為“算法”對同一種問題,能夠有不一樣解題辦法和步驟為了有效地進行解題,不但需要確保算法正確,還要考慮算法質量,選擇合適算法第2頁1.1什么是算法計算機算法可分為兩大類別:數(shù)值運算算法非數(shù)值運算算法數(shù)值運算目標是求數(shù)值解非數(shù)值運算包括面十分廣泛,最常見是用于事務管理領域第3頁1.2簡單算法舉例例求1×2×3×4×5能夠用最原始辦法進行:步驟1:先求1*2,得到成果2。步驟2:將步驟1得到乘積2再乘以3,得到成果6。步驟3:將6再乘以4,得24。步驟4:將24再乘以5,得120。這就是最后成果。例2.1求1×2×3×4×5×…×1000太繁瑣第4頁簡單算法舉例改善算法:設變量p為被乘數(shù)變量i為乘數(shù)用循環(huán)算法求成果第5頁S1:使p=1,或寫成1
pS2:使i=2,或寫成2
iS3:使p與i相乘,乘積仍放在變量p中,可表達為:p*i
pS4:使i值加1,即i+1
iS5:假如i不大于5,返回重新執(zhí)行S3;不然,算法結束最后得到p值就是5!值若是1000,求什么?第6頁S1:使p=1,或寫成1
pS2:使i=2,或寫成2
iS3:使p與i相乘,乘積仍放在變量p中,可表達為:p*i
pS4:使i值加1,即i+1
iS5:假如i不大于5,返回重新執(zhí)行S3;不然,算法結束最后得到p值就是5!值若求1×3×5×7×9×1133221111相稱于i≦11第7頁
例有50個學生,要求將成績在80分以上學生學號和成績輸出。用ni代表第i個學生學號,gi表達第i個學生成績S1:1
iS2:假如gi≥80,則輸出ni和gi,不然不輸出S3:i+1
iS4:假如i≤50,返回到步驟S2,繼續(xù)執(zhí)行,不然,算法結束第8頁例求規(guī)律:①第1項分子分母都是1②第2項分母是2,后來每一項分母子都是前一項分母加1③笫2項前運算符為“-”,后一項前面運算符都與前一項前運算符相反第9頁例2.4求S1:sign=1S2:sum=1S3:deno=2S4:sign=(-1)*signS5:term=sign*(1/deno)S6:sum=sum+termS7:deno=deno+1S8:若deno≤100返回S4;不然算法結束sign—目前項符號term—目前項值sum—目前各項和deno—目前項分母-1-1/21-1/23滿足,返回S4第10頁1.2如何表達一種算法常用辦法有:自然語言傳統(tǒng)流程圖構造化流程圖偽代碼……第11頁例.雞兔同籠問題已知雞兔總頭數(shù)為h(head),總腳數(shù)為f(feet),求雞兔各有多少只?解:(1)構造數(shù)學模型設雞為x只,兔為y只x+y=h①2x+4y=f②則
用自然語言表達算法第12頁(2)找出求x,y詳細公式4
①
②:2x=4h
f②
2
①:2y=f
2h(3)確定算法a.輸入h,fb.按
計算x,yc.輸出x,y第13頁判斷一種數(shù)n(n≥3)是否素數(shù):將n作為被除數(shù),將2到(n-1)各個整數(shù)先后作為除數(shù),假如都不能被整除,則n為素數(shù)S1:輸入n值S2:i=2(i作為除數(shù))S3:n被i除,得余數(shù)rS4:假如r=0,表達n能被i整除,則輸出n“不是素數(shù)”,算法結束;不然執(zhí)行S5S5:i+1
iS6:假如i≤n-1,返回S3;不然輸出n“是素數(shù)”,然后結束。第14頁前面介紹算法是用自然語言表達用自然語言表達通俗易懂,但文字冗長,容易出現(xiàn)歧義性用自然語言描述包括分支和循環(huán)算法,不很方便除了很簡單問題外,一般不用自然語言第15頁小結:流程圖符號橢圓菱形1.起止框2.執(zhí)行框3.連接點4.輸入輸出框5.判斷框6.流程線7.注釋框第16頁2.4.2用流程圖表達算法流程圖是用某些圖框來表達多種操作用圖形表達算法,直觀形象,易于理解起止框輸入輸出框處理框判斷框流程線連接點注釋框③①②①③②③位置不夠避免交叉第17頁
例用流程圖表達。求1×2×3×4×5S1:使p=1,或寫成1
pS2:使i=2,或寫成2
iS3:使p與i相乘,乘積仍放在變量p中,可表達為:p*i
pS4:使i值加1,即i+1
iS5:假如i不大于5,返回重新執(zhí)行S3;不然,算法結束最后得到p值就是5!值第18頁
例用流程圖表達。求1×2×3×4×5假如需要將最后成果輸出:1ti>5開始2it*iti+1i結束NY第19頁
例算法用流程圖表達。求1×2×3×4×5假如需要將最后成果輸出:1t輸出ti>5開始2it*iti+1i結束NY第20頁
例有50個學生,要求將成績在80分以上學生學號和成績輸出。用ni代表第i個學生學號,gi表達第i個學生成績S1:1
iS2:假如gi≥80,則輸出ni和gi,不然不輸出S3:i+1
iS4:假如i≤50,返回到步驟S2,繼續(xù)執(zhí)行,不然,算法結束第21頁1ii>50開始i+1i結束NY輸入ni、gi1i開始gi≧80輸出ni、gii+1ii>50NYYN假如包括輸入數(shù)據(jù)部分①第22頁1ii>50開始i+1i結束NY輸入ni、gi1igi≧80輸出ni、gii+1ii>50NYYN假如包括輸入數(shù)據(jù)部分①①第23頁
例判斷素數(shù)算法用流程圖表達。對一種大于或等于3正整數(shù),判斷它是不是一種素數(shù)。第24頁NY輸出n是素數(shù)結束開始輸入n2in%irr=0i+1ii>輸出n是素數(shù)YN第25頁通過以上幾個例子能夠看出流程圖是表達算法較好工具一種流程圖包括下列幾部分:(1)表達對應操作框(2)帶箭頭流程線(3)框內(nèi)外必要文字說明流程線不要忘掉畫箭頭,不然難以判定各框執(zhí)行次序第26頁1.3三種基本構造和改善流程圖1.傳統(tǒng)流程圖弊端傳統(tǒng)流程圖用流程線指出各框執(zhí)行次序,對流程線使用沒有嚴格限制使用者能夠毫不受限制地使流程隨意地轉來轉去,使人難以理解算法邏輯第27頁構造化程序只有三種基本構造次序構造:語句按書寫次序順次執(zhí)行。分支構造:根據(jù)條件成立是否有選擇地執(zhí)行。循環(huán)構造:根據(jù)條件成立是否反復執(zhí)行。第28頁1.4.3三種基本構造和改善流程圖2.三種基本構造(1)次序構造AB第29頁次序構造開始結束語句B輸入輸出語句A第30頁2.三種基本構造(2)選擇構造ABYpNAYpN第31頁2.分支構造條件結束輸出開始語句B輸入語句A不成立成立條件結束輸出開始輸入語句A不成立成立第32頁2.三種基本構造(3)循環(huán)構造①當型循環(huán)構造AYp1NYx<5N0x輸出x值x+1x輸出1,2,3,4,5第33頁2.三種基本構造(3)循環(huán)構造②直到型循環(huán)構造AYp2NYx≧5N0x輸出x值x+1x輸出1,2,3,4,5第34頁3.循環(huán)構造條件結束輸出開始輸入語句不成立成立結束輸出開始輸入語句條件不成立成立While型循環(huán)Do-While型循環(huán)第35頁以上三種基本構造,有下列共同特點:(1)只有一種入口(2)只有一種出口一種判斷框有兩個出口一種選擇構造只有一種出口(3)構造內(nèi)每一部分都有機會被執(zhí)行到。也就是說,對每一種框來說,都應當有一條從入口到出口途徑通過它(4)構造內(nèi)不存在“死循環(huán)”第36頁由三種基本構造派生出來構造:ANp2YB根據(jù)體現(xiàn)式p值進行選擇ABp=p1p=p2…MNp=pmp=pn第37頁1.3用N-S流程圖表達算法N-S流程圖用下列流程圖符號:ABABYNpA當p1成立A直到p2成立次序構造選擇構造循環(huán)構造(當型)循環(huán)構造(直到型)第38頁
例用流程圖表達。求1×2×3×4×5S1:使p=1,或寫成1
pS2:使i=2,或寫成2
iS3:使p與i相乘,乘積仍放在變量p中,可表達為:p*i
pS4:使i值加1,即i+1
iS5:假如i不大于5,返回重新執(zhí)行S3;不然,算法結束最后得到p值就是5!值第39頁例將例2.1求5!算法用N-S圖表達。直到i>51t輸出t2it*iti+1i第40頁例2.4求S1:sign=1S2:sum=1S3:deno=2S4:sign=(-1)*signS5:term=sign*(1/deno)S6:sum=sum+termS7:deno=deno+1S8:若deno≤100返回S4;不然算法結束sign—目前項符號term—目前項值sum—目前各項和deno—目前項分母第41頁例用N-S圖表達。求直到deno>100deno+1deno輸出sum1sum1sign2deno(-1)*signsignsign*(1/deno)termsum+termsum第42頁一種構造化算法是由某些基本構造次序組成在基本構造之間不存在向前或向后跳轉,流程轉移只存在于一種基本構造范圍之內(nèi)一種非構造化算法能夠用一種等價構造化算法替代,其功能不變假如一種算法不能分解為若干個基本構造,則它必然不是一種構造化算法第43頁
例2.15將例2.5鑒別素數(shù)算法用N-S流程圖表達。例2.10流程圖不是由三種基本構造組成循環(huán)有兩個出口,不符合基本構造特點無法直接用N-S流程圖三種基本構造符號來表達先作必要變換第44頁NY輸出n是素數(shù)結束開始輸入n2in%irr=0i+1ii>輸出n是素數(shù)YN第45頁NY開始輸入n0w2in%irr=0i+1ii≦和w=0YN1w①輸出n是素數(shù)結束w=0①輸出n不是素數(shù)第46頁輸入nr=0是否0w2in%ir1wi+1i直到i>或w≠0w=0是否輸出n是素數(shù)輸出n不是素數(shù)第47頁1.4用偽代碼表達算法偽代碼是用介于自然語言和計算機語言之間文字和符號來描述算法用偽代碼寫算法并無固定、嚴格語法規(guī)則,能夠用英文,也能夠中英文混用第48頁代碼特點:接近于程序代碼7種偽代碼符號:算法名稱Procedure(過程):不需要返回值Function(函數(shù)):需要返回值例如:ProcedureHanoi_Tower()FunctionFac(x)算法名稱背面能夠帶括號也能夠不帶括號第49頁2.指令序列Begin指令序列;End或者:{指令序列;/}第50頁3.輸入/輸出輸入:用Input表達;輸出:用Output或Return表達4.分支選擇(1)If<條件>Then{指令/}(2)If<條件>Then{指令1/}else{指令2/}第51頁5.賦值
:=或
例如:x:=x+1yx*x6.循環(huán)計數(shù)式循環(huán)
For變量:=初值To終值{指令/}(2)條件式循環(huán)
While(條件)do{指令/}第52頁7.算法結束關鍵字End背面加上算法名稱,表達算法結束,是算法最后一句。例如:EndHanoi_Towe
溫馨提示
- 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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 【高二政治哲學認識論知識點復習】
- 【語文知識點復習總匯】
- 愛上大我十歲的女生要繼續(xù)追求嗎
- 2025年連續(xù)變倍生物顯微鏡項目投資可行性研究分析報告-20241226-211809
- 2025年連桿項目規(guī)劃申請報告范稿
- 新課標視域下小學數(shù)學教學培養(yǎng)學生自學能力的策略
- 2025年中國經(jīng)濟型轎車行業(yè)市場深度分析及投資規(guī)劃建議報告
- 2025年嘧菌酯項目建議書
- 2024-2026年中國計算機視覺市場發(fā)展前景預測及投資戰(zhàn)略咨詢報告
- 甜品烘焙培訓合同范本
- 垃圾清運服務實施方案投標文件(技術方案)
- JGT 486-2015 混凝土用復合摻合料
- 2024屆江蘇省南通市如皋市高三下學期二模物理試題
- 2024年春學期人教版pep版小學英語五年級下冊教學進度表
- 2024年知識競賽-《民用爆炸物品安全管理條例》知識競賽筆試參考題庫含答案
- 出師表(選擇題)答案版
- (正式版)JBT 9229-2024 剪叉式升降工作平臺
- (高清版)DZT 0208-2020 礦產(chǎn)地質勘查規(guī)范 金屬砂礦類
- 礦山開采與環(huán)境保護
- 企業(yè)事業(yè)部制的管理與監(jiān)督機制
- 兒童體液平衡及液體療法課件
評論
0/150
提交評論