搜档网
当前位置:搜档网 › Fortran语言基础

Fortran语言基础

Fortran语言基础
Fortran语言基础

数值分析程序设计

Part I F ortran语言基础

COMPAQ VISUAL FORTRAN 6.5

0编译器的使用

0.1 编译器简介

高级语言以及汇编语言的程序代码在没有转换成机器代码前,计算机是无法执行的。编译器的功能是将高级语言的程序代码翻译成计算机可执行的机器码,也就是生成扩展名为EXE, COM的文件。

0.2 Visual Fortran的使用

Visual Fortran起源于Microsoft的Fortran PowerStation 4.0,这套工具后来卖给Digital公司继续开发,第二个版本称为Digital Visual Fortran 5.0,Digital 被Compaq并购之后,接下来的版本6.0和6.5称为Compaq Visual Fortran。下面的介绍以Compaq Visual Fortran 6.5作范例。

Visual Fortran被组合在一个叫做Microsoft Visual Studio的图形接口开发环境中。Visual Studio提供一个统一的使用接口,这个接口包括文字编辑功能、Project管理功能、调试工具等。而编译器则被组合到Visual Studio中,VF和VC++使用相同的使用接口。

Visual Fortran 6.5除了完全支持Fortran 95的语法外,扩展功能方面提供了完整的Windows程序开发工具,专业版还含有IMSL数值计算连接库。另外还可以和VC++直接互相连接使用,也就是把Fortran和C语言的程序代码混合编译成一个执行文件。

安装好Compaq Visual Fortran后,运行Developer Studio就可以开始编译Fortran程序了。

运行Developer Studio启动Visual Fortran,默认程序名称为Compaq Visual Fortran 6.5

选择File菜单中的New选项

在弹出的对话框中,选择Project标签。在Project中选择Fortran Console Application。

在Project Name的文本框中给定Project的名字,Location会显示出整个Project的工作目录。点击”OK”。

选择An empty project选项,单击Finish按钮。

这个画面只有在VF6.5中才会出现,他显示Project打开后自动生成的文件,直接单击OK按钮。

这是刚设置完成的Project后的界面,目前还没有任何程序代码。

以上是建立Project的方法。Visual Studio的环境是以Project作为编译单位,*.dsp或*.dsw是记录Project文件。打开Project后,还要把程序代码加入Project 中才能编译。下面是添加程序代码文件的方法。

再次选择File菜单中的New选项。

在对话框中,选择Files标签,选择Fortran Free Format Source File。并为

文件命名。

编写一个程序或打开一个已有的程序。

选择Build菜单中的Execute选项,VF会编译并执行编译好的程序。

程序执行的结果。

最后再一次简单地说明编译程序的过程:

(1)建立一个新的Project(File/New,选择Project选项卡,选择Fortran Console Program格式,给定Project名称)。Project会保存成*.dsw文件。

(2)生成一个新的程序文件(File/New,选择Files选项卡,选择Fortran Free Format Source File,给定文件名),或是插入一个已有的程序文件(选项Project/Add to Project/Files)。程序代码会保存成*.f90或*.for 文件。

(3)用Build菜单中的Execute选项来编译并运行程序,或只是单击Build 选项来只作编译,不运行程序。

(4)要写新的程序可以另外建立一个新的Project,或是直接更换Project 中的文件。千万不要把两个独立的程序文件放在同一个Project中,否则导致编译过程出现错误。

(5)下次修改程序时,可以直接使用File/Open Workspace来打开*.dsw的Project工程文件。

作业:

1、熟悉Fortran编译器的使用方法。

1Fortran语言基本概念

1.0 程序书写格式

Fortran程序代码的编写格式有两种:Free Format(自由格式)和Fixed Format(固定格式)。

固定格式属于旧式写法,他在编写版面上有很多限制。自由格式是Fortran90之后的新写法,取消了许多旧的限制。Fortran程序代码扩展名为*.F 或*.FOR的文件是以Fixed Format编写的程序;以*.F90为扩展名的文件,是以Free Format编写的程序。今后我们编写的程序建议采用自由格式编写。

1.0.1Fixed Format(固定格式)

在固定格式中,规定了程序代码每一行中每个字段的意义。第7~72个字符是可以用来编写程序的字段。每一行的前5个字符只能是空格或者是数字,数字用来作为“行代码”。每一行的第6个字符只能是空格或者“0”以外的字符。

第1个字符:如果是字母C,c或者星号*,这一行文本会被当作说明批注,不会被编译。

第1~5个字符:如果是数字,就是用来给这一行程序代码取个代号。不然只能是空格。

第6个字符:如果是“0”以外的任何字符,表示这一行程序会接续上一行;

第7~72个字符:Fortran程序代码的编写区域。

第73个字符之后:不使用,超过的部分会被忽略,有的编译器会发出错误信息。

C FIXE

D FORMAT DEMO

program main

write(*,*) '15000.789'

10

write(*,*)

1'Hello'

100 write(*,*) 'Hello'

10 stop

end

注意:程序中的空格,没有任何意义。固定格式是配合早期使用穿孔卡片输入程序所发明的格式。熟悉固定格式,有助于阅读早期的Fortran程序代码。

1.0.2Free Format(自由格式)

自由格式基本上允许非常自由地编写格式,他没有规定每一行的第几个字符有什么作用。需要注意的事项只有以下几点:

(1)叹号“!”后面的文本都是注释;

(2)每一行可以编写132个字符;

(3)行号放在每行程序的最前面;

(4)一行程序代码的最后如果是符号“&”,代表下一行程序会和这一行连接。如果一行程序代码的开头是符号&,代表它会和上一行程序

连接。

看一个自由格式编写的程序:

! Free Format

program main

write(*,*) "Hello" ! 这也是注解

write(*,*) &

"Hello"

wr&

&ite(*,*) "Hello"

end

1.1 字符集

字符集是指编写Fortran程序时,所能使用的所有字符及符号。Fortran所能使用的字符集有:

英文字母:A~Z及a~z(英文字母不区分大小写);

数字:0~9;

22个特殊符号::= + - * / . ‘! “% & ; < > ? $ _(还有一个显示不出来的空格符)

注意:Fortran是不区分大小写的语言。所以,INTEGER, Integer, inteGER 是相同的命令。

1.2 数据类型

整数(INTEGER):整数又可以分为长整型与短整型。在个人计算机中长整型占用32 bits(4 bytes)的空间,长整型可以保存的数值范围在-2147483648~+2147483647(也就是-231+1~231)之间;短整型占用16 bits (2 bytes)的空间,保存数值的范围在-32768~+32767之间。

浮点数(REAL):浮点数有两种类型:单精度和双精度。

单精度浮点数占用32 bits的空间,有效位数为6~7位。可记录的最大数值为38

±?。

1.1810-

3.410

±?,最小数值为38

双精度浮点数占用64 bits,有效位数为15~16位。可记录的最大数值为308

±?。

2.2310-

±?,最小数值为308

1.7910

复数(COMPLEX):单精度和双精度。以a bi

+表示的复数,其中a,b是由两个浮点数来记录的。

字符型(CHARACTER):计算机除了记录数之外,可以记录一段文本或称作字符串。记录一个字符需要一个字节。

逻辑型(LOGICAL):只有两种结果:真(TRUE)和假(FALSE)。在二进制中,通常以1代表真,0代表假。

