fortran90 知识点整理

2020-02-21 21:01

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 90配置的函数称为内在函数。内在函数分为三种: 基本函数 : SIGN 符号 函数值:|A1|(若A2>0) -|A1|(若A2<0) SIGN(A1,A2) Eg : SIGN(-3.0,2.0)=3.0 SIGN(3.0,-2.0)=-3.0 某些函数参数只能为实型 如:log(2.0) (loG(2)错) 转换函数

函数名 INT(X) 含义 实型转换整型、 复型的实部转换整型 REAL(X) 整型转换实型、 复型的实部转换实型 COMPLEX(X,Y) 将X,Y合成为复型 FORTRAN举例 INT(2.3)=2 INT((1.2,3.5))=1 REAL(8)=8.0 REAL((1.2,3.5))=1.2 COMPLEX(2.3,1.5)= (2.3,1.5) INT(X,KIND):将X值转换为整型,以KIND的值作为种别参数 REAL(X,KIND):将X值转换为实型,以KIND的值作为种别参数 COMPLEX(X,Y,KIND):将X,Y转换为复型,以KIND的值作为种别参数

查询函数 KIND()

SELECTED_INT_KIND() SELECTED_REAL_KIND PRECISION() RANGE() ??

不轻易使用整型量除整型量 1.0/2 2.0**(-1) 运算对象类型相同时,运算结果的类型为同一类型 注意:5/2=2 1/2=0 !!

运算对象类型不同时,系统一般先转换成相同类型后再运算 转换规则是:较低级的类型转换为较高级的类型 数据类型隐含的高低次序为(由低到高): 整型→实型→ 双精度 →复型 例: 8/5+2.0*5/2=6.0(逐步转化)

赋值语句 1、类型要求

逻辑型、字符型的赋值语句要求“=”两边类型相同 数值型赋值,不区别整型、实型和复型 2、种别方面

字符型要求种别相同

其余类型的e、V种别允许不同 输入输出语句

1、I/O的对象 ——列在中 I/O是相对于内存而言的, 键盘属于输入设备, 显示器属于输出设备, 优盘、硬盘既是输入设备,又是输出设备。 2、I/O的方向及语句 READ (U,f) U:设备(部件) f:格式 WRITE 其中: 输入 READ语句 输出 PRINT语句,只输出到显示器 WRITE语句,适合任何输出设备

U(部件) * : 系统约定设备 某个值: 指定通道号(设备逻辑号、文件号) 表控格式I/O(*): 系统约定的格式。

f(格式) 基本格式(自定格式)I/O:按用户要求的格式组织I/0。 带控制信息表的I/O:

I:碰到回车(ENTER)为一个记录。 O:一行为一个记录。

程序执行过程中按表控格式输入数据 各数据间有分隔符: ,或空格

类型匹配:整型:带小数点只取整数部分; 复数:(实部,虚部);

字符:‘一串字符’:赋值时长度转化或一串字符 即‘’可省略。

逻辑:以T或F作为第一个字母的字符串(点号1个、空格多个在前忽略) 3.输入的数据必须是常数,不能是变量和表达式 如输入2+1,则出错。 4.输入数据个数:

1)不得少于变量的个数; 2)可分行输入;

3)多余的数据不起作用

5.空格可以多个,/表示输入数据结束,后面的数据被取消,没有输入数据的变量值为原值; Read*,A,B,C

输入: 2,1/3 结果: A=2 B=1 C=0

6、如果几个连续变量需要赋同一个值,可以使用重复因子r,即r*[c]: r为重复数 4*0.5,2*3,2*’AB’,3*(1.0,-1.0)

输入输出的三种不同的格式: 1.表控格式的输入输出 2.有格式的输入输出

3.带控制信息表的输入输出

整型编辑符:Iw[.m] 1.I 编辑符控制输出:

功能:用于整型数据的输入输出 格式: Iw Iw.m rIw w—输入输出数据字段总宽度 m—至少m位数字 r—为重复系数

例1.设 J=10, K=-12,L=12 WRITE (*,”(I3,I5,I7)”)J,K,L □10□□-12□□□□123 注意:

1.数字在指定的区域内右端对齐,不足w则左边补空格。 2.负数的符号也包含在字段宽度内

3.如果应输出的列数超过了规定的字段宽度,则不输出有效数据,以w个*填充。 4、BN, BZ :Blank interpretation

Specifies interpretation of blanks in numeric fields (空格是否当0处理)仅用于输入格式语句,如 read “(BN,2I3)”,I,J 例2.如果将格式串改为: “(I3,I5.4,I7.5)” 则输出: □10-0012□□00123

例3.如果L=123456

□10-0012□123456 !!Iw.m :m<位数,则按照实际数输出

实型编辑符 1.编辑符格式 [r]Fw.d 将数据按小数形式输出 [r]Ew.d 将数据按指数形式输出 [r]Gw.d 根据数据大小决定采用E或F格式 r—重复系数

w—字段宽度(总宽度) d—小数部分宽度

F编辑符

功能:用于实数编辑,小数形式的输出(定点数:单精度实数,4个字节,7个有效数字) 当实型数值小于0.0(负数)时,则w>=n+d+2 当实型数值大于或等于0.0时,则w>=n+d+1 用此来确定w的宽度 注意:

1. w包括数符和小数点两位

2. 若数据小于w位,则左边补空格 3. 输出值时舍入,而不是截断

4. 如果是科学计数法则转换小数形式


fortran90 知识点整理.doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

Copyright © 2019-2022 免费范文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ: 邮箱:tiandhx2@hotmail.com
苏ICP备16052595号-18

× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: