Fortran90

合集下载

笫十五章 FORTRAN 90

笫十五章  FORTRAN 90
(三) 数组赋值 a(1:9,1:9) a(2:4,5:8)=a(3:5,1:4) 有效 a(1:4,1:3)=a(1:3,1:4) 无效 因形状不同 a(k+1:n,k)=0 给多个元素赋标量,有效 (四) where语句和where结构 where语句可用于为数组赋值,如a和b是两个形状相同的数组,将b中与 a的负元素对应位置上的元素置0,可写成 where(a<0) b=0 where结构 where(c/=0) a=b/c elsewhere a=0 c=1 end where
笫十五章 FORTRAN 90
FORTRAN 90 与FORTRAN 77 不同之处
一、说明语句
(一)固有数据类型 整型、实型、复型,其后都可以接一个下划线_和另一个 整型常量或有名整型常量用来指明种别参数。如 42_2 42_long 0.3_double (3.14_double,_7) ascii_’john Q.public’ 种别参数(kind parameter):当它是一个整数1,2,3…时, 可能表示单精度双精度和四精度,在不同的系统中可能是 4,8,16。 (二)变量 integer (kind=2):: x,y character (len=20,kind=kanji) ::name kinji为一整型常量 real ::a=1.2,b=2.3, 初始化变量的值在执行过程中可变
六、数组
(六) 列表检索 1. 对无序列表的顺序检索 subroutine search_1(lost_card,card_number,found) integer,dimension(:),intent(in) :: lost_card integer,intent(in) ::card_number logcal,intent(out) ::found integer ::I found=.false. do I=1,size(lost_card) if(card_number==lost_card(I)) then found=.trun. exit end if end do end

FORTRAN90用法总结

FORTRAN90用法总结

FORTRAN90用法总结
Fortran90是Fortran的最新标准程序设计语言,它是在Fortran77
基础上的新增功能,支持面向对象的功能,同时也支持可变参数,数据语
句和开发语句,使其具有更高的强大功能。

它也支持宏的使用,以帮助程
序编写者更好的实现一些高级程序功能,以提高程序性能,提高程序易用性。

下面将重点介绍Fortran90的五大用法。

第一,利用Fortran90进行函数的编写。

Fortran90的函数可实现参
数的多次组合,通过对用户函数的调用,就可达到想要的结果,而不用写
复杂的循环程序,这有助于提高程序的可管理性,降低程序的出错率。

第二,通过宏的使用来完成Fortran90的程序编写。

宏语言有助于程
序的复杂编写和优化,通过它可以大大提高程序的性能,节约程序的开发
时间,从而提高程序的可用性。

第三,Fortran90的数组操作功能。

Fortran90支持数组的多维操作,能够进行大数组操作,从而编写出简洁的程序,节约存储空间,提高程序
的执行效率。

第四,Fortran90的指针操作功能。

它可以完成复杂数据的指针操作,以实现数据的重排、排序、和传输,可以让程序编写者有效地运用指针操作,提高程序性能和稳定性。

最后,Fortran90的结构化编程功能。

FORTRAN90 数据类型

FORTRAN90 数据类型

说明:大于最大值,产生上溢错,小于最小值,按0处理
5.2
实型数据
Kind=4,单精度实数; kind=8,双精度实数. 指数形式表示的单、双精度实数: 1.2e-5, .5e3, -12.345e2 1.d-5, 1.3d-6 , -0.63d4 2.实型变量(real) real I,total real (4)::k,limit Real(8)::min,max Real :: x=5.0 ; y=24.1 单精度实数 双精度实数 real, parameter::x=5.,r_j=10.e3 Real*4,dimension (1:10):: a real *4 t,e real*8 kig,dog Real(kind=4):: n,count Double precision::x_1,y2
5.4
均为字符型。
字符型数据
z字符赋值语句:左边变量和右边表达式类型
字符赋值语句在执行中会发生强制长度转换,转 换后值赋予左边变量。 右边长度小于左边,将表达式值赋予变量左侧,不足 补空格。 右边长度大于左边,将表达式值左侧部分赋予变量, 多余截去。
5.4
字符型数据
示例: character*4 str1*8,str2*17,str3,str4 ! students str1='students‘ str2=‘Are you '//str1//’?’ !Are you students? !are str3=‘are’ !stud str4=‘students’ str2(9:16)=‘teachers’ ! Print*,str2 ! Are you teachers end
谢 谢
5.3
COMPLEX(8)e,d,f COMPLEX f

Fortran90编程

Fortran90编程

