學習fortran77基礎語法

 

 1  Program ParamaterDefine  2  Implicit None  3 C FORTRAN變量名和關鍵字不區分大小寫。但調用外部函數的話,須要在編譯選項裏指定  4 c 大小寫等選項 由於連接器是區分大小寫的  5 ! 關於註釋:在自由格式中,只有!一種方法; 在固定格式中,除了!還能夠用c或C或*,但必須寫在前五個  6 ! 字母,即綠線的左邊。  7 * *和C是必須放在第一列的,!沒必要,另外73列之後的內容也屬於註釋  8  Integer I,J,K,L,M,N!整型,前面只能聲明變量,不能給變量賦值,語句後面不用分號  9       Double Precision Area,Length,pi,R,YMJ,ZMJ,degree,SinAddCos,A(1:10)!雙精度實型 10  DOUBLE PRECISION MyExp,y,x 11  Complex D,C!複數類型,若是含表達式則用CMPLX 12  Logical T,F!邏輯型,邏輯常量有「T」和「F」,「T」表示「.TRUE.」,「F」表示「.FALSE.」 13       Character*50 name,str*20!字符型,N爲字符串長度,能夠在變量名稱後從新指定長度 14 C      DIMENSION IA(0:9) !使用I-N規則時用DIMENSION說明數組,也可在定義變量類型同時說明數組,說明格式爲: 15 C      數組名(下標下界,下標上界),也可省略下標下界,此時默認爲1,例:一維數組DIMENSION IA(0:9)  二維:A(0:2,0:1,0:3) 16       
17       parameter(pi=3.1415926)!參數語句,用來定義常量,在程序中應放在類型說明語句以後 18       
19       YMJ(R)=3.14159265*R*R!應該放在全部可執行語句以前和有關類型說明語句以後,是非執行語句; 20  SinAddCos(degree)=SIN(degree)+COS(degree)!語句函數必須放在函數的賦值語句前,聲明語句後 21       N=3
22       Length=3.0
23       D=(8.76,-67.8E-3)!D=(8.76E+0.5,-67.8E-3)爲啥錯誤啊 24       C=Cmplx(3.0*N,6.0+Length)!有表達式,得用Cmplx 25  T=.TRUE. 26  F=.FALSE. 27       name='My name is zhubinglong!'! //是字符串鏈接符,/是換行
28 c 語句函數的調用,並輸出結果 29       ZMJ=YMJ(5) 30  print * ,ZMJ 31 c 默認格式輸出字符串 32       Write(*,*)'I LOVE YOU!'!默認格式輸出(默認輸出完成後換行) 33  Write(*,*) name 34 c 格式化輸出 35       Write(*,1)! 36 1 format(/) ! 1x表示一個空格;/表示換行; 37 c 循環給數組賦值,並格式化輸出一維數組A 38       DO 100 I=1,10,1
39             A(I)=I**2
40 100 CONTINUE 41       WRITE(*,10) ('I=',I,'A=',A(I),I=1,10,1) 42 10    FORMAT(1X,5(A2,I2,1X,A2,F4.0,3X)) 43 C 嘗試調用語句函數並輸出結果 44  R=SinAddCos(pi) 45  WRITE(*,*) R 46 c 調用函數子程序 47       
48       WRITE(*,*) '請輸入x:'
49  READ(*,*) x 50       y=(MyExp(x)-MyExp(-x))/2.0
51  End Program ParamaterDefine 52       WRITE(*,2)'Sinh(',x,')=',y 53 2     format(1x,a,f5.2,a,e13.6) 54       
55  !SUBROUTINE SinAddCos(degree) 56       !double precision rest 57  !rest=SIN(degree)+COS(degree) 58  !return rest 59  !END SUBROUTINE SinAddCos(degree) 60  FUNCTION MyExp(x)!或者:DOUBLE PRECISION FUNCTION MyExp(x) 61  DOUBLE PRECISION MyExp,t,s,x 62  INTEGER n 63       n=0
64       t=1
65       s=1
66       do 10 while (abs(t).gt.1e-5) 67             n=n+1
68  t=t*x/n 69  s=s+t 70 10 continue 71  MyExp=s 72  End 73       
74
FORTRAN77基礎代碼

 

 

 

用fortran77html

1.介紹幾個基本語法學習:

http://micro.ustc.edu.cn/Fortran/ZJDing/c#

http://blog.sina.com.cn/s/blog_8e7709e101018mqd.html數組

http://blog.sina.com.cn/s/blog_6e0aa6420100pu9p.htmlide

 2.具體

https://wenku.baidu.com/view/7f656ad06529647d272852cd.html函數

 

 

 

 

 

 

能夠看出,默認是按列輸入的學習

 

 

 

 

 


 

3.子程序

 

 

 

 

 

 

 

 

 

 

 

 

 

Fortran77中默認傳址,而不是傳值spa

 

 4.子例行程序

怎麼沒有在子程序中聲明變量???.net

子例行程序默認也是傳址

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

conmmon就像int同樣,能夠在多行聲明,也能夠在單行聲明插件

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 


 

額外發現:3d

c#寫註釋搜代碼:http://www.360doc.com/content/14/0218/15/8772388_353542751.shtml     

 http://codesnippet.research.microsoft.com/#    插件地址:https://marketplace.visualstudio.com/items?itemName=VisualStudioPlatformTeam.DeveloperAssistant

相關文章
相關標籤/搜索