




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
FORTRAN程序設(shè)計(jì)主講:張華zhhua1979@163.com科技樓518FORTRAN程序設(shè)計(jì)主講:張華0.1課程的意義0.2教學(xué)內(nèi)容和目標(biāo)0.3教學(xué)要求0.4學(xué)習(xí)方法0.5教材及參考書0前言0前言程序設(shè)計(jì)是物探工作者必備工具之一數(shù)據(jù)處理、格式轉(zhuǎn)換等正反演、信號(hào)處理等國(guó)內(nèi)外物探數(shù)據(jù)處理軟件大多數(shù)采用FORTRAN語(yǔ)言編寫FORTRAN語(yǔ)言計(jì)算領(lǐng)域的優(yōu)越性0.1課程的意義
程序設(shè)計(jì)是物探工作者必備工具之一0.1課程的意義教學(xué)內(nèi)容基本概念:Fortran語(yǔ)言的語(yǔ)法程序設(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é)內(nèi)容和目標(biāo)教學(xué)內(nèi)容0.2教學(xué)內(nèi)容和目標(biāo)
注意基本能力的培養(yǎng)理論教學(xué)與實(shí)踐并重
關(guān)于作業(yè)
要求獨(dú)立完成關(guān)于考核
平時(shí)成績(jī)30%,考勤、作業(yè)和實(shí)驗(yàn)
考試成績(jī)70%0.3教學(xué)要求注意基本能力的培養(yǎng)0.3教學(xué)要求多看、多練、多想(“三多”)多看:經(jīng)典代碼多練:典型的算法編程實(shí)現(xiàn)多想:程序的改進(jìn)網(wǎng)絡(luò)資源FORTRAN論壇、QQ群等Google、百度中搜索“FORTRAN”源碼庫(kù)、文庫(kù)等0.4學(xué)習(xí)方法多看、多練、多想(“三多”)0.4學(xué)習(xí)方法教材FORTRAN95程序設(shè)計(jì)、中國(guó)電力出版社參考書FORTRAN95/2003程序設(shè)計(jì)、中國(guó)電力出版社VISUALFORTRAN常用數(shù)值算法集、科學(xué)出版社VISUALFORTRAN編程指南、人民郵電出版社FORTRAN完全自學(xué)手冊(cè)、機(jī)械工業(yè)出版社Fortran常用算法程序集、清華大學(xué)出版社0.5教材及參考書教材0.5教材及參考書1.1算法1.2程序與程序設(shè)計(jì)1.3Fortran程序設(shè)計(jì)的初步1算法與程序設(shè)計(jì)1算法與程序設(shè)計(jì)現(xiàn)代含義是采用邏輯思維的方法對(duì)獲取數(shù)據(jù)用計(jì)算機(jī)處理的步驟,即計(jì)算機(jī)解題步驟或計(jì)算機(jī)算法。算法有五個(gè)基本特征:正確性:一個(gè)好的算法或程序必須保證執(zhí)行后的結(jié)果正確??勺x性:一個(gè)好的算法或程序應(yīng)有良好的可讀性。通用性:一個(gè)好的算法或程序要盡可能通用,應(yīng)適用一類問題的求解,提高算法設(shè)計(jì)的效率。如:設(shè)計(jì)求解一元二次方程2x2+3x+1=0的算法,該算法最好設(shè)計(jì)成求解一元二次方程ax2+bx+c=0的算法。高效率:高效率包括時(shí)間和空間兩個(gè)方面。執(zhí)行速度快、運(yùn)行時(shí)間短、占用內(nèi)存少。1.1.1算法的概念現(xiàn)代含義是采用邏輯思維的方法對(duì)獲取數(shù)據(jù)用計(jì)算機(jī)處理的步驟,即Fortran是結(jié)構(gòu)化程序設(shè)計(jì)語(yǔ)言,每個(gè)程序單位可由三種基本結(jié)構(gòu)組成:
⑴順序結(jié)構(gòu)⑵分支選擇結(jié)構(gòu)⑶循環(huán)結(jié)構(gòu)實(shí)踐證明,任何復(fù)雜的問題都可以用這三種基本結(jié)構(gòu)來描述。1.1.2算法及其表示方法Fortran是結(jié)構(gòu)化程序設(shè)計(jì)語(yǔ)言,每個(gè)程序單位可由三種基本自然語(yǔ)言描述。流程圖描述N-S圖描述PAD圖描述偽代碼描述1.1.2算法的描述方法自然語(yǔ)言描述。1.1.2算法的描述方法問題:輸入依次10個(gè)數(shù)選擇最大值偽代碼描述
自然語(yǔ)言描述①inputx 輸入一個(gè)數(shù),并把該數(shù)存入x中②max<=x 把x的值送入max中③n=0 設(shè)置一個(gè)計(jì)數(shù)器n,并置初值為0④ifn=9goto⑨
如果n的值等于9則轉(zhuǎn)入第⑨步執(zhí)行⑤inputx 輸入一個(gè)數(shù),并把該數(shù)存入x中⑥ifmax<xthenmax<=x如果max的值小于x的值,
則把x的值送入max中⑦n=n+1 計(jì)數(shù)器n增加1⑧goto④
轉(zhuǎn)向第④步執(zhí)行⑨outputmax 輸出max的值問題:輸入依次10個(gè)數(shù)選擇最大值偽代碼描述1.2.1程序與程序設(shè)計(jì)
計(jì)算機(jī)解決問題所需要的一系列代碼化指令序列——計(jì)算機(jī)程序。
程序=數(shù)據(jù)結(jié)構(gòu)+算法即“程序就是在數(shù)據(jù)的某些特定的表示方式和結(jié)構(gòu)的基礎(chǔ)上,對(duì)抽象算法的具體描述?!?/p>
上述公式可擴(kuò)充為:程序=數(shù)據(jù)結(jié)構(gòu)+算法+程序設(shè)計(jì)方法+語(yǔ)言工具1.2.1程序與程序設(shè)計(jì)計(jì)算機(jī)解決問題所需1.2.3程序設(shè)計(jì)的基本方法所謂面向過程的程序設(shè)計(jì),是指利用面向過程的語(yǔ)言工具(如Basic、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ù)與程序模塊的分離和程序的可重用性差等問題?;舅枷耄喊岩粋€(gè)需要求解的復(fù)雜問題分為若干個(gè)模塊來處理,每個(gè)模塊處理一個(gè)子問題;設(shè)計(jì)時(shí)遵循自頂向下、逐步細(xì)化、模塊化設(shè)計(jì)和結(jié)構(gòu)化編碼的原則。1.2.3程序設(shè)計(jì)的基本方法所謂面向過程的程序設(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è)子模塊來實(shí)現(xiàn)整個(gè)程序的功能。自頂向下,逐步細(xì)化1.2.3程序設(shè)計(jì)的基本方法結(jié)構(gòu)化程序設(shè)計(jì)方法:結(jié)構(gòu)化編碼模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ù)中。幾個(gè)基本概念:三類機(jī)制:類,對(duì)象,屬性,事件,方法封裝、繼承、多態(tài)1.3程序設(shè)計(jì)的基本方法面向?qū)ο蟮某绦蛟O(shè)計(jì)是一種新的程序設(shè)計(jì)分析問題,建立數(shù)學(xué)模型;設(shè)計(jì)算法,繪制流程圖;
選擇語(yǔ)言,編寫程序;
調(diào)試程序,分析結(jié)果;整理資料,撰寫文檔。進(jìn)行程序設(shè)計(jì)要遵循有關(guān)的程序設(shè)計(jì)規(guī)則和采用成熟的程序設(shè)計(jì)方法。程序設(shè)計(jì)方法有兩種:一種是面向過程方法;一種是面向?qū)ο蠓椒?。前者稱為傳統(tǒng)方法,后者稱為現(xiàn)代方法,代表了程序設(shè)計(jì)方法的發(fā)展趨勢(shì)。面向過程方法又分為模塊化方法和結(jié)構(gòu)化方法。1.2.2程序設(shè)計(jì)的步驟分析問題,建立數(shù)學(xué)模型;1.2.2程序設(shè)計(jì)的步驟Case1:估算地球的重力加速度隨高度的變化數(shù)學(xué)模型:
1.2.2程序設(shè)計(jì)的步驟開始設(shè)置常數(shù)a,f輸出G結(jié)束R<a輸入M,RR>aGG
programEarth_gra
!估算地球的重力加速度隨高度的變化
implicitnone
!F:引力常數(shù);Earth_M:地球質(zhì)量;Earth_R:地球半徑
realf,Earth_M,Earth_R
!定義常數(shù)
parameter(f=6.667E11,Earth_M=5.976E24,Earth_R=6.371E6)
realR,g!R:海拔高程;g:重量加速度
read*,R
if(R>=0)theng=-f*Earth_M*(Earth_R+R)/(Earth_R)**3!海拔小于零
elseg=-f*Earth_M/(Earth_R+R)**2!海拔大于零
endif
print*,"海拔為",R,'重力加速度大約為:',g,'m/s^2'end
Case1:估算地球的重力加速度隨高度的變化1.2.2程序程序代碼規(guī)范清晰、語(yǔ)句表達(dá)準(zhǔn)確到位常量、變量類型申明清楚注釋書寫清楚,利人利己多練多寫多編譯充分利用人腦,簡(jiǎn)化計(jì)算量提高效率養(yǎng)成良好的編程習(xí)慣1.2.3編程要點(diǎn)程序代碼規(guī)范清晰、語(yǔ)句表達(dá)準(zhǔn)確到位1.2.3編程要點(diǎn)1.3.1發(fā)展歷史1.3.2特點(diǎn)與功能1.3.3字符集1.3.4標(biāo)示符1.3.5書寫格式1.3.6語(yǔ)句1.3.6編譯環(huán)境1.3FORTRAN程序設(shè)計(jì)初步1.3.1發(fā)展歷史1.3FORTRAN程序設(shè)計(jì)初步1957年IBM發(fā)表,F(xiàn)ortran→FormulaTranslatorFortranI,第一個(gè)被正式推廣使用的高級(jí)語(yǔ)言主要面向科學(xué)計(jì)算:是為科學(xué)、工程問題或企事業(yè)管理中的那些能夠用數(shù)學(xué)公式表達(dá)的問題而設(shè)計(jì),其數(shù)值計(jì)算的功能較強(qiáng)1966年AmericanStandardsAssociation制定Fortran66標(biāo)準(zhǔn)1978年4月ANSI正式公布新的標(biāo)準(zhǔn):Fortran(X3.9-1978)——
Fortran771991年5月通過了研制期間稱為Fortran8x的Fortran90Fortran95標(biāo)準(zhǔn)在1997年由ISO公布,為Fortran90的修正版,加強(qiáng)了Fortran在并行運(yùn)算方面的支持。1.3.1發(fā)展歷史1957年IBM發(fā)表,F(xiàn)ortran→FormulaTr發(fā)展歷史長(zhǎng),積累的財(cái)富多書寫和語(yǔ)法規(guī)則要求嚴(yán)格可直接對(duì)數(shù)組和復(fù)數(shù)進(jìn)行運(yùn)算具有不可替代的并行計(jì)算功能FORTRAN是一種編譯語(yǔ)言1.3.2特點(diǎn)和功能發(fā)展歷史長(zhǎng),積累的財(cái)富多1.3.2特點(diǎn)和功能字符是組成程序的基本符號(hào),程序中的變量、函數(shù)、表達(dá)式、語(yǔ)句等程序基本要素都是用一個(gè)個(gè)不同的字符書寫構(gòu)成的1.3.3字符集英文26個(gè)字母A~Z及a~z(英文字母大小寫不分)數(shù)字0~922個(gè)特殊符號(hào)
:=+-*/(),.‘’!“”%&;<>?$_空格符字符是組成程序的基本符號(hào),程序中的變量、函數(shù)、表達(dá)式、語(yǔ)句等標(biāo)識(shí)符是用來表示程序中的變量、符號(hào)常量、函數(shù)、程序等對(duì)象的一組符號(hào)。命名規(guī)則標(biāo)識(shí)符由字母和(或)數(shù)字、下劃線符號(hào)組成,且第一個(gè)字符必須是字母。ABC,x,y2,S123,sum,B2K9P3,MY_SUB,pro_fileA-B,x&y,6T,,S(x)B1.3.4標(biāo)識(shí)符標(biāo)識(shí)符是用來表示程序中的變量、符號(hào)常量、函數(shù)、程序等對(duì)象的一使用變量名、程序名、函數(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í)符使用1.3.4標(biāo)識(shí)符FixedFormat(固定格式)是舊式的寫法,有較多的限制文件名用*.F或*.FORFreeFormat(自由格式)Fortran90以后新增的寫法文件名用*.F901.3.5書寫格式FixedFormat(固定格式)1.3.5書寫格式Fixedformat(固定格式)源程序必須嚴(yán)格按照一定的格式來書寫在編譯時(shí)對(duì)一行中不同位置上的內(nèi)容分別處理Fixedformat(固定格式)源程序必須嚴(yán)格按照一定的在fixedformat中,規(guī)定了程序代碼每一行中每個(gè)字段的意義程序代碼中的多余的空格沒有意義,僅做分隔和方便閱讀,如SIN(X)SIN(X)配合打孔卡片的使用Fixedformat(固定格式)在fixedformat中,規(guī)定了程序代碼每一行中每個(gè)字段Fortran90開始使用,文件名為*.F90不再規(guī)定每一行的第幾個(gè)字符有什么作用嘆號(hào)”!”后面的文本都是注釋每行可以編寫132個(gè)字符行號(hào)寫在每行的最前面一行程序代碼的最后如果是符號(hào)&,代表下一行程序會(huì)和這一行連接。如果一行程序代碼的開頭是符號(hào)&,代表它會(huì)和上一行程序連接freeformat中的空格同樣無(wú)意義,純粹用來作為分隔及方便閱讀程序代碼使用Freeformat(自由格式)Fortran90開始使用,文件名為*.F90FreefFreeformat(自由格式)Freeformat(自由格式)Fortran90程序是一種分塊形式的程序,整個(gè)程序由若干個(gè)程序模塊組成。各模塊都有相似的語(yǔ)句組織形式,其中主程序起整體控制作用,各輔程序模塊各自完成問題中的一個(gè)算法1.3.6語(yǔ)句Fortran90程序是一種分塊形式的程序,整個(gè)程序由若干個(gè)主程序[PROGRAM程序名]←語(yǔ)句可省略.....END[PROGRAM[程序名]]←END必須有輔程序(過程)SUBROUTINE子程序FUNCTION函數(shù)BLOCKDATA塊數(shù)據(jù)MODULE模塊(F90)內(nèi)部過程
CONTAINS(F90)程序單位主程序程序單位PROGRAM,FUNCTION,SUBROUTINE,MODULE,BLOCKDATAUSEFORMAT
ENTRYIMPLICITNONEPARAMETERIMPLICITPARAMETER&DATA定義:派生類型、接口塊、變量類型、語(yǔ)句函數(shù)DATA執(zhí)行結(jié)構(gòu)CONTAINS內(nèi)部過程或模塊過程END程序順序整個(gè)程序中只能有一個(gè)PROGRAM,一個(gè)BLOCKDATA,可以有多個(gè)各自命名的FUNCTION和SUBROUTINE輔程序。PROGRAM,FUNCTION,SUBROUTINE,語(yǔ)句分類非執(zhí)行語(yǔ)句可執(zhí)行語(yǔ)句程序標(biāo)識(shí)語(yǔ)句和入口語(yǔ)句說明語(yǔ)句賦初值語(yǔ)句格式語(yǔ)句語(yǔ)句函數(shù)定義語(yǔ)句賦值語(yǔ)句輸入輸出語(yǔ)句控制語(yǔ)句PROGRAM,FUNCTION,SUBROUTINE,MODULE,BLOCKDATA變量、數(shù)組、參數(shù)等得聲明DATA語(yǔ)句format語(yǔ)句分類非執(zhí)行語(yǔ)句可執(zhí)行語(yǔ)句程序標(biāo)識(shí)語(yǔ)句和入口語(yǔ)句說明語(yǔ)句賦1.3.5編譯環(huán)境1.3.5編譯環(huán)境1.3.5編譯環(huán)境1.3.5編譯環(huán)境演講完畢,謝謝觀看!演講完畢,謝謝觀看!FORTRAN程序設(shè)計(jì)主講:張華zhhua1979@163.com科技樓518FORTRAN程序設(shè)計(jì)主講:張華0.1課程的意義0.2教學(xué)內(nèi)容和目標(biāo)0.3教學(xué)要求0.4學(xué)習(xí)方法0.5教材及參考書0前言0前言程序設(shè)計(jì)是物探工作者必備工具之一數(shù)據(jù)處理、格式轉(zhuǎn)換等正反演、信號(hào)處理等國(guó)內(nèi)外物探數(shù)據(jù)處理軟件大多數(shù)采用FORTRAN語(yǔ)言編寫FORTRAN語(yǔ)言計(jì)算領(lǐng)域的優(yōu)越性0.1課程的意義
程序設(shè)計(jì)是物探工作者必備工具之一0.1課程的意義教學(xué)內(nèi)容基本概念:Fortran語(yǔ)言的語(yǔ)法程序設(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é)內(nèi)容和目標(biāo)教學(xué)內(nèi)容0.2教學(xué)內(nèi)容和目標(biāo)
注意基本能力的培養(yǎng)理論教學(xué)與實(shí)踐并重
關(guān)于作業(yè)
要求獨(dú)立完成關(guān)于考核
平時(shí)成績(jī)30%,考勤、作業(yè)和實(shí)驗(yàn)
考試成績(jī)70%0.3教學(xué)要求注意基本能力的培養(yǎng)0.3教學(xué)要求多看、多練、多想(“三多”)多看:經(jīng)典代碼多練:典型的算法編程實(shí)現(xiàn)多想:程序的改進(jìn)網(wǎng)絡(luò)資源FORTRAN論壇、QQ群等Google、百度中搜索“FORTRAN”源碼庫(kù)、文庫(kù)等0.4學(xué)習(xí)方法多看、多練、多想(“三多”)0.4學(xué)習(xí)方法教材FORTRAN95程序設(shè)計(jì)、中國(guó)電力出版社參考書FORTRAN95/2003程序設(shè)計(jì)、中國(guó)電力出版社VISUALFORTRAN常用數(shù)值算法集、科學(xué)出版社VISUALFORTRAN編程指南、人民郵電出版社FORTRAN完全自學(xué)手冊(cè)、機(jī)械工業(yè)出版社Fortran常用算法程序集、清華大學(xué)出版社0.5教材及參考書教材0.5教材及參考書1.1算法1.2程序與程序設(shè)計(jì)1.3Fortran程序設(shè)計(jì)的初步1算法與程序設(shè)計(jì)1算法與程序設(shè)計(jì)現(xiàn)代含義是采用邏輯思維的方法對(duì)獲取數(shù)據(jù)用計(jì)算機(jī)處理的步驟,即計(jì)算機(jī)解題步驟或計(jì)算機(jī)算法。算法有五個(gè)基本特征:正確性:一個(gè)好的算法或程序必須保證執(zhí)行后的結(jié)果正確??勺x性:一個(gè)好的算法或程序應(yīng)有良好的可讀性。通用性:一個(gè)好的算法或程序要盡可能通用,應(yīng)適用一類問題的求解,提高算法設(shè)計(jì)的效率。如:設(shè)計(jì)求解一元二次方程2x2+3x+1=0的算法,該算法最好設(shè)計(jì)成求解一元二次方程ax2+bx+c=0的算法。高效率:高效率包括時(shí)間和空間兩個(gè)方面。執(zhí)行速度快、運(yùn)行時(shí)間短、占用內(nèi)存少。1.1.1算法的概念現(xiàn)代含義是采用邏輯思維的方法對(duì)獲取數(shù)據(jù)用計(jì)算機(jī)處理的步驟,即Fortran是結(jié)構(gòu)化程序設(shè)計(jì)語(yǔ)言,每個(gè)程序單位可由三種基本結(jié)構(gòu)組成:
⑴順序結(jié)構(gòu)⑵分支選擇結(jié)構(gòu)⑶循環(huán)結(jié)構(gòu)實(shí)踐證明,任何復(fù)雜的問題都可以用這三種基本結(jié)構(gòu)來描述。1.1.2算法及其表示方法Fortran是結(jié)構(gòu)化程序設(shè)計(jì)語(yǔ)言,每個(gè)程序單位可由三種基本自然語(yǔ)言描述。流程圖描述N-S圖描述PAD圖描述偽代碼描述1.1.2算法的描述方法自然語(yǔ)言描述。1.1.2算法的描述方法問題:輸入依次10個(gè)數(shù)選擇最大值偽代碼描述
自然語(yǔ)言描述①inputx 輸入一個(gè)數(shù),并把該數(shù)存入x中②max<=x 把x的值送入max中③n=0 設(shè)置一個(gè)計(jì)數(shù)器n,并置初值為0④ifn=9goto⑨
如果n的值等于9則轉(zhuǎn)入第⑨步執(zhí)行⑤inputx 輸入一個(gè)數(shù),并把該數(shù)存入x中⑥ifmax<xthenmax<=x如果max的值小于x的值,
則把x的值送入max中⑦n=n+1 計(jì)數(shù)器n增加1⑧goto④
轉(zhuǎn)向第④步執(zhí)行⑨outputmax 輸出max的值問題:輸入依次10個(gè)數(shù)選擇最大值偽代碼描述1.2.1程序與程序設(shè)計(jì)
計(jì)算機(jī)解決問題所需要的一系列代碼化指令序列——計(jì)算機(jī)程序。
程序=數(shù)據(jù)結(jié)構(gòu)+算法即“程序就是在數(shù)據(jù)的某些特定的表示方式和結(jié)構(gòu)的基礎(chǔ)上,對(duì)抽象算法的具體描述?!?/p>
上述公式可擴(kuò)充為:程序=數(shù)據(jù)結(jié)構(gòu)+算法+程序設(shè)計(jì)方法+語(yǔ)言工具1.2.1程序與程序設(shè)計(jì)計(jì)算機(jī)解決問題所需1.2.3程序設(shè)計(jì)的基本方法所謂面向過程的程序設(shè)計(jì),是指利用面向過程的語(yǔ)言工具(如Basic、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ù)與程序模塊的分離和程序的可重用性差等問題?;舅枷耄喊岩粋€(gè)需要求解的復(fù)雜問題分為若干個(gè)模塊來處理,每個(gè)模塊處理一個(gè)子問題;設(shè)計(jì)時(shí)遵循自頂向下、逐步細(xì)化、模塊化設(shè)計(jì)和結(jié)構(gòu)化編碼的原則。1.2.3程序設(shè)計(jì)的基本方法所謂面向過程的程序設(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è)子模塊來實(shí)現(xiàn)整個(gè)程序的功能。自頂向下,逐步細(xì)化1.2.3程序設(shè)計(jì)的基本方法結(jié)構(gòu)化程序設(shè)計(jì)方法:結(jié)構(gòu)化編碼模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ù)中。幾個(gè)基本概念:三類機(jī)制:類,對(duì)象,屬性,事件,方法封裝、繼承、多態(tài)1.3程序設(shè)計(jì)的基本方法面向?qū)ο蟮某绦蛟O(shè)計(jì)是一種新的程序設(shè)計(jì)分析問題,建立數(shù)學(xué)模型;設(shè)計(jì)算法,繪制流程圖;
選擇語(yǔ)言,編寫程序;
調(diào)試程序,分析結(jié)果;整理資料,撰寫文檔。進(jìn)行程序設(shè)計(jì)要遵循有關(guān)的程序設(shè)計(jì)規(guī)則和采用成熟的程序設(shè)計(jì)方法。程序設(shè)計(jì)方法有兩種:一種是面向過程方法;一種是面向?qū)ο蠓椒?。前者稱為傳統(tǒng)方法,后者稱為現(xiàn)代方法,代表了程序設(shè)計(jì)方法的發(fā)展趨勢(shì)。面向過程方法又分為模塊化方法和結(jié)構(gòu)化方法。1.2.2程序設(shè)計(jì)的步驟分析問題,建立數(shù)學(xué)模型;1.2.2程序設(shè)計(jì)的步驟Case1:估算地球的重力加速度隨高度的變化數(shù)學(xué)模型:
1.2.2程序設(shè)計(jì)的步驟開始設(shè)置常數(shù)a,f輸出G結(jié)束R<a輸入M,RR>aGG
programEarth_gra
!估算地球的重力加速度隨高度的變化
implicitnone
!F:引力常數(shù);Earth_M:地球質(zhì)量;Earth_R:地球半徑
realf,Earth_M,Earth_R
!定義常數(shù)
parameter(f=6.667E11,Earth_M=5.976E24,Earth_R=6.371E6)
realR,g!R:海拔高程;g:重量加速度
read*,R
if(R>=0)theng=-f*Earth_M*(Earth_R+R)/(Earth_R)**3!海拔小于零
elseg=-f*Earth_M/(Earth_R+R)**2!海拔大于零
endif
print*,"海拔為",R,'重力加速度大約為:',g,'m/s^2'end
Case1:估算地球的重力加速度隨高度的變化1.2.2程序程序代碼規(guī)范清晰、語(yǔ)句表達(dá)準(zhǔn)確到位常量、變量類型申明清楚注釋書寫清楚,利人利己多練多寫多編譯充分利用人腦,簡(jiǎn)化計(jì)算量提高效率養(yǎng)成良好的編程習(xí)慣1.2.3編程要點(diǎn)程序代碼規(guī)范清晰、語(yǔ)句表達(dá)準(zhǔn)確到位1.2.3編程要點(diǎn)1.3.1發(fā)展歷史1.3.2特點(diǎn)與功能1.3.3字符集1.3.4標(biāo)示符1.3.5書寫格式1.3.6語(yǔ)句1.3.6編譯環(huán)境1.3FORTRAN程序設(shè)計(jì)初步1.3.1發(fā)展歷史1.3FORTRAN程序設(shè)計(jì)初步1957年IBM發(fā)表,F(xiàn)ortran→FormulaTranslatorFortranI,第一個(gè)被正式推廣使用的高級(jí)語(yǔ)言主要面向科學(xué)計(jì)算:是為科學(xué)、工程問題或企事業(yè)管理中的那些能夠用數(shù)學(xué)公式表達(dá)的問題而設(shè)計(jì),其數(shù)值計(jì)算的功能較強(qiáng)1966年AmericanStandardsAssociation制定Fortran66標(biāo)準(zhǔn)1978年4月ANSI正式公布新的標(biāo)準(zhǔn):Fortran(X3.9-1978)——
Fortran771991年5月通過了研制期間稱為Fortran8x的Fortran90Fortran95標(biāo)準(zhǔn)在1997年由ISO公布,為Fortran90的修正版,加強(qiáng)了Fortran在并行運(yùn)算方面的支持。1.3.1發(fā)展歷史1957年IBM發(fā)表,F(xiàn)ortran→FormulaTr發(fā)展歷史長(zhǎng),積累的財(cái)富多書寫和語(yǔ)法規(guī)則要求嚴(yán)格可直接對(duì)數(shù)組和復(fù)數(shù)進(jìn)行運(yùn)算具有不可替代的并行計(jì)算功能FORTRAN是一種編譯語(yǔ)言1.3.2特點(diǎn)和功能發(fā)展歷史長(zhǎng),積累的財(cái)富多1.3.2特點(diǎn)和功能字符是組成程序的基本符號(hào),程序中的變量、函數(shù)、表達(dá)式、語(yǔ)句等程序基本要素都是用一個(gè)個(gè)不同的字符書寫構(gòu)成的1.3.3字符集英文26個(gè)字母A~Z及a~z(英文字母大小寫不分)數(shù)字0~922個(gè)特殊符號(hào)
:=+-*/(),.‘’!“”%&;<>?$_空格符字符是組成程序的基本符號(hào),程序中的變量、函數(shù)、表達(dá)式、語(yǔ)句等標(biāo)識(shí)符是用來表示程序中的變量、符號(hào)常量、函數(shù)、程序等對(duì)象的一組符號(hào)。命名規(guī)則標(biāo)識(shí)符由字母和(或)數(shù)字、下劃線符號(hào)組成,且第一個(gè)字符必須是字母。ABC,x,y2,S123,sum,B2K9P3,MY_SUB,pro_fileA-B,x&y,6T,,S(x)B1.3.4標(biāo)識(shí)符標(biāo)識(shí)符是用來表示程序中的變量、符號(hào)常量、函數(shù)、程序等對(duì)象的一使用變量名、程序名、函數(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í)符使用1.3.4標(biāo)識(shí)符FixedFormat(固定格式)是舊式的寫法,有較多的限制文件名用*.F或*.FORFreeFormat(自由格式)Fortran90以后新增的寫法文件名用*.F901.3.5書寫格式FixedFormat(固定格式)1.3.5書寫格式Fixedformat(固定格式)源程序必須嚴(yán)格按
溫馨提示
- 1. 本站所有資源如無(wú)特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 《手術(shù)室醫(yī)院感染控制課件》
- 電視購(gòu)物與多渠道融合營(yíng)銷考核試卷
- 纖維板制造原理考核試卷
- 人工智能在風(fēng)險(xiǎn)評(píng)估中的自然語(yǔ)言處理應(yīng)用考核試卷
- 計(jì)劃生育技術(shù)服務(wù)在災(zāi)害應(yīng)急中的應(yīng)對(duì)措施考核試卷
- 《出血性疾病課件概述》
- 數(shù)字智慧方案5425丨莆田港務(wù)集團(tuán)5G智慧港口項(xiàng)目建設(shè)方案
- 2019-2025年材料員之材料員專業(yè)管理實(shí)務(wù)自我提分評(píng)估(附答案)
- 2025年基金從業(yè)資格證之證券投資基金基礎(chǔ)知識(shí)真題練習(xí)試卷A卷附答案
- 海上風(fēng)電運(yùn)維船安全
- 變更戶主情況登記表(填寫樣式)
- 山東省醫(yī)院護(hù)理服務(wù)質(zhì)量評(píng)價(jià)細(xì)則簡(jiǎn)介
- 遼寧本溪國(guó)家地質(zhì)公園環(huán)境保護(hù)自查報(bào)告
- 手衛(wèi)生相關(guān)知識(shí)考核試題與答案
- 中國(guó)工農(nóng)紅軍長(zhǎng)征教學(xué)課件
- “釣魚法”鋼管樁沉樁施工
- 噴(烤)漆房VOCs治理設(shè)施日常運(yùn)行臺(tái)賬
- 南方測(cè)繪_平差易2005說明書
- 動(dòng)靜脈內(nèi)瘺的穿刺與護(hù)理-PPT課件
- 開姆洛克指南
- 長(zhǎng)春二手房買賣合同模板通用版
評(píng)論
0/150
提交評(píng)論