使用Fortran编写程序,必须事先声明数据类型。不同数据类型必须经过转换才能互通。

1.3 数学表达式

Fortran使用的数学运算符号,根据运算优先级顺序排列如下:

+加法- 减法

*乘法/除法

**乘幂(乘方)

( ) 括号

越是下面的运算符号,运算的优先级越高。

Fortran的数学表达式和手写的差别主要有三点:

(1)乘幂要连用两个星号**, 例如34必须写成4**3;

(2)乘号不能省略,2a应当写作2*a;

(3)除法算式()()

2()

a b c d

e f

++

+

应当写作((a+b)*(c+d))/(2*(e+f));

1.4 变量命名

在Fortran中,变量命名要注意一些原则:

(1)变量的名称以使用英文字母为主,可以含有下划线或数字,但前缀必须是英文字母;

(2)变量名的长度最多31个字符;

(3)变量名不要与Fortran的命令名相同,也不要与程序名相同;

(4)程序中变量名不区分大小写。

1.5 Fortran程序结构

程序开始PROGRAM MAIN

…………………

主程序代码WRITE(*,*) “Hello”

…………………

程序结束STOP

主程序代码结束END

例如:

program main

write(*,*) "Hello"

stop

end

作业:

1、变量命名有哪些要求?

2、变量的类型有哪些?

2输入输出及声明

WRITE命令

语法:WRITE(UNIT, FMT)

注释:屏幕输出。UNIT输出位置FMT输出格式。默认格式WRITE(*,*)。默认输出格式unit=6,也就是屏幕输出。

program main

write(*,*) "Hello"

stop

end program main

其他的输出格式参考Fortran的帮助。

PRINT命令

program main

print *,"Hello"

stop

end program main

Print的用法和write大致相同,只是print后面不适用括号,而且只有一个星号。这个星号的意义是不限定输出格式。

声明

所谓声明是指:在程序代码中,程序员向编译器要求预留一些存放数据的内存空间。看一个例子:

program ex0404

integer a

a=3

write(*,*) "a=",a

stop

end

integer a声明变量为整型。编写程序时,应当根据变量的类型选择适当的数据类型,数据类型选用不当,可能造成错误。这种错误有时是编译器无法察觉的。

2.3.1 整数类型(INTEGER)

语法:integer(kind=n) a

注释:kind的值决定整型数据类型。kind=2短整型,kind=4长整型。默认为长整型。

Integer a

A=1.5

最终的结果为a=1,这是因为a为整型,会把小数部分无条件舍去。

2.3.2 浮点数(REAL)

语法:real(kind=n) a

注释:kind的值决定浮点数的精度类型。kind=4单精度浮点数(有效数字位数6~7位),kind=8双精度浮点数(有效数字位数15位)。默认为单精度浮点数。

超大数值的设置:

单精度浮点数:1.23E20

双精度浮点数:1.232365D10

计算机在进行浮点数计算时,需要对位,由于有效数位的限制,可能造成大数吃小数的情况。

2.3.3 复数(COMPLEX)

语法:complex(kind=n) a

a=(x,y)

注释:kind的值决定浮点数的精度类型。kind=4单精度浮点数(有效数字位数6~7位),kind=8双精度浮点数(有效数字位数15位)。默认为单精度浮点数。

2.3.4 字符及字符串(CHARACTER)

语法:character(len=n) a

注释:len决定字符串的长度。字符串赋值由双引号定义

a=”I am a student!”

program ex0413

character(len=20) string

string = "Good morning."

write(*,*) string

string(6:) = "evening." ! 重设设定从第6个字符之后的字符串

write(*,*) string

end

执行结果:

Good morning.

Good evening.

注意:Fortran的命令不区分大小写,但是在字符串中是区分大小写的。

关于字符串的有关函数,请查阅相关的帮助。

2.2.5 逻辑变量(LOGICAL)

语法:logical a

注释:逻辑变量的值为“true”和“false”。逻辑变量输出值为”T”和”F”

a=.true.

a=.false.

逻辑变量用于程序的逻辑判断语句,一般并不输出。

READ命令

语法:read(*,*) a

program ex0417

integer a

read(*,*) a ! 由键盘读入一个整数

write(*,*) a ! 写出读进变量a的内容

end

Read命令用于实时接受用户从键盘输入数据。Read命令配合输入格式可以方便读取文件中的数据。有关格式命令参考帮助文件。

格式化输入(FORMAT)命令

2.5.1 格式化输出概论

Format命令用来设置输出格式,看一个例子:

program ex0420

integer a

a=100

write(*,100) a ! 使用行代码100地方设定的格式来输出变数a

100 format(I4)

! 最前面的100是行代码, 把这一行程序代码给一个编号

end

程序的执行结果使用4个字符宽输出整数,前面没有多余的空格。

Format命令中可以使用很多的格式控制描述。下面列出所有格式命令的功能([]中的选项可以省略):

Aw——以w个字符宽来输出字符串;

BN——定义文本框中的空位为没有东西,在输入时才需要使用;

BZ——定义文本框中的空位为0,在输入时才需要使用;

Dw.d——以w个字符宽输出指数类型的浮点数,小数部分占用d个字符宽;

EW.d[Ee]——以w个字符宽输出指数类型的浮点数,小数部分占用d个字符宽,指数部分占用e个字符;

Enw.d[Ee]——以指数类型输出浮点数;

Esw.d[Ee]——以指数类型输出浮点数;

Fw.d——以w个字符宽输出浮点数,小数部分占用d个字符宽;

Gw.d[Ee]——以w个字符宽输出任何种类的数据;

Iw[.m]——以w个字符宽输出整数,最少输出m个数字;

Lw——以w个字符宽输出T或F的真假值;

nX——把输出的位置向右跳过n个位置;

/——代表换行;

:——在没有更多数据时结束输出;

下面看一个例子:

program ex0421

integer a

real b

complex c

logical d

character(len=20) e

a=10

b=12.34

c=(1,2)

d=.true.

e="FORTRAN"

write(*,"(1X,I5)") a ! 用I来格式化整数

write(*,"(1X,F5.2)" ) b ! 用F来格式化浮点数

write(*,"(1X,F4.1,F4.1)" ) c ! complex也是浮点数

write(*,"(1X,L3)") d ! 用L来输出logical

write(*,"(1X,A10)") e ! 用A来输出字符串

end

上例将输出格式写在Write命令内,下面的例子采用Format命令规定输出格式:

PROGRAM ex0422

INTEGER A

REAL B

COMPLEX C

LOGICAL D

CHARACTER*(20) E

A=10

B=12.34

C=(1,2)

D=.true.

E="FORTRAN"

WRITE(*,100) A ! 用I来格式化整数

WRITE(*,200) B ! 用F来格式化浮点数

WRITE(*,300) C ! complex也是浮点数

WRITE(*,400) D ! 用L来输出logical

WRITE(*,500) E ! 用A来输出字符串

100 FORMAT(1X,I5)

200 FORMAT(1X,F5.2)

300 FORMAT(1X,F4.1,F4.1)

400 FORMAT(1X,L3)

500 FORMAT(1X,A10)

END

详细的输出格式使用方法,参考相关帮助。

2.5.2 详论格式化输出