字。以关键词end type结束。
派生类型的声明和使用
n 声明: n 赋值: n 引用结构成员:
例一:派生数据类型
模块(Module)
n 是一种不能直接执行的程序单元,但可以包含
数据声明和过程
n
使不同的过程实现过程和数据的共享 n 可以实现对自定义数据类型的封装
n 相对于program,function,subroutine,是一种特
例三:数据类型的范围
定义符号常量
n 符号常量在程序中不可以改变其值 n 定义符号常量可以增强程序的可读性和可维护
性 n 定义方法:加上parameter属性
real (8) ,parameter :: pi=3.1415926535_8
例四:定义符号常量
三、控制结构
n if语句:if then elseif else endif
n
在Compaq Visual Fortran中调用 CXML
n 第一种方法:在工程中加入cxml.lib
n 第二种方法:使用include
PROGRAM example INCLUDE 'CXML_INCLUDE.F90’
在Compaq Visual Fortran中调用 Intel MKL
n 添加库函数路径 n 在工程中加入mkl_s.lib
总结:Fortran90的新特性
n n n n n n n n
高级的表达能力:数组运算 (例如, X(1:N)=R(1:N)*COS(A(1:N))) 动态存储分配 (ALLOCATE, DEALLOCATE, ...) 导出类型(derived types)与操作符重载(operator overloading) 更好的变量声明方式(parameterized types),提高移植性 模块 更多的现代控制结构 (SELECT CASE,END SELECT,DO, END DO,EXIT...) 更多的内部函数 (date, precision, arrays, ...) 新的源程序书写格式-自由格式(free format) 指针

Fortran90学习指导

Fortran90学习指导

FORTRAN90学习指导一、FORTRAN90基础知识1.源程序及其构成书写格式:主程序定义语句、结束语句注意:在没有程序名称的时候,程序开头的PROGRAM也不要出现。

如果使用了程序名称且在END语句中出现,则END语句中的PROGRAM不能省略。

语句行可以是0~132个字符;除赋值语句外,每个语句都要使用关键字开头。

如果希望一行中出现多个语句,语句一定要用分号隔开。

空格不能随便使用,关键字、变量和常量名以及操作符中的空格会使字符失去其原有的含义。

但它们之间一定要加空格。

注释行:以感叹号为标记,或“C”、“*”(FORTRAN90中不提倡此用法)续行标记:在句末尾添加续行符&,如果将关键字分成两行,则下一行开头也要加续行标记。

如果续行符出现在注释语句中,则失去了续行的功能。

2.FORTRAN90字符集126个英文字母(大小写字母等价)210个阿拉伯数字3下划线421个特殊字符:空格= + - * / (),. ‘ :!“% & ;< > ? $5其他字符(只可以出现在字符常量、字符串编辑描述符、注释和输入输出记录中)3.基本数据类型1 整型KIND值可以为1、2、4类型说明关键字:INTEGERKIND值决定数据的范围。

对于整数没有误差。

I=3/2=1;I=1/2=0INTEGER(KIND=4)::AINTEGER*4::AINTEGER(4)::A2 实型KIND值可以为4(单精度7位有效数字)、8(双精度15~17位有效数字)类型说明关键字:REAL小数表示形式、指数表示形式(规格化的指数形式)错误表示形式:E34、.E34、0.14E2.38开3次方:8.0**(1.0/3.0)3 复型KIND值为4、8是实数的有序对,将两个实数中间用逗号分隔,然后放在一对括号中类型说明关键字:COMPLEX复数的运算:+、—、*、/4 字符型KIND值为国家语言种类由一对单撇号或一对双撇号之间的字符序列组成。

第一章FORTRAN90概述

第一章FORTRAN90概述
开始
Y=2000
Y不能被 4整除
Y
N
Y不能被100 整除
N
N
打印Y “不是闰年” Y能被 400整除
Y
打印Y “是闰年”
Y
打印Y “是闰年” 打印Y “不是闰年”
Y=Y+1
Y
Y≤2500
N 结束
3.2 用N-S图表示算法
成立
P
不成立
A B 顺序结构
A
B
选择结构
当P1 A A 直到P2
当型循环
直到型循环
变量
•变量:在程序运行过程中其值可以发生变化。 每个变量都会分配到一个相应的存储空间,这个 空间就是该变量的存储地址,是相对固定的。
变量必须有名字和类型,它的值可以变化,与其类 型密切相关 变量名是变量的标志。 命名规则:以字母开头,由字母、数字、下划线组 成的字符串,允许长度为31个字符,并且不区分大小 写字母:Ab和 aB 是同一变量。 同一个程序模块中不能有相同名字的两个变量。 最好不要用FORTRAN中用到的名字作变量名。 FORTRAN中所有名字都遵守命名规则
例:求三个数(5,10,23)的平均值。
PROGRAM TEST ! 计算三个数的平均值 A=5;B=10;C=23 ave=(A+B+C)/3 write(*,*) 'AVE=',ave
END PROGRA&
&M TEST !注意续行方法
§1.5 FORTRAN 90字符集 FORTRAN90字符集包括:
§1.3 FORTRAN
90语言的特点
对FORTRAN77的扩充主要有:
引入数组运算
提高数值计算功能 内在数据类型参数化 用户定义的数据类型、运算和赋值 引入模块数据及过程定义的功能 引入指针概念

