版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
第一節(jié)FORTRAN常量第二節(jié)FORTRAN變量第三節(jié)FORTRAN內(nèi)部函數(shù)第四節(jié)算術(shù)表達(dá)式第五節(jié)賦值語(yǔ)句第六節(jié)表控輸入/輸出語(yǔ)句第七節(jié)END、PAUSE、STOP語(yǔ)句第二講順序結(jié)構(gòu)程序設(shè)計(jì)1編輯ppt第一節(jié)FORTRAN常量Fortran的語(yǔ)言元素是指在程序設(shè)計(jì)中所用到的基本成分,例如字符集、常量、變量、記號(hào)以及其它的基本結(jié)構(gòu)等。只有了解并掌握了這些基本要素,才可能正確自如地使用該種語(yǔ)言。一、FORTRAN字符集★26個(gè)英文字母,(除了字符串內(nèi)的字符外,程序中小寫字母等價(jià)于相應(yīng)的大寫字母)
★數(shù)字0~9★_(下劃線)★22個(gè)特殊字符空格=+-*/(),:.$‘!”%&;><?2編輯ppt
Fortran的源程序就是上述字符及符號(hào)按照詞法、語(yǔ)法和語(yǔ)義的規(guī)定對(duì)算法的描述。在編寫源程序時(shí)需要注意的是:(1)除字符型常量外,源程序中不區(qū)分字母的大小寫,如語(yǔ)句“ReaLa”和“realA”是等價(jià)的。(2)字符集以外的可打印字符,只能出現(xiàn)在注釋、字符常量、字符串編輯符和輸入輸出記錄中。Fortran的字符集3編輯ppt二、FORTRAN標(biāo)識(shí)符第一節(jié)FORTRAN常量
標(biāo)識(shí)符即名稱,是用來在程序中標(biāo)識(shí)有關(guān)實(shí)體(如:變量、符號(hào)常量、函數(shù)、程序單元、公用塊、數(shù)組、模塊和形參等)。Fortran95規(guī)定:標(biāo)識(shí)符只能由字母、數(shù)字、下劃線和美元符號(hào)“$”組成,且起始字符必須是英語(yǔ)字母。4編輯pptFortran的關(guān)鍵字關(guān)鍵字是Fortran95中的一種特定字符串。如read*,a,b
read是關(guān)鍵字。類似的關(guān)鍵字有:print、write、program、integer、do、if、then、end、subroutine、function等。在編譯環(huán)境中正確的關(guān)鍵字會(huì)以藍(lán)色字符顯示。關(guān)鍵字都有特定的含義,在程序中有具體的位置要求,不能隨意改變,否則將產(chǎn)生一個(gè)語(yǔ)法錯(cuò)誤。5編輯pptFortran對(duì)于關(guān)鍵字不予保留,即允許其關(guān)鍵字作為其他實(shí)體的名稱。但是,不主張這樣做,因?yàn)槭褂藐P(guān)鍵字作為實(shí)體名稱會(huì)到導(dǎo)致程序難以理解和閱讀。例如:用戶可以將自己的變量名、數(shù)組名等命名為read、print、end、integer、program、print、do等關(guān)鍵字,編譯程序會(huì)根據(jù)上下文來識(shí)別一個(gè)字符串究竟是關(guān)鍵字還是實(shí)體名稱。6編輯ppt一個(gè)程序中,數(shù)據(jù)是程序加工處理的對(duì)象,而通過語(yǔ)句描述了對(duì)數(shù)據(jù)的具體操作。不同類型的數(shù)據(jù)具有不同的特性,在計(jì)算機(jī)內(nèi)存中占有不同的存儲(chǔ)長(zhǎng)度,存儲(chǔ)的方式不同,具有不同類型的運(yùn)算。
數(shù)據(jù)類型只是數(shù)據(jù)的形式化和抽象化描述,它說明一類數(shù)據(jù)的共同性質(zhì),而不是具體的數(shù)據(jù)對(duì)象。程序處理的數(shù)據(jù)必須是具體的數(shù)據(jù)對(duì)象,一個(gè)數(shù)據(jù)對(duì)象可以是常量、變量、數(shù)組或指針等,用戶根據(jù)具體問題的需要定義數(shù)據(jù)對(duì)象的數(shù)據(jù)類型。
7編輯ppt三、FORTRAN常量
常量定義:常量是在程序中直接生成并直接用于計(jì)算和處理,且在程序運(yùn)行期間保持不變的數(shù)據(jù)。第一節(jié)FORTRAN常量例如:15、0、-21、.1416、256_2、(10.2,0.3)、’fortran’、”student”、.true.
常量無(wú)需類型定義、直接由其表示形式可確定其數(shù)據(jù)類型。Fortran常量包括整型、實(shí)型、復(fù)型、字符型和邏輯型五種內(nèi)部類型常量和一種特殊的常量——符號(hào)常量,下面分別介紹它們的表示方法及其注意事項(xiàng)。8編輯ppt三、FORTRAN常量1、整型常量整型常量由0~9的一系列數(shù)字組成,包括正數(shù)、負(fù)數(shù)和0。如125,-258,+28等。注意:(1)Fortran95不允許整數(shù)內(nèi)部出現(xiàn)非數(shù)值字符如“,”、“:”和空格;(F77中整數(shù)的空格被忽略,而F90及以上版本整數(shù)加入空格將產(chǎn)生錯(cuò)誤)(2)整型常量不能有小數(shù)點(diǎn);(3)正負(fù)號(hào)和數(shù)字之間可以保留空格。第一節(jié)FORTRAN常量9編輯ppt三、FORTRAN常量1、整型常量整型數(shù)據(jù):微機(jī)支持4種kind_Value:1,2,4,8(1)范圍:-128~127(2)范圍:-32768~32767(3)-2147483648~2147483647(-231~231-1)(4)-9223372036854775808~9223372036854775807IntegerF77默認(rèn)kind_Value的值為2第一節(jié)FORTRAN常量10編輯ppt三、FORTRAN常量2、實(shí)型常量實(shí)型常量又叫實(shí)數(shù),有兩種表示形式:小數(shù)形式和指數(shù)形式
十進(jìn)制小數(shù)形式:由整數(shù)部分、小數(shù)點(diǎn)及小數(shù)部分三部分組成,必須包含小數(shù)點(diǎn)。第一節(jié)FORTRAN常量例如:+12.5、-13.248、0.243、12.和.123十進(jìn)制小數(shù)有
3種不同表達(dá)形式:
±n.m ±n. ±.mn代表整數(shù)部分,m代表小數(shù)部分,不允許出現(xiàn)非數(shù)值字符(如逗號(hào)、頓號(hào)和空格等)。11編輯ppt三、FORTRAN常量2、實(shí)型常量
指數(shù)形式:用來表示一個(gè)絕對(duì)值非常大或非常小的數(shù)。第一節(jié)FORTRAN常量指數(shù)形式的實(shí)數(shù)三部分組成:有效數(shù)字、E(或e)和指數(shù)。例如:+0.125E+2、-132.48e-1、243E-3、.12e+2,1.2e+1
1.32e5表示132000或1.32×105。
1.285E-12表示1.285×10-12。12編輯ppt指數(shù)形式的實(shí)數(shù)有下列四種表達(dá)方式: ±n.mE±S ±n.E±S ±nE±S ±.mE±S
n代表有效數(shù)字的整數(shù)部分,m代表有效數(shù)字的小數(shù)部分,最前面的正負(fù)號(hào)表示數(shù)值的正負(fù)。
字符E后面是指數(shù)部分,正負(fù)號(hào)確定指數(shù)的正負(fù),指數(shù)必須是十進(jìn)制整數(shù),表示10的多少次方。字符E前后均不能為空。有效數(shù)字部分和指數(shù)部分的數(shù)字遵循整數(shù)和小數(shù)形式實(shí)數(shù)的要求。若指數(shù)標(biāo)識(shí)為D或d,則表示該實(shí)數(shù)為雙精度實(shí)數(shù)。
13編輯ppt第一節(jié)FORTRAN常量指數(shù)形式應(yīng)注意以下事情:有效數(shù)字可以是整型或?qū)嵭统A?,?E2和1.0E2兩者都表示100.0,它們等價(jià),但它們與100是不等價(jià)的,因?yàn)?00代表一個(gè)整型常量;E前面的數(shù)據(jù)不能省略,E后面的指數(shù)只能是整型常量,如5E3.2,E4.,.E8都是錯(cuò)誤的指數(shù)表示。若指數(shù)標(biāo)識(shí)為D或d,則表示該實(shí)數(shù)為雙精度實(shí)數(shù),等價(jià)于kind值為8,但不能指定kind值,即d指數(shù)不允許指定實(shí)型kind值。
14編輯ppt【例】判定下列實(shí)數(shù),哪些是合法實(shí)數(shù)?哪些是非法實(shí)數(shù)?說明原因。 0E0 0.E0 23.58E-2.51,234,567E-6 .123E-1 12.3E$3 ¥125.5E001 E+5 -2.34E2 4.56E2 1.35E+3 11.24E+3 12.5D34 15編輯ppt合法實(shí)數(shù)有:0E0、0.E0、.123E-1、 -2.34E2、1.35E+3、12.5D34。非法實(shí)數(shù)有:23.58E-2.5(指數(shù)部分不能為實(shí)數(shù)) 9.8E3_3(非法的實(shí)型KIND值) 1,234,567E-6(不能含非數(shù)值字符) 12.3E$3(不能含非數(shù)值字符) ¥125.5E001(不能含非數(shù)值字符) E+5(E前面不能為空) 4.56E2(不能含非數(shù)值字符空格)11.24E+3(指數(shù)部分的正負(fù)號(hào)與數(shù)字之間不能有空格)16編輯ppt在計(jì)算機(jī)輸出數(shù)據(jù)時(shí),只能按照一種標(biāo)準(zhǔn)的指數(shù)形式進(jìn)行輸出。不同的計(jì)算機(jī)系統(tǒng)采用不同的標(biāo)準(zhǔn)化指數(shù)形式,常用的標(biāo)準(zhǔn)化形式有二種。17編輯ppt1.數(shù)字部分的絕對(duì)值小于1(即小數(shù)點(diǎn)前面的數(shù)字必須為0),且小數(shù)點(diǎn)后第一個(gè)數(shù)字必須為一個(gè)非0的數(shù)字。例如,0.1234E4、0.56E-3是標(biāo)準(zhǔn)化指數(shù)形式。對(duì)于不符合標(biāo)準(zhǔn)化條件的實(shí)數(shù),可以通過改變指數(shù)部分的數(shù)值使其轉(zhuǎn)變?yōu)闃?biāo)準(zhǔn)化指數(shù)形式。例如實(shí)數(shù)0.0001234的標(biāo)準(zhǔn)化指數(shù)形式是0.1234E-3。2.數(shù)字部分的絕對(duì)值小于10且大于1(即小數(shù)點(diǎn)前只能有且只有一個(gè)非0數(shù)字)。例如,1.234E3、5.6E-4是標(biāo)準(zhǔn)化指數(shù)形式。對(duì)于不符合標(biāo)準(zhǔn)化條件的實(shí)數(shù),可以通過增大或減小指數(shù)部分的值使其轉(zhuǎn)變?yōu)闃?biāo)準(zhǔn)化指數(shù)形式。例如實(shí)數(shù)0.0001234的標(biāo)準(zhǔn)化指數(shù)形式是1.234E-5。18編輯ppt三、FORTRAN常量3、復(fù)型常量復(fù)型常量是采用圓括號(hào)將兩個(gè)以逗號(hào)分割的實(shí)數(shù)或整數(shù)括起來表示的。其中第一個(gè)實(shí)數(shù)或整數(shù)表示復(fù)數(shù)中的實(shí)部,第二個(gè)實(shí)數(shù)或整數(shù)表示復(fù)數(shù)中的虛部。
(實(shí)數(shù)1,實(shí)數(shù)2) 實(shí)數(shù)1+實(shí)數(shù)2i (1.25,0.4) 1.25+0.4i (1E2,-3.4) 100.0-3.4i (1.0_4,4.2_8) 1.0_8+4.2_8i(1,4) 1.0+4.0i
轉(zhuǎn)換原則是:遇整變實(shí),向高看齊
在Fortran語(yǔ)言中,復(fù)型常量的實(shí)部和虛部的數(shù)據(jù)類型被自動(dòng)識(shí)別為實(shí)型。當(dāng)復(fù)數(shù)實(shí)部和虛部的數(shù)據(jù)類型不一致,或它們的kind值不同時(shí),編譯系統(tǒng)會(huì)自動(dòng)將其轉(zhuǎn)換。19編輯ppt三、FORTRAN常量4、字符常量字符型常量又叫字符串,它是用單引號(hào)或雙引號(hào)括起來的字符序列。例如,“a”、“123”、“I‘mastudent.”、’China‘、"我是中國(guó)人!"字符型常量中的字符可以是計(jì)算機(jī)系統(tǒng)中允許使用的任何字符。在字符串內(nèi)大小寫字母均可使用,但它們是不同的字符。單引號(hào)和雙引號(hào)只起定界作用,它們不是字符串的組成部分。20編輯ppt字符串本身中含有單引號(hào)或雙引號(hào)的處理:例如要將I′mastudent作為一個(gè)字符串來處理,為了區(qū)分′是字符串中的字符還是定界符,可采用兩種方式表示: 1.交替使用法,
″I′mastudent″
′Hesaid:"Iamfeelingwell."′ 2.重復(fù)使用法,
′I′′mastudent′"Hesaid:""I'mfeelingwell."""21編輯ppt字符串內(nèi)字符的個(gè)數(shù)稱為字符串的長(zhǎng)度。長(zhǎng)度為0的字符串稱為空串。在字符串內(nèi)部的空格是有效字符,并占有一個(gè)字符的位置。例如,′ABC′和′ABC′是兩個(gè)不同的字符串。前者字符串的長(zhǎng)度為3,后者為5。字符串中的一個(gè)西文字符占據(jù)一個(gè)字節(jié)的存儲(chǔ)空間,一個(gè)漢字(含漢語(yǔ)標(biāo)點(diǎn)符號(hào))占據(jù)2個(gè)字節(jié)的存儲(chǔ)空間,且按兩個(gè)西文字符計(jì)算長(zhǎng)度,如字符串‘中國(guó)’的長(zhǎng)度是4。22編輯ppt字符通常是以其ASCII代碼的二進(jìn)制存儲(chǔ)在內(nèi)存中的。Fortran90支持C字符串,所謂C字符串就是C語(yǔ)言中的字符串。C字符串中允許出現(xiàn)非打印字符(控制字符),如回車符、換行符、退格符等等。C字符串中使用特殊字符“\”后跟非打印字符的ASCII碼或標(biāo)志符來表示非打印字符。Fortran90中,如果一個(gè)字符串的后面緊接一個(gè)字符C,那么這個(gè)字符串就是C字符串。例如,'中國(guó)\N'C'CHINA'C.
通過C字符串可表示任何可輸出的字母字符、專用字符、圖形字符和控制字符。23編輯ppt一個(gè)字符常量需要寫成多行源程序時(shí),有一條特殊的規(guī)則:不僅每一續(xù)行都不能尾隨注釋,而且每一續(xù)行必須以續(xù)行標(biāo)識(shí)符(&)作為開頭,任何尾隨&號(hào)之后或者前導(dǎo)&號(hào)之前的空格都不是字符常數(shù)的組成部分,&號(hào)本身不是常數(shù)的組成部分。其它的字符包括空格都是字符常數(shù)的有效組成部分。24編輯ppt三、FORTRAN常量5、邏輯常量邏輯常量只有真和假兩種值:.true..false.。需要注意的是:邏輯值兩邊的小數(shù)點(diǎn)“.”必須有;邏輯值中字母不區(qū)分大小寫。
25編輯ppt三、FORTRAN常量6、符號(hào)常量符號(hào)常量是用一個(gè)標(biāo)識(shí)符來代表一個(gè)常量。符號(hào)常量常用PARAMETER語(yǔ)句來定義。例如:
PARAMETER(PI=3.1415926,g=9.81)該語(yǔ)句定義了兩個(gè)符號(hào)常用PI和g,在該程序單位內(nèi),PI代表3.1415926,g代表9.81。
parameter為特有的常量定義標(biāo)識(shí),要定義的項(xiàng)必須放在()內(nèi),如果有多項(xiàng),每項(xiàng)之間要用逗號(hào)隔開。26編輯pptParameter語(yǔ)句位置:位于所有可執(zhí)行語(yǔ)句之前。符號(hào)常量的定名規(guī)則與定變量名相同。名字本身隱含類型,也遵循I-N規(guī)則??梢杂妙愋驼f明語(yǔ)句定義符號(hào)常量的類型。例:INTEGERPPARAMETER(P=5)注意:先寫類型說明語(yǔ)句,后寫參數(shù)語(yǔ)句在一個(gè)參數(shù)語(yǔ)句中可以定義多個(gè)符號(hào)常量。27編輯ppt注意,符號(hào)常量與變量有著本質(zhì)的區(qū)別:PARAMETER語(yǔ)句是非執(zhí)行語(yǔ)句,必須放在可執(zhí)行語(yǔ)句的前面。在編譯源程序時(shí),編譯程序?qū)⒊绦蛑械姆?hào)常量名全部替換成所對(duì)應(yīng)的常量。變量對(duì)應(yīng)于一個(gè)存儲(chǔ)單元,程序執(zhí)行時(shí),可將表達(dá)式的值存放到變量所對(duì)應(yīng)的存儲(chǔ)單元中(即給變量賦值)或從變量所對(duì)應(yīng)的存儲(chǔ)單元中取出相應(yīng)的值。所以,符號(hào)常量不能當(dāng)變量使用。符號(hào)常量也可以在需要改變一個(gè)常量的值時(shí)做到“一改全改”。
28編輯ppt【例】符號(hào)常量的使用示例。
parameter(g=9.80655)t=10v=g*t
print*,v
End該語(yǔ)句定義了符號(hào)常量g,在該語(yǔ)句所在的程序單元內(nèi),g都代表9.80655,和常量一樣進(jìn)行運(yùn)算。29編輯ppt一、變量的概念第二節(jié)FORTRAN變量變量是程序運(yùn)行期間其值發(fā)生改變的數(shù)據(jù),是程序主要處理的對(duì)象。變量用變量名(標(biāo)識(shí)符)表示,它代表了某個(gè)存儲(chǔ)空間及所存儲(chǔ)的數(shù)值。內(nèi)存單元地址xxxx變量n變量值30編輯ppt在Fortran中經(jīng)??梢匀缦抡Z(yǔ)句:
n=n+1該語(yǔ)句理解為:“空間n里的數(shù)據(jù)增加1”。變量n+16531編輯ppt1)FORTRAN變量名不區(qū)分字母的大小寫,如grade、GRADE、Grade所表示的是同一個(gè)標(biāo)識(shí)符。2)變量名的長(zhǎng)度因FORTRAN版本不同而有差異。3)變量名要盡量做到“見名知義”。4)FORTRAN沒有規(guī)定的“保留字”,因此FORTRAN中具有特定意義的語(yǔ)句名、函數(shù)名可以用作變量名。但為避免誤解,在實(shí)際中要盡量避免使用這些有一定意義的符號(hào)名作為變量名。二、變量名32編輯ppt三、變量的說明在使用變量之前,必須用相關(guān)標(biāo)識(shí)符(關(guān)鍵字)說明變量的數(shù)據(jù)類型,使編譯器能夠依照數(shù)據(jù)類型給每個(gè)變量分配存儲(chǔ)單元,用于存放變量的值。說明語(yǔ)句是非執(zhí)行語(yǔ)句,要放在程序單元的頭部。實(shí)行“先定義,后使用”。33編輯ppt三、變量的說明 FORTRAN中變量類型的定義有三種方式:
1.使用類型說明語(yǔ)句說明(強(qiáng)制說明)一般格式為:
類型說明符[::]變量名,變量名…注意:符號(hào)“::”,在變量定義語(yǔ)句中可有可無(wú)。若有可對(duì)變量賦初值,否則不能賦初值,賦值則會(huì)出錯(cuò)。
34編輯pptinteger 整型說明符real 實(shí)型說明符doubleprecision 雙精度型說明符complex 復(fù)型說明logical 邏輯型說明character 字符型說明類型說明符為:35編輯ppt例如:integerx,y,z !定義x、y和z是整型變量。integer(2)::a=1,bInteger*2::a=1,b !定義a、b是短整型變量,對(duì)變量a賦初值1,缺省值為4reali !定義i是單精度實(shí)型變量real*8J 或real(8)J !定義J是雙精度實(shí)型變量36編輯pptcomplex::s=(1.5,8.9)!定義s是單精度復(fù)型變量,并對(duì)其賦初值(1.5,8.9)charactername
!定義name是字符型變量Character*6name1Character(6)name1,name2*8,name4Character(len=6)name337編輯ppt字符型說明語(yǔ)句用于說明字符型變量。其一般形式為CHARACTERn
變量名表其中n為正整數(shù)。在變量名表中的各變量名之間要用逗號(hào)分隔。字符型變量用于存放字符型常量(即字符串)。由于字符串的長(zhǎng)度是各不相同的,因此,在說明字符型變量時(shí),同時(shí)要說明其長(zhǎng)度。38編輯ppt例如:說明語(yǔ)句CHARACTER6 A,B,C說明了變量A、B、C為字符型變量,且每個(gè)變量中最多可以存放6個(gè)字符。這是一種統(tǒng)一指定各字符變量長(zhǎng)度的方法。39編輯ppt在FORTRAN中還允許用一個(gè)說明語(yǔ)句來定義不同長(zhǎng)度的字符型變量。CHARACTER A6 ,B10,C3 這個(gè)說明語(yǔ)句說明了3個(gè)字符型變量,其中A的長(zhǎng)度為6(即最多可以存放6個(gè)字符,下同),B的長(zhǎng)度為10,C的長(zhǎng)度為3。這是一種個(gè)別指定各字符變量長(zhǎng)度的方法。這個(gè)說明語(yǔ)句分別與下列三個(gè)說明語(yǔ)句是等價(jià)的:CHARACTER6
A ,B10,C3 CHARACTER10
A6 ,B,C3 CHARACTER3
A6 ,B10,C 這表明,當(dāng)統(tǒng)一指定的長(zhǎng)度與個(gè)別指定的長(zhǎng)度不一致時(shí),遵循“個(gè)別指定”優(yōu)先于“統(tǒng)一指定”的原則。40編輯ppt如果在CHARACTER說明語(yǔ)句中對(duì)各字符型變量既沒有統(tǒng)一指定長(zhǎng)度,也沒有個(gè)別指定長(zhǎng)度,則默認(rèn)長(zhǎng)度為1,即一個(gè)字符型變量只能存放一個(gè)字符。例如,說明語(yǔ)句
CHARACTERA,B,C說明了三個(gè)字符型變量A、B、C,它們的長(zhǎng)度均為1。41編輯ppt2.隱含說明語(yǔ)句implicitimplicit說明語(yǔ)句可以將某個(gè)或某些字母開頭的變量規(guī)定為所需的類型,一般格式為:
implicit類型說明符(變量名起始字符1,變量名起始字符2,…
)
implicit類型說明符(變量名起始字符1-變量名起始字符2)例如:
implicitinteger(a,c,t-v
),real(e,k)該語(yǔ)句的含義是將以a和c及t到v開頭的變量規(guī)定為整型,以e和k開頭的變量規(guī)定為實(shí)型。
42編輯ppt必須注意,I-N規(guī)則只適用于整型變量和實(shí)型變量,而對(duì)于其它類型的變量是不適用的。implicitnone可以取消I-N規(guī)則。3.隱含約定Fortran語(yǔ)言規(guī)定,凡以i,j,k,l,m,n6個(gè)字母開頭的變量被默認(rèn)為整型變量,以其他字母開頭的變量被默認(rèn)為實(shí)型變量。該規(guī)則又稱為I~N規(guī)則。例如:在沒有前面兩種說明的情況下,i1,ma,n3s等都為整型變量。
43編輯ppt(1)在以上三種變量說明方式中,第一類優(yōu)先級(jí)最高,第二類次之,隱含約定最低。也就是說,當(dāng)一個(gè)變量被強(qiáng)制定義為某種類型時(shí),implicit語(yǔ)句和隱含約定將不再起作用。在implicit語(yǔ)句后可以使用類型定義語(yǔ)句重新說明已隱含定義的變量類型,反之則不允許。說明:
44編輯ppt例如有如下連續(xù)說明語(yǔ)句:
implicitinteger(a-d)!合法
implicit
real(c-f)!非法,以字母c和d開頭的變量已被隱含定義為整型變量。
integerc,d!合法,類型定義語(yǔ)句比
implicit語(yǔ)句優(yōu)先。
implicitlogical(c)!非法,以字母c開頭的變量已被定義為整型變量。45編輯ppt(3)I~N規(guī)則具有一定的副作用,如隱含說明與強(qiáng)制說明一同使用時(shí),變量類型不清晰,因此一般不提倡使用,可以通過在程序變量說明之前加入:implicitnone語(yǔ)句來取消I~N規(guī)則。(2)在一個(gè)程序中,一個(gè)字母不能同時(shí)出現(xiàn)在兩個(gè)或兩個(gè)以上的implicit語(yǔ)句中。46編輯ppt(4)
變量類型說明語(yǔ)句都為非執(zhí)行語(yǔ)句,應(yīng)把它們放在所有可執(zhí)行語(yǔ)句之前,其中implicit語(yǔ)句要放在類型說明定義語(yǔ)句之前。(5)類型說明只在所在程序單元中有效。47編輯ppt(6)需要特別指出的是,對(duì)于字符型變量的說明通常采用的格式為:
character([len=]n)變量表格式中的[len=]n代表被說明變量的長(zhǎng)度,[len=]常省略。例如:character(20)name!定義了一個(gè)長(zhǎng)度為20的字符型變量name。當(dāng)n=1時(shí),字符型變量的定義格式可簡(jiǎn)化為:
character變量表例如:charactera(10)!定義了一個(gè)包含10個(gè)字符型元素的數(shù)組,并且每個(gè)數(shù)組元素的長(zhǎng)度都為1。字符型數(shù)據(jù)定義時(shí)還可以單獨(dú)指定變量表中某個(gè)變量的長(zhǎng)度,遇到這種情況時(shí),遵循的原則是“個(gè)別優(yōu)于一般”。例如:character(8)a*10,b,c*13!定義了三個(gè)字符型變量,根據(jù)上面的原則可知a的長(zhǎng)度為10,b的長(zhǎng)度為8,c的長(zhǎng)度為13。48編輯ppt變量的初始化通常一個(gè)變量是先定義,再賦值。例如:
integera a=20可以在定義變量時(shí)對(duì)其賦初值,即初始化。
integer::a=10初始化時(shí),雙冒號(hào)不能省略49編輯ppt在FORTRAN程序中可以通過DATA語(yǔ)句給變量或數(shù)組賦初值。其一般形式如下:用data語(yǔ)句初始化DATA變量表/初值表/[,變量表/初值表/]例如:integera,b,c
dataa,b,c/1,2,3/
datai,j,k/3*5/重復(fù)系數(shù)50編輯ppt說明:1)data可以給多個(gè)變量同時(shí)賦初值,中間用逗號(hào)隔開;2)被賦值的常量一定要放在一對(duì)“/”之中。3)被賦值的常量與對(duì)應(yīng)的變量數(shù)據(jù)類型要一致。4)被賦值的常量中還可以使用“*”來表示數(shù)據(jù)的重復(fù)。51編輯ppt第三節(jié)FORTRAN內(nèi)部函數(shù)函數(shù)在科學(xué)計(jì)算領(lǐng)域有廣泛的使用,數(shù)學(xué)等學(xué)科為我們提供了大量的函數(shù),如:三角函數(shù)、對(duì)數(shù)函數(shù)、雙曲函數(shù)、字符串處理函數(shù)等等。計(jì)算機(jī)語(yǔ)言中提到的函數(shù)是對(duì)數(shù)學(xué)等學(xué)科中函數(shù)的計(jì)算機(jī)實(shí)現(xiàn),它實(shí)際上是具有獨(dú)立功能的程序模塊。52編輯pptFortran語(yǔ)言是以科學(xué)計(jì)算為特長(zhǎng)的計(jì)算機(jī)語(yǔ)言,它為用戶提供了豐富的內(nèi)部函數(shù)庫(kù)(標(biāo)準(zhǔn)函數(shù)庫(kù))。它將三角函數(shù)、平方根函數(shù)、指數(shù)及對(duì)數(shù)函數(shù)等一些專門用于計(jì)算的函數(shù)分別編成一個(gè)個(gè)子程序,放在程序庫(kù)中供調(diào)用,這些子程序就稱為內(nèi)部函數(shù)或標(biāo)準(zhǔn)函數(shù)。用戶在使用時(shí),只要寫出相應(yīng)的函數(shù)名和該函數(shù)所要求的自變量(變?cè)?、參?shù))即可。例如:求2的平方根SQRT(2.0)53編輯ppt函數(shù)意義LOG(X)LOG10(X)INT(X)MOD(X1,X2)SIGN(X1,X2)REAL(X)MAX(X1,X2,…)MIN(X1,X2,…)SQRT(X)求自然對(duì)數(shù)ln(x)求常用對(duì)數(shù)log10(x)取x的整數(shù)部分轉(zhuǎn)換為實(shí)型求x1,x2,…中的最大者求x1除以x2的余數(shù),即求x1–int(x1/x2)x2若x2>0,則|x1|;若x2<0,則–|x1|求x1,x2,…中的最小者常用的算術(shù)型標(biāo)準(zhǔn)函數(shù)第三節(jié)FORTRAN內(nèi)部函數(shù)54編輯ppt說明:(1)fortran內(nèi)部函數(shù),也稱為庫(kù)函數(shù)。在程序中可直接調(diào)用這些函數(shù),在完成程序的編譯后,通過連接,即將一組二進(jìn)制指令代入該函數(shù)出現(xiàn)的地方,與編譯好的目標(biāo)程序一起形成可執(zhí)行程序。(2)一個(gè)內(nèi)部函數(shù)要求一個(gè)或多個(gè)自變量。如sin(x)自變量?jī)H一個(gè)。mod(m,n)自變量為兩個(gè):m、n。而象求最大值、最小值max,min等函數(shù),自變量就可以有多個(gè)。(3)函數(shù)的自變量是有類型的,函數(shù)的值也是有類型的,如求余函數(shù)mod(m,n),自變量與函數(shù)值,要求同為整型或?qū)嵭?。而sin(x)等,自變量與函數(shù)值都是實(shí)型,否則,如果用整型自變量將產(chǎn)生語(yǔ)法錯(cuò)誤,函數(shù)值用整型變量存儲(chǔ)將丟失小數(shù)部分的數(shù)據(jù),導(dǎo)致結(jié)果錯(cuò)誤。55編輯ppt(4)所有函數(shù)必須遵守原有數(shù)學(xué)規(guī)則,如負(fù)數(shù)不能開方,不能對(duì)負(fù)數(shù)求對(duì)數(shù),實(shí)數(shù)不能求余等,違反規(guī)則程序?qū)a(chǎn)生錯(cuò)誤。(5)所有函數(shù)名字的后面都必須帶有括號(hào)(),否則將產(chǎn)生錯(cuò)誤。如cos(x)不能寫成cosx,因?yàn)楹笳逨ortran語(yǔ)言將把它當(dāng)作一個(gè)標(biāo)識(shí)符,而非調(diào)用一個(gè)函數(shù)。(6)三角函數(shù)參數(shù)單位是弧度,因此要特別注意,如果是普通的度數(shù),必須先轉(zhuǎn)化為弧度才能使用對(duì)應(yīng)的函數(shù)。(7)要注意Fortan語(yǔ)言中函數(shù)名與數(shù)學(xué)中函數(shù)名的差異,如Fortran語(yǔ)言中l(wèi)og(x),相當(dāng)于數(shù)學(xué)的自然對(duì)數(shù),即lnx。
56編輯ppt內(nèi)部函數(shù)的使用:INT(5.85)=5INT(-5.85)=-5MAX(-1,3,16,0)=16MIN(-1,3,16,0)=-1LOG(3.0)=1.098612LOG10(100.0)=2.0SIN(1.0)=0.8414709TAN(1.0)=1.557408SQRT(4.0)=2.0EXP(3.0)=20.08553MOD(9,6)=3MOD(6,9)=6SIGN(3.0,-2.0)=-3.0SIGN(-3.0,-2.0)=-3.0SIGN(-3.0,2.0)=3.0SIGN(3.0,2.0)=3.0REAL(-8)=-8.0SQRT(SQRT(16.0))=2.057編輯ppt使用內(nèi)部函數(shù)要注意以下幾點(diǎn):(1)每個(gè)內(nèi)部函數(shù)都要求一個(gè)或幾個(gè)自變量,使用時(shí)必須與其要求相匹配。如平方根函數(shù)、三角函數(shù)等只能有一個(gè)自變量,MOD和SIGN函數(shù)需要兩個(gè)自變量,MAX和MIN函數(shù)需要兩個(gè)或兩個(gè)以上。同時(shí)自變量用括號(hào)括起來,如代數(shù)表達(dá)式“sinx+cosy”,用FORTRAN表示,必須寫成“SIN(x)+COS(x)”,不加括號(hào)就是錯(cuò)誤的。(2)某些內(nèi)部函數(shù)對(duì)自變量的順序也有要求,在使用中,自變量順序改變時(shí),函數(shù)的值就不同。如MOD和SIGN函數(shù)(見前面的例子),而MAX合MIN函數(shù)對(duì)自變量的順序沒有任何要求。58編輯ppt下面看一些函數(shù)運(yùn)用的具體例子:(1)求三個(gè)數(shù)x、y、z中的最大值可以表示為:
max(x,y,z);(2)判斷一個(gè)自然數(shù)m是否為另外一個(gè)自然數(shù)n的因數(shù),通過mod(n,m)是否為0可以判斷,如果為0,則說明m是n的因數(shù),否則說明n不能被m整除。
mod(m,n)==059編輯ppt使用內(nèi)部函數(shù)要注意以下幾點(diǎn):(4)內(nèi)部函數(shù)的自變量可以是常量、變量或表達(dá)式。如SIN(2.0),SIN(2.0*4.5),SIN(x+y)(x,y為實(shí)型變量)均是正確的。(5)三角函數(shù)的角度單位是“弧度”,而不是“度”,在編程時(shí)要注意先將角度轉(zhuǎn)換為弧度再作為自變量使用。60編輯ppt第四節(jié)FORTRAN算術(shù)表達(dá)式運(yùn)算符是對(duì)相同類型的數(shù)據(jù)進(jìn)行運(yùn)算操作的符號(hào)。將常量、變量、函數(shù)用運(yùn)算符連接起來的式子稱為表達(dá)式。
表達(dá)式的類型由運(yùn)算符的類型決定,每個(gè)表達(dá)式按照規(guī)定的運(yùn)算規(guī)則產(chǎn)生一個(gè)唯一的值。61編輯ppt根據(jù)運(yùn)算符的不同,表達(dá)式分為:
算術(shù)表達(dá)式 字符表達(dá)式 關(guān)系表達(dá)式 邏輯表達(dá)式62編輯ppt第四節(jié)FORTRAN算術(shù)表達(dá)式一、算術(shù)運(yùn)算符號(hào)與其優(yōu)先級(jí)別提供5中算術(shù)運(yùn)算,運(yùn)算符依次為:+、-、*、/、**,加、減、乘、除、乘方運(yùn)算例如:2**3表示23,m*n表示m×n。算術(shù)運(yùn)算符的運(yùn)算優(yōu)先級(jí)為:
乘方,乘、除,加、減,+、-、*、/同級(jí)運(yùn)算從左到右依次運(yùn)算,乘方同級(jí)運(yùn)算從右到左63編輯ppt第四節(jié)FORTRAN算術(shù)表達(dá)式二、算術(shù)表達(dá)式
算術(shù)表達(dá)式是由算術(shù)運(yùn)算符將數(shù)值型常量、變量和返回?cái)?shù)值型數(shù)據(jù)的函數(shù)等連接起來的式子,其結(jié)果是數(shù)值型數(shù)據(jù)。例如:3+2*5/4-5.5*4**2
sin((a+1)**2)/(n**2+1)64編輯ppt三、算術(shù)表達(dá)式中類型轉(zhuǎn)化第四節(jié)FORTRAN算術(shù)表達(dá)式同類型的操作數(shù)運(yùn)算,保持原類型不同類型的運(yùn)算,先將低級(jí)類型然后按同類型量運(yùn)算。整型實(shí)型雙精度型復(fù)型低高高級(jí)類型類型的轉(zhuǎn)換是按表達(dá)式的運(yùn)算順序進(jìn)行的例:1/2值為0,3.6*1/2-1.2值為0.61/2*3.6-1.2值為-1.2數(shù)據(jù)類型的轉(zhuǎn)換是從左到右進(jìn)行的,在遇到不同類型的數(shù)據(jù)時(shí)才開始轉(zhuǎn)換。65編輯ppt第四節(jié)FORTRAN算術(shù)表達(dá)式算術(shù)表達(dá)式注意事項(xiàng)說明:(1)表達(dá)式中常量的表示、變量的命名以及函數(shù)的引用要符合Fortran語(yǔ)言的規(guī)定。(2)Fortran表達(dá)式只能在行上從左到右書寫,即所有字符都必須寫在一行,F(xiàn)ortran表達(dá)式中沒有帶有下標(biāo)的變量、分式等。例如:
寫成:x1/y1+x2/y2。66編輯ppt(3)算術(shù)表達(dá)式中的乘號(hào)不能省略。例如,要將數(shù)學(xué)表達(dá)式3sin(x)寫成FORTRAN表達(dá)式時(shí),應(yīng)寫成3SIN(X),而不能寫成3SIN(X),當(dāng)然更不能寫成3SINX或3SINX。(4)Fortran表達(dá)式只允許用小括號(hào),不能使用大、中括號(hào)。根據(jù)需要用括號(hào)表明運(yùn)算順序。例如數(shù)學(xué)表達(dá)式:應(yīng)寫成:(((a+b)**2+(a-b)**2)**3+c)+8。67編輯ppt(5)兩個(gè)整數(shù)相除的結(jié)果一定也為整數(shù),小數(shù)部分自動(dòng)舍去。當(dāng)分子小于分母時(shí)結(jié)果一律為0。例如:3/2!結(jié)果為1,而不是1.333333。
3/4*4!結(jié)果為0,而不是3。(6)在進(jìn)行實(shí)型數(shù)運(yùn)算時(shí),要注意誤差問題。68編輯ppt例:1、
2、答案:1、2.0*SIN(3.14/4)/3.02、(Sin(4.0)+cos(10*3.14/180))*exp(2.5)/ (Sqrt(2.0)+abs(a*x)+log(3.0*5))第四節(jié)FORTRAN算術(shù)表達(dá)式69編輯ppt不同類型數(shù)據(jù)的混合運(yùn)算FORTRAN算術(shù)表達(dá)式允許不同數(shù)值類型的量進(jìn)行混合運(yùn)算。當(dāng)一個(gè)實(shí)型量與一個(gè)整型量進(jìn)行算術(shù)運(yùn)算時(shí),系統(tǒng)將自動(dòng)把整型量轉(zhuǎn)換成實(shí)型量后再進(jìn)行運(yùn)算。但必須注意,在作不同類型數(shù)據(jù)的混合運(yùn)算時(shí),其類型的轉(zhuǎn)換是在運(yùn)算過程中逐步進(jìn)行的,只有在作某種具體的運(yùn)算而又遇到兩個(gè)運(yùn)算對(duì)象的類型不一致時(shí)才進(jìn)行轉(zhuǎn)換,并不是將整個(gè)式中的不同類型量全部轉(zhuǎn)換成同一類型后再作表達(dá)式的計(jì)算。70編輯ppt例如,設(shè)所有變量的類型按隱含規(guī)則確定,且A=1.0,B=3.5,I=–5,K=5,求表達(dá)式–(K+1)/5+IA–B的值。在這個(gè)例子中,A與B為實(shí)型變量,I與K為整型變量。首先計(jì)算K+1,這是整型運(yùn)算,結(jié)果是6;作6/5的運(yùn)算,這也是整型運(yùn)算,結(jié)果為1;取相反數(shù),結(jié)果為–1。然后作運(yùn)算IA,這是不同類型的兩個(gè)數(shù)值型量作乘法運(yùn)算,先將I的值–5.0后再與A的值1.0相乘,結(jié)果為–5.0。再將前面得到的結(jié)果–1與–5.0相加,先作類型轉(zhuǎn)換,–1轉(zhuǎn)換成–1.0,與–5.0相加后得–6.0。最后減去B的值3.5后得結(jié)果–9.5。71編輯ppt由這個(gè)例子可以看出,在寫FORTRAN表達(dá)式時(shí),要注意各運(yùn)算量的類型,特別是在表達(dá)式中有除法運(yùn)算時(shí),應(yīng)使得作除法運(yùn)算的兩個(gè)運(yùn)算量的類型正確,否則會(huì)由于整型相除產(chǎn)生錯(cuò)誤結(jié)果。又例如,為了計(jì)算并輸出級(jí)數(shù)的值,編制了如下的FORTRAN程序:S=0.0DO10N=1,100S=S+1/NWRITE(,)S=,SEND72編輯ppt這個(gè)程序沒有任何語(yǔ)法錯(cuò)誤,但當(dāng)這個(gè)程序輸入到計(jì)算機(jī)后,經(jīng)過編譯和連接,最后運(yùn)行的結(jié)果為S=1.0。顯然,這個(gè)結(jié)果是錯(cuò)的。問題出在什么地方呢?問題出在標(biāo)號(hào)為10的這個(gè)語(yǔ)句中,在賦值號(hào)(=)右邊的算術(shù)表達(dá)式中,根據(jù)運(yùn)算順序,首先計(jì)算1/N,但當(dāng)N>1時(shí),由于1和N均為整型量,其運(yùn)算結(jié)果總是為0,因?yàn)檫@是一個(gè)整型除法,只有當(dāng)N=1時(shí),其和不為0而等于1。因此,最后累加到實(shí)型變量S中的值只有1.0。解決這個(gè)問題的措施是只需在表達(dá)式中將1/N改成1.0/N。73編輯ppt類似于上例中的錯(cuò)誤在編程時(shí)是很容易發(fā)生的。例如,等都是錯(cuò)誤的。74編輯ppt第五節(jié)賦值語(yǔ)句賦值是一種非常重要的概念,是最基本的語(yǔ)句。一般格式為: 變量名=表達(dá)式
作用是:將一個(gè)確定的值(右邊表達(dá)式的值即常量)賦給左邊變量,即將表達(dá)式的值存放到變量所對(duì)應(yīng)的存儲(chǔ)單元。例如: pi=3.1416 x=x1+x2*x3+5 i=i+175編輯ppt第五節(jié)賦值語(yǔ)句賦值語(yǔ)句使用說明:(1)賦值語(yǔ)句的功能是先計(jì)算右邊表達(dá)式的值,而后將此結(jié)果賦給左邊的變量。對(duì)變量的賦值過程是“覆蓋”過程,指的是在變量對(duì)應(yīng)的存貯單元中用新的值去替換原有的值。例如:n=n十176編輯ppt(2)賦值號(hào)“=”是語(yǔ)句符號(hào),執(zhí)行賦值操作,不是運(yùn)算符,不是去判斷賦值號(hào)兩端相等。(3)賦值語(yǔ)句不能連等,賦值語(yǔ)句只允許出現(xiàn)一個(gè)賦值號(hào),不允許有兩個(gè)賦值號(hào)。例如a=b=3在數(shù)學(xué)上是合法的,但是非法的Fortran賦值語(yǔ)句。77編輯ppt(4)“=”兩邊數(shù)據(jù)類型不相同時(shí),先對(duì)右邊表達(dá)式進(jìn)行計(jì)算,然后將計(jì)算結(jié)果的數(shù)據(jù)類型轉(zhuǎn)換為賦值號(hào)左邊變量的數(shù)據(jù)類型進(jìn)行賦值。
(先計(jì)算,再類型轉(zhuǎn)換,最后賦值)例如: integerm,n
realx,y m=5/2 n=5.0/2 x=5/2 y=5.0/2 m=2n=2x=2.0y=2.5在編寫程序時(shí),應(yīng)盡可能使賊值號(hào)兩側(cè)保持同類型。78編輯ppt
輸入輸出是計(jì)算機(jī)內(nèi)存與外部設(shè)備交換數(shù)據(jù)的過程。要順利地傳遞數(shù)據(jù),一般應(yīng)在輸入輸出語(yǔ)句中給計(jì)算機(jī)語(yǔ)提供三方面的信息:
(1)通過什么設(shè)備進(jìn)行輸入輸出;(2)采用什么樣的格式進(jìn)行輸入輸出;(3)輸入、輸出的內(nèi)容。
79編輯ppt第六節(jié)表控輸入語(yǔ)句FORTRAN提供了三種類型的輸入輸出格式:(1)表控格式輸入、輸出:它是FORTRAN輸入、輸出中最簡(jiǎn)單的一種方式,是按系統(tǒng)隱含的標(biāo)準(zhǔn)格式輸入輸出。(2)有格式輸入、輸出:它是按用戶規(guī)定的數(shù)據(jù)格式輸入、輸出。故也稱可控格式(或有格式)的輸入、輸出。(3)無(wú)格式的輸入、輸出:它是以二進(jìn)制形式輸入和輸出數(shù)據(jù),只適用于計(jì)算機(jī)內(nèi)存與磁盤、磁帶等之間的數(shù)據(jù)交換。80編輯ppt第六節(jié)表控輸入語(yǔ)句一、一般形式簡(jiǎn)單的輸入語(yǔ)句:
Read*,變量名表Read(*,*)變量名表表控格式、自由格式鍵盤表控格式表控輸入輸出是一種不需要指定格式的輸入輸出,在前面示例中出現(xiàn)的READ*,READ(*,*)和PRINT*,WRITE(*,*)語(yǔ)句就是表控輸入輸出語(yǔ)句,下面我們分別詳細(xì)地介紹該類語(yǔ)句。81編輯ppt二、功能執(zhí)行時(shí),暫停,等待用戶從鍵盤輸入數(shù)據(jù),分別賦給各變量,賦值順序自左向右。
第六節(jié)表控輸入語(yǔ)句例:READ*,a,b,m,n如果a,b為實(shí)型,m,n為整型,可以從鍵盤輸入以下數(shù)據(jù): 3.7,-1.8,24,10↙(數(shù)據(jù)間用逗號(hào)分隔)或 3.7-1.82410↙(數(shù)據(jù)間用空格分隔)則a=3.7,b=-1.8,m=24,n=10。82編輯ppt第六節(jié)表控輸入語(yǔ)句在使用表控輸入語(yǔ)句時(shí)應(yīng)注意以下幾點(diǎn):(1)應(yīng)保證從輸入設(shè)備上輸入數(shù)據(jù)的個(gè)數(shù)與READ語(yǔ)句輸入表中變量的個(gè)數(shù)相同,各數(shù)據(jù)類型與相應(yīng)變量的類型一致。(2)輸入數(shù)據(jù)可分為多行輸入,直到輸入全部數(shù)據(jù)。如下例READ語(yǔ)句可以分兩行數(shù)據(jù)輸入,還可分更多的行進(jìn)行數(shù)據(jù)輸入。①3,10,7.5,-15.8↙②3,10↙7.5,-15.8↙③3↙10↙7.5,-15.8↙READ(*,*)i,j,a,b83編輯ppt第六節(jié)表控輸入語(yǔ)句在使用表控輸入語(yǔ)句時(shí)應(yīng)注意以下幾點(diǎn):(3)輸入數(shù)據(jù)個(gè)數(shù)要求不少于輸入表中變量個(gè)數(shù)。如果少于變量個(gè)數(shù),則程序?qū)⒌却脩糨斎牒罄m(xù)數(shù)據(jù)。如果多于變量個(gè)數(shù),則多余的數(shù)據(jù)不起作用。3,10,7.5,-15.8,30,70.6↙后2個(gè)數(shù)是無(wú)效的,將被忽略。READ語(yǔ)句讀取前4個(gè)數(shù)后,程序?qū)⒗^續(xù)執(zhí)行下一條語(yǔ)句。例如:上述READ語(yǔ)句執(zhí)行時(shí)輸入以下數(shù)據(jù):84編輯ppt第六節(jié)表控輸入語(yǔ)句在使用表控輸入語(yǔ)句時(shí)應(yīng)注意以下幾點(diǎn):(4)使用多個(gè)READ語(yǔ)句時(shí),每個(gè)READ語(yǔ)句都是從一個(gè)新的輸入行開始讀數(shù)的。
READ(*,*)i,j
READ(*,*)a,b輸入3,10,7.5,-15.8↙第一個(gè)READ語(yǔ)句讀入前兩個(gè)數(shù),即i=3,j=10,而第二個(gè)READ語(yǔ)句并不會(huì)從這一輸入行剩余的數(shù)據(jù)中讀數(shù),所以a,b未被賦值。想要正確賦值,應(yīng)改為兩個(gè)輸入行:3,10↙7.5,-15.8↙85編輯ppt
READ(*,*)i,j,a,b輸入3,10/7.5,-15.8↙i=3a值不變=0j=10b值不變=0第六節(jié)表控輸入語(yǔ)句在使用表控輸入語(yǔ)句時(shí)應(yīng)注意以下幾點(diǎn):(5)如果在輸入數(shù)據(jù)行中出現(xiàn)“/”號(hào),表示對(duì)READ語(yǔ)句的輸入到此結(jié)束,未被賦值的變量保持原值不變。(6)如果READ語(yǔ)句中有幾個(gè)連續(xù)的變量要賦以相同的值,則可用重復(fù)因子r,r表示某一數(shù)據(jù)重復(fù)出現(xiàn)的次數(shù)。例如:READ*,i,j,k,a,b,c,d,str1,str2執(zhí)行時(shí)輸入以下數(shù)據(jù): 3*12,4*125.45,2*‘student’↙將12賦予i,j,k,將125.45賦予a,b,c,d,將“student”賦予str1和str2。86編輯ppt第六節(jié)表控輸入語(yǔ)句(7)在一個(gè)數(shù)之間不能插入空格。因?yàn)榭崭褚彩莾蓚€(gè)數(shù)據(jù)間的分隔符。 例如:m=123,n=456,輸入語(yǔ)句為:READ*,m,n 如果輸入數(shù)據(jù)為: 1□23,456↙ 鍵入數(shù)據(jù)時(shí)不小心輸入了一個(gè)空格,則執(zhí)行結(jié)果為m=1,n=23,顯然不是想要的數(shù)據(jù)。(8)當(dāng)變量為整型,而輸入的數(shù)據(jù)為實(shí)型時(shí),按出錯(cuò)處理。若變量為實(shí)型,而輸入數(shù)據(jù)為整型,則系統(tǒng)自動(dòng)將輸入數(shù)據(jù)轉(zhuǎn)換為實(shí)型再賦值給實(shí)型變量。 例如: READ*,a,b 輸入: 12,34執(zhí)行結(jié)果為a=12.0,b=34.0。87編輯ppt一、含義:表控輸出是最簡(jiǎn)單的格式輸出。其輸出格式不必用戶自己說明,而是由系統(tǒng)作了隱含的規(guī)定,故也稱為固定格式輸出。FORTRAN提供了兩種形式的表控輸出語(yǔ)句:PRINT輸出語(yǔ)句和WRITE輸出語(yǔ)句。
二、寫法:WRITE(*,*)輸出表PRINT*,輸出表表控格式三、功能:WRITE語(yǔ)句中第一個(gè)星號(hào)“*”表示在系統(tǒng)隱含指定的設(shè)備上輸出;WRITE語(yǔ)句中的第二個(gè)星號(hào)“*”表示“表控格式輸出”;輸出項(xiàng)可以有多個(gè),每個(gè)輸出項(xiàng)之間用逗號(hào)“,”分隔;當(dāng)語(yǔ)句中沒有輸出項(xiàng)時(shí),命令將輸出一個(gè)空白行。第七節(jié)表控輸出語(yǔ)句變量名,表達(dá)式或常量88編輯ppt四、表控輸出的特點(diǎn):⒈系統(tǒng)自動(dòng)地分別為每一個(gè)不同類型的數(shù)據(jù)規(guī)定所占的列數(shù)和表數(shù)形式。2.系統(tǒng)為每個(gè)整數(shù)分配10~13列,數(shù)據(jù)打印在這些列的右端。當(dāng)要輸出的數(shù)據(jù)位數(shù)不夠時(shí),左端以空格補(bǔ)齊。第七節(jié)表控輸出語(yǔ)句89編輯ppt四、表控輸出的特點(diǎn):3.一個(gè)實(shí)數(shù)分配給15~18列,其中小數(shù)部分6~7列。如果實(shí)數(shù)的值很大,以上格式無(wú)法容納,則系統(tǒng)會(huì)自動(dòng)改成用標(biāo)準(zhǔn)化的指數(shù)形式輸出。第七節(jié)表控輸出語(yǔ)句4.對(duì)一個(gè)用指數(shù)形式輸出的實(shí)數(shù)分配給15列,其中指數(shù)部分4~5列,小數(shù)部分6列。90編輯ppt6.一條print或write語(yǔ)句可同時(shí)輸出多個(gè)整數(shù)和實(shí)數(shù)。當(dāng)在一行內(nèi)打印不下時(shí),會(huì)自動(dòng)換行再打印,直到把全部需輸出的數(shù)據(jù)打印完為止。5.如果實(shí)數(shù)的整數(shù)部分位數(shù)多于系統(tǒng)規(guī)定的有效位數(shù)(例如IBM—PC為7位),或?qū)崝?shù)的數(shù)值小于1,則在輸出時(shí)會(huì)自動(dòng)轉(zhuǎn)換成規(guī)范化的指數(shù)形式輸出。如123×106和0.132的輸出為,四、表控輸出的特點(diǎn):第七節(jié)表控輸出語(yǔ)句91編輯ppt第七節(jié)表控輸出語(yǔ)句7.如果print或write語(yǔ)句中無(wú)任何輸出項(xiàng),它將輸出一個(gè)空白行?!锉砜剌敵鼋Y(jié)果因不同計(jì)算機(jī)而異!PRINT*,或WRITE(*,*)四、表控輸出的特點(diǎn):92編輯ppt例分析下列程序的結(jié)果
implicitnone
integerm,n read*,m,n,n,m
m=m+n n=m+n print*,m,n end當(dāng)輸入7 8 9 10時(shí)輸出結(jié)果為?192893編輯ppt例:輸入三個(gè)實(shí)數(shù),輸出最大值和最小值
read
*,x1,x2,x3 maxnum=max(
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 開學(xué)主題教育活動(dòng)方案5篇
- DB4106T 77-2022 玉米螟防控技術(shù)規(guī)程
- 五年級(jí)一本書作文500字(10篇)
- 感恩父母主題班會(huì)教案9篇
- 2024年技術(shù)服務(wù)合同標(biāo)的詳解
- 2024年建筑外墻裝修腳手架搭建合同
- 2024年房屋中介提供裝修貸款合同
- 2024年投資并購(gòu)雙方保密及競(jìng)業(yè)禁止協(xié)議
- 2024年房屋簡(jiǎn)易裝修半包合同
- 2024互聯(lián)網(wǎng)金融借貸平臺(tái)運(yùn)營(yíng)授權(quán)合同
- 激勵(lì)理論-赫茨伯格的“雙因素理論”案例分析課件
- JC-T 738-2004水泥強(qiáng)度快速檢驗(yàn)方法
- 胸腔積液患者病例討論
- 第六章-冷凍真空干燥技術(shù)-wang
- 大學(xué)生職業(yè)生涯規(guī)劃成長(zhǎng)賽道
- 建設(shè)項(xiàng)目設(shè)計(jì)管理方案
- 2024年屆海南航空控股股份有限公司招聘筆試參考題庫(kù)含答案解析
- 前程無(wú)憂在線測(cè)試題庫(kù)及答案行測(cè)
- 《軍事理論》課程標(biāo)準(zhǔn)
- 倉(cāng)庫(kù)貨物條碼管理培訓(xùn)
- 第六章-中國(guó)早期社會(huì)學(xué)中的社區(qū)學(xué)派-《中國(guó)社會(huì)學(xué)史》必備
評(píng)論
0/150
提交評(píng)論