版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
1、Fortran程序設計第一講 課程相關評價考核作業(yè)10%實驗10%期中20%期末60%提示作業(yè)、實驗完成度不足70%,或期末考試卷面不足55分的同學,將不能通過本課程第一講 學習目的與方法學習目的鍛煉你的思維能力掌握物理研究與工程應用的重要工具學習方法作為一門實踐性極強的課程,學好本課程的最主要途徑就是多做實驗,也就是大量的編程練習在編程練習中,要堅持獨立思考如果你覺得問題過于復雜,難以解決,那么先進行比較簡單的編程練習,無論如何,獨立編寫一個簡單的程序也要比抄襲一個復雜程序的收獲更大第一講 程序設計語言基礎計算機直接能懂的語言叫機器語言,由二進制代碼組成例如:計算2+3-4,并從屏幕上輸出,
2、用機器語言描述的程序為:0010001100000010 -將2送累加器A0000001100000011 -將3與累加器相加,結果在累加器00110111 -將累加器數(shù)取反,求反碼00010111 -將累加器數(shù)加1,求補碼,結果為-50000001100000100 -將4與累加器相加,結果-1在累加器00110111 -將累加器數(shù)取反,求反碼00010111 -將累加器數(shù)加1,求補碼,結果為100000010 -將累加器數(shù)1從總線輸出第一講 程序設計語言基礎機器語言的最大優(yōu)點: 直接識別、理解和執(zhí)行,有極高的運行效率,在一些嵌入式控制系統(tǒng)中有時會使用機器語言編寫的程序。機器語言有明顯缺點:
3、 難以理解、閱讀、編寫機器語言程序,機器語言程序其可靠性難以保證,不易維護,可移植性很差。 為了解決機器語言存在的突出問題,克服機器語言自身的不足和缺點,出現(xiàn)了匯編語言,或稱符號語言。 MOV A,2H -將2送累加器AADD A,3H -將3與累加器相加,結果在累加器CPL A -將累加器數(shù)取反,求反碼INC A -將累加器數(shù)加1,求補碼,結果為-5ADD A,4H -將4與累加器相加,結果-1在累加器CPL A -將累加器數(shù)取反,求反碼INC A -將累加器數(shù)加1,求補碼,結果為1OUTL BUS,A -將累加器數(shù)1從總線輸出第一講 程序設計語言基礎匯編語言的優(yōu)點: 執(zhí)行速度快,占用空間少
4、,運行效率高。缺點: 不易編寫、理解、維護和移植。 匯編語言同機器語言一樣,與計算機硬件系統(tǒng)有關,不同種類的計算機配置有不同的匯編語言,相互不能通用。 由于匯編語言的固有缺點,絕大多數(shù)情況不使用匯編語言,但是在一些嵌入式控制系統(tǒng)中還習慣采用其編寫程序,以提高這些控制系統(tǒng)的運行效率,所以在高級語言極其普及的今天,匯編語言還是有一定的生存空間。 可以直接對硬件進行操作,對內(nèi)在地址進行操作與位操作。第一講 程序設計語言基礎 對于匯編語言程序,必須翻譯轉換成機器語言程序后,才能被計算機識別、理解和執(zhí)行。 匯編程序機器語言目標程序 匯編語言源程序第一講 程序設計語言基礎 高級語言是其表達方式接近自然語言
5、和數(shù)學語言的一類程序設計語言。 高級語言克服了低級語言的固有缺點,它面向過程、易讀易學、易于編寫、可靠性高、可維護性好,基本與計算機硬件系統(tǒng)無關,能在不同種類的計算機上運行。 下面是計算物體運動距離的FORTRAN 90語言程序: ! 計算物體運動距離PROGRAM ex01_01 REAL v0,a,t,sREAD *,v0,a,ts=v0*t+0.5*a*t*tPRINT *,s=,sEND! 計算2+3-4PROGRAM ex01_02REAL AA=2+3-4PRINT *, 2+3-4=,aEND第一講 程序設計語言基礎 高級語言也稱“算法語言”。 FORTRAN語言是世界上最早出現(xiàn)
6、的高級語言,受其影響,其后不同風格、不同用途、不同規(guī)模、不同版本的高級語言不斷涌現(xiàn),目前高級語言有上百種,但常用的只有十多種。不同的高級語言其詞法、語法和語義不盡相同,應用范圍和領域也有差異。 高級語言程序不能被計算機直接識別、理解和執(zhí)行,必須將其翻譯轉換成機器語言程序,或者先翻譯轉換成匯編語言程序,再通過匯編程序翻譯轉換成機器語言程序。 編譯程序機器語言目標程序 高級語言源程序匯編語言程序 匯編程序機器語言目標程序第一講 程序設計語言基礎 程序設計語言種類繁多,形式各異,功能有別,同自然語言一樣,它們都有嚴格的詞法、語法和語義規(guī)定。 程序設計語言與自然語言的不同之處是不允許出現(xiàn)任何二義性、歧
7、異性和不確定性。請解釋下文中每個“意思”的意思阿呆給領導送紅包時,兩人的對話頗有意思。領導:“你這是什么意思?”阿呆:“沒什么意思,意思意思?!鳖I導:“你這就不夠意思了。”阿呆:“小意思,小意思?!鳖I導:“你這人真有意思?!卑⒋簦骸捌鋵嵰矝]有別的意思?!鳖I導:“那我就不好意思了?!卑⒋簦骸笆俏也缓靡馑肌!钡谝恢v 程序設計語言基礎詞法: 組成合法語句的基本單位稱為單詞,構成合法單詞的規(guī)則稱為詞法。詞法描述:通常采用嚴格的形式化描述(如BNF,即巴科斯范式, 講課采用此法描述),也有采用語法圖描述,但很少采用自然語言描述。詞法規(guī)則:程序設計語言規(guī)定了一組描述詞法的規(guī)則。作用: 通過詞法規(guī)則可判斷一
8、單詞符號串是否合法,含有非法單詞的程序在計算機上不能運行,所有程序必須符合語言的詞法規(guī)則。 語法:具有特定含義的符號串或句子稱為語句,構成合法語句的規(guī)則稱為語法。 語法描述:通常采用嚴格的形式化描述(如BNF,即巴科斯范式,本書采用此法描述),也有采用語法圖描述,但很少采用自然語言描述。 語法規(guī)則:程序設計語言規(guī)定了一組描述語法的規(guī)則。第一講 程序設計語言基礎什么是巴科斯范式?巴科斯范式(BNF: Backus-Naur Form 的縮寫)是由 John Backus 和 Peter Naur 首先引入的用來描述計算機語言語法的符號集。現(xiàn)在,幾乎每一位新編程語言書籍的作者都使用巴科斯范式來定義
9、編程語言的語法規(guī)則。巴科斯范式的內(nèi)容在雙引號中的字(word)代表著這些字符本身。 而double_quote用來代表雙引號。在雙引號外的字(有可能有下劃線)代表著語法部分。尖括號( )內(nèi)包含的為必選項。方括號( )內(nèi)包含的為可選項。大括號( )內(nèi)包含的為可重復0至無數(shù)次的項。豎線( | )表示在其左右兩邊任選一項,相當于OR的意思。:= 是“被定義為”的意思。第一講 程序設計語言基礎其實BNF很簡單 :=表示定義 |表示或 尖括號()括起來的是非終結符 所謂非終結符就是語言中某些抽象的概念,終結符就是可以直接出現(xiàn)在語言中的符號 例:C語言的聲明語句可以用BNF這樣描述: := ; | ”=“
10、; 這一句中這個非終結符被定義成了兩種形式(上面用|隔開的兩部分) C語言的標識符可以這樣描述: := | 第一講 算法用計算機解決問題的流程分析問題建立數(shù)學模型選擇合適的數(shù)據(jù)結構和算法編寫程序調試程序運行程序得到結果第一講 算法算法為計算機解題設計的有明確意義的運算步驟的有限集合。算法的描述可以用自然語言也可以用形式語言、數(shù)學語言當然也可以用程序第一講 算法用自然語言描述算法烹飪一盆榨菜肉絲湯,設計并用自然語言描述其菜譜(算法)。 準備100克榨菜和50克精豬肉。 將榨菜和精肉切細絲。 向鍋中倒入25克色拉油。 將鍋中油加溫至八成熟。 將榨菜和精肉絲放入鍋中燒熟。 放少許鹽和適當水并燒開。
11、嘗咸、淡否? 若咸,則加少許開水,轉。 若淡,則加少許精鹽,轉。 烹飪結束,出鍋。第一講 算法計算1+2+3+ +100之和,并輸出,設計并用自然語言描述其算法。 將0賦予sum。 將1賦予i。 判斷i100嗎? 若i100,則轉。 將sum+i賦予sum。 將i+1賦予i。 轉。 輸出sum值。 結束第一講 算法用流程圖來描述算法其優(yōu)點是描述簡潔、清晰和直觀,缺點是由于轉移箭頭的無約束使用,影響算法的可靠性。 (a) 處理 (b) 特定處理 (c) 輸入輸出 (d) 判斷 (e) 開始結束 (k) 流程線 (l) 虛線 (m) 省略線 (n) 并行 (f) 循環(huán)上界 (g) 循環(huán)下界 (h)
12、 連接 (i) 準備 (j) 注釋第一講 算法咸淡求前N個正數(shù)和 I I I0TF輸入N I=1,N,1 輸入XS+X =X I N輸出S開始結束結束準備100克榨菜和50克精豬肉將榨菜和精肉 切細絲 向鍋中倒入 25克色拉油將鍋中油加溫 至八成熟 放少許鹽和適當水并燒開 將榨菜和精肉絲 放入鍋中燒熟嘗咸、淡否?出 鍋加少許精鹽加少許開水開始第一講 算法用N-S圖來描述算法 由于框圖存在比較嚴重的缺點,圖中的流程線無任何約束機制,完全由設計人員人為控制,所以用框圖描述的算法其可靠性受到很大影響。針對框圖的缺點,1973年美國學者I.Nassi和B.Shneiderman提出了一種新的算法描述工
13、具,即N-S圖,也稱盒圖。AB條件P當 條件PA直到 條件PA(a)處理框 (b) 判斷框 (c)當型循環(huán)框 (d)直到型循環(huán)框假真AB第一講 算法準備100克榨菜和50克精豬肉將榨菜和精肉切細絲 向鍋中倒入25克色拉油 將鍋中油加溫至八成熟將榨菜和精肉絲放入鍋中燒熟 放少許鹽和適當水并燒開嘗咸、淡否?加少許開水咸淡加少許精鹽0=sum1=i輸出 sumsum+i=sumi+1=i i100出 鍋 第一講 算法用偽代碼描述算法 流程圖、N-S圖:圖形描述工具。優(yōu)點:描述的算法直觀易懂。缺點:是圖形繪制比較費時費事,圖形修改比較麻煩。 所以圖形工具也不是很理想的描述工具。為了克服圖形描述工具的缺
14、點,現(xiàn)在也開始流行采用偽代碼描述工具描述算法。第一講 算法計算2+4+ +100,并輸出,設計并用偽代碼描述其算法。 BEGIN 算法開始 置sum為0 置i為1 WHILE i100 IF i/2的余數(shù)為0 sum+i送sum ENDIF i+1送i ENDDO 打印 sum END 算法結束第一講 算法偽代碼算法描述工具的優(yōu)點: 可作為注釋直接插入到源程序中間,能保持文檔和程序的一致性; 可用正文編輯器或文字處理器完成偽代碼的書寫和編輯工作; 可借助軟件自動生成程序代碼。 第一講 程序設計方法程序設計方法模塊化程序設計方法結構化程序設計方法面向對象程序設計方法第一講 程序設計方法模塊化程序
15、設計方法大的、比較復雜的問題子問題1子問題2子問題3子問題4子問題21子問題22第一講 程序設計方法結構化程序設計方法一、使用三種基本控制結構;二、采用自頂向下和逐步求精方法。自頂向下和逐步求精方法是由抽象到具體、由粗到細的方法。 操作A操作B操作CTF操作A操作B條 件TF操作A條 件TF操作A條 件 (a) 順序結構 (b) 判斷結構 (c) 當型循環(huán)結構 (d) 直到型循環(huán)結構第一講 程序設計方法自頂向下和逐步求精方法:由抽象到具體、由粗到細的方法。第一次細化稱為“頂層設計”,然后通過一步一步細化,它們依次稱為第二層、第三層設計,直到不需細化為止。細化結果可得到一個樹型層次結構圖。處理學
16、校事務學生事務教學事務財務事務科研事務頂層設計第二層設計第三層設計第一講 程序設計方法面向對象程序設計方法面向過程程序設計方法:代碼與數(shù)據(jù)是相互分離的,程序維護性較差。面向對象程序設計方法:數(shù)據(jù)及處理這些數(shù)據(jù)的函數(shù)封裝到一個類。類: 一種數(shù)據(jù)類型。對象:使用類的變量。 在對象內(nèi),只有屬于該對象的成員函數(shù)才可能存取該對象的數(shù)據(jù)成員,這樣其它函數(shù)就不會無意破壞其內(nèi)容,達到保護和隱藏數(shù)據(jù)的效果。優(yōu)點: 1、程序的可維護性好,只需要了解必要的細節(jié)。 2、程序易修改,通過刪除對象來完成。 3、對象可以多次使用,重用性好。全新概念:類/封裝/繼承性/多態(tài)性 第一講 程序設計方法 舉個例子,上銀行領錢時,一
17、定要通過銀行的出納員或是自動提款機的幫忙,才能領出戶頭里的錢。為了安全理由,銀行不可能直接把金庫開放,讓客戶自行取出屬于自己的金錢。 面向對象中很重要的一項工作,就是數(shù)據(jù)封裝。數(shù)據(jù)經(jīng)過封裝后可以分成兩種數(shù)據(jù),一種是可以直接讓大家使用的數(shù)據(jù),另一種是只能在內(nèi)部使用的數(shù)據(jù)。函數(shù)也可以拿來做封裝,分成公開使用和內(nèi)部使用的函數(shù)。 以銀行的例子來說,銀行里面的錢,就算是銀行的內(nèi)部數(shù)據(jù),不能直接讓外人使用,只有銀行內(nèi)部的員工才能直接接觸它們。 除了數(shù)據(jù)封裝外,面向對象的另一個重點是程序代碼的重復使用。重復使用程序代碼最簡單的方法,就是使用函數(shù)。面向對象提供另外一種思考方法來重復使用程序代碼。封裝與繼承是面
18、向對象方法的主要思想第一講 Fortran 簡介FORmula TRANslator 公式翻譯器 科學和工程計算問題的程序設計語言 第一門廣泛應用的程序語言 FORTRAN語言的重要意義:Fortran堪稱是軟件行業(yè)的轉折點,就像微處理器對硬件行業(yè)一樣重要。Fortran改變了人機通信的方式,使得程序語言更容易被用戶理解和接受。因此,F(xiàn)ortran一直被認為是首款大獲成功的高級語言。1977年巴庫斯獲圖靈獎著名編程語言Fortran創(chuàng)始人巴庫斯 第一講 Fortran 簡介Fortran語言的發(fā)展簡史第一個FORTRAN語言版本是在1954年提出的,在1957年正式發(fā)布使用。1958 FORTRAN1962 FORTRAN1978 FORTRAN771991.FORTRAN 901997. FORTRAN95 FORRAN95不象FORTRAN90在FORTRAN77添加很多內(nèi)容,只能視為90的修正版,加強
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2026年信息流廣告素材創(chuàng)意方法
- 2026年農(nóng)產(chǎn)品品牌包裝設計策略
- 無人機維修調試與校驗規(guī)范手冊
- 2026年農(nóng)產(chǎn)品國際貿(mào)易規(guī)則解析
- 2026年氫能儲運安全技術規(guī)范培訓
- 關于鼓勵小微企業(yè)吸納勞動者就業(yè)的意見
- 職業(yè)壓力管理的醫(yī)療化干預體系
- 職業(yè)健康遠程隨訪的醫(yī)患協(xié)同管理策略
- 職業(yè)健康監(jiān)護中的標準化培訓效果評估
- 院長培訓教學課件
- 2025大模型安全白皮書
- 2026國家國防科技工業(yè)局所屬事業(yè)單位第一批招聘62人備考題庫及1套參考答案詳解
- 工程款糾紛專用!建設工程施工合同糾紛要素式起訴狀模板
- 地坪漆施工方案范本
- 2026湖北武漢長江新區(qū)全域土地管理有限公司招聘3人筆試備考題庫及答案解析
- 【《自適應巡航系統(tǒng)ACC的SOTIF風險的識別與評估分析案例》4100字】
- 110(66)kV~220kV智能變電站設計規(guī)范
- 阿壩州消防救援支隊2026年面向社會公開招聘政府專職消防員(69人)筆試備考試題及答案解析
- 2025寧波市甬北糧食收儲有限公司公開招聘工作人員2人筆試參考題庫及答案解析
- (正式版)DB44∕T 2784-2025 《居家老年人整合照護管理規(guī)范》
- 2025年低壓電工理論考試1000題(附答案)
評論
0/150
提交評論