格式化输出的控制字符非常丰富,但是常用的并不多,所以不需要记住每一个控制字符。一般来说,“I、F、E、A、X”是最常用的几个格式,最好能记住他们的用法。

【Iw[.m]】——以w个字符的宽度输出整数[至少输出m个数字]

write(*,”(I5)”) 100

100 !采用5个字符宽输出,100前补两个空白write(*,”(I3)”) 10000

*** !设置的输出文本框不足,输出3个*以示警告write(*,”(I5.3)”) 10

010 !强迫输出

声明的其他命令

2.6.1 IMPLICT命令

Fortran编译器会根据变量名的首字母自动决定变量类型,以I、J、K、L、M、N开头的变量被视为整型变量。

implicit none关闭默认类型功能,所有变量都要事先声明;

implicit real(M-P)

implicit integer(A,B,C)

2.6.2 常数的声明方法(PARAMETER)

程序中的一些不变量,可以声明为常数,其在程序中是不变的。看一个例子:

program ex0429

implicit none

real pi

parameter(pi=3.14159)

write(*,"(F4.2)") sin(pi/6)

end

2.6.3 设置变量初值

程序中的变量可以在声明变量类型时同时赋值。

program ex0430

integer :: a = 1

real:: b = 2

complex :: c = (1,2)

character(len=20) :: str = "FORTRAN 90"

write(*,*) a,b,c,str

end

在Fortran77中,需要使用Data命令设值初值。

2.6.4 等价声明(EQUIV ALENCE)

把两个以上的变量,声明他们使用同一个内存地址,就是等价声明。使用等价声明可以节省内存、精简程序代码。

integer a, b

equivalence(a,b) !声明a,b这两个变量使用同一块内存空间

注意:所有的声明都应当放在程序代码的可执行描述之前。

混合运算

混合运算是指:在算式中所进行计算的数字类型不同。进行混合运算时,要先经过数据类型的转换,以免出现错误。

program ex0432

implicit none

integer:: a=1

integer:: b=2

real:: c

c=real(a)/real(b) ! 经由库函数real把整数转换成浮点数

write(*,"(F5.2)") c

end

程序的执行结果:0.5

如果不做类型转换,c=a/b=0,出现错误的结果。

自定义数据类型

利用自定义数据类型可以定义数据结构体,管理不同类型的数据,这对于数据库建立是非常有用的。

program ex0434

implicit none

! 开始建立person这个类型

type :: person

character(len=30) :: name ! 人名

integer:: age ! 年龄

integer:: height ! 身高

integer:: weight ! 体重

character(len=80) :: address ! 地址

end type person

type(person) :: a ! 声明一个person类型的变量

write(*,*) "NAME:"

read(*,*) a%name

write(*,*) "AGE:"

read(*,*) a%age

write(*,*) "HEIGHT:"

read(*,*) a%height

write(*,*) "WEIGHT:"

read(*,*) a%weight

write(*,*) "ADDRESS:"

read(*,"(A80)") a%address

write(*,100) a%name,a%age,a%height,a%weight

100 format("Name:",A10/,"Age:",I3/,"Height:",I3/,"Weight:",I3,&

&"Addres:",A50)

stop

end

每个类型为person的变量中,都有name, age, height, weight, address这几个元素可以使用,使用时要加上一个百分号%来取用他们。Person%age, person%weight。

Fortran90 中的type功能与C语言中的struct类似。

3流程控制与逻辑运算

3.1 IF语句

IF语句基本用法

IF语句基本流程:

IF(逻辑表达式)THEN

程序代码

END IF

program ex0501

implicit none

real(kind=4) :: speed

write(*,*) "speed:"

read(*,*) speed

if ( speed > 100.0 ) then

! speed > 100 时才会执行下面这一行程序

write(*,*) "Slow down."

end if

stop

end

IF命令可以与ELSE搭配,逻辑流程为:

IF(逻辑表达式)THEN

程序代码

ELSE

程序代码

END IF

program ex0502

implicit none

real(kind=4) :: height ! 记录身高

real(kind=4) :: weight ! 记录体重

fortran语法手册

1 FORTRAN77四则运算符 + - * / ** (其中**表示乘方) 在表达式中按优先级次序由低到高为:+或-→*或/→**→函数→() 2 FORTRAN77变量类型 2.1 隐含约定:I-N规则 凡是以字母I,J,K,L,M,N六个字母开头的,即认为是整型变量,其它为实型变量。 如IMPLICIT REAL (I,J) 三种定义的优先级别由低到高顺序为:I-N规则→IMPLICIT语句→类型说明语句,因此,在程序中IMPLICIT语句应放在类型说明语句之前。 2.4 数组的说明与使用 使用I-N规则时用DIMENSION说明数组,也可在定义变量类型同时说明数组,说明格式为:数组名(下标下界,下标上界),也可省略下标下界,此时默认为1,例: DIMENSION IA(0:9),ND(80:99),W(3,2),NUM(-1:0),A(0:2,0:1,0:3) REAL IA(10),ND(80:99)使用隐含DO循环进行数组输入输出操作:例如WRITE(*,10) ('I=',I,'A=',A(I),I=1,10,2) 10FORMAT(1X,5(A2,I2,1X,A2,I4)) 2.5 使用DATA语句给数组赋初值 变量表中可出现变量名,数组名,数组元素名,隐含DO循环,但不许出现任何形式的表达式:例如 DATA A,B,C/-1.0,-1.0,-1.0/ DATA A/-1.0/,B/-1.0/,C/-1.0/ DATA A,B,C/3*-1.0/CHARACTER*6 CHN(10)

DATA CHN/10*' '/INTEGER NUM(1000) DATA (NUM(I),I=1,500)/500*0/,(NUM(I),I=501,1000)/500*1/ 3 FORTRAN77程序书写规则 程序中的变量名,不分大小写; 变量名称是以字母开头再加上1到5位字母或数字构成,即变更名字串中只有前6位有效; 一行只能写一个语句; 程序的第一个语句固定为PROGRAM 程序名称字符串 某行的第1个字符至第5个字符位为标号区,只能书写语句标号或空着或注释内容; 某行的第1个字符为C或*号时,则表示该行为注释行,其后面的内容为注释内容; 某行的第6个字符位为非空格和非0字符时,则该行为上一行的续行,一个语句最多可有19个续行; 某行的第7至72字符位为语句区,语句区内可以任加空格以求美观; 某行的第73至80字符位为注释区,80字符位以后不能有内容。 4 FORTRAN77关系运算符 .GT. 大于 .GE. 天于或等于 .LT. 小于 .LE. 小于或等于 .EQ. 等于 .NE. 不等于 .AND. 逻辑与 .OR. 逻辑或 .NOT. 逻辑非 .EQV. 逻辑等 .NEQV. 逻辑不等 运算符优先级由高到低顺序为:()→**→*或/→+或-→.GT.或.GE.或.LT. 或.LE.或.EQ.或.NE.→.NOT.→.AND.→.OR.→.EQV.或.NEQV 5 FORTRAN77语句

(完整)Fortran经典编程语言笔记(你值得拥有)

