• 学习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基础代码

    用fortran77

    1.介绍几个基本语法学习:

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

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

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

     2.具体

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

     

     

     

    可以看出,默认是按列输入的

     

     

     


     

    3.子程序

     

     

     

     

     

     

     

    Fortran77中默认传址,而不是传值

     4.子例行程序

    怎么没有在子程序中声明变量???

    子例行程序默认也是传址

     

     

     

     

     

     

     

     

     

    conmmon就像int一样,可以在多行声明,也可以在单行声明

     


    额外发现:

    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

  • 相关阅读:
    手机抓包
    基础数据-wiki
    Laravel异常日志
    用户设备、UA检测 相关
    yum安装的nginx新增模块http_image_filter_module笔记
    nginx 配置图片自动裁剪
    PHP中使用ffmpeg截取视频图片笔记
    采集乱七八糟记录下
    Laravel学习笔记之session使用
    html5 新增表单类型
  • 原文地址:https://www.cnblogs.com/zhubinglong/p/8424517.html
Copyright © 2020-2023  润新知