FORTRAN90 标准函数

FORTRAN90 标准函数
表5实数检测和控制函数
函数名
说明
EXPONENT(x)*
求实数x机内编码表示的指数值。x:R,结果:I
FRACTION(x)*
求实数x机内编码表示的小数值。x:R,结果类型同x
NEAREST(x,s)
根据s的正负号求最接近x的值。x:R,结果:R,且不为0
RRSPACING(x)
求x与系统最大数之间的差值。x:R,结果类型同x
ALOG10(x)
求x以10为底一般对数log10(x)。x:R(4),结果:R(4)
EXP(x)*
求指数,即ex。x:R、C,结果类型同x
LOG(x)*
求自然对数,即ex。x:R、C,结果类型同x
LOG10(x)*
求以10为底对数,即。x:R,结果类型同x
SQRT(x)*
求x的平方根。x:R、C,结果类型同x
将整数n二进制表示右起第p位置1。n:I,p:+I,p值域:0~64结果类型同n
IEOR(m,n)*
对m和n进行按位逻辑“异或”运算。m:I,n:I,结果类型同m
IOR(m,n)*
对m和n进行按位逻辑“或”运算。m:I,n:I,结果类型同m
ISHA(n,s)*
对n向左(s为正)或向右(s为负)移动s位(算术移位)。n:I,s:I,结果类型同n
ATAN2(y,x)
求x的反正切arctg(y/x)。y:R,x和结果类型同x,结果值域:-π~π
ATAN2D(y,x)
求x的反正切arctg(y/x)。y:R,x和结果类型同x,结果值域:-180~180°
COS(x)*
求x的余弦cos(x)。x:R、C,x取值弧度,结果类型同x
COSD(x)*

FORTRAN90复习

FORTRAN90复习

第三章 FORTRAN 90 基础知识基本知识,如:字符集、名称、关键字、程序单元、书写格式、数据类型。

名称:①名称只能由英文字母、数字、下划线符“_”和美元符号“$”组成。

②名称第一个字符必须是英文字母。

③名称不能超过31个字符。

合法名称: Number,Max, PrOgRaM, FIND_IT, read, x, a3b7, china, total, x$y$z 。

非法名称:X-Y-Z, 8q, a.5, _wrong,U.S.A., DR.WANG,$abcd,r a t e 。

书写格式:自由格式,固定格式3个通用标志符:注释标志符“!”、语句分隔标志符“;”和续行标志符“&”。

数据类型第四章 内部数据类型与表控输入输出常量和变量:语法描述; 精度(kind 值)和取值范围整型。

实型。

复型。

字符型。

CH(1:5)是什么?逻辑型。

变量的申明(几种声明方式,谁优先)。

表达式 (会写正确的表达式,表达式计算结果)如:e算术表达式:算术运算符的优先级和结合规则;操作数的类型转换不同优先级运算符,“先高后低”结合先乘方、后乘除、再加减,括号最优先相同优先级运算符,“从左向右”结合,如9-4+12/3*2**3 = ?乘方算符,“从右向左”结合,如2**3**2 = ?尽量多地使用( ),以使意义明确,避免出现歧义和产生错误转换规则“由低级向高级转换”①数据类型和KIND相同的两个算术操作数,计算时不转换,运算结果的类型和KIND与原数据相同。

②数据类型相同但KIND值不同的两个算术操作数,计算时,将KIND值低的操作数转换为高KIND值,运算结果为高KIND值的原类型。

③数据类型不同的两个算术操作数,将低级别类型的操作数高级别类型,运算结果的类型及KIND值与高级别类型操作数相同。