FORTRAN笔记 2014.10.07 目录 第七讲_FORTRAN的基本知识.ppt (2) FORTRAN语言程序设计初步 (2) FORTRAN源程序的书写格式(以77为例) (2) 变量 (2) 变量类型 (2) 算术运算符和运算优先级 (3) 赋值语句 (3) 参数语句(PARAMETER语句) (3) END语句 (3) PAUSE语句 (3) 逻辑运算和选择结构 (4) 关系表达式 (4) FORTRAN中数组的定义及使用 (4) 其他 (5) 1. fortran语言定义CHARACTER*6 TTL(14,3),CNAM(400)是什么意思? (5) 2. fortran里character*10 是什么意思 (5) 3. Fortran中kind是什么函数? (5)

第七讲_FORTRAN的基本知识.ppt FORTRAN语言程序设计初步 FORTRAN是Formula Translation的缩写,意为“公式翻译”,它是为科学、工程问题或企事业管理中的那些能够用 数学公式表达的问题而设计的,其数值计算的功能较强。 常用的是FORTRAN77和FORTRAN90两种标准。 1、一个程序由若干个程序单位组成。主程序和每一个子程序分别是一个独立的程序单位。 2、每一个程序单位都是以“END”结束的。 3、一个程序单位包括若干行。 1)语句行。由一个FORTRAN语句组成。 2)非语句行,即注释行。 4、FORTRAN程序中的语句可以没有标号,也可以有标号,根据需要而定。标号的作用是标志一个语句以便被其 他语句引用。 5、一个程序单位中各类语句的位置是有一定规定的。 6、FORTRAN源程序必须按一定的格式书写。 FORTRAN源程序的书写格式(以77为例) 每一行有80列,分别如下: 1、第1-5列为标号区。一行中第一列为“C”或“*”,该行即被认为是注释行。 2、第6列为“续行标志区”,如果在一行的第6列上写一个非空格和非零的字符,则该行作为其上一行的续行。 3、第7-72列为语句区。 4、第73-80列,注释区。 变量 变量名:一个变量需要用一个名字(变量名)来识别。在同一个程序单位中不能用同一个变量名代表两个不同的变 量。 FORTRAN的变量名按以下规则选定: 1)第一个字符必须是字母,即变量名必须以字母开头; 2)在一个字母后面可以跟1-5为数字或字母。 如果选定的变量名超过6个字符,则只有前面6个字符有效。 注:在变量名中大写与小写字母是等价的。 变量类型 整型变量Integer、实型变量Real、双精度变量Double Precision、复型变量Complex、逻辑型变量Logical和字符型变量Character。 1、隐含约定(I-N规则) FORTRAN规定:在程序中的变量名,凡以字母I,J,K,L,M,N六个字母开头的,即认为该变量为整型变量。 在程序中,凡是变量名以字母I,J,K,L,M,N,i,j,k,l,m,n开头的变量被默认为整型变量,以其他字母开头的变量被 默认为实型变量。 2、用类型说明语句确定变量类型 1)INTEGER语句(整型说明语句) 2)REAL语句(实型说明语句) 3)DOUBLE PRECISION语句(双精度说明语句) 4)COMPLEX语句(复型说明语句) 5)LOGICAL语句(逻辑型说明语句)

(完整版)FORTRAN90用法总结,推荐文档

FORTRAN90用法总结 1、数据类型 整型 INTEGER 实型 REAL 复型 COMPLEX 字符型 CHARACTER 逻辑型 LOGICAL 2、特殊函数 1>定值函数 PARAMETER(变量列表) 或类型说明符,PARAMETER::变量列表 2>IMPLICIT 类型说明符(字母表)类型定义函数(默认I-N规则,取消IMPLICIT NONE) 3>** 乘方 4>STOP[标号]终止执行 5>PAUSE[标号]暂停程序 6>字符串长度函数 LEN(String)、 LEN_TRIM(String) 7>除去字符串尾部空格 TRIM(String) 8>字符串位置函数 INDEX(String1,String2) 9>字符串比较函数 LGE(String1,String2) LGT(String1,String2) LLE(String1,String2) LLT(String1,String2) 10>字符串空格首位调整 ADJUSTL(String)、ADJUSTR(String) 11>字符串、ASSII码互相转化函数 ①化为ASSII码 ICHAR(String)、IACHAR(String) ②化为字符串CHAR(I)、ACHAR(I) 12>.LT.(<) .LE.(<=) .EQ.(=) .NE.(/=) .GT.(>) .GE.(>=) 13>.AND.与 .OR.或 .NOT.非 .EQV.等于 .NEQV.不等 .XOR.异或 3、IF函数 1> 单支IF IF(逻辑表达式) THEN 块语句 END IF 2> 双支IF IF(逻辑表达式) THEN 块语句1 ELSE 块语句2 END IF 3>多支IF IF(逻辑表达式1) THEN 块语句1 ELSE IF(逻辑表达式2) THEN

fortran语言语法

FORTRAN是世界上最早出现的高级编程语言,是工程界最常用的编程语言,它在科学计算中(如航空航天、地质勘探、天气预报和建筑工程等领域)发挥着极其重要的作用。经过40多年的发展,伴随着FORTRAN语言多次版本的更新及相应开发系统的出现,其功能不断完善,最新版本的开发系统几乎具备了VC、VB的所有特点,如图形界面编程、数据库等。目前,工科院校开设的计算机编程语言课首选仍然是FORTRAN :< 说实话,从科技发展的趋势来说这不是好事。您可以设想一下,如果需要用鹅毛笔抄写大量的古籍是什么感受! 强烈建议阅读《发掘C#特性赋予科学计算项目以威力》 1 FORTRAN77四则运算符 + - * / ** (其中**表示乘方) 在表达式中按优先级次序由低到高为: +或-→*或/→**→函数→() 2 FORTRAN77变量类型 隐含约定:I-N规则 凡是以字母I,J,K,L,M,N六个字母开头的,即认为是整型变量,其它为实型变量。 用类型说明语句确定变量类型:可以改变I-N规则

用IMPLICIT语句将某一字母开头的全部变量指定为所需类型 如IMPLICIT REAL (I,J) 三种定义的优先级别由低到高顺序为:I-N规则→IMPLICIT语句→类型说明语句,因此,在程序中IMPLICIT语句应放在类型说明语句之前。 数组的说明与使用 使用I-N规则时用DIMENSION说明数组,也可在定义变量类型同时说明数组,说明格式为:数组名(下标下界,下标上界),也可省略下标下界,此时默认为1,例:DIMENSION IA(0:9),ND(80:99),W(3,2),NUM(-1:0),A(0:2,0:1,0:3)

FORTRAN 95 语法速查

