资源描述:
《Fortran基础.ppt》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、Fortran發展簡史1954:IBM在IBM704上發展1957:IBM發表,Fortran→FormulaTranslator1966:AmericanStandardsAssociation制訂Fortran66鑑於各家編輯器無法相容,故統一標準AmericanStandardsAssociation:美國國家標準局(ANSI)的前身1978:ANSI公布Fortran77標準刪去部分內容,新增邏輯與輸出入方面的功能1992:國際標準組織ISO公布Fortran90標準與77版本差異大加入物件導向、提供指標與加強陣列功能、自由格式寫作1997:國際標準組織ISO公布Fortran9
2、5標準加強平行運算Fortran200x書面格式FixedFormat是舊式的寫法,有較多的限制,FixedFormat副檔名用*.F或*.FOR。FreeFormat則是Fortran90以後新增的作法,以副檔名做為區隔,FreeFormat使用*.F90。FixedFormat(固定格式)字元位置意義:第1字元:如果是字母C或c或是星號*,本行視為註解第1-5字元:空白,或是一組數字為本行程式的代號第6字元:放上0以外的字元,表示為接續上一行程式碼第7-72字元:程式碼寫作區域第73字元以後:不使用,編輯器會忽略,有些則發出錯誤訊息程式碼之間多餘的空格不具意義,僅作分隔與方便閱讀配合
3、打孔卡片所發展,Fortran90之後可採用FreeFormat例如:1:C FIXEDFORMAT2: PROGRAMFIXED3: READ(*,10)A,B4: 10FORMAT(F5.1,F5.1)5: SUM=A+B6: WRITE(*,20)7: +SUM8: 20FORMAT(1X,F6.1)9: ENDFreeFormat(自由格式)Fortran90開始使用,附加檔名為*.F90不再規定第幾字元有何特定用途驚嘆號「!」後都是註解每行可以寫作132字元如有行號放在每行最前面程式連接符號改為「&」,放在每行程式碼最前或最
4、後,表連結前一行或是下一行例如:1:!freeformat2:programfree3:read(*,10)a,b4:10format(f5.1,f5.1)5:sum=a+b6:write(*,20)&7:sum8:20format(1x,f6.1)9:end輸出入指令WRITEwrite(*,*)"Hello""*"星號意義:前者代表使用預設輸出裝置(一般即為螢幕)後者代表不特別設定輸出格式嚴謹用法:write(UNIT=*,FMT=*)"Hello" !使用預設輸出裝置,不設定特別格式write(6,*)"Hello" !使用螢幕輸出,不設定特別格式write(UN
5、IT=6,FMT=*)“Hello” !最嚴謹的寫法輸出字串若包含有單或雙引號,請參考字串宣告格式化請參見FORMATPRINTprint*,"Hello"print指令沒有指定輸出裝置的能力,只能針對螢幕輸出READread(*,*)a讓使用者能透過鍵盤輸入變數內容"*"星號意義:前者代表使用預設輸入裝置(一般為鍵盤)後者代表不指定輸入格式嚴謹用法:read(UNIT=*,FMT=*)"Hello" !使用預設輸入裝置,不指定輸入格式read(5,*)"Hello" !使用鍵盤輸入,不指定輸入格式read(UNIT=5,FMT=*)"Hello" !最嚴謹的寫法注意事
6、項:輸入字串無須加上雙引號,但字串中若有空格或逗號,將被視為兩筆資料,比如:read(*,*)a,b若輸入HappyBirthday,則a="Happy","b="Birthday"read(*,*)a若輸入HappyBirthday,則a="Happy"FORMATa=12.3456write(*,*) awrite(*,100)a100format(f5.2)則前者輸出結果為「12.3456」,後者為「12.34」f5.1代表使用5個字元長度顯示浮點數,其中小數佔1位1.簡化的用法1:將輸出格式寫在write指令中write(*,"(1x,f5.2)")a優點:減少程式行數及行號使
7、用容易閱讀(不用另找行號、FORMAT)缺點:格式複雜時,程式碼混亂格式設定相同時,無法重複利用2.簡化的用法2:不同格式控制指令,(1x,f5.2)可以移去逗號簡化成format(1xf5.2)重複相同格式(a3,a3)不可以簡化成(a3a3),改用format(2a3)若有不同格式時,如(1xf5.2,1xf5.2,1xf5.2)則改用format(3(1xf5.2))3.字串可以直接寫入格式內:write(*,"(a4,I1)