字符表达式字符串连接操作符//“I” // ‘ ‘ // “Love” // ‘ ‘ // “Fortran 90” I Love Fortran 90逻辑变量逻辑与逻辑或逻辑非逻辑等于逻辑不等逻辑异或X Y X.AND.Y X.OR.Y.NOT.X X.EQV.Y X.NEQV.Y X.XOR.Y T T T T F T F FT F F T F F T TF T F T T F T TF F F F T T F F逻辑运算的优先级:.NOT. →.AND.→.OR.→.EQV.、.NEQV.、.XOR、相同优先级时,运算按从左到右的顺序进行(“左结合”)(3>5).and.(4>1))的计算结果是什么?赋值语句 (能写出正确的赋值语句)第五章数据的有格式输入输出I编辑符F编辑符E编辑符D编辑符A编辑符READ(*,*)a,bWRITE(*,*)a,bWRITE(1,"(1X,I5)")WRITE(1,100)100 FORMAT(1X,I5)Open(10, FILE=“FILE1.txt” ,STATUS=“new”)WRITE( * , '(1X, A, "=", I2)') '2+3', 2+3第六章选择结构程序设计逻辑IF语句块IF语句多支块IF语句会写多支块IF程序,块CASE语句第七章循环结构程序设计EXIT语句的功能是:在循环体执行过程中强制性终止整个循环语句的执行,转循环语句后的第一条语句执行。

fortran90知识点整理

fortran90知识点整理

fortran90知识点整理Fortran90关于变量说明的新功能:1.在变量说明的同时,可以给变量赋初值。

INTEGER::I=5,J=126 REAL::某=7.2,Z,W=774.22.在说明变量的同时也可说明其种别REAL(KIND=4)::某,Y或REAL(4)::某,Y3.在说明变量的同时,还可说明变量的属性INTEGER,PARAMETER::I=5,J=123P:PARAMETER属性(1)功能:用一个符号代表一个常量,称为符号常量(常数)(2)写法:Real,Parameter::G=9.8&&说明类型时赋值(3)位置:位于可执行语句之前REAL,DIMENSION(1:10)::A2.3.6派生数据类型根据需要而由基本数据类型定义新的数据类型。

在一个派生类型中可包含多个基本类型。

如:TYPESTUDENT(定义开始)CHARACTER(LEN=20)::DEPARTMENTCHARACTER(LEN=10)::CLASSCHARACT ER(LEN=15)::NAMEINTEGER::NUMBER(成员定义)ENDTYPESTUDENT(定义结束)派生类型变量的定义:TYPE(STUDENT)::PERSON变量的赋值:PERSON=(”COMPUTER”,”92_2”,”LILIN”,21)成员的表示:PERSON%CLASS=“92_2”PERSON%NAME=“LILIN”主程序其他限制主程序的可执行部分不能包含有RETURN语句或者ENTRY语句。

程序名对可执行程序是全局的,而且不得于该可执行程序中的任何其它程序单元名、外部过程名或公用块名相同,也不得于主程序内的任何局部名相同。

在主程序的作用范围内的说明不得包含OPTIONAL语句、INTENT语句、PUBLIC语句或它们的等价属性,在主程序内SAVE语句不起作用。

主程序内的任何内部过程的定义必须跟在CONTAINS语句之后。

F90第三章

F90第三章

第三章 FORTRAN 90基础知识
3.4 程序单元
概述 分类 描述 示例
一个F90程序可由多个程序单元组成(至少 有一个主程序单元),程序单元由数据声明和 相关数据操作语句构成,必须用END语句结束。
PROGRAM main INTEGER length,width,area,price
3.1 字符集
FORTRAN 90字符集由四部分字符组成: 1.英文字母:A~Z和a~z 除字符型常量外,源程序中不区分字母 大小写。
2.阿拉伯数字:0~9
3.1 字符集/字符集
3.下划线:_
4.特殊字符:空格 + - * / ( ) , . ‘:!“%&;<>?$=
第三章 FORTRAN 90基础知识
3.7 数据类型
概述 数据 数据表示 数据类型
数据类型是数据取值范围和在其上定义 的一组操作的总称。数据类型有四个性质:
每个数据类型有一个唯一的名称。
每个数据类型规定了一个取值范围。
每个数据类型规定了其常量数据的表示方法。
3.7 数据每类型/数个据类型数据类型规定了一组操作。
F90具有丰富的数据类型,有内部数据类型、派 生数据类型、数组和指针类型等。
3.8 兼容性问题
3.2 名称
概述 语法描述 作用域
名称(标识符)在程序中用来标识有关实 体(如:变量、命名常量、函数、过程、程序 单元、公用块、和哑元等)。
PROGRAM main INTEGER length,width,area,price READ*,length,width area=mul(length,width)
<主程序单元>→ [ <PROGRAM语句> ] [ <说明部分> ]

FORTRAN90

FORTRAN90