FORTRAN 95 语法速查 ----------白云、李学哲、陈国新、贾波编著《FORTRAN95程序设计》读书笔记 目录:一、应用程序的创建与运行/FORTRAN 95所用的字符/ 变量类型及其声明,常量声明/表达式与运算符 二、输入与输出:表控、有格式 三、选择语句与结构:IF语句、CASE结构 四、DO循环结构 五、数组:数组的声明,数组的引用,数组的算术运算,数组的输入、输出,给数组赋初值, 动态数组,WHERE、FORALL语句 六、子程序:语句函数,内部子程序,调用子程序时的虚实结合:形参为数组、非定界数组、子 程序名、星号,递归子程序,外部子程序,纯子程序,逐元子程序 七、派生数据类型与结构体 八、指针与动态链表 九、文件:存取方式,基本操作语句,各类文件的读写操作 十、接口、模块 十一、公用区、存储关联、数据块子程序 十二、绘图:坐标系、设置图形颜色、创建图形程序/ 常用过程:设置线型、绘一像素点、设置当前位置、绘直线、绘弧线、绘矩形、绘多边形、绘制扇形(圆、椭圆)/ 文字信息的显示 附/录:标准函数与标准子例行程序 一、基础部份 1-1 FORTRAN 95 应用程序的创建与运行 创建或运行FORTRAN 95程序必须在Microsoft Developer Studio平台上进行。尽管程序文本及相关文件的编辑可以在任一文本编辑器上进行,然后再拷到Studio的文档窗口中。但最好还是一开始就进入Studio环境。创建FORTRAN 95 程序的步骤大致如下: 1)启动Microsoft Developer Studio 可以通过不同方式运行dfdev.exe程序以启动Microsoft Developer Studio [开始] \ Compaq Visual Fortran 6 \ Developer Studio \ dfdev.exe:或 ……\CVF66 \https://www.sodocs.net/doc/f96705152.html,\MSDEV98\dfdev.exe Microsoft Developer Studio的界面如下图所示: 文档窗口 工作空间窗口 输出窗口

fortran语法手册

1F O R T R A N77四则运算符+ - */ ** (其中**表示乘方) 在表达式中按优先级次序由低到高为:+或-→*或/→**→函数→() 2 FORTRAN77变量类型 隐含约定:I-N规则 凡是以字母I,J,K,L,M,N六个字母开头的,即认为是整型变量,其它为实型变量。 如IMPLICIT REAL (I,J) 三种定义的优先级别由低到高顺序为:I-N规则→IMPLICIT语句→类型说明语句,因此,在程序中IMPLICIT语句应放在类型说明语句之前。 数组的说明与使用 使用I-N规则时用DIMENSION说明数组,也可在定义变量类型同时说明数组,说明格式为:数组名(下标下界,下标上界),也可省略下标下界,此时默认为1,例:DIMENSION IA(0:9),ND(80:99),W(3,2),NUM(-1:0),A(0:2,0:1,0:3) REAL IA(10),ND(80:99)使用隐含DO循环进行数组输入输出操作:例如 WRITE(*,10) ('I=',I,'A=',A(I),I=1,10,2) 10FORMAT(1X,5(A2,I2,1X,A2,I4)) 使用DATA语句给数组赋初值 变量表中可出现变量名,数组名,数组元素名,隐含DO循环,但不许出现任何形式的表达式:例如 DATA A,B,C/,, DATA A/,B/,C/ DATA A,B,C/3*CHARACTER*6 CHN(10) DATA CHN/10*''/INTEGER NUM(1000) DATA (NUM(I),I=1,500)/500*0/,(NUM(I),I=501,1000)/500*1/ 3 FORTRAN77程序书写规则

fortran语言内部函数

附录 FORTRAN 90标准函数 符号约定: ●I代表整型;R代表实型;C代表复型;CH代表字符型;S代表字符串;L代表逻辑型;A代表数组;P代表指针;T代表派生类型;AT为任意类型。 ●s:P表示s类型为P类型(任意kind值)。s:P(k)表示s类型为P类型(kind值=k)。 ●[…]表示可选参数。 ●*表示常用函数。 表1 数值和类型转换函数 函数名说明 ABS(x)*求x的绝对值∣x∣。x:I、R,结果类型同x; x:C,结果:R AIMAG(x)求x的实部。x:C,结果:R AINT(x[,kind])*对x取整,并转换为实数(kind)。x:R, kind:I,结果:R(kind) AMAX0(x1,x2,x3,…)*求x1,x2,x3,…中最大值。x I:I,结果:R AMIN0(x1,x2,x3,…)*求x1,x2,x3,…中最小值。x I:I,结果:R ANINT(x[,kind])*对x四舍五入取整,并转换为实数(kind)。x:R, kind:I,结果:R(kind) CEILING(x)*求大于等于x的最小整数。x:R,结果:I CMPLX(x[,y][,kind]))将参数转换为x、(x,0.0)或(x,y)。x:I、R、C, y:I、R,kind:I,结果:C(kind) CONJG(x)求x的共轭复数。x:C,结果:C DBLE(x)*将x转换为双精度实数。x:I、R、C,结果:R(8) DCMPLX(x[,y])将参数转换为x、(x,0.0)或(x,y)。x:I、R、C, y:I、R,结果:C(8) DFLOAT(x)将x转换为双精度实数。x:I,结果:R(8) DIM(x,y)*求x-y和0中最大值,即MAX(x-y,0)。x:I、R, y的类型同x,结果类型同x DPROD(x,y)求x和y的乘积,并转换为双精度实数。x:R, y:R,结果:R(8)

(完整版)Fortran之COMMON语句

Fortran之COMMON语句 FORTRAN程序中各程序单位之间的数据交换可以通过虚实结合来实现,还可以通过建立公用区的方式来完成。公用区有两种,一种是无名公用区,任何一个程序中只可能有一个无名公用区;一种是有名公用区,一个程序中可以根据需要由程序员开辟任意多个有名公用区。建立无名和有名公用区都通过COMMON语句来进行。 按照结构化程序设计的指导思想,通常主张通过虚实结合的途径来传送数据而不主张使用公用区。因为前者使程序有较好的可读性,而且容易跟踪数据的流向,便于对程序进行调试和维护。但是虚实结合的传送方式速度较慢,特别是在各程序单位之间有大量的数据需要传送时速度问题就更为突出。不同程序单位利用公用区交换数据的速度却比虚实结合的方式传送速度快得多。所以在很多应用程序中如果各程序单位之间有大量数据需要传送时,程序员一般仍然采用开辟公用区的方式。 11.2.1 无名公用区 开辟无名公用区COMMON语句的一般形式如下: COMMON a1,a2,… 其中a1,a2,…允许是普通变量名、数组名和数组说明符(注意:不是数组元素),它们之间用逗号隔开。例如: 在主程序中写:COMMON X,Y,I,Z(3) 在子程序中写:COMMON A,B,J,T(3) 于是,在无名公用区中变量X和A,Y和B,I和J分别分配在同一个存储单元中,数组Z和T同占三个存储单元。占同一个存储单元的那些变量在不同的程序单位中,它们的名字不需要相同。

FORTRAN编译程序在编译时为COMMON语句开辟一个无名公用区,当把不同的程序单位连接在一起的时候,不同程序单位在COMMON语句中的变量按其在语句中出现的先后顺序占用无名公用区连续的存储单元,也就是说每个程序单位中的COMMON语句总是给出现在语句中的第一个变量分配在无名公用区的第一个存储区单元。 COMMON语句开辟公用区的主要用途就是使不同程序单位的变量之间 进行数据传送,另一种用途是用来节省存储空间。下面的例子通过公用区进行交换数据: PROGRAM MAIN COMMON Z1,Z2 READ(*,*)A1,A2,A3 CALL QUAD(A1,A2,A3) WRITE(*,*)Z1,Z2 END SUBROUTINE QUAD(A,B,C) COMMON X1,X2 . . . END 或者: PROGRAM MAIN COMMON Z1,Z2,A1,A2,A3 READ(*,*)A1,A2,A3 CALL QUAD() WRITE(*,*)Z1,Z2 END

Simple算法_fortran语言编写

Cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc Cccc This computer program was copied from the graduate student course program Cccc of the University of Minnesota. Part of it was re-formulated to meet the Cccc personal computer environment. Some inappropriate expressions were also Cccc corrected. The program is used only for teaching purpose. No part of it Cccc may be published. You may use it as a frame to re-develop your own code Cccc for research purpose. XJTU Instructor, 1995.11 **************************************************************************** *----------------------------MAIN PROGRAM----------------------------------- **************************************************************************** LOGICAL LSTOP COMMON/CNTL/LSTOP **************************************************************************** OPEN(08,FILE='teresul') CALL SETUP0 CALL GRID CALL SETUP1 CALL START 10 CALL DENSE CALL BOUND CALL OUTPUT IF(.NOT.LSTOP) GO TO 15 CLOSE(08) STOP 15 CALL SETUP2 GO TO 10 END *--------------------------------------------------------------------------- SUBROUTINE DIFLOW **************************************************************************** COMMON/COEF/FLOW,DIFF,ACOF **************************************************************************** ACOF=DIFF IF(FLOW .EQ.0.0)RETURN TEMP=DIFF-ABS(FLOW)*0.1 ACOF=0. IF(TEMP .LE. 0. ) RETURN TEMP=TEMP/DIFF ACOF=DIFF*TEMP**5 RETURN END *-------------------------------------------------------------------------- SUBROUTINE SOLVE ****************************************************************************

fortran90-知识点整理

Fortran90关于变量说明的新功能: 1.在变量说明的同时,可以给变量赋初值。 INTEGER::I=5,J=126 REAL::X=7.2,Z,W=774.2 2.在说明变量的同时也可说明其种别 REAL(KIND=4)::X,Y 或REAL(4)::X,Y 3.在说明变量的同时,还可说明变量的属性 INTEGER,PARAMETER::I=5,J=123 Ps :PARAMETER 属性 (1)功能:用一个符号代表一个常量,称为符号常量(常数) (2)写法: Real,Parameter ::G=9.8 &&说明类型时赋值 (3)位置:位于可执行语句之前 REAL,DIMENSION(1:10)::A 2.3.6 派生数据类型 根据需要而由基本数据类型定义新的数据类型。在一个派生类型中可包含多个基本类型。 如:TYPE STUDENT (定义开始) CHARACTER(LEN=20)::DEPARTMENT CHARACTER(LEN=10)::CLASS CHARACTER(LEN=15)::NAME INTEGER::NUMBER (成员定义) END TYPE STUDENT (定义结束)

派生类型变量的定义: TYPE(STUDENT)::PERSON 变量的赋值: PERSON=(”COMPUTER”,”92_2”,”LI LIN”,21) 成员的表示: PERSON%CLASS=“92_2” PERSON%NAME=“LI LIN” 主程序其他限制 主程序的可执行部分不能包含有RETURN语句或者ENTRY语句。 程序名对可执行程序是全局的,而且不得于该可执行程序中的任何其它程序单元名、外部过程名或公用块名相同,也不得于主程序内的任何局部名相同。 在主程序的作用范围内的说明不得包含OPTIONAL语句、INTENT语句、PUBLIC语句或它们的等价属性,在主程序内SAVE语句不起作用。 主程序内的任何内部过程的定义必须跟在CONTAINS语句之后。 2.3.2 子程序 子程序是可以完成某一独立算法或功能的程序单元,但它功能的具体体现要通过主程序(或子程序)的调用来实现。 按子程序与主程序的位置关系分为内部过程和外部过程。 2.4.3 模块 模块也是一种在程序单元之外独立编写的程序单元。它有独特的形式,即模块程序单元内没有可执行语句,除了说明语句外,最多包含内部过程。模块的主要作用是供其它程序单元引用。 程序单元引用模块,实际是将模块内的全部语句复制到本程序单元。因此模块起共享及复制的作用。 模块的引用采用语句: USE 模块1,模块2,…

计算机程序设计语言(FORTRAN语言)

计算机程序设计语言(FORTRAN语言) (总分:36.00,做题时间:90分钟) 一、 (总题数:36,分数:36.00) 1.编译程序能将高级语言编写的源程序转换成( )。 A.解释程序 B.汇编程序 C.映象程序 D.目标程序 (分数:1.00) A. B. C. D. √ 解析: 2.一个完整的FORTRAN源程序( )。 A.至少包括一个主程序 B.至少包括一个主程序和一个子程序 C.由一个主程序与一个以上的子程序组成 D.由一个主程序与一个子程序组成 (分数:1.00) A. √ B. C. D. 解析: 3.语句函数定义语句在程序内合法的位置是( )。 A.在程序块开头语句之后,END语句之前 B.在程序块开头语句之后,可执行语句之前 C.在说明语句之后,END语句之前 D.在说明语句之后,可执行语句之前 (分数:1.00) A. B. C. D. √ 解析: 4.下列关于函数子程序虚实参数的错误说法是( )。 A.可以没有形参数 B.虚实结合的数组长度可以不同 C.实参表与虚参表类型可以不同 D.函数名可以作为虚参

(分数:1.00) A. B. C. √ D. 解析: 5.下列叙述中正确的是( )。 A.FORTRAN程序块中,无名公用语句只能有一个B.FORTRAN子程序中,至少应有一个RETURN语句C.FORTRAN程序块中,最后一行必须是END语句D.FORTRAN程序块中,必须有变量说明语句 (分数:1.00) A. B. C. √ D. 解析: 6.运行下面的程序时得不到所需的结果,其主要原因是( )。INTEGER X(11) DATA X/9,8,7,6,5,4,3,2,1,0,-1/ DO 10 1=1,X(1) ,-1 WRITE(*,*)1.0/SQRT(25.0-REAL(X(1) )* * 2) 10 CONTINUE END A.没有给X(11) 赋初值 B.发生除以零的情况 C.发生负数开平方的情况 D.循环参数设置错误 (分数:1.00) A. B. C. D. √ 解析: 7.下列数据中,不符合FORTRAN常量表示法的是( )。 A.-25.6 B.2.758D3 C.'FOOT"=' D.TRUE (分数:1.00) A. B. C. D. √ 解析:

Fortran基本用法小结档

Fortran基本用法小结 目录: 一、说明 二、概述 三、数据类型及基本输入输出 四、流程控制 五、循环 六、数组 七、函数 八、文件 一、说明 本文多数内容是我读彭国伦《Fortran 95 程序设计》的笔记。只读到第九章,主要是3~9章,都是些最基本的用法(原书共16章)。这里主要摘录了我看书过程中总结的一些Fortran和C不同的地方,主要是语法方面。希望这份笔记能够给学过C但没有接触过Fortran的同学带去一些帮助。要想弄得更清楚些,推荐看一下原书,觉得作者真的写得很好,很清楚;如果有C语言的基础,看完前九章应该很快的,花一两天就行了。觉得如果耐心看完本文,基本功能应该也可以顺利用起来了。 另外,由于我之前没有用过Fortran,这次为了赶文档看书又看得很粗浅,大多数东西看过之后都没来得及仔细想,只是按着作者的意思去理解。所以这份笔记还处于纸上谈兵的层次。如果有不妥的地方,希望大家指正。谢谢! 文中蓝色的部分是程序代码,!后面的内容为注释。 二、概述 1、名词解释 Fortran=Formula Translator/Translation 一看就知道有什么特色了:可以把接近数学语言的文本翻译成机械语言。的确,从一开始,IBM设计它的时候就是为了方便数值计算和科学数据处理。设计强大的数组操作就是为了实现这一目标。Fortran奠定了高级语言发展的基础。现在Fortran在科研和机械方面应用很广。 2、Fortran的主要版本及差别 按其发展历史,Fortran编译器的版本其实很多。现在在广泛使用的是Fortran 77和Fortran90。Fortran 90在Fortran 77基础上添加了不少使用的功能,并且改良了77编程的版面格式,所以编程时推荐使用90。鉴于很多现成的程序只有77版本,有必要知道77的一些基本常识,至少保证能够看懂77程序。以下是77和90的一些格式上的区别。

