第九章认识程式设计.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第九章认识程式设计

第九章 認識程式設計 9-1 程式語言簡介 9-2 程式設計模式簡介 9-3 參數與變數 9-4 遞迴式 9-5 常見的程式語言簡介 程式(Program)是由合乎程式語言語法規則的指令所組成,而程式設計的目的就是透過程式的撰寫與執行來達到使用者的需求。 讀者認為程式設計的主要目的只是要「跑」出正確結果,而忽略了包括執行績效或者日後的維護成本,其實這是不清楚程式設計的真正意義。 由於程式設計不只是討論編寫程式的功夫而已,而是期望學習到如何組織眾多程式設計師共同參與設計一套大型且符合使用者需求的複雜程式系統。 9-1程式語言簡介 「程式語言」人類用來和電腦溝通的語言。 程式語言發展的歷史已有半世紀之久,早期的機器語言發展至今,已經邁入到第五代自然語言。 每一代的語言都有其特色,並且一直朝著容易使用、除錯與維護功能更強的目標來發展。 演進過程分類 不論任何一種語言都有其專有語法、特性、優點及相關應用的領域。依照其演進過程分類如: 機械語言 機械語言(Machine Language)是由1和0兩種符號構成,是最早期的程式語言,也是電腦能夠直接閱讀與執行的基本語言,也就是任合程式或語言在執行前都必須被轉換為機械語言。 組合語言 組合語言(Assembly Language)是一種介於高階語言及機械語言間的符號語言,比起機械語言來說,組合語言要易編寫和學習。 機械語言0和1的符號定義為「指令」(statement)是由運算元和運算碼組合而成,只可以在特定機型上執行,不同CPU要使用不同的組合語言。 組合語言雖然比機械語言符合人類的需求,但電腦卻無法直接辨示。必須經過「組譯」(Assembling)過程,將組合語言轉換成機械語言,轉換成的機械語言會產生一個檔案稱為「執行檔」,才可在電腦上執行。 高階語言 高階語言(High-level Language) 接近人類使用語言的程式語言,執行較慢,本身易學易用。 特點是必須經過編譯(Compile)或解譯(Interprete)的過程,才能轉換成機器語言碼。 所謂編譯,用編譯器來將程式碼翻譯為目的程式(object code) ,編譯必須原始程式碼完全正確,編譯的動作才會成功,高階語言經過編譯後,會產生「目的檔」(.obj)和「執行檔」(.exe)兩個檔案。 非程序性語言 非程序性語言(Non-procedural Language)也稱為第四代語言,特點是它的敘述和程式與真正的執行步驟沒有關連。 程式設計者只須將自己打算做什麼表示出來即可,而不須去理解電腦是如何執行的。資料庫的結構化查詢語言(Structural Query Language,簡稱SQL)就是第四代語言的一個頗具代表性的例子。 人工智慧語言 稱為第五代語言,或稱為自然語言,其特性宛如和另一個人對話一般。因為自然語言使用者口音、使用環境、語言本身的特性(如一詞多義)都會造成電腦在解讀時產生不同的結果與自然語言辨識上的困難度。因此自然語言的發展必須搭配人工智慧(Artificial Intelligence:AI)來進行。 程式設計 程式設計時必須利用何種程式語言表達,可根據主客觀環境的需要,並無特別規定。一個程式的產生過程,基本上可分為以下五個設計步驟 五個設計步驟 9-2程式設計模式簡介 程式設計模式的兩種主要依循原則,分別為「結構化程式設計」 (Structured Programming)及「物件導向程式設計」 (Object-Oriented Programming)。 結構化程式設計 在傳統程式設計的方法中,主要是以「由下而上法」與「由上而下法」為主。 「由下而上法」是指程式設計師將整個程式需求最容易的部份先編寫,再逐步擴大來完成整個程式。 「由上而下法」則是將整個程式需求從上而下、由大到小逐步分解成較小的單元,或稱為「模組」 (module),這樣使得程式設計師可針對各模組分別開發,不但減輕設計者負擔、可讀性較高,對於日後維護也容易許多。 結構化程式設計的核心精神,是「由上而下設計」 與「模組化設計」 。例如在Pascal語言中,這些模組稱為「程序」 (procedure),C/C++稱為「函式」 (function)。 每一個模組會個別完成特定的功能,主程式則組合每個模組後,完成最後要求的功能。不過一旦主程式要求的功能變動時,則可能許多模組內的資料與演算法都需要同步變動,而這也是程序導向設計無法有效使用程式碼的主因。 通常「結構化程式設計」具備以下三種控制流程,對於一個結構化程式,不管其結構如何複雜 [循序結構] 逐步的撰寫敘述。 [選擇結構] 依某些條件做邏輯判斷。 [重複結構] 依某些條件決定是否重複執行某些敘述。 物件導向程式設計 「物件導向程

文档评论(0)

ldj215322 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档