FORTRAN90FORTRAN 90第一章绪论一、特点在FORTRAN 77的基础上增添了许多具有现代特性的功能、递归、数组直接运算、派生类型、指针和过程。

二、与FORTRAN 77的区别1、不区分书写格式2、不赞成语句标号3、不使用BLOCK DATA 数据块子程序、语句函数4、主程序以PROGRAM 开头,以END PROGRAM为结尾函数子程序:区分函数名与函数值5、不使用GOTO 10、STOP、PAUSE语句6、不使用DO 10 I=1,3,而以DO与END DO 匹配使用。

7、不使用:I-N规则、双精度、DATA语句、多条RETURN语句。

而使用REAL ::A=0,B=2.58、不使用COMMON语句,而用模块MODULE9、用假定形状数组取代假定大小数组10、DIMENSION A(10)在FORTRAN 90中不再定义数组11、FORMAT 语句不再使用第二章F ORTRAN 90 基础知识第2.1节语言元素一、字符集1、A-Z (26个)2、0-9 (10个)3、_(下划线)(1个)4、特殊符号(21个):空格、等号、加号、减号、*、/、(、)、,、.、’、:、!、”、%、&、;、<、>、?、$二、数据类型本身:INTEGER real complex character logical派生类型种别参数:对可移值数据精度和范围进行选择的机制,他提供了对每种内部数据类型的不同机器表示进行选择的参数化方式,种别参数均为整数。

用法:KIND=种别参数。

函数KIND(X)表示返回X的种别参数。

1、常量(字符型:双、单引号表示)常数的种别标示:例15_2 14.36_3 .false._4 5_’ang’带种别参数的常量的运算:15_2+14.36_3=29.36_3定义常量:REAL(KIND=2),PARAMETER::N=52、变量(1)变量名(程序名、常量、虚参、派生类型)命名规则:长度小于等于31个字符、须以字母开头、由字母、数字、下划线构成,其中不出现空格。

FORTRAN90程序设计9

FORTRAN90程序设计9

几点应该注意
(8) 一个辅程序中的接口块不允许含有一个被该辅程序定义的过程的接 口体。一个接口块中可以有多个接口体。
(9) 接口块还可用来说明一个外部过程或虚过程,并为之提供显式的调 用接口,这比EXTERNAL语句提供了更多的信息,因而也提高了程序 的可读性。例如:下面是没有类属说明的接口块:
接口块能将子程序中所需的信息精确的拷贝过来,通过它可 以为主调程序和被调用子程序指明一个显式接口。
几点应该注意
(1) 接口块以INTERFACE语句开始,以END INTERFACE 语句结束,块内只能取被调用过程中的说名部分,不允许出 现任何可执行语句。
(2) 类属说明的形式为:
类属名 或OPERATOR(定义的运算符) 或ASSIGNMENT(=) 其中,类属名用于定义类属过程、OPERATOR用于定义运算
USE语句
USE语句的最简单形式为: USE 模块名1,模块名2,……,模块名N
这条语句提供了对模块的所有公共的有名数据对象、派生类型、接口块、 过程等的访问。
在作用域单位内,USE语句必须出现在其他说明语句之前。 如果需要对两个或两个以上的模块进行访问,可能会在不同的模块中用
到了相同的名字,因此允许USE语句对被访问的对象重新命名,以解决 局部对象和模块中访问对象之间的名字的冲突问题。要重新命名时, USE语句应具有下列形式: USE 模块名,更名表 其中,更名表的形式为: 局部名=>使用名,局部名=>使用名,…… 例如:
END FUNCTION LOG_PLUS_LOG
括号时必须的,因为运算符“+”
END MODULE LOGICAL_PLUS PROGRAM TEST_LOGICAL_PLUS

fortran90整型定义初始化

fortran90整型定义初始化

fortran90整型定义初始化摘要:1.Fortran90 简介2.Fortran90 整型定义3.Fortran90 整型初始化4.示例代码正文:1.Fortran90 简介Fortran90 是一种高级编程语言,主要用于数值计算和科学计算。

它是Fortran 语言的一个版本,于1990 年发布。

Fortran90 具有丰富的数学函数库和强大的数据处理能力,广泛应用于工程、科学和研究领域。

2.Fortran90 整型定义在Fortran90 中,整型是一种数据类型,用于表示整数。

整型数据类型的名称为integer,它可以是正数、负数或零。

Fortran90 中整型的大小为默认为整数位数,可以根据需要进行调整。

3.Fortran90 整型初始化在Fortran90 中,可以通过以下方式对整型变量进行初始化:(1)直接赋值:在声明变量后,通过等号=赋值。

例如:```integer :: a = 10```(2)使用赋值语句:通过使用赋值语句进行初始化。