Fortran语言

#LOCAL REAL Uds,Uqs,angles,vs,w,o,ang,ta,tb,t0,Ud1,Uq1,E #LOCAL REAL tc,t,mt,pi #LOCAL INTEGER sign,M,nl,n t=TIME tc=$TC nl=DNINT(tc/delt) pi=3.1415926 E=$Udc w=2*pi*50 if(t.lt.delt) then sign=0 M=0 Uds=0 Uqs=0 angles=0 vs=0 o=0 ang=0 ta=0 tb=0 t0=0 Ud1=0 Uq1=0 n=1 end if if(mod(n,nl).lt.1E-7) then !初始化变量 M=M+1 Uds=$Ud Uqs=$Uq angles=$angle !变换到alphabeta坐标直角坐标

Ud1=cos(angles)*Uds+sin(angles)*Uqs Uq1=sin(angles)*Uds-cos(angles)*Uqs ! Ud1=$Ud ! Uq1=$Uq !生成矢量的模和角度 vs=sqrt(Ud1**2+Uq1**2) if(Ud1.gt.0.and.Uq1.ge.0) then ang=atan(Uq1/Ud1) else ang=atan(Uq1/Ud1)+2*pi end if if(Ud1.lt.0) then ang=atan(Uq1/Ud1)+pi end if if(Ud1.eq.0) then if(Uq1.ge.0) then ang=pi/2 else ang=3*pi/2 end if end if !判断矢量的所属,计算角度 if(ang.ge.0.and.ang.lt.pi/3) then sign=1 o=ang ! o=w*t end if if(ang.ge.pi/3.and.ang.lt.2*pi/3) then sign=2 o=ang-pi/3 ! o=w*t-pi/3 end if if(ang.ge.2*pi/3.and.ang.lt.3*pi/3) then sign=3 o=ang-2*pi/3 ! o=w*t-2*pi/3

fortran初步学习资料

第一章: Fortran语言程序设计初步 Fortran语言的发展概况 本节介绍Fortran的起源与发展历史,讲述Fortran由产生到形成标准FortranIV、Fortran77,并进一步形成新标准Fortran90/95的发展历程。 1.1.1 Fortran的历史 a)a)FortranI FortranIV Fortran是目前国际上广泛流行的一种高级语言,适用于科学计算。Fortran 是英文FORmula TRANslatio n的缩写,意为“公式翻译”。它是为科学、工程问题中的那些能够用数学公式表达的问题而设计的语言,主要用于数值计算。这种语言简单易学,因为可以像抄写数学教科书里的公式一样书写数学公式,它比英文书写的自然语言更接近数学语言。Fortran语言是第一个真正推广的高级语言。至今它已有四十多年历史,但仍历久不衰,始终是数值计算领域所使用的主要语言。Fortran语言问世以来,根据需要几经发展,先后推出形成了很多版本。 第一代Fortran语言是在1954年提出来的,称为FortranI。它于1956年在IBM 704计算机上得以实现。在此之前编写计算机程序是极为繁琐的,程序员需要详细了解为之编写代码的计算机的指令、寄存器和中央处理器(CPU)等方面的知识。源程序本身是用数学符号(八进制码)编写的,后来采用了助记符,即所谓机器码或汇编码,这些编码由汇编程序转换为指令字。在50年代书写和调试一个程序要很长时间,因为用这种方式编写程序显然是很不方便的,尽管它能使CPU高效地工作。正是这些原因,促使由John Backus率领的IBM公司的一个小组研究开发最早的高级程序设计语言Fortran。其目的是开发一种容易理解、简单易学又能几乎像汇编一样高效运行的语言,他们取得了极大的成功。Fortran 语言作为第一种高级语言不仅是一次创新,也是一次革命。它使程序员摆脱了使用汇编语言的冗长乏味的负担,而且它使得不再只是计算机专家才能编写计算机程序,任何一名科学家或工程技术人员,只要稍加努力学习和使用Fortran,就能按自己的意图编写出用于科学计算的程序。 经过不断发展,FortranI形成了很多不同版本,其中最为流行的是1958年出现的FortranII,它对FortranI进行了很多扩充(如引进了子程序),FortranII 在很多机器上得以实现。其后出现的FortranIII未在任何计算机上实现。1962年出现的FortranIV对原来的Fortran作了一些改变,使得FortranII源程序在FortranIV编译程序下不能全部直接使用,导致了语言不兼容的问题。这样就形成了当时同时使用FortranII和FortranIV两种程序设计语言的局面。

FORTRAN语言自学基础

《FORTRAN语言》自学提纲 第一章1 FORTRAN基础 1. 一个FORTRAN程序由一个主程序或一个主程序与若干个子程序组成。但一个完整的FORTRAN程序只能有一个主程序,主程序的第一个语句是PROGRAM语句,用以说明主程序的名称。这个语句也可以省略,省略时默认为主程序的名称为MAIN。2.FORTRAN的子程序主要有三种: ⑴函数子程序,其第一个语句为FUNCTION; ⑵子例行子程序,其第一个语句为SUBROUTINE; ⑶数据块子程序,其第一个语句为BLOCK DA TA。 主程序与各个子程序可以独立编译,最后再链接成一个可执行程序。在编写并输入一个FORTRAN程序时,既可以将主程序与各个子程序存放在一个文件中,也可以将它们分别存放在不同的文件中。但必须注意,主程序与各个子程序都是独立的程序单位,每个程序单位的最后一行必须用END语句作为结束。 在主程序中,虽然END语句还具有使程序停止运行的作用,但由于一个程序单位只能在最后一行有END语句,因此,在程序的其它位置处需要停止运行时,只能用STOP语句,不能用END语句。 同样的道理,在子程序中,虽然END语句还具有使程序流程返回到调用程序的作用,但在子程序的其它位置(不是最后一行)需要返回到调用程序时,只能用RETURN语句,不能用END语句。 3.FOPTRAN源程序的书写格式有严格的规定。 ⑴一行中第一列为“C”或“*”时,该行被认为是注释行。注释行可以写在四个区中的一个区,且注释行可以出现在程序单位的任何位置。但注释行不能有续行,需要时可以将连续若干行都定义为注释行。 ⑵FORTRAN语句部分不能占用标号区及续行标志区,只能从第七列开始。当语句太长时,可以使用续行。在继续行的标号区内必须为空白(即继续行不允许有标号),标号只能出现在起始行上。 ⑶起始行与继续行或各继续行之间的空格不起作用,因此,对于一般的语句,可以不必到72列才转为继续行,继续行也不必一定要从第7列接着写,但是,包括在引号内的字符串中的空格是有效的,因此,对于字符串要使用继续行时应特别注意,最好写到一行的72列时再转为继续行,且要从继续行的第7列接着写。 ⑷标号为无符号整数,不能出现正负号。 4.变量定义的I-N规则 与别的程序设计语言不同,FORTRAN语言中的实型变量和整型变量可以按隐含规则确定。这个隐含规则就是I-N规则。 I-N规则在一定程度上为用户提供了方便,对于常用的一些变量(如循环控制变量等)就不需要专门的类型语句进行说明,只要用合适的变量名就可以满足对变量类型的需要。但这也容易使用户疏忽了对变量类型的说明,以I-N开头的变量名实际是实型变量,但忘了用REAL 语句说明,或者以非I-N开头的变量名实际是整型变量,也忘了用INTEGER语句说明。 另外,还要提醒大家注意:由于FORTRAN语言中实型与整型变量遵循I-N规则,因此,在有关FORTRAN的练习或考核中,有时会省略对变量类型的说明,在这种情况下,应根据I-N规则来判断变量的类型。 总之,FORTRAN中的所有变量都是需要说明其类型的,而不能理解为整型与实型变量不需要进行说明。

