




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、1/133 FORTRAN語言程序設(shè)計(jì)初步2/133FORTRAN語言程序設(shè)計(jì)初步語言程序設(shè)計(jì)初步任何一種程序設(shè)計(jì)語言都有自己的任何一種程序設(shè)計(jì)語言都有自己的一套語法規(guī)則以及由基本符號(hào)按語一套語法規(guī)則以及由基本符號(hào)按語法規(guī)則構(gòu)成的各種語法成分:如常法規(guī)則構(gòu)成的各種語法成分:如常量、變量、表達(dá)式、語句、函數(shù)等量、變量、表達(dá)式、語句、函數(shù)等.FORTRAN語言程序設(shè)計(jì)初步語言程序設(shè)計(jì)初步就是就是要求我們熟練地掌握這些語法成分要求我們熟練地掌握這些語法成分.3/1333.1 FORTRAN3.1 FORTRAN語言發(fā)展概況語言發(fā)展概況3.2 3.2 簡(jiǎn)單程序分析簡(jiǎn)單程序分析3.3 FORTRAN3.
2、3 FORTRAN書寫格式書寫格式3.4 FORTRAN3.4 FORTRAN源程序輸入方式源程序輸入方式3.5 3.5 常量常量3.6 3.6 變量變量3.7 FORTRAN3.7 FORTRAN內(nèi)部函數(shù)內(nèi)部函數(shù)3.8 FORTRAN3.8 FORTRAN算術(shù)表達(dá)式算術(shù)表達(dá)式3.9 3.9 賦值語句賦值語句3.10 3.10 簡(jiǎn)單的輸出語句簡(jiǎn)單的輸出語句3.11 3.11 簡(jiǎn)單的輸入語句簡(jiǎn)單的輸入語句3.12 3.12 參數(shù)語句參數(shù)語句3.13 END 3.13 END 、 STOP STOP 、 PAUSE PAUSE 語句語句3.14 3.14 程序舉例程序舉例FORTRAN語言基礎(chǔ)4/
3、133FORTRAN-FORmula TRANslation (公式翻譯公式翻譯)是世界上第一個(gè)被正式推廣使用的高級(jí)語言是世界上第一個(gè)被正式推廣使用的高級(jí)語言( (于于1954年提出年提出; 1956年正式使用年正式使用) )FORTRANFORTRAN是數(shù)值計(jì)算領(lǐng)域里使用的主要語言;是數(shù)值計(jì)算領(lǐng)域里使用的主要語言;發(fā)展發(fā)展( (有代表性的幾個(gè)版本有代表性的幾個(gè)版本) ): FORTRANFORTRAN 1958 FORTRANFORTRAN 1962 ( (Fortran 66) ) FORTRANFORTRAN 77 1978 FORTRANFORTRAN 90 1990早期的版本不是早期
4、的版本不是結(jié)構(gòu)化語言結(jié)構(gòu)化語言, ,沒沒有直接實(shí)現(xiàn)三種有直接實(shí)現(xiàn)三種基本結(jié)構(gòu)的語句基本結(jié)構(gòu)的語句( (使用使用gotogoto實(shí)現(xiàn)實(shí)現(xiàn)特定操作特定操作).F77).F77才在才在F66F66作了大作了大幅度的修改幅度的修改. . FORTRAN的特點(diǎn)5/1331954 FORTRAN I1958 FORTRAN1962 FORTRAN1966 由于從由于從到到不兼容,故在此基礎(chǔ)不兼容,故在此基礎(chǔ)上制定標(biāo)準(zhǔn):上制定標(biāo)準(zhǔn): FORTRAN 661978 FORTRAN77向下兼容向下兼容1991 FORTRAN901997 FORTRAN95注:注:FORTRAN95FORTRAN95不象不象FO
5、RTRAN90FORTRAN90在在FORTRAN77FORTRAN77的基的基礎(chǔ)上添加了很多新的內(nèi)容,礎(chǔ)上添加了很多新的內(nèi)容,而而FORTRAN95FORTRAN95只能視為是只能視為是FORTRAN90FORTRAN90的修正版,加強(qiáng)了的修正版,加強(qiáng)了并行運(yùn)算方面的支持功并行運(yùn)算方面的支持功能能.(.(這是其它語言不可替代這是其它語言不可替代的的) )NEXT6/133 10 20 30 40 50 60 70 8001234567890123456789012345678901234567890123456789012345678901234567890123456789C CALCUL
6、ATE THE AVERAGE OF THREE NUMBERSx=90.5y=87.0z=68.5AVER=(x+y+z)/3.0print * * ,the three numbers are , x , y , zprnt * * , average=, averendVoid main() float x,y,z,Aver;x=90.5;y=87.0;z=68.5;Aver=(x+y+z)/3;Printf(“%f%f%fn”,x,y,z);Printf(”%f”,Aver);7/1338/133語法著色語法著色:綠色:綠色:注釋文本;注釋文本;藍(lán)色:藍(lán)色:關(guān)鍵字;關(guān)鍵字;黑色:黑色:
7、代碼。代碼。9/133 10 20 30 40 50 60 70 8001234567890123456789012345678901234567890123456789012345678901234567890123456789C MAIN PROGRAMPROGRAM EX2print * * ,R , 1.0,C=, C( (1.0) ) print * * ,R , 1.5,C=, C( (1.5) )print * * ,R , 3.0,C=, C( (3.0) )print * * ,R , 12.5,C=, C( (12.5) )end0123456789012345678901
8、2345678901234567890123456789012345678901234567890123456789C SUBPROGRAMFUNCTION C( (R) )pi=3.1415926C=2 * * pi * * Rreturnend例如:將此文件保存為:li3.for如保存此文件:li3_1.for分別將兩個(gè)文件編譯再build li3.EXE 即可運(yùn)行10/133單位定義部分單位定義部分( (主、子程序主、子程序) )說明部分說明部分輸入部分輸入部分計(jì)算或處理部分計(jì)算或處理部分輸出部分輸出部分ENDEND結(jié)束結(jié)束11/133程序單位:具有以上各部分組成程序單位:具有以上各部分
9、組成(或部分或部分)的的程序稱為一個(gè)程序單位,可以單獨(dú)編譯,程序稱為一個(gè)程序單位,可以單獨(dú)編譯,也可以一起編譯。也可以一起編譯。(主程序、子程序、數(shù)據(jù)塊子程序、主程序、子程序、數(shù)據(jù)塊子程序、模塊模塊)我們已經(jīng)知道,在我們已經(jīng)知道,在C語言中,程序的組成語言中,程序的組成是由若干個(gè)函數(shù)組成的。是由若干個(gè)函數(shù)組成的。12/1331)1)首先在工作盤中建立文件夾首先在工作盤中建立文件夾, ,如:如:For_testFor_test2)2)進(jìn)入進(jìn)入FortranFortran啟動(dòng)程序啟動(dòng)程序(Developer Studio);(Developer Studio); 3)“3)“文件文件” “ “新建
10、新建” “ “FILE”FILE” “Fortran Fixed Format Source File”“Fortran Fixed Format Source File”在在Location: For_testLocation: For_test OKOK4)4)進(jìn)入編輯狀態(tài)進(jìn)入編輯狀態(tài)輸入源文件輸入源文件保存文件保存文件1 15)5)重復(fù)步驟重復(fù)步驟3 3建立文件建立文件2 26)6)打開文件打開文件1 1編譯編譯; ; 打開文件打開文件2 2編譯編譯; ;7)Build 7)Build * *.Exe .Exe 文件文件運(yùn)行運(yùn)行! !13/1331)運(yùn)行運(yùn)行CMDD:2)可以刪除原文件以
11、及目標(biāo)文件等可以刪除原文件以及目標(biāo)文件等;3)直接運(yùn)行直接運(yùn)行*.EXE程序程序.14/1331)1)一個(gè)程序由一個(gè)或若干個(gè)程序單位組成一個(gè)程序由一個(gè)或若干個(gè)程序單位組成; ;2)2)每一個(gè)程序單位都是以每一個(gè)程序單位都是以“END”END”語句作為結(jié)束語句作為結(jié)束; ;3)3)一個(gè)程序單位包括若干行一個(gè)程序單位包括若干行: :(1)語句行語句行執(zhí)行語句執(zhí)行語句(使計(jì)算機(jī)在運(yùn)行時(shí)產(chǎn)生某些操作)(使計(jì)算機(jī)在運(yùn)行時(shí)產(chǎn)生某些操作)非執(zhí)行語句非執(zhí)行語句(如類型說明語句、數(shù)據(jù)語句)(如類型說明語句、數(shù)據(jù)語句)(2)非語句行非語句行(如注釋行如注釋行)盡管不執(zhí)行,但在打印清單時(shí)是要打印出來的盡管不執(zhí)行,但
12、在打印清單時(shí)是要打印出來的4 4)FORTRANFORTRAN語句可以沒有標(biāo)號(hào),也可以有標(biāo)號(hào);語句可以沒有標(biāo)號(hào),也可以有標(biāo)號(hào);5 5)一個(gè)程序單位中各類語句位置是有一定規(guī)定的)一個(gè)程序單位中各類語句位置是有一定規(guī)定的; ;6 6)FORTRANFORTRAN源程序必須按一定的格式書寫。源程序必須按一定的格式書寫。!15/133目前使用的編譯系統(tǒng):目前使用的編譯系統(tǒng):Microsoft Fortran Powerstation 4.0(微軟賣給了微軟賣給了Digital, Digital繼續(xù)開發(fā)繼續(xù)開發(fā))Digital Visual Fortran 5.0( Digital 被被Compaq并購(gòu)
13、并購(gòu) )Compaq Visual Fortran 6.0 6.5(Compaq與與HP合并合并) HP Compaq Visual Fortran X.X16/13317/133運(yùn)行安裝程序18/133選擇安裝19/133建議在安裝本系統(tǒng)之前關(guān)閉其它應(yīng)用程序20/13321/133建議改為自己的盤符和文件夾22/13323/13324/133建議選擇更新環(huán)境25/13326/13327/13328/133Compaq Virsual Fortran6.529/133在在6.5版本中,版本中,Workspace里可以包含多個(gè)里可以包含多個(gè)Projects,但但每一個(gè)每一個(gè)Projects里只能
14、包含一個(gè)主文件(里只能包含一個(gè)主文件(EXE)。)。而在而在PS4.0中,只有項(xiàng)目空間中,只有項(xiàng)目空間Projects Workspace,所,所以在此只有一個(gè)主文件,該文件名就是項(xiàng)目空間名。以在此只有一個(gè)主文件,該文件名就是項(xiàng)目空間名。Workspace*.exeProjectsProjects*.exe30/133Compaq Virsual Fortran6.531/133POWER STATION4.032/133POWER STATION4.033/133Compaq Virsual Fortran6.534/133Compaq Virsual Fortran6.535/13336/
15、13337/13338/13339/13340/13341/13342/1331.1.建立一個(gè)新的建立一個(gè)新的Project(File/New,Project(File/New,選擇選擇ProjectProject卡,選擇卡,選擇Fortran console programFortran console program格式格式, ,給出給出ProjectProject名名) ), ProjectProject會(huì)自動(dòng)保存會(huì)自動(dòng)保存* *.dsw.dsw文件文件2.2.生成一個(gè)新的程序文件生成一個(gè)新的程序文件(File/New,(File/New,選擇選擇FileFile卡,選擇兩卡,選擇兩種格
16、式之一,并給出文件名種格式之一,并給出文件名) ),或者是插入一個(gè)已有的文,或者是插入一個(gè)已有的文件(件(Project/add to project/Files)Project/add to project/Files)。單擊。單擊File/Save File/Save Workspace,Workspace,就保存就保存ProjectProject所包含的程序文件。所包含的程序文件。3.3.在在BuildsBuilds菜單上直接選擇菜單上直接選擇ExecuteExecute就會(huì)自動(dòng)完成編譯到執(zhí)就會(huì)自動(dòng)完成編譯到執(zhí)行全過程,也可以選擇行全過程,也可以選擇BuildBuild只做編譯。只做編譯
17、。4.4.要編寫新的程序就要另建一個(gè)要編寫新的程序就要另建一個(gè)Project,Project,也可更換也可更換ProjectProject中的文件。注意不要把兩個(gè)獨(dú)立的程序文件放在同一個(gè)中的文件。注意不要把兩個(gè)獨(dú)立的程序文件放在同一個(gè)ProjectProject里(編譯時(shí)出錯(cuò))。里(編譯時(shí)出錯(cuò))。5.5.下次要修改程序時(shí),直接下次要修改程序時(shí),直接File/WorkspaceFile/Workspace打開打開* *.dsw.dsw中的中的ProjectProject工程文件。工程文件。43/133系統(tǒng)界面簡(jiǎn)介系統(tǒng)界面簡(jiǎn)介編譯系統(tǒng)操作步驟編譯系統(tǒng)操作步驟編譯系統(tǒng)基本設(shè)置等編譯系統(tǒng)基本設(shè)置等GO
18、44/133Exa3_1.for (P46)Exa3_2main.for(P47)Exa3_2sub.for(P47)(通過實(shí)際運(yùn)行來演示通過實(shí)際運(yùn)行來演示)45/13346/13347/133在在DOSDOS環(huán)境下環(huán)境下: :建立文件建立文件; ;保存文件于當(dāng)前文件夾保存文件于當(dāng)前文件夾( (編譯文件夾編譯文件夾););編譯編譯: FOR1: FOR1運(yùn)行運(yùn)行: PAS2: PAS2建立連接建立連接: LINK: LINK運(yùn)行可執(zhí)行文件運(yùn)行可執(zhí)行文件: : 文件名文件名48/133FORTRANFORTRAN程序代碼的編寫格式有兩種:程序代碼的編寫格式有兩種:Fixed Format(固定格
19、式)本教材采用(固定格式)本教材采用擴(kuò)展名:擴(kuò)展名:.F或或.FORFree Format(自由格式(自由格式4.0版本以上)版本以上)擴(kuò)展名:擴(kuò)展名:.F9049/133Fortran一行一行80列,分為四個(gè)區(qū)域列,分為四個(gè)區(qū)域:1)1)標(biāo)號(hào)區(qū)(標(biāo)號(hào)區(qū)(1 1 5 5列)列):15位無符號(hào)的整數(shù),中間空位無符號(hào)的整數(shù),中間空格不起作用(格不起作用(100、 100、1 0 0是相同的)沒有大是相同的)沒有大小順序。標(biāo)號(hào)區(qū)第一列必須是空格、數(shù)字、小順序。標(biāo)號(hào)區(qū)第一列必須是空格、數(shù)字、C、*(F90:數(shù)字之間不能有空格;以數(shù)字之間不能有空格;以!作為行注釋)作為行注釋)2)2)續(xù)行標(biāo)志區(qū)(第續(xù)行
20、標(biāo)志區(qū)(第6 6列)列)非空格或非非空格或非0的字符:作為上一行的繼續(xù)行的字符:作為上一行的繼續(xù)行3)3)語句區(qū)(第語句區(qū)(第7 7 7272列)列)一行只寫一條語句一行只寫一條語句,空格被忽略(空格被忽略(s in ( x) 有效)有效)4)4)注釋區(qū)(第注釋區(qū)(第7373 8080列)列):不是語句的部分,除打印不是語句的部分,除打印清單外,編譯系統(tǒng)不予處理(輸入的內(nèi)容為紅色)清單外,編譯系統(tǒng)不予處理(輸入的內(nèi)容為紅色)50/133第第1個(gè)字符個(gè)字符當(dāng)為字母當(dāng)為字母c、C或或*,這一行文本會(huì)當(dāng)成說明,這一行文本會(huì)當(dāng)成說明或批注,不會(huì)被編譯。或批注,不會(huì)被編譯。第第15個(gè)字符個(gè)字符當(dāng)為數(shù)字,
21、就是用來給這一行程序代碼取當(dāng)為數(shù)字,就是用來給這一行程序代碼取個(gè)代號(hào),不然只能是空格。個(gè)代號(hào),不然只能是空格。第第6個(gè)字符個(gè)字符如果是非如果是非0非空的任何字符,表示這一行程非空的任何字符,表示這一行程序會(huì)接續(xù)上一行。序會(huì)接續(xù)上一行。第第772個(gè)字符個(gè)字符Fortran程序代碼的編寫區(qū)域。程序代碼的編寫區(qū)域。第第7380個(gè)字個(gè)字符以后符以后不使用這些列,語句超過該列的部分會(huì)被不使用這些列,語句超過該列的部分會(huì)被忽略,有的編譯器會(huì)發(fā)出錯(cuò)誤信息。忽略,有的編譯器會(huì)發(fā)出錯(cuò)誤信息。51/133Free Format(自由格式)(自由格式) 基本上允許非常自由的編寫格式,它沒有規(guī)定每基本上允許非常自由的
22、編寫格式,它沒有規(guī)定每一行的第幾個(gè)字符有什么作用,但要注意:一行的第幾個(gè)字符有什么作用,但要注意:1.1.!感嘆號(hào)后面的文本都是注釋(行內(nèi)也一樣)。!感嘆號(hào)后面的文本都是注釋(行內(nèi)也一樣)。2.2.每行可以編寫每行可以編寫132132個(gè)字符。個(gè)字符。3.3.行號(hào)放在每行程序的最前面。行號(hào)放在每行程序的最前面。4.4.一行程序代碼的最后如果是符號(hào)一行程序代碼的最后如果是符號(hào)& &,代表下一行,代表下一行程序會(huì)和這一行連接。如果一行程序代碼的開頭程序會(huì)和這一行連接。如果一行程序代碼的開頭是符號(hào)是符號(hào)&,&,代表它會(huì)和上一行程序連接代表它會(huì)和上一行程序連接( (拆分關(guān)鍵字拆分關(guān)鍵字) )。5.5.程
23、序命令之間的空格,無意義。程序命令之間的空格,無意義。 52/133 !Free Format program main write(* *,* *)”Hello” !這也是注釋這也是注釋 write(* *,* *)& ”Hello” wri& &te(* *,* *)”Hello” end53/133 !Free Format program main write(* *,* *)”Hello” write(* *,* *)& ”Hello” wri& &te(* *,* *)”Hello” end54/133編寫編寫Fortran77Fortran77程序時(shí),所能使用的所有字符及符程序時(shí)
24、,所能使用的所有字符及符號(hào)就是號(hào)就是F77F77的字符集:的字符集: A AZ Z(a az z)程序中不區(qū)分大小寫)程序中不區(qū)分大小寫 2626個(gè)個(gè) 0 09 9 1010個(gè)個(gè) 空格空格 = + - = + - * * / / ( ) ,:,:. $ . $ 2222個(gè)個(gè) _(_(下劃線下劃線) )、!、!、”、% %、& &、;、;、 、 10.29) = 10.29如:如:A=10.29A=10.29 B=5.54 B=5.54 C=Mod(A,B C=Mod(A,B) = 4.75) = 4.7588/1333.8.13.8.1算術(shù)運(yùn)算符和運(yùn)算優(yōu)先級(jí)算術(shù)運(yùn)算符和運(yùn)算優(yōu)先級(jí)可以使用五種算
25、術(shù)運(yùn)算符號(hào):可以使用五種算術(shù)運(yùn)算符號(hào): 加(加(+ +)、減()、減(- -)、乘()、乘(* *)、除()、除(/ /)、乘方()、乘方(* * *)注意:注意:A A* *-B -B 是不合法的,應(yīng)該寫成(是不合法的,應(yīng)該寫成(A A* *(-B)(-B)); ;兩個(gè)運(yùn)算符不能相鄰兩個(gè)運(yùn)算符不能相鄰。優(yōu)先級(jí)次序:優(yōu)先級(jí)次序: 高*乘方 中* / 乘除 低+ - 加減當(dāng)冪為小數(shù)時(shí)也可以用于求平方根。*0.5=sqrt(4.0)89/1333.8.2 3.8.2 算術(shù)表達(dá)式的含義和表示方法算術(shù)表達(dá)式的含義和表示方法表達(dá)式表達(dá)式是運(yùn)算符和運(yùn)算元素(常量、變是運(yùn)算符和運(yùn)算元素(常量、變量、函數(shù)、數(shù)
26、組)連接起來的具有數(shù)值量、函數(shù)、數(shù)組)連接起來的具有數(shù)值的式子。的式子?;咎卣骰咎卣鳎? 1)運(yùn)算元素都是算術(shù)量;)運(yùn)算元素都是算術(shù)量;2 2)運(yùn)算符是算術(shù)運(yùn)算符;)運(yùn)算符是算術(shù)運(yùn)算符;3 3)表達(dá)式的值是一個(gè)算術(shù)量(數(shù)值)表達(dá)式的值是一個(gè)算術(shù)量(數(shù)值) (A-BA-B)/C /C * * * * 2+SIN (X+Y)2+SIN (X+Y)90/133算術(shù)表達(dá)式書寫時(shí)的注意事項(xiàng)算術(shù)表達(dá)式書寫時(shí)的注意事項(xiàng): :1) 一般除號(hào)一般除號(hào)( ( / ) )前后運(yùn)算元素用括號(hào)括起來前后運(yùn)算元素用括號(hào)括起來;2)乘號(hào)(乘號(hào)(* *)不能省略)不能省略;3)無大中小括號(hào)之分無大中小括號(hào)之分,一律用小括
27、號(hào)一律用小括號(hào);4)對(duì)多次乘方需按對(duì)多次乘方需按“先右后左先右后左”的原則處理的原則處理;5)注意單目運(yùn)算符注意單目運(yùn)算符(-5,+10,-A)。-A就相當(dāng)于就相當(dāng)于0-A 如:如:-A * * *2相當(dāng)于相當(dāng)于0-A* * *2 ,也就是也就是-(A* * *2) 而不是而不是(-A)* * *2, 不要混淆。不要混淆。6)算術(shù)表達(dá)式求值運(yùn)算的優(yōu)先次序算術(shù)表達(dá)式求值運(yùn)算的優(yōu)先次序高高 低低1)括號(hào); 2)函數(shù); 3)*; 4)* / ; 5)+ -91/1333.8.3 3.8.3 表達(dá)式運(yùn)算中的類型問題表達(dá)式運(yùn)算中的類型問題 FORTRAN FORTRAN 允許不同類型的算術(shù)量之間的算術(shù)運(yùn)
28、算允許不同類型的算術(shù)量之間的算術(shù)運(yùn)算(整型、實(shí)型、雙精度、復(fù)型)。如(整型、實(shí)型、雙精度、復(fù)型)。如 2 2* *3.53.5 FORTRAN FORTRAN 規(guī)定如下:規(guī)定如下:1 1)同類型的算術(shù)量之間運(yùn)算的結(jié)果仍然保持原類型。)同類型的算術(shù)量之間運(yùn)算的結(jié)果仍然保持原類型。特別規(guī)定:兩個(gè)整數(shù)相除的商也是整數(shù)特別規(guī)定:兩個(gè)整數(shù)相除的商也是整數(shù)( (1/21/2的值是的值是0 0) )2 2)如果參加運(yùn)算的兩個(gè)算術(shù)量為不同類型,則編譯)如果參加運(yùn)算的兩個(gè)算術(shù)量為不同類型,則編譯系統(tǒng)會(huì)自動(dòng)將它們轉(zhuǎn)換成同一類型然后再進(jìn)行運(yùn)算。系統(tǒng)會(huì)自動(dòng)將它們轉(zhuǎn)換成同一類型然后再進(jìn)行運(yùn)算。規(guī)則是:規(guī)則是: 將低級(jí)類
29、型轉(zhuǎn)換成高級(jí)類型將低級(jí)類型轉(zhuǎn)換成高級(jí)類型 92/1333.8.3 3.8.3 表達(dá)式運(yùn)算中的類型問題表達(dá)式運(yùn)算中的類型問題四則運(yùn)算規(guī)律(或四則運(yùn)算規(guī)律(或乘方運(yùn)算規(guī)律乘方運(yùn)算規(guī)律) 整型 實(shí)型 整型 整型 實(shí)型 實(shí)型 實(shí)型 實(shí)型運(yùn)算量2(基數(shù)類型)運(yùn)算量1(指數(shù)類型)運(yùn)算結(jié)果(乘方運(yùn)算結(jié)果)93/1333.8.3 3.8.3 表達(dá)式運(yùn)算中的類型問題表達(dá)式運(yùn)算中的類型問題類型的轉(zhuǎn)換是從左而右進(jìn)行的。類型的轉(zhuǎn)換是從左而右進(jìn)行的。在遇到不同類在遇到不同類型的算術(shù)量時(shí)才進(jìn)行轉(zhuǎn)換型的算術(shù)量時(shí)才進(jìn)行轉(zhuǎn)換。如下例:。如下例:5 5* *6.5 6.5 是先將是先將5 5轉(zhuǎn)換為轉(zhuǎn)換為5.05.0(此時(shí)就(此時(shí)
30、就遇到不同類型遇到不同類型的算術(shù)量的算術(shù)量),再乘以),再乘以6.56.5等于等于32.532.5。 但注意但注意:1/41/4* *20.020.0時(shí),由于時(shí),由于1/41/4兩個(gè)是同類型的算術(shù)量,兩個(gè)是同類型的算術(shù)量,結(jié)果等于結(jié)果等于0 0,再,再0 0* *20.020.0,結(jié)果為,結(jié)果為0 0如如:A=5/2 2.000000 B=5/2.0 2.500000 C=5.0/2 2.500000 D=5.0/2.0 2.500000 I=5.0/2 2 J=5.0/2.0 294/1333.8.4 3.8.4 運(yùn)算的誤差問題運(yùn)算的誤差問題1)整型量的運(yùn)算是準(zhǔn)確的,沒有任何誤差;)整型量的
31、運(yùn)算是準(zhǔn)確的,沒有任何誤差;2)實(shí)型量的運(yùn)算會(huì)出現(xiàn)誤差(實(shí)數(shù)有效位數(shù))實(shí)型量的運(yùn)算會(huì)出現(xiàn)誤差(實(shí)數(shù)有效位數(shù) 的限制)。因此,在書寫表達(dá)式時(shí),應(yīng)盡的限制)。因此,在書寫表達(dá)式時(shí),應(yīng)盡 量使每一次運(yùn)算結(jié)果都在有效位數(shù)范圍之量使每一次運(yùn)算結(jié)果都在有效位數(shù)范圍之 內(nèi),也就是盡量?jī)?nèi),也就是盡量不要使兩個(gè)相差很大的數(shù)不要使兩個(gè)相差很大的數(shù) 值直接相加或相減運(yùn)算值直接相加或相減運(yùn)算。同樣:理論上是相等的數(shù),在實(shí)數(shù)中不能直接同樣:理論上是相等的數(shù),在實(shí)數(shù)中不能直接 判斷是否相等。而是使用絕對(duì)值之差判斷是否相等。而是使用絕對(duì)值之差 |A-B|作為判斷條件。作為判斷條件。賦值語句(sqrt(4.1234567)*
32、2.0-4.1234567不為GO95/133I=1/3+1/3+1/3 I=0A=1/3+1/3+1/3 A=0.000000I=1.0/3.0+1.0/3.0+1.0/3.0 I=1如果:如果:I=1.0/3.0+1.0/3.0 則則I=0A=1.0/3.0+1.0/3.0+1.0/3.0 A=1.000000理論上:理論上:1/3+1/3+1/3=1 1.0/3.0+1.0/3.0+1.0/3.0=1在現(xiàn)在的編譯系統(tǒng)中在現(xiàn)在的編譯系統(tǒng)中作了相應(yīng)的處理作了相應(yīng)的處理96/1333.9.13.9.1賦值語句:賦值語句:將一個(gè)確定的值賦給一個(gè)變量將一個(gè)確定的值賦給一個(gè)變量 變量變量= =表達(dá)式
33、表達(dá)式1 1)有三類賦值語句:)有三類賦值語句:2 2)算術(shù)賦值語句兼有計(jì)算和賦值功能)算術(shù)賦值語句兼有計(jì)算和賦值功能; ;3 3)賦值號(hào)左邊只能是變量名,不能是表)賦值號(hào)左邊只能是變量名,不能是表 達(dá)式。達(dá)式。算術(shù)賦算術(shù)賦值語句值語句邏輯賦邏輯賦值語句值語句字符賦字符賦值語句值語句97/1333.9.2 3.9.2 執(zhí)行賦值語句時(shí)的類型轉(zhuǎn)換問題執(zhí)行賦值語句時(shí)的類型轉(zhuǎn)換問題賦值語句中的被賦值的變量和表達(dá)式的賦值語句中的被賦值的變量和表達(dá)式的類型可以相同,也可以不同。類型可以相同,也可以不同。 規(guī)則如下:規(guī)則如下:1 1)兩者類型相同時(shí),直接賦值;)兩者類型相同時(shí),直接賦值;2 2)兩者類型不相
34、同時(shí),先求表達(dá)式的)兩者類型不相同時(shí),先求表達(dá)式的 值,再將該值轉(zhuǎn)換為變量的類型;值,再將該值轉(zhuǎn)換為變量的類型; I=3.5I=3.5* *2.12.1將將7.357.35轉(zhuǎn)換為轉(zhuǎn)換為7 77 7送送I I98/1333.9.2 3.9.2 執(zhí)行賦值語句時(shí)的類型轉(zhuǎn)換問題執(zhí)行賦值語句時(shí)的類型轉(zhuǎn)換問題 如如IMAX=13.7IMAX=13.7* *2.5 2.5 結(jié)果不是結(jié)果不是34.25 34.25 而是而是3434整型實(shí)型結(jié)果為整型整型先取整,再賦值,結(jié)果為整先化實(shí),結(jié)果為實(shí)型實(shí)型結(jié)果為實(shí)型變量類型表達(dá)式類型99/133在在FORTRAN90中:中:Integer:A=123, B=999Re
35、al:W=789.876, Y=345.345實(shí)現(xiàn)了數(shù)據(jù)類型的說明和數(shù)據(jù)初始化一次完成,實(shí)現(xiàn)了數(shù)據(jù)類型的說明和數(shù)據(jù)初始化一次完成,簡(jiǎn)化了程序中語句數(shù)。簡(jiǎn)化了程序中語句數(shù)。(也可以只定義數(shù)據(jù)類型也可以只定義數(shù)據(jù)類型)FORTRAN90中的中的賦值語句賦值語句100/133關(guān)于賦值語句的說明關(guān)于賦值語句的說明是賦值不是等號(hào);是賦值不是等號(hào);具有計(jì)算功能;具有計(jì)算功能;具有類型轉(zhuǎn)換功能;具有類型轉(zhuǎn)換功能;左邊一定是變量名,右邊是表達(dá)式。左邊一定是變量名,右邊是表達(dá)式。輸出語句101/1333.10.13.10.1輸出語句的作用和分類輸出語句的作用和分類程序的作用是對(duì)輸入的數(shù)據(jù)加工后輸出結(jié)果:程序的作
36、用是對(duì)輸入的數(shù)據(jù)加工后輸出結(jié)果: 1)顯示)顯示 2)打?。┐蛴?duì)于輸出來說,需要告之系統(tǒng)如下內(nèi)容:對(duì)于輸出來說,需要告之系統(tǒng)如下內(nèi)容: 1)輸出那些數(shù)據(jù)?)輸出那些數(shù)據(jù)? 2)什么格式輸出?)什么格式輸出? 3)輸出到哪個(gè)設(shè)備上?)輸出到哪個(gè)設(shè)備上?FORTRAN語言輸出格式有三類:語言輸出格式有三類: 1 1)按用戶指定格式;)按用戶指定格式; 2 2)系統(tǒng)隱含的標(biāo)準(zhǔn)格式;)系統(tǒng)隱含的標(biāo)準(zhǔn)格式; 3 3)二進(jìn)制格式(無格式)輸出。)二進(jìn)制格式(無格式)輸出。102/1333.10.2表控輸出語句表控輸出語句(list directed format): 就是系就是系統(tǒng)隱含的輸出格式統(tǒng)隱含的
37、輸出格式;系統(tǒng)自動(dòng)地分別為每個(gè)不同類型的系統(tǒng)自動(dòng)地分別為每個(gè)不同類型的數(shù)據(jù)安排所占列數(shù)的表示形式(小數(shù)或指數(shù))。數(shù)據(jù)安排所占列數(shù)的表示形式(小數(shù)或指數(shù))。如:如:Print * * , I , J (I=45, J=128) 打印結(jié)果:打印結(jié)果: 13列 13列 Print * , A , B 18列 18列4512813.5670000-186.7500000實(shí)際整型數(shù)實(shí)際整型數(shù): 21億多億多-10位位實(shí)際默認(rèn)實(shí)型數(shù)的小數(shù)位數(shù)為實(shí)際默認(rèn)實(shí)型數(shù)的小數(shù)位數(shù)為6位位103/133Integer a, ba=45b=88Print *, a, bEnd104/1333.10.23.10.2表控輸出
38、語句表控輸出語句當(dāng)實(shí)型數(shù)據(jù)超過上述格式時(shí),系統(tǒng)自動(dòng)轉(zhuǎn)換為標(biāo)準(zhǔn)的當(dāng)實(shí)型數(shù)據(jù)超過上述格式時(shí),系統(tǒng)自動(dòng)轉(zhuǎn)換為標(biāo)準(zhǔn)的指數(shù)形式輸出:指數(shù)形式輸出:A=162* *1025 , B=-11.72* *10-13 1.620000E+027-1.172000E-0121 1)根據(jù)系統(tǒng)不同,指數(shù)的列數(shù)也有不同()根據(jù)系統(tǒng)不同,指數(shù)的列數(shù)也有不同(6 6或或4 4列)列)2 2)Print Print * * 表示輸出一個(gè)空白行;表示輸出一個(gè)空白行;3 3)Print Print * * ,A , B ,C , D , E , I, J, K, L, M A , B ,C , D , E , I, J, K,
39、L, M 等,等, 系統(tǒng)會(huì)在一行打不下時(shí),自動(dòng)換行打印系統(tǒng)會(huì)在一行打不下時(shí),自動(dòng)換行打印4 4)Print Print * * , A , B , A , B 與與 Write Write ( (* * , , * *) ) A , B A , B作用相同作用相同 在在Write Write ( (* *, , * *) ) A, B A, B中,中, 第一個(gè)第一個(gè)* *表示隱含設(shè)備輸出表示隱含設(shè)備輸出, , 第二個(gè)第二個(gè)* *表示表控格式輸出,相當(dāng)于表示表控格式輸出,相當(dāng)于Print Print * *輸入語句105/133Real a, b, ca=162E25b=-11.72E-13c=
40、12.345Print *, a, b, cEnd106/1333.11.13.11.1輸入語句的作用和分類輸入語句的作用和分類同輸出一樣,輸入也有同樣的三種類型同輸出一樣,輸入也有同樣的三種類型計(jì)算機(jī)計(jì)算機(jī)內(nèi)內(nèi) 存存數(shù)據(jù)輸入從外設(shè)讀入輸入計(jì)算機(jī)計(jì)算機(jī)內(nèi)內(nèi) 存存數(shù)據(jù)輸出輸出到外設(shè)輸出107/1333.11.23.11.2表控輸入語句(也稱自由格式輸入):表控輸入語句(也稱自由格式輸入):不必指定輸入數(shù)據(jù)的格式,只需將數(shù)據(jù)按其合不必指定輸入數(shù)據(jù)的格式,只需將數(shù)據(jù)按其合法的形式依次輸入,數(shù)據(jù)之間以逗號(hào)或法的形式依次輸入,數(shù)據(jù)之間以逗號(hào)或空格空格相相間間。 為表控輸入,從系統(tǒng)隱含指定的輸入設(shè)為表控輸
41、入,從系統(tǒng)隱含指定的輸入設(shè)備上讀入,如命令備上讀入,如命令: READ * * , I, J, A, B 則則輸入:,輸入:,. .,. . 或:或: 7.5 -15.87.5 -15.8空格個(gè)數(shù)不定空格個(gè)數(shù)不定 READ * * , I , J , A , B108/1333.11.23.11.2表控輸入語句表控輸入語句注意注意在在FORTRAN 77FORTRAN 77子集中子集中, ,不接受不接受READ * * , I, J, A, B 格格式式( (因沒有指定輸入設(shè)備因沒有指定輸入設(shè)備),),所以在程序中應(yīng)該寫成所以在程序中應(yīng)該寫成: :第一個(gè)第一個(gè)* *表示隱含設(shè)備輸入表示隱含設(shè)備
42、輸入( (通常是鍵盤通常是鍵盤) ) 第二個(gè)第二個(gè)* *表示表控格式輸入表示表控格式輸入. .注意注意( (以下六點(diǎn)以下六點(diǎn)):):一)對(duì)一)對(duì)READREAD語句中數(shù)據(jù)的要求:語句中數(shù)據(jù)的要求: 1 1)輸入數(shù)據(jù)的個(gè)數(shù)不少于)輸入數(shù)據(jù)的個(gè)數(shù)不少于READREAD中變量的個(gè)數(shù);中變量的個(gè)數(shù); 2 2)輸入數(shù)據(jù)的類型要與)輸入數(shù)據(jù)的類型要與READREAD中變量的類型匹配中變量的類型匹配;READ (* ,*) I, J, A, B109/133對(duì)于語句對(duì)于語句 READ ( (* * , ,* *) ) I, J, A, Ba) 3, 10, 7.5, -15.8 ( (按語句輸入數(shù)據(jù)按語句輸
43、入數(shù)據(jù)) )b)3, 10 7.5, -15.8 c)3, 10, 7.5 -15.8 如果輸入的數(shù)據(jù)個(gè)數(shù)不夠,系統(tǒng)將等如果輸入的數(shù)據(jù)個(gè)數(shù)不夠,系統(tǒng)將等待用戶的繼續(xù)輸入,直到輸入完畢。待用戶的繼續(xù)輸入,直到輸入完畢。110/1333.11.23.11.2表控輸入語句表控輸入語句二)輸入數(shù)據(jù)的個(gè)數(shù)多于變量個(gè)數(shù),則多的數(shù)二)輸入數(shù)據(jù)的個(gè)數(shù)多于變量個(gè)數(shù),則多的數(shù) 據(jù)將丟失據(jù)將丟失; ;三)每一個(gè)三)每一個(gè)READREAD語句都是從一個(gè)新的輸入行語句都是從一個(gè)新的輸入行 開始讀數(shù)。如:開始讀數(shù)。如: READ READ * *, I, J, I, J READ READ * *, , A, BA, B
44、 READ READ * *, X, X,Y Y輸入:輸入:3 3,1010,7.5, -15.8 7.5, -15.8 70.6, 8.5 70.6, 8.5 (此時(shí)實(shí)際還等待輸入此時(shí)實(shí)際還等待輸入)此時(shí),變量真實(shí)內(nèi)容:此時(shí),變量真實(shí)內(nèi)容:I=3, J=10; A=70.6, I=3, J=10; A=70.6, B=8.5B=8.5!區(qū)別:Read *,I,J,A,B,X,Y這里是讀這里是讀三個(gè)記錄三個(gè)記錄111/1333.11.23.11.2表控輸入語句表控輸入語句四)在輸入數(shù)據(jù)行中出現(xiàn)四)在輸入數(shù)據(jù)行中出現(xiàn)“/”/”表示表示READREAD語句輸語句輸 入結(jié)束,未賦值的變量不予賦值。入
45、結(jié)束,未賦值的變量不予賦值。五)五)在一個(gè)數(shù)據(jù)的數(shù)字之間不要插入空格,因在一個(gè)數(shù)據(jù)的數(shù)字之間不要插入空格,因 為空格是數(shù)據(jù)間的分隔符為空格是數(shù)據(jù)間的分隔符; ;六)六) 變量是整型,輸入是實(shí)型,系統(tǒng)報(bào)錯(cuò);變量是整型,輸入是實(shí)型,系統(tǒng)報(bào)錯(cuò); 變量是實(shí)型,輸入是整型,系統(tǒng)先將此數(shù)變量是實(shí)型,輸入是整型,系統(tǒng)先將此數(shù) 轉(zhuǎn)換為實(shí)數(shù),然后再賦給實(shí)型變量轉(zhuǎn)換為實(shí)數(shù),然后再賦給實(shí)型變量。在VF4-6中,系統(tǒng)不報(bào)錯(cuò),只是將實(shí)數(shù)取整送整型變量112/133Read(*,*) A, B, Cwrite(*,*) A, B, C End輸入:1.0,2.0,3.0輸出:1.000000 2.000000 3.000
46、000113/133114/133輸入一部分后,鍵入回車,系統(tǒng)則繼續(xù)等待的輸入,直到所有變量獲得輸入值為止115/133強(qiáng)行結(jié)束輸入116/133I=123J=456Print *,I,J,KEndImplicit NoneInteger I,JI=123J=456Print *,I,J,KEnd117/133K=0118/133參數(shù)語句參數(shù)語句119/133用一個(gè)名字來代替一個(gè)常量(符號(hào)常量)用一個(gè)名字來代替一個(gè)常量(符號(hào)常量)注注:PARAMETER PARAMETER 是非執(zhí)行語句,放在所有執(zhí)行語句之前。是非執(zhí)行語句,放在所有執(zhí)行語句之前。但一般先寫類型說明語句,后寫參數(shù)語句。它不能作但
47、一般先寫類型說明語句,后寫參數(shù)語句。它不能作為語句標(biāo)號(hào),也不能出現(xiàn)在為語句標(biāo)號(hào),也不能出現(xiàn)在FormatFormat語句中代替常數(shù)。語句中代替常數(shù)。 PARAMETER PARAMETER 的類型有:的類型有: 數(shù)值型、邏輯型、字符型數(shù)值型、邏輯型、字符型Parameter (PI=3.1415926).Read *, R S=PI*R*2. L=2.0*PI*Rnext在C中:#Define PI=3.1415926120/133integer A, Bparameter (AB=123.456) A=AB*2 B=AB-123print *,A, B, ABend也可以一次定義多個(gè)也可以一
48、次定義多個(gè):parameter (AB1=123.456,AB2=95.123)121/133ENDEND語句的作用:語句的作用:(1 1)結(jié)束本程序單位的運(yùn)行;)結(jié)束本程序單位的運(yùn)行;(2 2)作為程序的結(jié)束標(biāo)志。)作為程序的結(jié)束標(biāo)志。注:一個(gè)程序單位只有一個(gè)注:一個(gè)程序單位只有一個(gè)ENDEND語句;主程序語句;主程序 中的中的ENDEND就是返回到命令狀態(tài),子程序中就是返回到命令狀態(tài),子程序中 的的ENDEND就是返回主程序(返主)。就是返回主程序(返主)。STOPSTOP語句的作用語句的作用: : 停止程序的運(yùn)行停止程序的運(yùn)行( (一個(gè)程序單位可有多個(gè)一個(gè)程序單位可有多個(gè)STOPSTOP
49、語句語句) ) stop n stop n 如:如: stop 1234 stop 1234 輸出信息輸出信息12341234 stop abc stop abc 輸出信息輸出信息abcabc 不超過不超過5 5個(gè)字符個(gè)字符(現(xiàn)在的編譯系統(tǒng)做了修改,已經(jīng)沒有這個(gè)限制了現(xiàn)在的編譯系統(tǒng)做了修改,已經(jīng)沒有這個(gè)限制了)122/133STOPSTOP語句的舉例語句的舉例: :!這是一個(gè)求平均數(shù)的程序這是一個(gè)求平均數(shù)的程序Print *,請(qǐng)輸入三個(gè)數(shù):請(qǐng)輸入三個(gè)數(shù):Read(*,*) x, y, zAver=(x+y+z)/3.0Print *,x=, x, y=, y, z=, zPrint *,ave
50、r=, aver stop 程序正常終止!程序正常終止!End123/133124/133PAUSEPAUSE語句的作用:語句的作用:是暫時(shí)停止執(zhí)行(不是結(jié)束運(yùn)行),系是暫時(shí)停止執(zhí)行(不是結(jié)束運(yùn)行),系統(tǒng)暫時(shí)掛起來,等待操作員輸入操作命統(tǒng)暫時(shí)掛起來,等待操作員輸入操作命令,如設(shè)置令,如設(shè)置“斷點(diǎn)斷點(diǎn)”: PAUSE nPAUSE n其中其中n n為輸出信息,與為輸出信息,與STOP nSTOP n中的中的n n相同。相同。 恢復(fù)繼續(xù)運(yùn)行可使用恢復(fù)繼續(xù)運(yùn)行可使用ENTERENTER鍵。鍵。125/133integer A,Bb =0read *,ab=a+bprint *,a,bpause 00
51、1read *,ab=a+bprint *,a,bpause 002read *,ab=a+bprint *,a,bpause 003print *,程序結(jié)束!end注意:只有按任意鍵才能繼續(xù)輸入也可以:PAUSE “字符串”程序舉例126/133v求三角形面積求三角形面積(Exa3_3.for)(Exa3_3.for)已知已知:A,B,CA,B,C為三角形的三條邊為三角形的三條邊; S S=(A+B+C)/=(A+B+C)/2 2 則三角形的面積是則三角形的面積是: S=S=(S(S-A)(S-B)(S-C)S(S-A)(S-B)(S-C))的開平方的開平方v輸入五個(gè)數(shù),打印出絕對(duì)值最大的數(shù)
52、輸入五個(gè)數(shù),打印出絕對(duì)值最大的數(shù)(Exa3_4.for)(Exa3_4.for)v計(jì)算人口增長(zhǎng)情況計(jì)算人口增長(zhǎng)情況(Exa3_5.for)(Exa3_5.for)v計(jì)算人口增長(zhǎng)情況計(jì)算人口增長(zhǎng)情況(Exa3_5a.for)(Exa3_5a.for)v計(jì)算計(jì)算: :速度與距離速度與距離(Exa3_6.for)(Exa3_6.for)127/133v求三角形面積已知:求三角形面積已知:A,B,CA,B,C為三角形的三條邊;為三角形的三條邊;S S=(A+B+C)/=(A+B+C)/2 2 則三角形的面積是:則三角形的面積是:S=S=S(S-A)(S-B)(S-C)S(S-A)(S-B)(S-C)的
53、開平方值的開平方值Program tra_area Program tra_area ! !注意程序的取名規(guī)則注意程序的取名規(guī)則Read(Read(* *, ,* *) a,b,c) a,b,cs=(a+b+c)/2.0s=(a+b+c)/2.0Area=sqrt(sArea=sqrt(s* *(s-a)(s-a)* *(s-b)(s-b)* *(s-c)(s-c) ! !Area=(sArea=(s* *(s-a)(s-a)* *(s-b)(s-b)* *(s-c)(s-c)* * *0.50.5Write(Write(* *, ,* *)A=,a,B=,b,C)A=,a,B=,b,C=,c
54、=,cWrite(Write(* *, ,* *)AREA=,area)AREA=,areaEndEnd128/133v輸入五個(gè)數(shù),打印出絕對(duì)值最大的數(shù)輸入五個(gè)數(shù),打印出絕對(duì)值最大的數(shù)program MAX_NUMBERRead(*,*) a,b,c,d,eLarge=max(abs(a),abs(b),abs(c),abs(d),abs(e)Write(*,*) 絕對(duì)值最大的數(shù)是:絕對(duì)值最大的數(shù)是:,largeEnd129/133v計(jì)算人口計(jì)算人口:1982:1982的人口數(shù)的人口數(shù):10.3:10.3億億, ,年增長(zhǎng)年增長(zhǎng)1.5%,1.5%,求求20002000年年底人口數(shù)年年底人口數(shù):
55、:P=P0P=P0(1+R)(1+R)n n Program Program Population PopulationR=0.015R=0.015N=2000-1982N=2000-1982P0=10.3E08P0=10.3E08P1=P0P1=P0* *(1.0+R)(1.0+R)* * *N NWrite(Write(* *, ,* *) 2000) 2000年的人口數(shù):年的人口數(shù):,P1,P1EndEnd130/133v計(jì)算人口計(jì)算人口: :求任意年份之間、任意增長(zhǎng)率求任意年份之間、任意增長(zhǎng)率的通用人口數(shù)增長(zhǎng)計(jì)算程序的通用人口數(shù)增長(zhǎng)計(jì)算程序: :P=P0(1+R)P=P0(1+R)n
56、n Program PopulationInteger Year1,Year2Read (*,*) R,Year1,Year2,P0 N=Year1-Year2P1=P0*(1.0+R)*NWrite(*,*) Year1 ,年的人口數(shù)年的人口數(shù):,P1End131/133v計(jì)算速度與距離計(jì)算速度與距離: :已知一火車以均勻速度已知一火車以均勻速度V V0 0 行駛行駛, ,從從t=10t=10開始加速開始加速運(yùn)行運(yùn)行, ,加速度為加速度為a,a,問經(jīng)過問經(jīng)過t=50t=50分鐘后火車的速度和行駛的距離分鐘后火車的速度和行駛的距離: :速度速度V=V=V V0 0+at +at 距離距離S S
57、= = V V0 0 t + 1/2t + 1/2 at at2 2 Program Program SandV SandVReadRead( (* *, ,* *) v0,a) v0,av0=v0v0=v0* *1000.0/(60.1000.0/(60.* *60.)60.)a=aa=a* *1000.0/3600.01000.0/3600.0* * *2 ! A=m/s2 ! A=m/s2 2t1=10.t1=10.* *60.60.t2=50.t2=50.* *60.60.t=t2-t1t=t2-t1v=v0+av=v0+a* *t tv=int(vv=int(v* *100.0+0.
58、5)/100.0100.0+0.5)/100.0s=v0s=v0* *t2+0.5t2+0.5* *a a* *t t* * *2 2s=int(ss=int(s* *100.0+0.5)/100.0100.0+0.5)/100.0WriteWrite( (* *, ,* *) v=,v,M) v=,v,M/SEC./SEC.WriteWrite( (* *, ,* *) S=,s,M) S=,s,M EndEndOver132/133本章內(nèi)容是學(xué)習(xí)本章內(nèi)容是學(xué)習(xí)FORTRAN語言最基本知語言最基本知識(shí)和最基礎(chǔ)的語法規(guī)則。識(shí)和最基礎(chǔ)的語法規(guī)則。FORTRANFORTRAN語言源程序的書寫格式;
59、語言源程序的書寫格式;FORTRANFORTRAN編譯系統(tǒng)的使用;編譯系統(tǒng)的使用;常量常量( (數(shù)據(jù)類型數(shù)據(jù)類型) );變量變量( (命名規(guī)則及類型命名規(guī)則及類型) );表達(dá)式表達(dá)式( (算術(shù)、關(guān)系、邏輯算術(shù)、關(guān)系、邏輯) );數(shù)據(jù)類型(說明符及在內(nèi)存的表示);數(shù)據(jù)類型(說明符及在內(nèi)存的表示);系統(tǒng)常用函數(shù)系統(tǒng)常用函數(shù)( (自變量和函數(shù)值類型自變量和函數(shù)值類型) );賦值語句賦值語句( (特別注意數(shù)據(jù)類型的轉(zhuǎn)換特別注意數(shù)據(jù)類型的轉(zhuǎn)換) );基本基本I/OI/O語句等語句等. .要求非常熟練!133/133CHAPTERENDS第三章練習(xí)第三章練習(xí):2、10、11、12題題134/133是相當(dāng)數(shù)
60、學(xué)化的語言是相當(dāng)數(shù)學(xué)化的語言( (常用于常用于科學(xué)和工程科學(xué)和工程計(jì)算問題計(jì)算問題以及復(fù)數(shù)表示與計(jì)算等以及復(fù)數(shù)表示與計(jì)算等) );簡(jiǎn)單易學(xué)(相對(duì)而言)簡(jiǎn)單易學(xué)(相對(duì)而言); ;執(zhí)行速度快執(zhí)行速度快, ,代碼高度優(yōu)化代碼高度優(yōu)化; ;高版本的高版本的FORTRANFORTRAN還具有并行運(yùn)算能力還具有并行運(yùn)算能力; ;便于交流便于交流. .返回135/133基本公式是基本公式是: INT(X: INT(X* *A+0.5)/AA+0.5)/AA A為為1010小數(shù)點(diǎn)后保留小數(shù)點(diǎn)后保留1 1位位; ; A A為為100100小數(shù)點(diǎn)后保留小數(shù)點(diǎn)后保留2 2位位; ;A A為為10001000小數(shù)點(diǎn)后
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 合同范本 糾紛
- 合伙店鋪協(xié)議合同范本
- 勞務(wù)合同范本醫(yī)生勞務(wù)合同
- 農(nóng)村養(yǎng)殖房屋買賣合同范本
- 合作留學(xué)合同范本英文
- 保安臨時(shí)合同范本
- 企業(yè)無息借款合同范本
- 口腔勞務(wù)合同范本
- 公司化肥采購(gòu)合同范本
- 賣山合同范本
- (二調(diào))武漢市2025屆高中畢業(yè)生二月調(diào)研考試 地理試卷
- “艾梅乙”感染者消除醫(yī)療歧視制度-
- 2024-2025學(xué)年八年級(jí)地理下冊(cè)第七章《南方地區(qū)》檢測(cè)卷(人教版)
- 森林防火知識(shí)
- 2025年湖南鐵路科技職業(yè)技術(shù)學(xué)院?jiǎn)握新殬I(yè)技能測(cè)試題庫(kù)參考答案
- 2025年黑龍江林業(yè)職業(yè)技術(shù)學(xué)院?jiǎn)握新殬I(yè)適應(yīng)性測(cè)試題庫(kù)帶答案
- 《ISO 56000-2025創(chuàng)新管理 基礎(chǔ)和術(shù)語》之1:“引言+范圍+術(shù)語和定義”專業(yè)深度解讀與應(yīng)用指導(dǎo)材料(雷澤佳編寫2025A0)-1-150
- 關(guān)于對(duì)項(xiàng)目管理的獎(jiǎng)懲制度
- A320主起落架收放原理分析及運(yùn)動(dòng)仿真
- 2. SHT 3543-2017施工過程文件表格
- 分部分項(xiàng)工程項(xiàng)目清單
評(píng)論
0/150
提交評(píng)論