例如:```integer :: bb = 20```(3)使用子程序或函数:通过调用子程序或函数进行初始化。

例如:```integer :: cc = init_value(10)```其中,init_value 为子程序或函数,用于初始化c 的值。

4.示例代码下面是一个简单的Fortran90 程序,演示了整型的定义和初始化:```fortranprogram mainimplicit noneinteger :: a, b, sum! 定义整型变量a 和binteger :: a = 10integer :: b = 20! 计算a 和b 的和sum = a + b! 输出结果print *, "The sum of a and b is:", sumend program main```以上就是Fortran90 整型定义和初始化的相关内容。

Fortran90-数据类型

Fortran90-数据类型

双(单)引号不属于字符串
2024/10/23
FORTRAN90
21
2.当字符中出现单(双)引号时,有两种表 示方法。
1)当字符为"时,用´将字符串括起; 当字符为´时,用"将字符串括起。
2)将单(双)引号重复一次。
例: fh"dl ´fh"dl´ "fh""dl"
I’m a teacher "I´m a teacher" ´I´´m a teacher´
2024/10/23
FORTRAN90
7
2024/10/23
FORTRAN90
8
5.4 复型数据
一、复型常量的形式:
(实型数1,实型数2)
低 级
表示:实型数1+实型数2*I
向 高

复型数据的类别类型


1.默认复型:当省略类别类型参数时, 的
则称此复型数据为默认复型。
原 则
2.实部及虚部类型不同时,复型数据的
FORTRAN90
33
比较字符串大小
• ‘that’ ‘this’ • ‘FORTRAN’ ‘FORTRAN90’ • ‘FORTRAN’ ‘FORTRAN ’ • ‘FORTRAN 90’ ‘FORTRAN90’ • ‘FORTRAN90’ ‘fortran90’
先化为双精度型, 化为双精度型,
再赋值
赋值
直接赋值
将实部扩展为 双精度型,赋

复型
化为实型,加虚 部0,变成复型,
再赋值
舍去多余有效数字,
实部赋值,虚部 化为实型,再赋值,
赋0
虚部赋0

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

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

(完整版)FORTRAN90用法总结,推荐文档FORTRAN90用法总结1、数据类型整型 INTEGER实型 REAL复型 COMPLEX字符型 CHARACTER逻辑型 LOGICAL2、特殊函数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> 单支IFIF(逻辑表达式) THEN块语句END IF2> 双支IFIF(逻辑表达式) THEN块语句1ELSE块语句2END IF3>多支IFIF(逻辑表达式1) THEN块语句1ELSE IF(逻辑表达式2) THEN块语句1...ELSE IF(逻辑表达式N) THEN块语句NELSE块语句N+1END IF4>逻辑IFIF(条件表达式)可执行语句5>算术IFIF(算术表达式)标号1,标号2,标号3 标号1 可执行语句1 标号2 可执行语句2标号3 可执行语句3 4、CASE块SELECT CASE(表达式) CASE(表达式1)块语句1...CASE(表达式N)块语句NCASE DEFAULT默认块语句END SELSCT5、循环函数1>循环控制语句IF(e) EXIT 终止循环2>CYCLE跳出此次循环3>DO循环DO i=e1,e2[,e3]循环体END DO4>DO WHILE循环DO WHILE(逻辑表达式) 循环体END DO6、输入输出1>表控输入输出READ *,变量表PRINT *,输出表WRITE(*,*)输出表2>自定义输入输出标号 FORMAT(格式说明)3>其他编辑符①nX 向右跳过n个字符②nH 输出字符串③/ 换行④\ 连接7、数组1>说明数组DIMENSION 数组名类型说明,DIMENSION(维说明)::数组名2>数组赋初值DA TA 数组名/....../,数组名/....../,...3>动态数组①声明[类型],DIMENSION(:[,:]...),ALLOCA TABLE::数组名[类型],ALLOCATABLE::数组名(:[,:]...)...②申请ALLOCATE(数组名(维说明))③释放DEALLOCATE(数组名)8、子程序1>子程序CONTAINS(内部子程序的标志(外部EXTERNAL))[类型说明] FUNCTION 函数名(虚参表)函数体END2>子例行程序SUBROUTINE 子例行程序名(虚参表)函数体END调用CALL 子例行程序名(实参表)3>递归调用RECURSIVE FUNCTION(SUBROUTINE)函数名(虚参表) RESULT(返回值) 函数体END9、结构体1>定义TYPE [,ACCESS[::]] 派生类名称(ACCESS=PRIV ATE(私有),PUBLIC(公有)) 分量表END TYPE 派生类名称2>类型定义TYPE(派生类名称)::结构体变量名3>结构体成员引用①结构体名%成员名②结构体名.成员名4>定义的同时赋值TYPE(派生数据类型名)::结构体变量名=派生数据类型名(成员初值表)5>结构体数组TYPE(派生数据类型名),DIMENSION(维说明符)::结构体数组名10、指针1>定义指针类型说明,POINTER::指针变量名...类型说明,TARGET::目标变量名...P=>A2>动态变量例:INTEGER,POINTER::PINTEGER SALLOCA TE(P)P=4S=PDEALLOCA TE(P)PRINT *,SEND3>指针数组变量定义类型说明,DIMENSION(:...:),POINTER::指针变量名ALLOCATE(X(20))DEALLOCA TE(X)4>定义结点TYPE NODEINTEGER V ALUETYPE(NOPE),POINTER::NEXTEND TYPE NODE5>定义头指针TYPE LISTPRIV ATETYPE(NODE),POINTER::ENDEND TYPE LIST6>对指针初始化(对头指针清空)SUBROUTINE SETUP(L) TYPE(LIST)LNULLIFY(L%END)END SUBROUTINE SETUP。

