Fortran90
- 格式:pdf
- 大小:396.11 KB
- 文档页数:29
FORTRAN90用法总结
Fortran90是Fortran的最新标准程序设计语言,它是在Fortran77
基础上的新增功能,支持面向对象的功能,同时也支持可变参数,数据语
句和开发语句,使其具有更高的强大功能。
它也支持宏的使用,以帮助程
序编写者更好的实现一些高级程序功能,以提高程序性能,提高程序易用性。
下面将重点介绍Fortran90的五大用法。
第一,利用Fortran90进行函数的编写。
Fortran90的函数可实现参
数的多次组合,通过对用户函数的调用,就可达到想要的结果,而不用写
复杂的循环程序,这有助于提高程序的可管理性,降低程序的出错率。
第二,通过宏的使用来完成Fortran90的程序编写。
宏语言有助于程
序的复杂编写和优化,通过它可以大大提高程序的性能,节约程序的开发
时间,从而提高程序的可用性。
第三,Fortran90的数组操作功能。
Fortran90支持数组的多维操作,能够进行大数组操作,从而编写出简洁的程序,节约存储空间,提高程序
的执行效率。
第四,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值为国家语言种类由一对单撇号或一对双撇号之间的字符序列组成。
第三章 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关于变量说明的新功能: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语句之后。
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整型定义初始化摘要: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用法总结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。
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 字符集中的专用字符, 必须按照给定的写出。
第三章 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中称“符号名”,在其它语言中称“标识符”。