版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
主要內(nèi)容:FORTRAN源程序的結(jié)構(gòu)FORTRAN源程序的書寫格式FORTRAN源程序的編輯與運行數(shù)據(jù)類型、常數(shù)、變量算數(shù)運算符和算術(shù)表達(dá)式FORTRAN內(nèi)部函數(shù)§1.1
FORTRAN源程序的結(jié)構(gòu)FORTRAN程序的結(jié)構(gòu)是塊式結(jié)構(gòu)主程序第一個輔程序第n個輔程序{{{……………………ENDEND……………………END……………………(一)一個FORTRAN程序由一個主程序和若干個(可以是0個)輔程序構(gòu)成。一個程序單位由一系列語句組成。一個程序單位可以看成一塊,程序單位之間是相互獨立的,編譯程序一次可以編譯一個完整的程序也可以單獨編譯一個程序單位,而由連接裝配程序?qū)⑷舾蓚€編譯好的程序單位裝配成一個可執(zhí)行程序,交付執(zhí)行。
(二)主程序的第一個語句可以是PROGRAM語句,并且它只能作為主程序的第一個語句出現(xiàn),而不能出現(xiàn)在任何其它地方。PROGRAM語句用于給程序命名。
(三)任何一個程序單位,其最后一行必須是END語句,它標(biāo)志著程序單位的結(jié)束。FORTRAN并沒有規(guī)定程序單位之間的位置關(guān)系,習(xí)慣上,總是把主程序放在前面。
(四)FORTRAN的全部語句可分為兩大類:可執(zhí)行語句和非執(zhí)行語句。一個程序單位的執(zhí)行,是從它的第一個可執(zhí)行語切開始,按照執(zhí)行序列依次往下執(zhí)行??刂普Z句可能改變語句的執(zhí)行次序。然而,一旦控制轉(zhuǎn)移到某個語句之后,則仍然從該語句開始,依次往下執(zhí)行。例:編寫FORTRAN程序,求解一元二次方程的一組實根。求跟公式如下:第一步:畫流程圖開始輸入系數(shù)a、b、cd=0?計算重根輸出重根計算兩個實根輸出兩個實根結(jié)束>0<0=0矩形框描述一般處理步驟菱形框描述某個判斷條件斜邊框描述輸入輸出步驟橢圓框描述程序開始或結(jié)束圓框描述程序的連接箭頭表示程序的路徑和方向流程圖符號說明:第二步:編寫程序§1.2
FORTRAN源程序的書寫格式FORTRAN不區(qū)分大小寫,每行只能在80列內(nèi)書寫,并把80列分為4個區(qū);(2)1-5列:標(biāo)號區(qū)(1-5位整數(shù),第一列為“*”或“C”時,為注釋行;(3)第6列:續(xù)行標(biāo)志區(qū)(續(xù)行標(biāo)志是字符集中除零和空格之外的任意字符,最多19個續(xù)行)(4)7-72列:語句區(qū)(一行只能寫一條語句)(5)73-80列:語句注釋區(qū)§1.3
FORTRAN源程序的編輯與運行一、創(chuàng)建源程序文件并編寫源程序二、編譯并連接源文件三、運行編譯:高級語言→機器語言理解高級語言查找錯誤通過編輯程序?qū)⒕帉懞玫腇ORTRAN77程序送入計算機,并建立一個存放該源程序的文件。將所有編譯后的程序單位連接成一個可執(zhí)行的文件一、數(shù)據(jù)類型§1.4
數(shù)據(jù)類型、常數(shù)、變量
整型(INTEGER)實型(REAL)雙精度型(DOUBLEPRECISION)復(fù)型(COMPLEX)邏輯型(LOGICAL)字符型(CHARACTER)二、常量整型常量、實型常量、雙精度型常量、復(fù)型常量、邏輯型常量、字符型常量1,整型常量(只能由正負(fù)號和數(shù)字這兩種字符組成)正數(shù)、負(fù)數(shù)、零5、-13、0優(yōu)點:所表示的數(shù)據(jù)準(zhǔn)確,計算機處理的速度較快存貯:計算機用四個字節(jié)(32位二進(jìn)制數(shù))來存貯一個整型量。這時,整型量的變化范圍應(yīng)為-2147483648≤N≤
2147483647(即-231至231-1)之間。計算機用八個字節(jié)(即64位二進(jìn)制數(shù))來存貯一個整型量。這時,整型量的變化范圍應(yīng)為-9223372036854775808≤N≤
9223372036854775807(即在-263至263-1之間)。2,實型常量小數(shù)形式:.6037.027.603指數(shù)形式:58.E358E3注意:.E5E5E0.5優(yōu)點:實型數(shù)據(jù)可表示的范圍比整型數(shù)據(jù)大。缺點:實型數(shù)據(jù)的精度不如整型數(shù)據(jù)高;計算機處理的速度較整型數(shù)據(jù)低。表示形式:3,雙精度型常量表示形式:指數(shù)形式:2.5D12,-6.0D10,.354D8,156D-2注:雙精度數(shù)精度的提高是用降低速度和多占用內(nèi)存換來的。因此,在實際應(yīng)用中,如果實型數(shù)的精度巳滿足需要,就不要使用雙精度型數(shù)。說明:
1.所有雙精度型數(shù)都是雙精度實數(shù)而不是整數(shù)。如雙數(shù)度數(shù)1.23456D5表示123456.0,而不是整數(shù)123456。它是浮點數(shù),只能近似表示整數(shù)123456的值,不是它的精確表示。
2.字母D是編譯系統(tǒng)識別雙精度常數(shù)的標(biāo)志,決不能省掉。例如,π的雙精度值可以寫作3.1415926535897D0。如果不寫D0,寫成3.1415926535897,則編譯系統(tǒng)將斃它看作一般實型數(shù)。存入內(nèi)存時,由于所占空間只有雙精度數(shù)的一半,后半部分的有效數(shù)字將被截去,達(dá)不到高精度的目的。即使對于零,也應(yīng)寫成0.0D0形式。4,復(fù)型常量36.2+4.1i
表示為(36.2,4.1)1.
83-24.6i
表示為(1.83,-24.6)3.0-1.5×1015i
表示為(3.0,-1.5E15)表示形式:40+0i
表示為(40,0)FORTRAN語言中,復(fù)數(shù)的實部和虛部也可由整數(shù)構(gòu)成有的FORTRAN語言中,復(fù)數(shù)的實部和虛部也可由雙精度數(shù)構(gòu)成(1.2D0,5.0D0)FORTRAN77中共有兩個邏輯常量,它們是:.TRUE.和.FALSE.注意:每個都是以點.開頭和結(jié)束。.TRUE.表示“真”,.FALSE.表示“假”。它們主要用在條件判斷上。5,邏輯型常量例如:‘FORTRAN77’,‘X+Y’,‘A+B’,‘1988.1.12’6,字符型常量單撇號內(nèi)的字符串中的字符可以是計算機系統(tǒng)允許使用的任意字符。注意:用一對單撇號括住的字符串中至少應(yīng)包含一個字符??崭褚彩且粋€FORTRAN77的字符。例如:‘XYZ’和‘XYZ’是不同的字符常量。字符常量的值是單撇號所括住的字符串,但單撇號不包括在內(nèi),它只是一個分界符,用來標(biāo)志字符中的起止。如果字符串中包括單撇號,可用連續(xù)的中間不帶空格的兩個單撇號表示。例如:‘IDON”TKNOW’的值為字符串IDON’TKNOW。三、變量變量的概念:在程序的執(zhí)行期間其值可以改變的量。每個變量在同一時刻只能有一個確定的值。變量名:第一個字符必須是字母,第一個字符后可跟1-5個字母或數(shù)字。變量名不區(qū)分大小寫
變量中的空格不起作用
允許變量名與FORTRAN中特定含義的字(如sin、end等)同名。
盡量見名知意(如omega,Pi)FORTRAN77中可通過三種方法來說明變量的類型:(a)通過顯式類型說明語句來說明(b)通過隱式說明(c)通過IMPLICIT隱含語句說明變量類型:整型變量、實型變量、雙精度型變量、復(fù)型變量、邏輯型變量、字符型變量(a)通過顯式類型說明語句來說明INTEGERK,D,SREALA,B,CCOMPLEXD,E,FDOUBLEPRECISIONA,D,F(xiàn)LOGICALL,SCHARACTEROKREAL*4A,B,CCOMPLEX*8A,B,CREAL*8A,B,CCOMPLEX*16A,B,C(b)隱式命名規(guī)則I—N規(guī)則:如不加專門說明,I—N開頭的變量為整型,其它字母開頭的變量為實型。
(c)IMPLICIT隱含說明語句:把某一個字母開頭的所有變量都改變?yōu)橥活愋?/p>
IMPLICITINTEGER(A,B),REAL(I—M)說明:(1)優(yōu)先級:類型說明語句>IMPLICIT語句>I—規(guī)則;
(2)類型說明語句位于所有可執(zhí)行語句的前面,IMPLICIT語句位于最前面;(3)IMPLICITNONE取消IMPLICT和I—N規(guī)則;
(4)只在本程序單位內(nèi)有效?!?.5
算數(shù)運算符和算術(shù)表達(dá)式
五種算術(shù)運算符:加減乘除乘方算術(shù)表達(dá)式:運算元素→常數(shù)變量函數(shù)等運算符括號→
(…)算術(shù)表達(dá)式的運算規(guī)則:
1.若表達(dá)式中有一個以上的運算項,必須用算術(shù)運算符將它們隔開。例如ABC只代表一個運算項,而不能代表A乘B乘C的運算。當(dāng)寫成A*B*C時,才表示是A乘B乘C的運算。所以乘號不能省略。
2.兩個運算符不能緊鄰,如A÷
(-B)不能寫成A/-B,而應(yīng)寫成A/(-B)。
3運算的優(yōu)先次序為:()→函數(shù)→**→*、/→+、-,同一級中按自左往右順序進(jìn)行運算。4.“-”運算符與加減號具有相同的級別,它相當(dāng)前面加一個零。5.多次乘方的運算,按由右向左組合。
6.無大、中、小括號之分。一律用小括號.因此應(yīng)持別注憨括號的層次配對關(guān)系。表達(dá)式運算中的類型問題1,運算量類型相同,結(jié)果仍為原類型6/4=1.5?6.0/4.0=1.5I*J/K=I/K*J?I*J/K≠I/K*J2**(-1)=0.5?2**(-1)=02,運算類型不同,先將低級運算量轉(zhuǎn)化為高級類型,然后進(jìn)行同級運算量的運算。2.5*44→4.0
2.5*4.0=10.03.0*(1/2)/2.0=2*3/2**2=1.5*(4/3*2)+6=3.0*1/2/2.0=2*3/2.0**2=1.5*4/3*2+6=0190.751.510FORTRAN77規(guī)定允許混合運算,但不同類型量之間的轉(zhuǎn)換是要花費機器時間的。因此,最好使表達(dá)式中的運算量具有相同的類型,如:
8*6.5/3*1.5/T最好寫成:8.0*6.5/3.0*1.5/T。整型量之間的運算速度比實型量快,整型乘方運算尤其快。例如:2**3比2**3.0快,而且準(zhǔn)確度高。如果指數(shù)是正整數(shù),最好寫成整型。如:x**2.A**3等。和整型量的運算相比,實型量的運算較慢,而且它只能近似地代表一個值(有誤差)。因此,應(yīng)根據(jù)實際情況決定表達(dá)式的類型。注意:運算中有效位數(shù)造成的誤差和計算結(jié)果的溢出問題0.001+1000002-10000011000002-1000001+0.0011/3+1/3+1/31.0/3/0+1.0/3.0+1.0/3.010E30*10E20/10E1510E30/10E15*10E20寫算術(shù)表達(dá)式時,應(yīng)注意運算次序。例:§1.6
FORTRAN內(nèi)部函數(shù)
在計算機程序中經(jīng)常需要使用數(shù)學(xué)中的一些函數(shù),如:三角函數(shù)、指數(shù)函數(shù)、對數(shù)函數(shù)等。FORTRAN77將一些經(jīng)常使用的函數(shù)編成一系列獨立的子程序,供用戶程序調(diào)用。系統(tǒng)會按函數(shù)名從函數(shù)庫中找出實現(xiàn)該函數(shù)的程序段,將它插入到用戶目標(biāo)程序中。FORTRAN77提供的這種函數(shù)稱標(biāo)準(zhǔn)函數(shù)(即庫函數(shù)),又稱內(nèi)部函數(shù)。例如:內(nèi)部函數(shù)的調(diào)用:函數(shù)名(自變量列表)
1.自變量應(yīng)該用括號括起來,如SINX是不正確的寫法,而SIN(X)是正確的寫法。
2.三角函數(shù)的單位是弧度,而不是度。SIN(1)表示是一個弧度的正弦值而不是
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 《數(shù)字信號處理-基于數(shù)值計算》課件-第2章
- 《氧化還原反應(yīng)預(yù)習(xí)》課件
- 合同備注無效最簡單三個步驟
- 投資花卉種植項目合同模板
- 工程施工合同實例
- 2025年涼山州貨運從業(yè)資格證考試卷
- 2025年寧夏貨運從業(yè)資格證考試題庫
- 2025年福建貨運從業(yè)資格證模擬考試題答案大全
- 《氧化還原用》課件
- 《城市交通特性》課件
- 機電工程規(guī)范
- 攝影器材借還管理登記表Excel模板
- 中國風(fēng)兒童滿月紀(jì)念相冊PPT模板
- 楊柳煤礦“三量”動態(tài)變化情況分析報告(3)
- 醫(yī)療垃圾收集辦法及流程圖
- 復(fù)古中古風(fēng)非遺之蘇繡文化介紹PPT模板
- 大氣課程設(shè)計-—袋式除塵器
- 手衛(wèi)生流程圖
- 叉車自檢報告模板(1)
- 水泥攪拌樁水灰比及漿液用量計算表(自動計算)
- 建筑物放線驗線技術(shù)報告
評論
0/150
提交評論