IntelVisualFortran安装使用详细讲解

I n t e l V i s u a l F o r t r a n安装+使用详细讲解 好久都没有用Fortran了,这两周由于帮老师做事,就写了两个插值程序。刚刚去论坛里面搜了一下关于IVF的帖子,发现不是很多,个人感觉某些不怎么详细,从我第一次接触IVF 已经有三年了,下面我就把我对于IVF的认识和理解跟大家分享咯,求各位同仁不喜勿喷... 简介:IntelVisualFortran(IVF)和CompaqVisualFortran(CVF)类似,都是用来编写Fortran 语言的一个编译器,IVF看名字就知道,它是由Intel公司开发,而CVF则是由HP公司开发,之前看到一个帖子说,HP公司的CVF开发团队加盟到了Intel公司,或者可以说Intel 公司收购了HP公司的这个团队,而从2006年开始就不再开发新的CVF系列版本了,这么多年以来CVF也确实没有、......之后的版本出现,转而出现的确实IVF2010,IVF2011,IVF2013的新版本的出现。这就说明IVF是以后的主流趋势,而CVF只能成为我们的回忆,值得一提的是,IVF肯定是在CVF的基础上发展起来的,因此我们用到IVF的时候,会有一种熟悉的感觉。 Q1:为什么要用IntelVisualFortran? 我第一次接触到IVF是当时我的电脑(Win7)不能正常使用CVF版本,会出现各种意想不到的问题(反正我是遇到过得,搞得编程的心情都没有了),论坛里面也有一些什么破解的方法,都不管用,于是就在“小木虫”论坛里面看到了IVF,到目前为止,我用IVF在Win7的32位和64位的电脑上没有出现任何不兼容的问题(CVF是不支持64位机子的)。我自己的理解是新版本的出现,先不从稳定不稳定来说,肯定是有它的优势所在,Fortran标准的版本也在逐步的修改,比如将面向对象这些加入进来,以前版本的编辑器或许就不能支持了。因此,用IVF编写Fortran程序是一种与时俱进的趋势。 Q2:如何获取IntelVisualFortran? 在百度或者家园论坛里面搜一下就会有很多相关下载的帖子,我自己也搜集了一些,下面就把我目前用到的版本给大家分享 链接:提取密码:5p02 链接:c:\iknow\docshare\data\cur_work\_blank提取密码:ady4 第一个是IVF的安装包 第二个就是IVF的licence文件(在安装过程中需要用到) Q3:如何在电脑中安装IntelVisualFortran? (建议电脑是XP系统的坛友,还是用CVF,电脑是Win7/8的坛友就可以安装IVF) IVF的安装比CVF的安装稍微麻烦一点的就是在安装过程这一步,在安装上面下载的IVF安装包之前,需要提前安装一个东西,那就是MicrosoftVisualStudio****(VS)这个集成开发环境(IDE),可以简单的理解为,IVF就是VS里面的一个用于编写Fortran的插件,下面我也提供一个我的VS2010版本的下载。(市场上最新的是VS2013) VisualStudio2010简体中文专业版(MSDN原版下载内置KEY).iso 链接:c:\iknow\docshare\data\cur_work\_blank提取密码:w7yv

Fortran语言基础

数值分析程序设计 Part I F ortran语言基础 COMPAQ VISUAL FORTRAN 6.5 0编译器的使用 0.1 编译器简介 高级语言以及汇编语言的程序代码在没有转换成机器代码前,计算机是无法执行的。编译器的功能是将高级语言的程序代码翻译成计算机可执行的机器码,也就是生成扩展名为EXE, COM的文件。 0.2 V isual Fortran的使用 Visual Fortran起源于Microsoft的Fortran PowerStation 4.0,这套工具后来卖给Digital公司继续开发,第二个版本称为Digital Visual Fortran 5.0,Digital被Compaq并购之后,接下来的版本6.0

和6.5称为Compaq Visual Fortran。下面的介绍以Compaq Visual Fortran 6.5作范例。 Visual Fortran被组合在一个叫做Microsoft Visual Studio的图形接口开发环境中。Visual Studio提供一个统一的使用接口,这个接口包括文字编辑功能、Project管理功能、调试工具等。而编译器则被组合到Visual Studio中,VF和VC++使用相同的使用接口。 Visual Fortran 6.5除了完全支持Fortran 95的语法外,扩展功能方面提供了完整的Windows程序开发工具,专业版还含有IMSL数值计算连接库。另外还可以和VC++直接互相连接使用,也就是把Fortran和C语言的程序代码混合编译成一个执行文件。 安装好Compaq Visual Fortran后,运行

Fortran语言基础资料讲解

F o r t r a n语言基础

数值分析程序设计 Part I Fortran语言基础 COMPAQ VISUAL FORTRAN 6.5 0编译器的使用 0.1 编译器简介 高级语言以及汇编语言的程序代码在没有转换成机器代码前,计算机是无法执行的。编译器的功能是将高级语言的程序代码翻译成计算机可执行的机器码,也就是生成扩展名为EXE, COM的文件。 0.2 Visual Fortran的使用 Visual Fortran起源于Microsoft的Fortran PowerStation 4.0,这套工具后来卖给Digital公司继续开发,第二个版本称为Digital Visual Fortran 5.0,Digital 被Compaq并购之后,接下来的版本6.0和6.5称为Compaq Visual Fortran。下面的介绍以Compaq Visual Fortran 6.5作范例。 Visual Fortran被组合在一个叫做Microsoft Visual Studio的图形接口开发环境中。Visual Studio提供一个统一的使用接口,这个接口包括文字编辑功能、Project管理功能、调试工具等。而编译器则被组合到Visual Studio中,VF和VC++使用相同的使用接口。 Visual Fortran 6.5除了完全支持Fortran 95的语法外,扩展功能方面提供了完整的Windows程序开发工具,专业版还含有IMSL数值计算连接库。另外还可以和VC++直接互相连接使用,也就是把Fortran和C语言的程序代码混合编译成一个执行文件。 安装好Compaq Visual Fortran后,运行Developer Studio就可以开始编译Fortran程序了。

相关主题