資源描述:
《第2章 Fortran程序設(shè)計基礎(chǔ)ppt課件.ppt》由會員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫。
1、第二章Fortran程序設(shè)計基礎(chǔ)程序書寫字符集及標(biāo)識符數(shù)據(jù)類型聲明的有關(guān)事項算數(shù)表達(dá)式表控輸入/輸出語句第一節(jié)程序書寫一.程序構(gòu)造形式例2-1簡單Fortran程序的構(gòu)造形式1.PROGRAMMAIN!加法計算器程序2.REALA,B,C3.A=10004.B=2005.C=A+B6.PRINT*,'C=',C7.8.ENDPROGRAMMAIN**PROGRAM關(guān)鍵字標(biāo)識Fortran主程序,后接程序名,這一行是可選的;**!第二行是注釋,不參加編譯;**REAL是聲明語句,將后邊的變量聲明為實型數(shù);**空行不參與編譯,只是增加程序的可讀性;這四行是非執(zhí)行部分
2、;之后的部分到END語句之前為執(zhí)行部分根據(jù)上述的程序書寫,給出簡單Fortran90程序的構(gòu)造形式:[PROGRAM程序名][聲明語句][執(zhí)行語句]END[PROGRAM程序名]方括號內(nèi)的部分是可選的,END語句是唯一必須的,表示程序編譯到此結(jié)束。END語句中的程序名可以省略,但若出現(xiàn)程序名,必須同時出現(xiàn)PROGRAM關(guān)鍵字。對于可選部分,如果缺省,則按照約定(隱含)規(guī)則進(jìn)行.如何去創(chuàng)建一個文件*以實例例1為例進(jìn)行操作說明二.語句PROGRAM、FUNCTION、SUBROUTINE、BLOCK、DATA、MODULE注釋行USEFORMATIMPLICITNO
3、NEPARAMETERIMPLICIT及其他說明語句DATA可執(zhí)行結(jié)構(gòu)CONTAINS內(nèi)部例程或模塊例程ENDFortran語句的順序注:其中處于同一水平位置的各語句之間沒有嚴(yán)格的前后順序,而不同的行則表示了嚴(yán)格的在程序當(dāng)中出現(xiàn)的前后順序。語句順序的一般原則:程序段的段頭語句,只能出現(xiàn)在每個程序段開始的位置。如:PROGRAM、FUNCTION、SUBROUTINE、BLOCK、DATA、MODULE等;如果出現(xiàn)USE語句,則只能出現(xiàn)在段頭語句之后、其他語句之前;IMPLICITNONE語句應(yīng)緊跟在USE語句之后,在其他說明語句之前;FORMAT語句和DATA語
4、句也可以放置在可執(zhí)行語句中間,不過把DATA語句放置在可執(zhí)行語句中間是一種過時的做法;語句順序的一般原則:PARAMETER語句可以出現(xiàn)在DATA語句和可執(zhí)行語句之前、IMPLICITNONE語句之后的任何位置上;其他說明語句應(yīng)現(xiàn)在DATA語句和可執(zhí)行語句之前;注釋行可以寫在程序的任何位置上;如果出現(xiàn)內(nèi)部例程或模塊例程,則必須跟在CONTAINS語句后面;END語句是程序段的結(jié)束語句,只能出現(xiàn)在個程序段的最后。三空格空格沒有意義,不參加編譯。適當(dāng)?shù)剡\(yùn)用空白空間,可以增加程序的可讀性,例如程序塊中的代碼縮進(jìn)。DO1I=1,10DO2J=1,20……2CONTINU
5、E1CONTINUE在代表有意義字符序列的記號(token)內(nèi),比如:標(biāo)號、關(guān)鍵字、變量名、操作符等不允許出現(xiàn)空白(空格)。例如:REAL、SUBRO?UTINE、MONEY、<=都是非法的。一般情況下,記號之間需留有空格。例如:100CONTINUE是非法的,因為標(biāo)號100和關(guān)鍵字CONTINUE是兩個獨(dú)立的記號。有的記號間的空格是可選的,例如:ENDPROGRAM和ENDPROGRAM是合法的。四.注釋注釋不是語句,不影響程序的執(zhí)行,在編譯時被忽略。但適當(dāng)?shù)淖⑨屇茉鰪?qiáng)程序的可讀性。Fortran77的注釋方式為:第一列上由字符“C”或“*”作為注釋的標(biāo)志,第
6、7至72列上寫上注釋內(nèi)容。Fortran90只提供了一種注釋方式:以感嘆號開始的語句作為注釋。注意:字符串內(nèi)的感嘆號除外;如thisisa!subroutine注釋可以是一整行,也可以是空白行;注釋在編譯時被忽略。fortran77是固定格式fortran90/95是自由格式五.Fortran程序書寫格式一、固定格式例2-4CFIXCEDFORMAT*已知a,b,c,求一元二次方程的根PROGRAMMAINa=1.0b=3.0c=-6.0x1=(-b+sqrt(b*b-4.0*a*c))/(2.0*a)x2=(-b-sqrt(b*b-4.0*a*c))/*(2.
7、0*a)WRITE(*,10)x1,x210FORMAT(1x,2f6.2)END固定格式說明:一行共80列,分為4個區(qū):第1-5列,標(biāo)號區(qū),可以空白,也可以出現(xiàn)符號;第6列,續(xù)行標(biāo)志區(qū),可以空白(無續(xù)行),非0字符(續(xù)行);第7-72列,語句區(qū),語句區(qū)的書寫可以從任意一列開始,空白編譯時被忽略,一行只能書寫一個語句;第73-80列,注釋區(qū),信息提示,不參與編譯。固定格式*固定格式是為配合早期使用穿孔卡片輸入程序所發(fā)明的格式,這里介紹固定格式,只是讓大家對Fortran77程序有所了解,建議大家在編寫程序時采用前述地自由格式。*固定格式盡管有其過多的限制,但由于
8、具有一定的規(guī)范性,方便程