程序设计语言 FORTRAN 90-译文

程序设计语言 FORTRAN 90-译文

1.程序设计语言 FORTRAN 90FORTRAN 程序设计语言的新版本是FORTRAN 90。

该版本是强有力的工具。

事实上, 它比用于同一应用领域的其它各种著名语言都更接近于面向问题的高级程序设计语言的当前发展水平。

本" FORTRAN 90语言指南"是标准文档中所定义的FORTRAN 90程序设计语言全集的综合性描述。

它已经以标准文档的两张勘误表为依据。

标准文档是编译程序书写人员和已经十分了解FORTRAN 90的专家们的参考书, 然而它对初学者来说毫无价值, 甚至对于有经验的程序员也是相当不实用的。

本" FORTRAN 90语言指南"打算用作程序员的语言参考手册、FORTRAN 程序设计入门课程的教材, 并且帮助有经验的FORTRAN 77程序员顺利过渡到FORTRAN 90。

" FORTRAN 90语言指南 " 几乎是FORTRAN 77 类似手册的两倍大, 一个原因是FORTRAN 90包含了FORTRAN 77语言全集, 每个FORTRAN 77程序按定义都是FORTRAN 90程序( 几乎无例外)。

FORTRAN 现在是一种现代语言。

该语言中有一些特性甚至支持面向对象程序设计。

最后, FORTRAN 90是 HPF( 高性能FORTRAN ) 的基础, 此HPF 是用于( 大规模)并行计算机体系结构的、数据并行程序设计模型的基于FORTRAN 的语言。

布局本指南自始至终使用下列一些约定:这是正规正文的字体。

这是形式语法的字体。

这是例子的字体。

这是定义的字体。

这样写出的术语不是被强调的, 就是在本指南另外某处被定义的。

大写表示FORTRAN 关键字, 它必须按照给定的写出。

小写在语法规则中表示要由程序员插入的语言元素。

小写在例子中是由程序员创造的一些术语。

专用字符 FORTRAN 字符集中的专用字符, 必须按照给定的写出。

chapter3-FORTRAN90基础知识

chapter3-FORTRAN90基础知识

第三章 FORTRAN 90 基础知识FORTRAN 90是一种内容丰富、功能强大、特色鲜明的高级程序设计语言。

本章将介绍FORTRAN 90的一些基本知识,如:字符集、名称、关键字、程序单元、书写格式、数据类型和兼容性等,为进一步学习其它内容奠定基础。

3.1 字符集FORTRAN 90源程序是一个符合FORTRAN 90词法、语法和语义规定的特殊文本,它由FORTRAN 90字符集规定的字符按照词法、语法和语义规定进行描述。

FORTRAN 90字符集由下面四部分字符组成:1.英文字母大写字母:A B C D E F G H I J K L M N O P Q R S T U V W X Y Z 。

小写字母:a b c d e f g h I j k l m n o p q r s t u v w x y z 。

2.阿拉伯数字数字字符:0 1 2 3 4 5 6 7 8 9。

3.下划线下划线字符:_。

4.特殊字符特殊字符:空格 <Tab> + - * / ( ) , . ' : ! " % & ; < > ? $。

Digital Visual FORTRAN 5.0字符集增加了一些可打印字符,包括十六进制ASCII码为09h(Tab符)、20h至7Eh之间的字符和某些特殊字符集(如:IBM字符集)中字符。

