加载中…
个人资料
  • 博客等级:
  • 博客积分:
  • 博客访问:
  • 关注人气:
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
正文 字体大小:

Fortran语言

(2015-01-05 10:40:17)
标签:

fortran

分类: Fortran

FORmulaTRANslator  公式翻译器

     Fortran语言是一种适合于科学和工程计算问题的程序设计语言;也是计算机高级语言发展史上使用最早的一种程序设计语言

文件格式:
.f90     :  free-form source file
.for(.f) :  fixed-form source file
.fi        :  header file
.idl      :  Interface Definition
.rc       :  Resource File
.txt      :  Text File


Fortrant程序组成结构:
主程序
[PROGRAM  程序名]            ←语句可省略
.....
END [PROGRAM [程序名]]       ←END必须有
辅程序(过程)
SUBROUTINE 子程序
FUNCTION   函数
BLOCK DATA 块数据
MODULE     模块 (F90)
内部过程   CONTAINS (F90) 

常量——在程序执行期间其值固定不变的量。

Fortran处理六种类型的常量:

    ⑴整型常量(Integer

    ⑵实型常量(Real

    ⑶双精度常量(Double precision

    ⑷复型常量(Complex

    ⑸逻辑型常量(Logical

    ⑹字符型常量(Character


变量名——标识一个变量所用的名字。

命名规则:

变量名的第一个字符必须是字母;

在第一个字符后可跟15个字母或数字

注意几点:

⑴变量名不区分大小写字母。

例:TOTALTotaltotal  代表同一变量

⑵变量名中的空格不起作用。

例:abca bcab ca b c 代表同一变量

⑶变量名尽量做到见名知义  AVERSUMImax

允许变量名与语言中具有特定含义的字(保留字)同名。

例:sinreadopenend

建议不要使用fortran中具有特定含义的字作变量名


变量的类型

⒈隐含说明

    即以Ijklmn开头的变量为整型变量,以其它字母开头的变量为实型变量。(IN规则

例:imaxm5number  为整型变量

    vh2aver    为实型变量

显式说明

即用类型说明语句指定变量的类型。

如:

Integer——说明变量为整型变量

Real——说明变量为实型变量

Double precision——说明变量为双精度变量

Complex——说明变量为复型变量

Logical——说明变量为逻辑型变量

Character——说明变量为字符型变量

implicit语句说明

 即说明用某一字母开头的变量为指定的类型。

例: implicit  integer(ab)real(k) 

     implicit  integer(x-z)

三种类型说明的优先级:

    类型说明语句(显式说明)

↓    implicit语句说明

    IN规则


Fortran内部函数调用格式:

        函数名(自变量)

sin(90*3.14159/180)  →1.0

sqrt(9.0)  →3.0

abs(-5.6)  →5.6

int(6.75)  →6

exp(3.0)  →20.085540


算术运算符(五种)

   加(+)    减(-)     乘(*   除(/)    乘方(**

2.0**3=2.0*2.0*2.0=8.0

算术运算符的优先级

   括号→函数→乘方→乘、除→加、减

注:同级运算先左后右连续乘方先右后左


Fortran提供了三种输出方式:

①表控格式输出(标准或固定格式输出)

      print ﹡,〈输出表列

      write (﹡,﹡)〈输出表列

      print ﹡,56.8,125  write (﹡,﹡) 56.8,125

      print ﹡,a, b, c  write (﹡,﹡) a, b, c

      z = 100

      print *, 'z=',z

②指定格式输出

整数的表控格式输出

    规定:每个整数占12列,数据打印在右端,左补空格。

  例:print *123-1128

   输出结果:

    ︺︺︺︺︺︺︺︺123︺︺︺︺︺︺︺-1128

实数的表控格式输出

    规定:每个实数占16列,数据打印在右端,左补空格。

   例:print *15.4-321.45

   输出结果:

    ︺︺︺︺︺︺15.400000︺︺︺︺︺-321.450000

实数的表控格式输出

    规定:每个实数占16列,数据打印在右端,左补空格。

   例:print *15.4-321.45

   输出结果:

    ︺︺︺︺︺︺15.400000︺︺︺︺︺-321.450000

③无格式输出(二进制形式,适应磁盘文件)


Fortran输入:

      read ﹡,〈输入表列

      read (﹡,﹡)〈输入表列

1:   read ﹡,a, b  (若a=14.7, b=30.0

键盘输入:  14.7,30.0↙

注意几点:

⑴输入数据的个数不得少于read语句中变量的个数,但多余的数据也不起作用。

例: read ﹡,x,y,z (若x=1.5,y=2.5,z=3.5

键盘输入:

1.5,2.5,3.5↙

② 1.5,2.5,3.5,5.2,6.0(最后两个数被忽略)

1.5,2.5↙(计算机将等待用户继续输入数据)

注意几点:

⑵一个read语句可以分多行输入,但每一个read语句必须从新的一行输入

在输入数据时若出现/,则终止对此read语句的输入。

 例:  read ﹡,x,y,z

 键盘输入: 1.5,2.5/↙

(变量z的值为原值或为零。)


parameter语句的功能

   为常量命名,即用一个符号代表一个常量。

parameter语句一般形式

    Parameter(p1=c1[,p2=c2,,pn=cn])

   其中: pn——符号常量; cn——常量。

例:求半径为0.5m的圆面积和圆周长。

编程如下:

     parameter (r=0.5,pi=3.14159) 

     s=pi*r**2

     h=2.0*pi*r

     print*,s,h

     end

注意几点:

⑴参数语句必须写在所有可执行语句之前;

⑵符号常量的命名规则及类型与变量相同,并遵循IN规则

⑶程序中不能给符号常量再赋值。

pause语句暂停程序的执行

stop语句终止程序的执行

end语句对主程序:终止程序的执行和作为程序单位的结束标志;

       对子程序:返回调用程序和作为程序单位的结束标志。

       (一个程序单位只能有一个end语句)


关系运算符

     .gt.(大于)

     .ge. (大于等于)

     .eq. (等于)

     .lt. (小于)

     .le. (小于等于) 

     .ne. (不等于)

x+y>15.4 ─→ x+y.gt.15.4

    a+b≠a-b ─→ a+b.ne.a-b

    ex≥2.17 ─→ exp(x).ge.2.17


逻辑运算符的运算规则P83 4.3

  a,b为两个逻辑量,则:

   a.and.b——(ab同时为真时,为真。)

   a.or.b ——(ab中任意一个为真或同时为真时,为真。)

   .not.a ——(a为真,其值为假;当a为假,其值真。)

   a.eqv.b——(ab为同一逻辑常量时,为真。)

 

   a.neqv.b——(ab不为同一逻辑常量时,为真。)



0

阅读 收藏 喜欢 打印举报/Report
  

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有