版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
會(huì)計(jì)學(xué)1C程序設(shè)計(jì)增加算法與流程圖實(shí)用一個(gè)程序應(yīng)包括兩個(gè)方面的內(nèi)容:對(duì)數(shù)據(jù)的描述:數(shù)據(jù)結(jié)構(gòu)(datastructure)對(duì)操作的描述:算法(algorithm)著名計(jì)算機(jī)科學(xué)家沃思提出一個(gè)公式:數(shù)據(jù)結(jié)構(gòu)+算法=程序第1頁(yè)/共28頁(yè)#include<iostream>usingnamespacestd;intmain(){inta,b,c;a=10;b=23;c=a+b;cout<<"a+b=";cout<<c;cout<<endl;return0;}第2頁(yè)/共28頁(yè)
2.1算法的概念
廣義地說(shuō),為解決一個(gè)問(wèn)題而采取的方法和步驟,就稱為“算法”。方法1:1+2,+3,+4,一直加到100加99次方法2:100+(1+99)+(2+98)+…+(49+51)+50=100+49×100+50加51次對(duì)同一個(gè)問(wèn)題,可有不同的解題方法和步驟例:求第3頁(yè)/共28頁(yè)
2.1算法的分類為了有效地進(jìn)行解題,不僅需要保證算法正確,還要考慮算法的質(zhì)量,選擇合適的算法。希望方法簡(jiǎn)單,運(yùn)算步驟少。計(jì)算機(jī)算法可分為兩大類別:數(shù)值運(yùn)算算法:求數(shù)值解,例如求方程的根、求函數(shù)的定積分等。非數(shù)值運(yùn)算:包括的面十分廣泛,最常見的是用于事務(wù)管理領(lǐng)域,例如圖書檢索、人事管理、行車調(diào)度管理等。第4頁(yè)/共28頁(yè)
2.2簡(jiǎn)單算法舉例例2.1:求1×2×3×4×5
步驟1:先求1×2,得到結(jié)果2步驟2:將步驟1得到的乘積2再乘以3,得到結(jié)果6步驟3:將6再乘以4,得24步驟4:將24再乘以5,得120太繁瑣如果要求1×2×…×1000,則要寫999個(gè)步驟第5頁(yè)/共28頁(yè)
S1:使p=1。
S2:使i=2。
S3:使p×i,乘積仍放在變量p中,可表示為:p×i->pS4:使i的值加1,即i+1->i。
S5:如果i不大于5,返回重新執(zhí)行步驟S3以及其后的步驟S4和S5;否則,算法結(jié)束。最后得到p的值就是5!的值。可以設(shè)兩個(gè)變量:一個(gè)變量代表被乘數(shù),一個(gè)變量代表乘數(shù)。不另設(shè)變量存放乘積結(jié)果,而直接將每一步驟的乘積放在被乘數(shù)變量中。設(shè)p為被乘數(shù),i為乘數(shù)。用循環(huán)算法來(lái)求結(jié)果,算法可改寫:第6頁(yè)/共28頁(yè)S1:1→pS2:3→iS3:p×i→pS4:i+2→pS5:若i≤1000,返回S3。否則,結(jié)束。
如果題目改為:求1×3×5×……×1000算法只需作很少的改動(dòng):算法簡(jiǎn)練第7頁(yè)/共28頁(yè)用這種方法表示的算法具有通用性、靈活性。S3到S5組成一個(gè)循環(huán),在實(shí)現(xiàn)算法時(shí)要反復(fù)多次執(zhí)行S3,S4,S5等步驟,直到某一時(shí)刻,執(zhí)行S5步驟時(shí)經(jīng)過(guò)判斷,乘數(shù)i已超過(guò)規(guī)定的數(shù)值而不返回S3步驟為止。此時(shí)算法結(jié)束,變量p的值就是所求結(jié)果。第8頁(yè)/共28頁(yè)例2.2
有50個(gè)學(xué)生,要求將他們之中成績(jī)?cè)?0分以上者打印出來(lái)。設(shè)n表示學(xué)號(hào),n1代表第一個(gè)學(xué)生學(xué)號(hào),ni代表第i個(gè)學(xué)生學(xué)號(hào)。用g1代表第一個(gè)學(xué)生成績(jī),gi代表第i個(gè)學(xué)生成績(jī),算法表示如下:
S1:1→iS2:如果gi≥80,則打印和,否則不打印。
S3:i+1→iS4:如果i≤50,返回S2,繼續(xù)執(zhí)行。否則算法結(jié)束
變量i作為下標(biāo),用來(lái)控制序號(hào)(第幾個(gè)學(xué)生,第幾個(gè)成績(jī))。當(dāng)i超過(guò)50時(shí),表示已對(duì)50個(gè)學(xué)生的成績(jī)處理完畢,算法結(jié)束。第9頁(yè)/共28頁(yè)如果需要輸入成績(jī)S1:1→iS2:輸入ni和gi,其中ni代表第i個(gè)學(xué)生的學(xué)號(hào),gi代表第i個(gè)學(xué)生的成績(jī)。S3:i+1→iS4:如果i≤50,返回S2,繼續(xù)執(zhí)行。S5:1→iS6:如果gi≥80,則打印和,否則不打印。S7:i+1→iS8:如果i≤50,返回S6,繼續(xù)執(zhí)行。否則算法結(jié)束第10頁(yè)/共28頁(yè)例2.3
判定2000~2500年中的每一年是否閏年,將結(jié)果輸出。
分析:閏年的條件是:(1)能被4整除,但不能被100整除的年份都是閏年,如1996,2004年是閏年;(2)能被100整除,又能被400整除的年份是閏年。如1600,2000年是閏年。不符合這兩個(gè)條件的年份不是閏年。第11頁(yè)/共28頁(yè)設(shè)y為被檢測(cè)的年份,算法可表示如下
:S1:2000→yS2:若y不能被4整除,則輸出y“不是閏年”。然后轉(zhuǎn)到S6。S3:若y能被4整除,不能被100整除,則輸出y“是閏年”。然后轉(zhuǎn)到S6。S4:若y能被100整除,又能被400整除,輸出y“是閏年”,否則輸出“不是閏年”。然后轉(zhuǎn)到S6。S5:輸出y“不是閏年”。S6:y+1→yS7:當(dāng)y≤2500時(shí),轉(zhuǎn)S2繼續(xù)執(zhí)行,如y>2500,算法停止。第12頁(yè)/共28頁(yè)
2.3算法的特性有窮性:包含有限的操作步驟。確定性:算法中的每一個(gè)步驟都應(yīng)當(dāng)是確定的。有零個(gè)或多個(gè)輸入:輸入是指在執(zhí)行算法時(shí)需要從外界取得必要的信息。有一個(gè)或多個(gè)輸出:算法的目的是為了求解,“解”就是輸出。有效性:算法中的每一個(gè)步驟都應(yīng)當(dāng)能有效地執(zhí)行,并得到確定的結(jié)果。一個(gè)算法應(yīng)該具有以下特點(diǎn):第13頁(yè)/共28頁(yè)
2.4算法的表示可以用不同的方法表示算法,常用的有:自然語(yǔ)言傳統(tǒng)流程圖結(jié)構(gòu)化流程圖偽代碼PAD圖第14頁(yè)/共28頁(yè)
2.4.1用自然語(yǔ)言表示算法自然語(yǔ)言就是人們?nèi)粘J褂玫恼Z(yǔ)言,可以是漢語(yǔ)或英語(yǔ)或其它語(yǔ)言。用自然語(yǔ)言表示通俗易懂,但文字冗長(zhǎng),容易出現(xiàn)“歧義性”。自然語(yǔ)言表示的含義往往不大嚴(yán)格,要根據(jù)上下文才能判斷其正確含義,描述包含分支和循環(huán)的算法時(shí)也不很方便。因此,除了那些很簡(jiǎn)單的問(wèn)題外,一般不用自然語(yǔ)言描述算法。
第15頁(yè)/共28頁(yè)
2.4.2用流程圖表示算法美國(guó)國(guó)家標(biāo)準(zhǔn)化協(xié)會(huì)ANSI(AmericanNationalStandardInstitute)規(guī)定了一些常用的流程圖符號(hào):起止框判斷框處理框輸入/輸出框注釋框流向線連接點(diǎn)第16頁(yè)/共28頁(yè)例2.6
將求5!的算法用流程圖表示如果需要將最后結(jié)果打印出來(lái),可在菱形框的下面加一個(gè)輸出框。
第17頁(yè)/共28頁(yè)
例2.7
將例2.2的算法用流程圖表示。打印50名學(xué)生中成績(jī)?cè)?0分以上者的學(xué)號(hào)和成績(jī)。第18頁(yè)/共28頁(yè)如果如果包括這個(gè)輸入數(shù)據(jù)的部分,流程圖為第19頁(yè)/共28頁(yè)
例2.8
將例2.3判定閏年的算法用流程圖表示
用流程圖表示算法要比用文字描述算法邏輯清晰、易于理解。第20頁(yè)/共28頁(yè)小結(jié):流程圖是表示算法的較好的工具。一個(gè)流程圖包括以下幾部分:(1)表示相應(yīng)操作的框;(2)帶箭頭的流程線;(3)框內(nèi)外必要的文字說(shuō)明。第21頁(yè)/共28頁(yè)
2.5結(jié)構(gòu)化程序設(shè)計(jì)方法一個(gè)結(jié)構(gòu)化程序就是用高級(jí)語(yǔ)言表示的結(jié)構(gòu)化算法。用三種基本結(jié)構(gòu)組成的程序必然是結(jié)構(gòu)化的程序,這種程序便于編寫、便于閱讀、便于修改和維護(hù)。
結(jié)構(gòu)化程序設(shè)計(jì)強(qiáng)調(diào)程序設(shè)計(jì)風(fēng)格和程序結(jié)構(gòu)的規(guī)范化,提倡清晰的結(jié)構(gòu)。結(jié)構(gòu)化程序設(shè)計(jì)方法的基本思路是:把一個(gè)復(fù)雜問(wèn)題的求解過(guò)程分階段進(jìn)行,每個(gè)階段處理的問(wèn)題都控制在人們?nèi)菀桌斫夂吞幚淼姆秶鷥?nèi)。第22頁(yè)/共28頁(yè)采取以下方法來(lái)保證得到結(jié)構(gòu)化的程序:自頂向下;逐步細(xì)化;模塊化設(shè)計(jì);結(jié)構(gòu)化編碼。兩種不同的方法:自頂向下,逐步細(xì)化;自下而上,逐步積累。第23頁(yè)/共28頁(yè)用這種方法逐步分解,直到作者認(rèn)為可以直接將各小段表達(dá)為文字語(yǔ)句為止。這種方法就叫做“自頂向下,逐步細(xì)化”。第24頁(yè)/共28頁(yè)自頂向下,逐步細(xì)化方法的優(yōu)點(diǎn):考慮周全,結(jié)構(gòu)清晰,層次分明,作者容易寫,讀者容易看。如果發(fā)現(xiàn)某一部分中有一段內(nèi)容不妥,需要修改,只需找出該部分修改有關(guān)段落即可,與其它部分無(wú)關(guān)。我們提倡用這種方法設(shè)計(jì)程序。這就是用工程的方法設(shè)計(jì)程序。第25頁(yè)/共28頁(yè)模塊設(shè)計(jì)的方法:模塊化設(shè)計(jì)的思想實(shí)際上是一種“分而治之”的思想,把一個(gè)大任務(wù)分為若干個(gè)子任務(wù),每一個(gè)子任務(wù)就相對(duì)簡(jiǎn)單了。在拿到一個(gè)程序模塊以后,根據(jù)程序模塊的功能將它劃分為若干個(gè)子模塊,如果這些子模塊的規(guī)模還嫌大,還再可以劃分為更小的模塊。這個(gè)過(guò)程采用自頂向下方法來(lái)實(shí)現(xiàn)。子模塊一般不超過(guò)50行。劃分子模塊時(shí)應(yīng)注意模塊的獨(dú)立性,即:使一個(gè)模塊完成一項(xiàng)功能,耦合性愈少愈好。
第26頁(yè)/共28頁(yè)作業(yè):寫出以下兩題的算法,并用流程圖表示出來(lái)(9
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝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ù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 個(gè)人經(jīng)營(yíng)企業(yè)員工食堂協(xié)議模板
- 2024版電商企業(yè)財(cái)務(wù)外包協(xié)議3篇
- 2024版共享工作人員協(xié)議范本
- 湘潭大學(xué)興湘學(xué)院《化學(xué)導(dǎo)論》2023-2024學(xué)年第一學(xué)期期末試卷
- 西安電子科技大學(xué)長(zhǎng)安學(xué)院《建筑制圖一》2023-2024學(xué)年第一學(xué)期期末試卷
- 2024年物流倉(cāng)儲(chǔ)聯(lián)合投資合同3篇
- 2024版出租車車輛買賣合同3篇
- 二零二五版北碚集資房產(chǎn)權(quán)轉(zhuǎn)讓合同(含房屋鑒定)3篇
- 二零二五年度集裝箱板房租賃及體育賽事服務(wù)合同3篇
- 二零二五版房企論壇承辦與合作伙伴資源共享合同3篇
- 采空區(qū)穩(wěn)定性可靠度分析
- 軟件無(wú)線電原理與應(yīng)用第3版 課件 【ch03】軟件無(wú)線電體系結(jié)構(gòu)
- 石油化工裝置火炬系統(tǒng)堵塞風(fēng)險(xiǎn)分析
- 2023年山東省泰安市中考英語(yǔ)試卷(含解析)
- 防突抽采隊(duì)202年度工作總結(jié)
- 四川省石棉縣石石石材有限責(zé)任公司石棉縣大巖窩花崗石礦礦山地質(zhì)環(huán)境保護(hù)與土地復(fù)墾方案
- 2023年ERCP圍手術(shù)期用藥專家共識(shí)意見
- 2019年內(nèi)蒙古鄂爾多斯市中考數(shù)學(xué)試題(原卷+解析)
- 塑鋼門窗及鋁合金門窗制作和安裝合同
- 人衛(wèi)兒科學(xué)生兒缺氧缺血性腦病
- 網(wǎng)絡(luò)春晚晚會(huì)方案
評(píng)論
0/150
提交評(píng)論