




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、FORTRAN, 科技樓518,0.1 課程的意義 0.2 教學(xué)內(nèi)容和目標(biāo) 0.3 教學(xué)要求 0.4 學(xué)習(xí)方法 0.5 教材及參考書,0 前言,程序設(shè)計(jì)是物探工作者必備工具之一 數(shù)據(jù)處理、格式轉(zhuǎn)換等 正反演、信號(hào)處理等 國內(nèi)外物探數(shù)據(jù)處理軟件大多數(shù)采用FORTRAN語言編寫 FORTRAN語言計(jì)算領(lǐng)域的優(yōu)越性,0.1 課程的意義,教學(xué)內(nèi)容 基本概念:Fortran語言的語法 程序設(shè)計(jì):利用Fortran進(jìn)行程序設(shè)計(jì) 解決問題:利用Fortran解決專業(yè)問題 教學(xué)目標(biāo) 具備初步高級(jí)程序設(shè)計(jì)能力 能夠程序調(diào)試、測(cè)試、驗(yàn)證能力 養(yǎng)成良好的編程習(xí)慣 具備采用程序設(shè)計(jì)解決實(shí)際物探問題的能力,0.2 教學(xué)
2、內(nèi)容和目標(biāo),注意基本能力的培養(yǎng) 理論教學(xué)與實(shí)踐并重 關(guān)于作業(yè) 要求獨(dú)立完成 關(guān)于考核 平時(shí)成績30%,考勤、作業(yè)和實(shí)驗(yàn) 考試成績70%,0.3 教學(xué)要求,多看、多練、多想(“三多”) 多看:經(jīng)典代碼 多練:典型的算法編程實(shí)現(xiàn) 多想:程序的改進(jìn) 網(wǎng)絡(luò)資源 FORTRAN論壇、QQ群等 Google、百度中搜索“FORTRAN” 源碼庫、文庫等,0.4 學(xué)習(xí)方法,教材 FORTRAN95程序設(shè)計(jì)、中國電力出版社 參考書 FORTRAN95/2003程序設(shè)計(jì)、中國電力出版社 VISUAL FORTRAN 常用數(shù)值算法集、科學(xué)出版社 VISUALFORTRAN編程指南、人民郵電出版社 FORTRAN完
3、全自學(xué)手冊(cè)、機(jī)械工業(yè)出版社 Fortran常用算法程序集、清華大學(xué)出版社,0.5 教材及參考書,1.1 算法 1.2 程序與程序設(shè)計(jì) 1. 3 Fortran 程序設(shè)計(jì)的初步,1 算法與程序設(shè)計(jì),現(xiàn)代含義是采用邏輯思維的方法對(duì)獲取數(shù)據(jù)用計(jì)算機(jī)處理的步驟,即計(jì)算機(jī)解題步驟或計(jì)算機(jī)算法。 算法有五個(gè)基本特征: 正確性:一個(gè)好的算法或程序必須保證執(zhí)行后的結(jié)果正確。 可讀性:一個(gè)好的算法或程序應(yīng)有良好的可讀性。 通用性:一個(gè)好的算法或程序要盡可能通用,應(yīng)適用一類問題的求解,提高算法設(shè)計(jì)的效率。如:設(shè)計(jì)求解一元二次方程2x2+3x+1=0的算法,該算法最好設(shè)計(jì)成求解一元二次方程ax2+bx+c=0的算法
4、。 高效率:高效率包括時(shí)間和空間兩個(gè)方面。執(zhí)行速度快、運(yùn)行時(shí)間短、占用內(nèi)存少。,1.1.1 算法的概念,Fortran是結(jié)構(gòu)化程序設(shè)計(jì)語言,每個(gè)程序單位可由三種基本結(jié)構(gòu)組成: 順序結(jié)構(gòu) 分支選擇結(jié)構(gòu) 循環(huán)結(jié)構(gòu) 實(shí)踐證明,任何復(fù)雜的問題都可以用這三種基本結(jié)構(gòu)來描述。,1.1.2 算法及其表示方法,自然語言描述。 流程圖描述 N-S圖描述 PAD圖描述 偽代碼描述,1.1.2 算法的描述方法,問題: 輸入依次10個(gè)數(shù)選擇最大值,偽代碼描述 自然語言描述 input x 輸入一個(gè)數(shù),并把該數(shù)存入x中 max=x 把x的值送入max中 n=0 設(shè)置一個(gè)計(jì)數(shù)器n,并置初值為0 if n=9 goto 如
5、果n的值等于9則轉(zhuǎn)入第步執(zhí)行 input x 輸入一個(gè)數(shù),并把該數(shù)存入x中 if maxx then max=x 如果max的值小于x的值, 則把x的值送入max中 n=n+1 計(jì)數(shù)器n增加1 goto 轉(zhuǎn)向第步執(zhí)行 output max 輸出max的值,1.2.1 程序與程序設(shè)計(jì),計(jì)算機(jī)解決問題所需要的一系列代碼化指令序列計(jì)算機(jī)程序。 程序=數(shù)據(jù)結(jié)構(gòu)+算法 即“程序就是在數(shù)據(jù)的某些特定的表示方式和結(jié)構(gòu)的基礎(chǔ)上,對(duì)抽象算法的具體描述?!?上述公式可擴(kuò)充為: 程序=數(shù)據(jù)結(jié)構(gòu)+算法+程序設(shè)計(jì)方法+語言工具,1.2.3程序設(shè)計(jì)的基本方法,所謂面向過程的程序設(shè)計(jì),是指利用面向過程的語言工具(如Basi
6、c、Pascal、Fortran和C等)進(jìn)行程序開發(fā)的各項(xiàng)活動(dòng)。,面向過程的程序設(shè)計(jì),優(yōu)點(diǎn):編程簡(jiǎn)單、結(jié)構(gòu)性強(qiáng)、可讀性好,程序執(zhí)行時(shí)序特征明顯;遵循這種結(jié)構(gòu)的程序只有一個(gè)入口和一個(gè)出口。 缺點(diǎn):存在數(shù)據(jù)與程序模塊的分離和程序的可重用性差等問題。,1.2.3程序設(shè)計(jì)的基本方法,結(jié)構(gòu)化程序設(shè)計(jì)方法:,結(jié)構(gòu)化編碼 在結(jié)構(gòu)化程序設(shè)計(jì)中,任何復(fù)雜的算法,都可以由三種基本結(jié)構(gòu)組成。 在構(gòu)造算法時(shí),也僅以三種基本結(jié)構(gòu)作為基本單元。 遵循這種結(jié)構(gòu)的程序只有一個(gè)輸入口和一個(gè)輸出口。,模塊化設(shè)計(jì) 將一個(gè)復(fù)雜問題的程序分為若干個(gè)程序模塊,每個(gè)模塊完成一項(xiàng)特定功能;其中有一個(gè)主模塊和若干個(gè)子模塊,主模塊控制各個(gè)子模塊
7、來實(shí)現(xiàn)整個(gè)程序的功能。,自頂向下,逐步細(xì)化,1.3程序設(shè)計(jì)的基本方法,面向?qū)ο蟮某绦蛟O(shè)計(jì)是一種新的程序設(shè)計(jì)范型。它將一些新的理念和結(jié)構(gòu)化程序設(shè)計(jì)中好的思想相融合,提供了一種全新的程序設(shè)計(jì)方法。,面向?qū)ο蟮某绦蛟O(shè)計(jì),基本思想 將一個(gè)需要求解的問題分解為一系列實(shí)體(對(duì)象),然后圍繞這些對(duì)象建立數(shù)據(jù)和函數(shù);函數(shù)的功能決定了該對(duì)象的行為。規(guī)定一個(gè)對(duì)象的函數(shù)可以訪問另一對(duì)象的函數(shù),但一個(gè)對(duì)象的數(shù)據(jù)不能應(yīng)用于另一對(duì)象的函數(shù)中。,分析問題,建立數(shù)學(xué)模型; 設(shè)計(jì)算法,繪制流程圖; 選擇語言,編寫程序; 調(diào)試程序,分析結(jié)果; 整理資料,撰寫文檔。 進(jìn)行程序設(shè)計(jì)要遵循有關(guān)的程序設(shè)計(jì)規(guī)則和采用成熟的程序設(shè)計(jì)方法。程
8、序設(shè)計(jì)方法有兩種:一種是面向過程方法;一種是面向?qū)ο蠓椒?。前者稱為傳統(tǒng)方法,后者稱為現(xiàn)代方法,代表了程序設(shè)計(jì)方法的發(fā)展趨勢(shì)。面向過程方法又分為模塊化方法和結(jié)構(gòu)化方法。,1.2.2 程序設(shè)計(jì)的步驟,Case1:估算地球的重力加速度隨高度的變化 數(shù)學(xué)模型:,1.2.2 程序設(shè)計(jì)的步驟,program Earth_gra !估算地球的重力加速度隨高度的變化 implicit none !F:引力常數(shù);Earth_M:地球質(zhì)量;Earth_R:地球半徑 real f,Earth_M,Earth_R !定義常數(shù) parameter(f=6.667E11,Earth_M=5.976E24,Earth_R=
9、6.371E6) real R,g !R:海拔高程;g:重量加速度 read *,R if (R = 0) then g=-f*Earth_M*(Earth_R +R)/(Earth_R )*3 !海拔小于零 else g=-f*Earth_M/(Earth_R+R )*2 !海拔大于零 end if print *,海拔為,R,重力加速度大約為:,g,m/s2 end,程序代碼規(guī)范清晰、語句表達(dá)準(zhǔn)確到位 常量、變量類型申明清楚 注釋書寫清楚,利人利己 多練多寫多編譯 充分利用人腦,簡(jiǎn)化計(jì)算量提高效率 養(yǎng)成良好的編程習(xí)慣,1.2.3 編程要點(diǎn),1.3.1 發(fā)展歷史 1.3.2 特點(diǎn)與功能 1.
10、3.3 字符集 1.3.4 標(biāo)示符 1.3.5 書寫格式 1.3.6 語句 1.3.6 編譯環(huán)境,1. 3 FORTRAN程序設(shè)計(jì)初步,1957年IBM發(fā)表,F(xiàn)ortran Formula Translator Fortran I,第一個(gè)被正式推廣使用的高級(jí)語言 主要面向科學(xué)計(jì)算:是為科學(xué)、工程問題或企事業(yè)管中的那些能夠用數(shù)學(xué)公式表達(dá)的問題而設(shè)計(jì),其數(shù)值計(jì)算的功能較強(qiáng) 1966年American Standards Association 制定Fortran 66 標(biāo)準(zhǔn) 1978年4月ANSI正式公布新的標(biāo)準(zhǔn):Fortran (X3.9-1978) Fortran 77 1991年5月通過了研
11、制期間稱為Fortran 8x的Fortran 90 Fortran 95標(biāo)準(zhǔn)在1997年由ISO公布,為Fortran90的修正版,加強(qiáng)了Fortran在并行運(yùn)算方面的支持。,1.3.1 發(fā)展歷史,發(fā)展歷史長,積累的財(cái)富多 書寫和語法規(guī)則要求嚴(yán)格 可直接對(duì)數(shù)組和復(fù)數(shù)進(jìn)行運(yùn)算 具有不可替代的并行計(jì)算功能 FORTRAN是一種編譯語言,1.3.2 特點(diǎn)和功能,字符是組成程序的基本符號(hào),程序中的變量、函數(shù)、表達(dá)式、語句等程序基本要素都是用一個(gè)個(gè)不同的字符書寫構(gòu)成的,1. 3.3 字符集,標(biāo)識(shí)符是用來表示程序中的變量、符號(hào)常量、函數(shù)、程序等對(duì)象的一組符號(hào)。 命名規(guī)則 標(biāo)識(shí)符由字母和(或)數(shù)字、下劃線
12、符號(hào)組成,且第一個(gè)字符必須是字母。 ABC,x,y2,S123,sum,B2K9P3,MY_SUB,pro_file A-B,x&y,6T,S(x)B,1.3.4 標(biāo)識(shí)符,使用 變量名、程序名、函數(shù)名和符號(hào)常量名等 字母大寫和小寫等價(jià) 空格不起作用 沒有保留字 在給標(biāo)識(shí)符起名時(shí),應(yīng)充分考慮其所代表對(duì)象的含義,盡可能做到見名知義,以便于程序的閱讀、修改和調(diào)試 不能出現(xiàn)同一個(gè)標(biāo)識(shí)符代表不同對(duì)象,1.3.4 標(biāo)識(shí)符,Fixed Format(固定格式) 是舊式的寫法,有較多的限制 文件名用*.F或*.FOR Free Format(自由格式) Fortran 90以后新增的寫法 文件名用*.F90,
13、1. 3.5書寫格式,Fixed format(固定格式),源程序必須嚴(yán)格按照一定的格式來書寫 在編譯時(shí)對(duì)一行中不同位置上的內(nèi)容分別處理,在fixed format中,規(guī)定了程序代碼每一行中每個(gè)字段的意義 程序代碼中的多余的空格沒有意義,僅做分隔和方便閱讀,如SIN(X) S IN ( X ) 配合打孔卡片的使用,Fixed format(固定格式),Fortran 90開始使用,文件名為*.F90 不再規(guī)定每一行的第幾個(gè)字符有什么作用 嘆號(hào)”!”后面的文本都是注釋 每行可以編寫132個(gè)字符 行號(hào)寫在每行的最前面 一行程序代碼的最后如果是符號(hào),代表下一行程序會(huì)和這一行連接。如果一行程序代碼的開頭是符號(hào),代表它會(huì)和上一行程序連接 free format中的空格同樣無意義,純粹用來作為分隔及方便閱讀程序代碼使用,Free format(自由格式),Free format(自由格式),Fortran90程序是一種分塊形式的程序,整個(gè)程序由若干個(gè)程序模塊組成。各模塊都有相似的語句組織形式,其中主程序起整體控制作用,各輔程序模塊各自完成問題中的一個(gè)算法,1.3.6 語句,主程序 PROGRAM 程序名 語句可省略 . END PROGRAM 程序名 END必須有 輔程序(過程) SUBROUTINE 子程序 FUNCTION 函數(shù) BLOCK DATA
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 高校預(yù)算績效管理的技術(shù)創(chuàng)新與應(yīng)用
- 多學(xué)科融合下的經(jīng)管類課程教學(xué)創(chuàng)新探討
- 健康科技前沿:醫(yī)療廢棄物追溯管理的市場(chǎng)分析與策略建議
- 微創(chuàng)外科手術(shù)中麻醉的注意事項(xiàng)與操作技巧
- 幼兒園師德師風(fēng)專項(xiàng)治理自查整改措施
- 2025至2030住宅和商業(yè)泳池警報(bào)行業(yè)發(fā)展趨勢(shì)分析與未來投資戰(zhàn)略咨詢研究報(bào)告
- 2025至2030中國自密實(shí)混凝土行業(yè)市場(chǎng)占有率及投資前景評(píng)估規(guī)劃報(bào)告
- 2025至2030中國自動(dòng)扶梯行業(yè)深度研究及發(fā)展前景投資評(píng)估分析
- 2025至2030中國腺苷受體A3行業(yè)市場(chǎng)占有率及投資前景評(píng)估規(guī)劃報(bào)告
- 2025至2030中國肩袖加固裝置行業(yè)產(chǎn)業(yè)運(yùn)行態(tài)勢(shì)及投資規(guī)劃深度研究報(bào)告
- 垃圾處理焚燒培訓(xùn)課件
- 國家中小學(xué)智慧教育平臺(tái)培訓(xùn)專題講座
- GMP附錄-細(xì)胞治療產(chǎn)品
- 2025年中國烘焙食品行業(yè)發(fā)展深度分析及行業(yè)發(fā)展趨勢(shì)報(bào)告
- 專業(yè)燒烤店管理制度
- GB/T 45668-2025地下空間信息系統(tǒng)建設(shè)技術(shù)要求
- 2025江蘇省惠隆資產(chǎn)管理限公司招聘30人易考易錯(cuò)模擬試題(共500題)試卷后附參考答案
- 招標(biāo)代理服務(wù)服務(wù)方案
- 學(xué)術(shù)規(guī)范與論文寫作講述課件
- (新版)孤殘兒童試題庫(含答案)
- 普通生物學(xué)說課(張艷麗)
評(píng)論
0/150
提交評(píng)論