说明:①除字符型常量和Hollerith常量外,源程序中词法和语法描述不区分字母的大小写,如语句“INTEGER I”和语句“integer i”是等价的。

②FORTRAN 90字符集以外的可打印字符,只能出现在注释、字符常量、Hollerith常量、字符串编辑符和输入输出记录中。

③字符:_ ! " % & ; > < ?为FORTRAN 90新增字符。

3.2 名称名称在FORTRAN 77中称“符号名”,在其它语言中称“标识符”。

Fortran 90 程序设计

Fortran 90 程序设计

Fortran的数据类型
在FORTRAN90中,也可以表示二进制、八进制、 十六进制形式的无符号整数。其形式如下: 二进制数:B’101101’ 或 B”101101” 八进制数:O’76210’ 十六进制数:Z’1FA2’
Fortran的数据类型
2.实型常量(REAL)
实型常量又叫实数,它具有数学实数的近似值。 实数最常见的两种表示形式是:小数形式和指数形式 小数形式:由十个数字、小数点及数符组成的数。 指数形式:对绝对值相对较小或很大的实数 。 规格化指数形式: (两种形式) 1。数字部分的值小于1,且小数点后的第一位数字非0 2。数字部分有且仅有一位非零的整数。
五种变量的类型说明关键字:
整型:INTEGER
实型: REAL
复型:COMPLEX
逻辑型:LOGICAL
字符型:CHARACTER
待说明的变量放在后面,中间用双分隔符::隔开,对于同时 说明多个变量,变量之间用逗号分隔。
Fortran90关于变量说明的新功能: 1.在变量说明的同时,可以给变量赋初值。 INTEGER::I=5,J=126 REAL::X=7.2,Z,W=774.2 2.在说明变量的同时也可说明其种别 3.在说明变量的同时,还可说明变量的属性 INTEGER,PARAMETER::I=5,J=123 REAL,DIMENSION(1:10)::A
缺省种别是指有符号或无符号的整数值。可在数值后用 下划线标明种别,没有下划线为缺省种别。缺省种别整数的范 围一般取决于所用计算机的字长。说明了种别参数后,提高了 程序的可移植性。
简而言之,种别即决定数值在计算机中存储的字节数。
Fortran的数据类型
1.整型常量(INTEGER)
整型常量又叫整数,整数值的集合就是数学整数的子集。
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1.3 控制结构..................................................................................................................................... 1
1.4 数字处理........................................................................................................................................ 1 1.5 数组处理........................................................................................................................................ 1 1.6 指针................................................................................................................................................ 1 1.7 数据结构........................................................................................................................................ 2 1.8 用户定义的类型和操作符 ............................................................................................................ 2 1.9 过程................................................................................................................................................ 3 1.10 模块(modules).............................................................................................................................. 3 1.11 输入和输出.................................................................................................................................. 3 1.12 荒废的特性.................................................................................................................................. 4 2. Fortran 77, C, C++ 和 Fortran 90 的比较............................................................................................. 5 2.1 数值健壮性................................................................................................................................... 5 2.2 数据并行化部分........................................................................................................................... 7 2.3 数据抽象..................................................................................................................................... 12 2.4 面向对象编程............................................................................................................................. 12 2.5 函数型程序设计......................................................................................................................... 12 3. 数值健壮性........................................................................................................................................... 13 3.1 数值种类(Kind)参数化 .............................................................................................................. 13 3.2 精度选择...................................................................................................................................... 14 3.3 数值多态性................................................................................................................................. 14 3.4 数值近似模型............................................................................................................................. 15 3.5 环境查询..................................................................................................................................... 15 4. 数据并行性........................................................................................................................................... 17 4.1 数组操作...................................................................................................................................... 17 4.2 数组片段..................................................................................................................................... 21 4.3 动态数组...................................................................................................................................... 22 4.4 返回赋值数组的函数(array-valued functions) .......................................................................... 24 4.5 例子:高斯消元法 ..................................................................................................................... 26 参考文献.................................................................................................................................................... 28
与Fortran77固定的源格式相比,Fortran90增加了另一种没有列依赖的源格式,叫作‘自由’源格式。在 自由源格式中注释不必从第一列开始且不必保留第六列作为继续的标志,而是在第一行由一个trailing ampersand作为标志。在这两种源格式中,都可以用‘!’表示行末注释的开始(例如,在行末加上说明),用 分号来分开同一行的两个说明。和Fortran77一样,Fortran90对变量,过程等的命名规则是以字母开头,包 括字母和数字;另外名字最多可以有31个字符,可以包括下划线‘_’,字符以及大小写字母。
相关文档
最新文档