- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
1.1 程式設計的基本概念
1.2 演算法和流程圖
1.3 結構化程式設計;1.1 程式設計的基本概念;1.2 演算法和流程圖;1.自然語言描述法
例1.1 求n! ( n≥0 )
第一步:輸入n的值。
第二步:判別一下n的值,如果小於0,則顯示“輸入錯誤”資訊,然後執行第五步。
第三步:判斷一下n的值如果大於或等於0,則進行以下操作。
;(1)給存放連乘積的變數fac賦初值為1;
(2)給代表乘數的變數i賦初值為1;
(3)進行連乘運算:fac=fac?i;
(4)乘數i增加1:i=i+1;
(5)判斷乘數i是否大於n?如果i的值不大於n,重複執行第三步,否則執行下一步;
第四步:輸出fac的值,即n!值。
第五步:結束運行。;2.傳統流程圖描述法
使用自然語言描述演算法通俗易懂,它是文字性的。所以,此種方法一般用於演算法比較簡單的問題。
傳統流程圖是借助一些圖形符號來表示演算法的一種工具,如圖1-3所示。這種表示方法直觀形象,容易理解。這些圖形符號均採用美國國家標準協會ANSI規定的通用符號,在世界上也是通用的。;3.N-S流程圖描述法
N-S流程圖是由美國兩位學者(I.Nassi和B.Schneiderman)提出的。這種演算法描述工具完全取消了流程線,所有的演算法均以三種基本結構作為基礎。;1.3 結構化程式設計;1.順序結構
順序結構是三種結構中最簡單的一種結構。這種結構的程式是按照語句的先後次序順序執行。
圖1-6是用N-S流程圖表示的順序結構,按照圖1-6的圖型所示,首先執行A語句,然後再順序執行B語句。;圖1-6 順序結構的N-S流程圖;2.分支結構
分支結構又稱作為選擇結構。在分支結構中必須包含條件判斷語句,根據條件判斷的結果,決定執行哪一個分支結構。
圖1-7是用N-S流程圖表示的分支結構,按照圖1-7的圖形表示,當“條件”成立時,執行A語句分支,當“條件”不成立時,執行B語句分支。;圖1-7 分支結構的N-S流程圖;3.迴圈結構
迴圈結構的功能是:根據迴圈條件成立與否,來決定是否重複執行某一條或幾條語句。迴圈結構又分為當型迴圈結構和直到型迴圈結構,如圖1-8所示。
;圖1-8 迴圈結構的N-S流程圖; 圖1-8 (a)和圖1-8(b)均為當型迴圈結構,它們是在條件成立??情況下執行A語句部分,條件不成立時,不執行A語句,跳出迴圈結構。圖1-8(a)和圖1-8(b)不同的情況是:迴圈條件與重複執行的語句A相對位置不一樣,圖1-8(a)是迴圈條件在前,稱為前測型,先來判斷迴圈條件是否成立;而圖1-8(b)是迴圈條件在後,稱為後測型,最少執行一次迴圈語句A,然後再來判斷迴圈條件是否成立。迴圈條件成立則繼續迴圈,迴圈條件不成立則結束迴圈。;圖1-8(c)和圖1-8(d)均為直到型迴圈結構,它們的功能是:直到迴圈條件成立時,則跳出迴圈結構,在迴圈條件不成立時,執行迴圈語句A。圖1-8(c)和圖1-8(d)不同的是:圖1-8(c)是前測型,首先判斷迴圈條件是否成立;而圖1-8(d)為後測型,最少執行一次迴圈語句A,然後再來判斷迴圈條件是否成立。迴圈條件不成立則繼續迴圈,迴圈條件成立則跳出迴圈。;注意:在C語言中沒有提供“直到型迴圈”語句。當型迴圈和直到型迴圈的結構是可以互相轉換的。
在由以上三種基本結構組成的結構化程式中,需滿足以下基本條件:
(1)整個程式只有一個入口和一個出口;
(2)所有的語句都有可能執行到。
以上我們已經按結構的劃分對結構化程式設計進行了分別介紹,最後我們舉一綜合實例。;1.3.3 複雜問題的解決方法
下麵我們舉一實例,加以具體說明。
例如:學籍管理系統。
就整個系統來看,我們很難馬上就寫出解決問題的演算法及對應的根源程式,因為這個系統相對來說比較大、比較複雜,我們不妨把整個系統分解成若干個小問題,減小問題的規模和複雜程度。; 經過系統分析,整個系統大致包括數據輸入、數據修改、數據查詢、數據統計和數據輸出幾個部分。根據不同問題的劃分,每一類問題作為一個模組,可以畫出整個學籍管理系統的一級模組圖,如圖1-10所示。;圖1-10 學籍管理系統的一級模組圖; 此時的模組圖比起最初的感覺要直觀一些,每一個子模組要比整個系統要簡單一些。這時還可以把一級模組圖中某一個子模組再進一步劃分。比如:數據輸入可分解成學生基本情況輸入模組、學生成績輸入模組、學生獎懲情況輸入模組等,同樣其他一級子模組也可繼續細分,這裏就不再贅述了。; 通過對該例解決問題思路的描述,我們對“自上而下,逐步細化,模組化”的程式設計思想有了進一步的瞭解。希望讀者在今後的程式設計中,不斷地學習,不斷地實踐,逐步掌握這種設計方法。;2.1 簡單C語言程式的組成和格式;它在描述一個完整的程
您可能关注的文档
最近下载
- 体例格式11:工学一体化课程《小型网络安装与调试》工学一体化课程教学进度计划表.docx VIP
- 患者病情评估管理制度、操作规范及程序.pdf VIP
- 8《匆匆》公开课一等奖创新教学设计.docx VIP
- 8《匆匆》公开课一等奖创新教学设计.docx VIP
- 《匆匆》公开课一等奖创新教学设计.docx VIP
- 日立电梯ES-32M(32位微机)原理图纸布线图纸.pdf
- 山东省临沂市蒙阴县第一中学2024-2025学年高三下学期第三次模拟考试语文试题(含答案).pdf VIP
- 高校辅导员人工智能专题培训专题报告.docx
- 高校辅导员人工智能专题培训实施方案.docx
- 2025年郑州市第三人民医院医护人员招聘笔试备考试题及答案解析.docx VIP
文档评论(0)