《程序設(shè)計(jì)概述》PPT課件.ppt_第1頁(yè)
《程序設(shè)計(jì)概述》PPT課件.ppt_第2頁(yè)
《程序設(shè)計(jì)概述》PPT課件.ppt_第3頁(yè)
《程序設(shè)計(jì)概述》PPT課件.ppt_第4頁(yè)
《程序設(shè)計(jì)概述》PPT課件.ppt_第5頁(yè)
已閱讀5頁(yè),還剩18頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

C語(yǔ)言程序設(shè)計(jì)教師 肖琳Email x201 tel一 課程的任務(wù)與目標(biāo) 1 掌握C語(yǔ)言的數(shù)據(jù)類(lèi)型 控制結(jié)構(gòu) 常用算法 編程技術(shù)及模塊化的程序設(shè)計(jì)思想 2 熟悉C語(yǔ)言程序的編輯 編譯 調(diào)試 運(yùn)行的方法 3 在掌握C語(yǔ)言程序設(shè)計(jì)基本方法的同時(shí) 著重通過(guò)程序設(shè)計(jì)實(shí)踐培養(yǎng)學(xué)生分析問(wèn)題和解決問(wèn)題的能力 提高計(jì)算機(jī)專(zhuān)業(yè)素養(yǎng) 4 使學(xué)生具備計(jì)算機(jī)二級(jí) C 考試所要求的水平和能力 5 為后續(xù)單片機(jī) 數(shù)控等課程打下良好的基礎(chǔ) 二 教材選用 1 教科書(shū) C語(yǔ)言程序設(shè)計(jì)教程 葉東毅主編 廈門(mén)大學(xué)出版社學(xué)習(xí)指導(dǎo) 葉東毅主編 廈門(mén)大學(xué)出版社2 參考書(shū) 1 C程序設(shè)計(jì)題解與上機(jī)指導(dǎo) 譚浩強(qiáng)著 北京 清華大學(xué)出版社 2 C語(yǔ)言程序設(shè)計(jì)與應(yīng)用教程 嚴(yán)桂蘭主編 廈門(mén)大學(xué)出版社 3 C程序設(shè)計(jì) 第二版 譚浩強(qiáng)著 北京 清華大學(xué)出版社 第1章程序設(shè)計(jì)概述 1 1程序設(shè)計(jì)基礎(chǔ)1 2算法及其表示1 3結(jié)構(gòu)化程序設(shè)計(jì)方法 本章學(xué)習(xí)目標(biāo) l計(jì)算機(jī)語(yǔ)言按其發(fā)展過(guò)程一般分為 機(jī)器語(yǔ)言 匯編語(yǔ)言和高級(jí)語(yǔ)言 非過(guò)程化的高級(jí)語(yǔ)言 面向?qū)ο蟮某绦蛟O(shè)計(jì)語(yǔ)言l算法的概念 特性及描述l結(jié)構(gòu)化程序設(shè)計(jì)的概念及設(shè)計(jì)步驟 1 1程序設(shè)計(jì)基礎(chǔ) 1 1 1程序設(shè)計(jì)語(yǔ)言1 1 2常用編程語(yǔ)言及適用范圍 1 1 1程序設(shè)計(jì)語(yǔ)言 1 機(jī)器語(yǔ)言機(jī)器語(yǔ)言是最底層 最早產(chǎn)生和使用的計(jì)算機(jī)語(yǔ)言 用機(jī)器語(yǔ)言編寫(xiě)的程序 計(jì)算機(jī)硬件可以直接識(shí)別 機(jī)器語(yǔ)言程序都是由二進(jìn)制0和1組成的系列 程序編寫(xiě)起來(lái)非常繁瑣 可以用 難學(xué) 難記 難寫(xiě) 難檢查 難調(diào)試 來(lái)概括 尤其是用機(jī)器語(yǔ)言編寫(xiě)的程序完全依賴(lài)于機(jī)器 所以程序的可移植性差 由于用機(jī)器語(yǔ)言編寫(xiě)的程序直接針對(duì)計(jì)算機(jī)硬件 因此它的執(zhí)行效率比較高 能充分發(fā)揮出計(jì)算機(jī)的速度性能 這也是機(jī)器語(yǔ)言的優(yōu)點(diǎn) 2 匯編語(yǔ)言 為了克服機(jī)器語(yǔ)言的缺點(diǎn) 人們對(duì)機(jī)器語(yǔ)言進(jìn)行了改進(jìn) 用一些容易記憶和辨別的有意義的符號(hào)代替機(jī)器指令 如 用指令助記符來(lái)代替機(jī)器語(yǔ)言指令代碼中的操作碼 用地址符號(hào)來(lái)代替地址碼 用這樣一些符號(hào)代替機(jī)器指令所產(chǎn)生的語(yǔ)言就稱(chēng)為匯編語(yǔ)言 也稱(chēng)為符號(hào)語(yǔ)言 如計(jì)算表達(dá)式 9 8的值 用匯編語(yǔ)言實(shí)現(xiàn) 在該匯編語(yǔ)言程序中 以MOV MOVE的縮寫(xiě) 代表 數(shù)據(jù)傳送 ADD代表 加 HLT HALT的縮寫(xiě) 代表 停止 等 這些符號(hào)含義明確 容易記憶 所以又稱(chēng)為助記符 這些助記符編寫(xiě)的程序 可讀性好 容易查錯(cuò) 修改方便 但計(jì)算機(jī)硬件不能直接識(shí)別 必須由一種專(zhuān)門(mén)的翻譯程序?qū)R編語(yǔ)言程序翻譯成機(jī)器語(yǔ)言程序后 計(jì)算機(jī)才能識(shí)別并執(zhí)行 這種翻譯的過(guò)程稱(chēng)為 匯編 負(fù)責(zé)翻譯的程序稱(chēng)為匯編程序 翻譯出的程序稱(chēng)為目標(biāo)程序 而翻譯前的程序稱(chēng)為源程序 如下圖 3 高級(jí)語(yǔ)言 20世紀(jì)50年代中期開(kāi)始逐步發(fā)展出面向問(wèn)題的程序設(shè)計(jì)語(yǔ)言 稱(chēng)為高級(jí)語(yǔ)言 1954年出現(xiàn)了第一種高級(jí)語(yǔ)言 FORTRAN 40多年來(lái) 有幾百種高級(jí)語(yǔ)言出現(xiàn) 使用較普遍的有FORTRAN ALGOL COBOL BASIC LISP SNOBOL PL 1 Pascal C PROLOG Ada C VC VB Delphi JAVA等 用高級(jí)語(yǔ)言編寫(xiě)的程序 計(jì)算機(jī)也不能直接執(zhí)行 也需要一種工具將它翻譯為機(jī)器語(yǔ)言程序 這種工具就是高級(jí)語(yǔ)言的編譯系統(tǒng) 一般地將高級(jí)語(yǔ)言程序翻譯為意義等價(jià)的機(jī)器語(yǔ)言程序的方法有編譯方式和解釋方式兩類(lèi) 1 編譯方式 2 解釋方式 4 非過(guò)程化的高級(jí)語(yǔ)言 面向過(guò)程的高級(jí)語(yǔ)言 用這種語(yǔ)言解決問(wèn)題時(shí) 人們首先要理解問(wèn)題要求我們 做什么 然后去構(gòu)造 怎么做 的解題過(guò)程 程序設(shè)計(jì)者要詳細(xì)地規(guī)定計(jì)算機(jī)操作的每一個(gè)細(xì)節(jié) 非過(guò)程化的高級(jí)語(yǔ)言 只需告訴計(jì)算機(jī) 做什么 而無(wú)需去構(gòu)造 怎么做 的過(guò)程 如各種數(shù)據(jù)庫(kù)語(yǔ)言SQL dBASE FoxBASE FoxPro等均屬此類(lèi)語(yǔ)言 5 面向?qū)ο蟮某绦蛟O(shè)計(jì)語(yǔ)言 VisualBasic VisualC VisualFoxpro Delphi Java等面向?qū)ο蟮某绦蛟O(shè)計(jì)語(yǔ)言 1 2算法概述 1 2 1算法的概念1 2 2算法的表示1 2 3算法的特點(diǎn) 1 2 1算法 1 算法 為解決一個(gè)問(wèn)題而采取的方法和步驟 數(shù)據(jù)結(jié)構(gòu) 算法 程序 沃思 NikiklausWirth 數(shù)據(jù)結(jié)構(gòu)主要是數(shù)據(jù)的類(lèi)型和數(shù)據(jù)的組織形式 即對(duì)程序中數(shù)據(jù)的描述 算法是對(duì)程序中操作的描述 即操作步驟 處理一個(gè)問(wèn)題 可以有不同的算法 如求 到100之間的所有偶數(shù)和 要保證算法的正確 還要考慮算法的質(zhì)量和效率 1 2 2算法的表示 常用的描述算法的方法有 自然語(yǔ)言 傳統(tǒng)流程圖 N S結(jié)構(gòu)流程圖 偽代碼 PAD圖等 這里主要介紹前面三種 1 用自然語(yǔ)言表示算法 自然語(yǔ)言就是人們?nèi)粘J褂玫恼Z(yǔ)言 可以是漢語(yǔ) 英語(yǔ)或其他語(yǔ)言 用自然語(yǔ)言描述算法具有通俗易懂的優(yōu)點(diǎn) 但缺點(diǎn)也比較多 1 比較繁瑣 2 容易出現(xiàn) 歧義性 3 用自然語(yǔ)言容易描述順序執(zhí)行的步驟 例1 1將兩個(gè)變量x和y的值互換用自然語(yǔ)言描述如下 步驟1將x值存入中間變量z中 x z步驟2將y值存入變量x中 y x步驟3將中間變量z的值存入y中 z y 2 用傳統(tǒng)流程圖表示算法 傳統(tǒng)流程圖是用一些圖框表示各種操作 用圖形表示算法 直觀(guān)形象 易于理解 美國(guó)國(guó)家標(biāo)準(zhǔn)化協(xié)會(huì)ANSI AmericanNationalStandardInstitute 規(guī)定了一些常用的流程圖符號(hào) 起止框 輸入輸出框 判斷框 處理框 流程線(xiàn) 連接點(diǎn) 注釋框 圖1 2常用流程圖符號(hào) 4 用N S流程圖表示三種基本結(jié)構(gòu) I Nassi和B Shneiderman提出了一種新的流程圖形式 在這種流程圖中 完全去掉了帶箭頭的流程線(xiàn) N S流程圖 順序結(jié)構(gòu) 選擇結(jié)構(gòu) 循環(huán)結(jié)構(gòu) 1 3結(jié)構(gòu)化程序設(shè)計(jì)方法 1 3 1結(jié)構(gòu)化程序基本控制結(jié)構(gòu)1 3 2程序設(shè)計(jì)的原則和步驟 三種基本結(jié)構(gòu) Bohra和Jacopini提出了組成結(jié)構(gòu)化程序的三種基本結(jié)構(gòu)單元 它們是 順序結(jié)構(gòu) 選擇結(jié)構(gòu)和循環(huán)結(jié)構(gòu) 順序結(jié)構(gòu) 選擇結(jié)構(gòu) 循環(huán)結(jié)構(gòu) 結(jié)構(gòu)化程序設(shè)計(jì)方法 結(jié)構(gòu)化程序設(shè)計(jì)強(qiáng)調(diào)程序設(shè)計(jì)風(fēng)格和程序結(jié)構(gòu)的規(guī)范化 提倡清晰的結(jié)構(gòu) 怎樣才能得到一個(gè)結(jié)構(gòu)化的程序呢 具體說(shuō) 采取以下方法可以保證得到結(jié)構(gòu)化的程序 1 自頂向下 2 逐步細(xì)化 3 模塊化設(shè)計(jì) 4 結(jié)構(gòu)化編碼 1 3 程序設(shè)計(jì)的步驟 一般來(lái)說(shuō) 程序設(shè)計(jì)的過(guò)程可以分為以下幾個(gè)步驟 1 分析問(wèn)題 即分析任務(wù)的要求 要給出什么結(jié)果 提供什么資源 有無(wú)解決的可能 2 建立數(shù)學(xué)模型 即用數(shù)學(xué)語(yǔ)言描述它 3 選擇計(jì)算方法 即選擇用計(jì)算機(jī)求解該數(shù)學(xué)模型的近似方法 4 算法設(shè)計(jì) 即制定出計(jì)算機(jī)運(yùn)算的全部步驟 5 編寫(xiě)程序 即選擇一種計(jì)算機(jī)語(yǔ)言 根據(jù)前一步的算法編寫(xiě)程序 6 運(yùn)行 調(diào)試程序 即上機(jī)運(yùn)行程序 用各種不同的數(shù)據(jù)

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 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ì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論