资源预览内容
第1页 / 共28页
第2页 / 共28页
第3页 / 共28页
第4页 / 共28页
第5页 / 共28页
第6页 / 共28页
第7页 / 共28页
第8页 / 共28页
第9页 / 共28页
第10页 / 共28页
亲,该文档总共28页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
Fortran90关于变量说明的新功能:1.在变量说明的同时,可以给变量赋初值。 INTEGER:I=5,J=126 REAL:X=7.2,Z,W=774.22.在说明变量的同时也可说明其种别 REAL(KIND=4):X,Y 或 REAL(4):X,Y3.在说明变量的同时,还可说明变量的属性INTEGER,PARAMETER:I=5,J=123 Ps :PARAMETER 属性(1)功能:用一个符号代表一个常量,称为符号常量(常数)(2)写法:Real,Parameter :G=9.8 &说明类型时赋值(3)位置:位于可执行语句之前 REAL,DIMENSION(1:10):A2.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|(若A20) -|A1|(若A20)SIGN(A1,A2)Eg : SIGN(-3.0,2.0)=3.0 SIGN(3.0,-2.0)=-3.0 某些函数参数只能为实型 如:log(2.0) (loG(2)错)转换函数函数名含义FORTRAN举例INT(X)实型转换整型、复型的实部转换整型INT(2.3)=2INT(1.2,3.5)=1REAL(X)整型转换实型、复型的实部转换实型REAL(8)=8.0REAL(1.2,3.5)=1.2COMPLEX(X,Y)将X,Y合成为复型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_KINDPRECISION()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=06、如果几个连续变量需要赋同一个值,可以使用重复因子r,即r*c: r为重复数 4*0.5,2*3,2*AB,3*(1.0,-1.0)输入输出的三种不同的格式:1表控格式的输入输出2有格式的输入输出3带控制信息表的输入输出整型编辑符:Iw.m1I 编辑符控制输出:功能:用于整型数据的输入输出格式: Iw Iw.mrIww输入输出数据字段总宽度m至少m位数字r为重复系数 例1设 J=10, K=-12,L=12 WRITE (*,”(I3,I5,I7)”)J,K,L 10-12123注意: 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-001200123 例3如果L=123456 10-0012123456 !Iw.m :m=n+d+2 当实型数值大于或等于0.0时,则w=n+d+1 用此来确定w的宽度注意:1 w包括数符和小数点两位2 若数据小于w位,则左边补空格3 输出值时舍入,而不是截断4. 如果是科学计数法则转换小数形式字符型编辑AA用来编辑字符型变量,它不关心该字符串的长短如何。例: CHARATER*5 A,B,C READ(*,(A,A,A))A,B,CWRITE(*,(A,2X,A,2X,A))A,B,CEND输入:ABCDBASICFORMAT结果:ABCDBASICFORMA ! 2X表示X编辑描述符功能1:在输出时产生空格,它的一般形式为:nX关系表达式与逻辑表达式关系运算符: 、 =、 、 =、 =(等于)、 /=(不等于) (常用).GT.、.GE.、.LT.、.LE.、.EQ.、.NE.注意1、每个关系表达式中的关系运算符只准出现1次,运算符两侧都是表达式; 错例:2Xb)c2、运算对象: 关系运算符两边的运算对象类型应相容: 错例:A= =.TRUE. 2,=,
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号