




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、TOC o 1-5 h z HYPERLINK l bookmark0 2程序的靈魂一算法1 HYPERLINK l bookmark2 算法的概念1 HYPERLINK l bookmark4 簡單算法舉例1 HYPERLINK l bookmark6 算法的特性4 HYPERLINK l bookmark8 怎樣表示一個算法4 HYPERLINK l bookmark10 用自然語言表示算法4 HYPERLINK l bookmark12 用流程圖表示算法4 HYPERLINK l bookmark14 三種基本結構和改進的流程圖8 HYPERLINK l bookmark16 用N-S流
2、程圖表示算法9 HYPERLINK l bookmark18 用偽代碼表示算法10 HYPERLINK l bookmark20 用計算機語言表示算法11 HYPERLINK l bookmark22 結構化程序設計方法112程序的靈魂一算法一個程序應包JS:對數據的描述。在程序中要指定數據的類型和數據的組織形式,即數據結構(datastructure)。對操作的描述。即操作步驟,也就是算法(algorithm)。NikiklausWuth提出的公式:數據結構+算法=程序教材認為:*程序=算法+數據結構+程序設計方法+語言工具和壞境這4個方面是一個程序涉及人員所應具備的知識。本課程的目的是使同
3、學知道怎樣編寫一個C程序,進行編寫程序的初步訓練,因此,只介紹算法的初步知識。2.1算法的概念做任何事情都有一定的步驟。為解決一個問題而采取的方法和步驟,就稱為算法。計算機算法:計算機能夠執(zhí)行的算法。計算機算法可分為兩大類:數值運算算法:求解數值;非數值運算算法:事務管理領域。2.2簡單算法舉例【例2.1求1X2X3X4X5。第頁靳潤昭C語言教程講義2001年2月17口第 頁最原始方法:步驟1:先求1X2,得到結果2。步驟2:將步驟1得到的乘枳2乘以3,得到結果6。步驟3:將6再乘以4,得24。步驟4:將24再乘以5,得120。這樣的算法雖然正確,但太繁。改進的算法:S1:使t=lS2:使1=
4、2S3:使txi,乘積仍然放在在變量t中,可表示為txitS4:使1的值+1,即i+1-iS5:如果iW5,返回重新執(zhí)行步驟S3以及其后的S4和S5:否則,算法結束。如果計算100!只需將S5:若iW5改成iWlOO即可。如果該求1X3X5X7X9X11,算法也只需做很少的改動:SI:l-*tS2:3-*iS3:txi-*tS4:i+2tS5:若iWll,返回S3,否則,結束。該算法不僅正確,而且是計算機較好的算法,因為計算機是高速運算的自動機器,實現循壞輕而易舉。思考:若將S5寫成:S5:若1V11,返回S3;否則,結束?!纠?.2】有50個學生,要求將他們之中成績在80分以上者打印出來。如
5、果,n表示學生學號,山表示第個學生學號;g表示學生成績,旨表示第個學生成績;則算法可表示如下:SI:l-*iS2:如果gi80,則打印m和g”否則不打印S3:i+liS4:若iW50,返回S2,否則,結束。【例2.3】判定20002500年中的每一年是否閏年,將結果輸出。潤年的條件:1)能被4整除,但不能被100整除的年份:2)能被100整除,又能被400整除的年份:設y為被檢測的年份,則算法可表示如下:Sl:2000-yS2:若y不能被4整除,貝IJ輸出y“不是閏年”,然后轉到S6S3:若y能被4整除,不能被100整除,則輸出y“是閏年”,然后轉到S6S4:若y能被100整除,又能被400整
6、除,輸出y“是閏年”否則輸出y“不是閏年”,然后轉到S6S5:輸出y“不是閏年”。S6:y+l-vS7:當yW2500時,返回S2繼續(xù)執(zhí)行,否則,結束。111111-1I111-卜【例2.4】求23499100。算法可表示如下:SI:sigh=lS2:sum=lS3:deno=2S4:sigh=(l)xsighS5:term=sighx(l/deno)S6:term=sum+termS7:deno=deno+1S&若denolOO,返回S4:否則,結束?!纠?.5】對一個人于或等于3的正整數,判斷它是不是一個素數。算法可表示如下:S1:輸入n的值S2:i=2S3:n被1除,得余數rS4:如果尸
7、0,表示n能被1整除,則打印n“不是素數”,算法結束;否則執(zhí)行S5S5:i+l-*iS6:如果in-1,返回S3:否則打印n“是素數”:然后算法結束。改進:S6:如果iW亦,返回S3:否則打印n“是素數”;然后算法結束。2.3算法的特性有窮性:一個算法應包含有限的操作步驟而不能是無限的。確定性:算法中每一個步驟應當是確定的,而不能應當是含糊的、模棱兩可的。有零個或多個輸入。有一個或多個輸出。有效性:算法中每一個步驟應當能有效地執(zhí)行,并得到確定的結果。對于程序設計人員,必須會設計算法,并根據算法寫出程序。2.4怎樣表示一個算法2.4.1用自然語言表示算法除了很簡單的問題,一般不用自然語言表示算法
8、。2.4.2用流程圖表示算法流程圖表示算法,直觀形象,易于理解。起Lt框輸入輸出框判斷框遊框舷線連摻點【例2.6將例2.1求5!的算用流程圖表示?!纠?.7將例2.2的算用流程圖表示?!纠?.8將例2.3判定閏年的算用流程圖表示。11111【例2.9】將例2.4求23499100的算用流程圖表示。一個流程圖包拾:表示相應操作的框;帶箭頭的流程線;框內外必要的文字說明。243三種基本結構和改進的流程圖1.順序結構:2.選擇結構:3.循壞結構三種基本結構的共同特點:只有一個入口;只有一個出口;結構內的每一部分都有機會被執(zhí)行到:結構內不存在“死循環(huán)”。2.4.4用NS流程圖表示算法1973年美國學者提出了一種新型流程圖:N-S流程圖。順序結構:選擇結構:循壞結構:當P1成立AA直到Pl成立IF打E卩ni,gji+i直到i50245用偽代碼表示算法偽代碼使用介于自然語言和計算機語言之間的文字和符號來描述算法。246用計算機語言表示算法我們的任務是用計算機解題就是用計算機實現算法;用計算機語言表示算法必須嚴格遵循所用語言的語法規(guī)則?!纠?.20求1X2X3X4X5用C語言表示。mainQmti,t;t=l;1=2;while(i=5)i=i+l;pnntfC%&:t);【例2.21】求級數的值。mainQ
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 餐廚廢棄物密閉化裝置企業(yè)縣域市場拓展與下沉戰(zhàn)略研究報告
- 鈦鋼復合板企業(yè)ESG實踐與創(chuàng)新戰(zhàn)略研究報告
- 中空棉企業(yè)ESG實踐與創(chuàng)新戰(zhàn)略研究報告
- 養(yǎng)生藥膳食材配送中心行業(yè)深度調研及發(fā)展戰(zhàn)略咨詢報告
- 金屬制電力船舶企業(yè)ESG實踐與創(chuàng)新戰(zhàn)略研究報告
- HBC電池正面化學鈍化技術研究
- 水泥代購合同范本
- 租儀器合同范本
- 房門售后合同范本
- 機器抵押合同范本
- 江蘇2025年01月江蘇省揚州生態(tài)科技新城管委會2025年招考6名勞務派遣人員筆試歷年典型考題(歷年真題考點)解題思路附帶答案詳解
- (2025)特種設備安全管理員考試題庫及參考答案
- 2025年廣東省廣州市食品檢驗所事業(yè)單位招聘若干人高頻重點提升(共500題)附帶答案詳解
- 《移動通信市場推廣策略》課件
- 2024年湖南司法警官職業(yè)學院高職單招職業(yè)技能測驗歷年參考題庫(頻考版)含答案解析
- 2025年中國南光集團有限公司招聘筆試參考題庫含答案解析
- 工程造價鑒定申請書
- 2024年湖南外貿職業(yè)學院單招職業(yè)適應性測試題庫及答案解析
- 中國兒童幽門螺桿菌感染診治專家共識2022
- 山東職業(yè)學院單招《語文》考試復習題庫(含答案)
- 民政局離婚協議書模板(4篇)
評論
0/150
提交評論