




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領
文檔簡介
1、 TOC o 1-3 h z HYPERLINK l _Toc507949884 2程序的靈魂算法 PAGEREF _Toc507949884 h 1 HYPERLINK l _Toc507949885 2.1算法的概念 PAGEREF _Toc507949885 h 1 HYPERLINK l _Toc507949886 2.2簡單算法舉例 PAGEREF _Toc507949886 h 1 HYPERLINK l _Toc507949887 2.3算法的特性 PAGEREF _Toc507949887 h 4 HYPERLINK l _Toc507949888 2.4怎樣表示一個算法 PA
2、GEREF _Toc507949888 h 4 HYPERLINK l _Toc507949889 用自然語言表示算法 PAGEREF _Toc507949889 h 4 HYPERLINK l _Toc507949890 用流程圖表示算法 PAGEREF _Toc507949890 h 4 HYPERLINK l _Toc507949891 三種基本結(jié)構(gòu)和改進的流程圖 PAGEREF _Toc507949891 h 8 HYPERLINK l _Toc507949892 用N-S流程圖表示算法 PAGEREF _Toc507949892 h 9 HYPERLINK l _Toc5079498
3、93 用偽代碼表示算法 PAGEREF _Toc507949893 h 10 HYPERLINK l _Toc507949894 用計算機語言表示算法 PAGEREF _Toc507949894 h 11 HYPERLINK l _Toc507949895 2.5結(jié)構(gòu)化程序設計方法 PAGEREF _Toc507949895 h 11程序的靈魂算法一個程序應包括:對數(shù)據(jù)的描述。在程序中要指定數(shù)據(jù)的類型和數(shù)據(jù)的組織形式,即數(shù)據(jù)結(jié)構(gòu)(data structure)。對操作的描述。即操作步驟,也就是算法(algorithm)。Nikiklaus Wirth提出的公式:數(shù)據(jù)結(jié)構(gòu)+算法=程序教材認為:程
4、序=算法+數(shù)據(jù)結(jié)構(gòu)+程序設計方法+語言工具和環(huán)境這4個方面是一個程序涉及人員所應具備的知識。本課程的目的是使同學知道怎樣編寫一個C程序,進行編寫程序的初步訓練,因此,只介紹算法的初步知識。算法的概念做任何事情都有一定的步驟。為解決一個問題而采取的方法和步驟,就稱為算法。計算機算法:計算機能夠執(zhí)行的算法。計算機算法可分為兩大類:數(shù)值運算算法:求解數(shù)值;非數(shù)值運算算法:事務管理領域。簡單算法舉例【例2.1】求12345。最原始方法:步驟1:先求12,得到結(jié)果2。步驟2:將步驟1得到的乘積2乘以3,得到結(jié)果6。步驟3:將6再乘以4,得24。步驟4:將24再乘以5,得120。這樣的算法雖然正確,但太繁
5、。改進的算法:S1: 使t=1S2: 使i=2S3: 使ti, 乘積仍然放在在變量t中,可表示為titS4: 使i的值+1,即i+1iS5: 如果i5, 返回重新執(zhí)行步驟S3以及其后的S4和S5;否則,算法結(jié)束。如果計算100!只需將S5:若i5改成i100即可。如果該求1357911,算法也只需做很少的改動:S1: 1tS2: 3iS3: titS4: i+2tS5:若i11, 返回S3,否則,結(jié)束。該算法不僅正確,而且是計算機較好的算法,因為計算機是高速運算的自動機器,實現(xiàn)循環(huán)輕而易舉。思考:若將 S5寫成:S5:若i11, 返回S3;否則,結(jié)束?!纠?.2】有50個學生,要求將他們之中成
6、績在80分以上者打印出來。如果,n表示學生學號,ni表示第個學生學號;g表示學生成績,gi表示第個學生成績;則算法可表示如下:S1: 1iS2: 如果gi80,則打印ni和gi,否則不打印S3: i+1iS4:若i50, 返回S2,否則,結(jié)束?!纠?.3】判定2000 2500年中的每一年是否閏年,將結(jié)果輸出。潤年的條件:能被4整除,但不能被100整除的年份;能被100整除,又能被400整除的年份;設y為被檢測的年份,則算法可表示如下:S1: 2000yS2:若y不能被4整除,則輸出y“不是閏年”,然后轉(zhuǎn)到S6S3:若y能被4整除,不能被100整除,則輸出y“是閏年”,然后轉(zhuǎn)到S6S4:若y能
7、被100整除,又能被400整除,輸出y“是閏年” 否則輸出y“不是閏年”,然后轉(zhuǎn)到S6S5:輸出y“不是閏年”。S6:y+1yS7:當y2500時, 返回S2繼續(xù)執(zhí)行,否則,結(jié)束?!纠?.4】求。算法可表示如下:S1: sigh=1S2: sum=1S3: deno=2S4: sigh=(-1)sigh S5: term= sigh(1/deno )S6: term=sum+termS7: deno= deno +1S8:若deno100,返回S4;否則,結(jié)束?!纠?.5】對一個大于或等于3的正整數(shù),判斷它是不是一個素數(shù)。算法可表示如下:S1: 輸入n的值S2: i=2S3: n被i除,得余數(shù)
8、rS4:如果r=0,表示n能被i整除,則打印n“不是素數(shù)”,算法結(jié)束;否則執(zhí)行S5S5: i+1i S6:如果in-1,返回S3;否則打印n“是素數(shù)”;然后算法結(jié)束。改進:S6:如果i,返回S3;否則打印n“是素數(shù)”;然后算法結(jié)束。算法的特性有窮性:一個算法應包含有限的操作步驟而不能是無限的。 確定性:算法中每一個步驟應當是確定的,而不能應當是含糊的、模棱兩可的。有零個或多個輸入。有一個或多個輸出。有效性:算法中每一個步驟應當能有效地執(zhí)行,并得到確定的結(jié)果。對于程序設計人員,必須會設計算法,并根據(jù)算法寫出程序。怎樣表示一個算法用自然語言表示算法除了很簡單的問題,一般不用自然語言表示算法。用流程
9、圖表示算法流程圖表示算法,直觀形象,易于理解?!纠?.6】將例2.1求5!的算用流程圖表示?!纠?.7】將例2.2的算用流程圖表示?!纠?.8】將例2.3判定閏年的算用流程圖表示?!纠?.9】將例2.4求的算用流程圖表示。一個流程圖包括:表示相應操作的框;帶箭頭的流程線;框內(nèi)外必要的文字說明。三種基本結(jié)構(gòu)和改進的流程圖順序結(jié)構(gòu):選擇結(jié)構(gòu):循環(huán)結(jié)構(gòu)三種基本結(jié)構(gòu)的共同特點:只有一個入口;只有一個出口;結(jié)構(gòu)內(nèi)的每一部分都有機會被執(zhí)行到;結(jié)構(gòu)內(nèi)不存在“死循環(huán)”。用N-S流程圖表示算法1973年美國學者提出了一種新型流程圖:N-S流程圖。順序結(jié)構(gòu):選擇結(jié)構(gòu):循環(huán)結(jié)構(gòu):用偽代碼表示算法偽代碼使用介于自然語言和計算機語言之間的文字和符號來描述算法。用計算機語言表示算法我們的任務是用計算機解題,就是用計算機實現(xiàn)算法;用計算機語言表示算法必須嚴格遵循所用語言的語法規(guī)則?!纠?.20】求12345用C語言表示。main()int i,t; t=1; i=2; while(i=5)t=t*i;i=i+1; printf(“%d”,t); 【例2.21】求級數(shù)的值。main()int sig
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 車間工具日常管理制度
- 飯店清潔消毒管理制度
- 超市倉庫布局管理制度
- 校學生會體育部工作計劃(8篇)
- 市政排水管網(wǎng)改造提升城市基礎設施建設研究
- 白油行業(yè)未來發(fā)展趨勢與市場潛力解析
- 2024年國網(wǎng)河北省電力有限公司高校畢業(yè)生招聘(第二批)筆試參考題庫附帶答案詳解
- 2025至2030年中國羊絨被被套行業(yè)投資前景及策略咨詢報告
- 2025至2030年中國繼電器保護柜數(shù)據(jù)監(jiān)測研究報告
- 2025至2030年中國紙面禮品盒行業(yè)投資前景及策略咨詢報告
- 檢驗科2025年度臨床指導計劃
- 口腔科設備器具項目深度研究分析報告
- 2025四川瀘天化弘旭工程建設有限公司社會招聘3人筆試參考題庫附帶答案詳解
- 2025中國煤炭地質(zhì)總局招聘20人筆試參考題庫附帶答案詳解
- 中國文化傳媒集團招聘筆試真題2024
- 小學部編版語文六年級下冊第四單元《綜合性學習:奮斗的歷程》說課課件(含教學反思)
- 甘肅省衛(wèi)生健康委公務員考試招聘112人往年題考
- 電網(wǎng)工程設備材料信息參考價(2024年第四季度)
- 走進創(chuàng)業(yè)學習通超星期末考試答案章節(jié)答案2024年
- 2023年(第九屆)全國大學生統(tǒng)計建模大賽 論文模板及說明
- GB/T 37864-2019生物樣本庫質(zhì)量和能力通用要求
評論
0/150
提交評論