文档详情

第二章Fortran程序设计基础

仙***
实名认证
店铺
PPT
215.02KB
约40页
文档ID:176878933
第二章Fortran程序设计基础_第1页
1/40

C FIXED FORMAT DEMO PROGRAM Fixed PRINT*,Hello$World!PRINT 1010 FORMAT(1x,This program is written in fixed format.)END*固定格式是为配合早期使用穿孔卡片输入程序所发明的格式,这里介绍固定格式,只是让大家对 Fortran 77 程序有所了解,建议大家在编写程序时采用前述地自由格式固定格式尽管有其过多的限制,但由于具有一定的规范性,方便程序的编写和检查Fortran 90 字符集由下列字符组成:(1)26个英文字母(AZ 和 az);(2)数字09;(3)下划线 _ ;(4)特殊字符 空格,*,/,(,),:,!,等等,详见表 2-1 所示KIND 函数的功能:在 Fortran 90中 KIND 函数用来获取缺省种类参数的值;HUGE 函数的功能:在 Fortran 90中 HUGE 函数用来获得取值范围的上限,上限加1 为取值范围的下限程序代码段如下:INTEGER(8)I,Big,Small Big=HUGE(I)Small=Big+1 PRINT*,Largest:,Big PRINT*,Smallest:,Small根据表2-2,INTEGER(8)表示整数I的取值范围为:-92233720368547758089223372036854775807根据HUGE函数的定义,则BIG=9223372036854775807SMALL=-9223372036854775808平台(处理器和编译器)不同,相同的种类参数可能有不同的取值范围。

缺点:影响程序代码的可移植性Fortran 90 提供SELECTED_INT_KIND 函数,即:result=SELECTED_INT_KIND(r)result 代表整数 n 在范围-10rn10r内的种类参数例如:Result=SELECTED_INT_KIND(3)!2Result=SELECTED_INT_KIND(8)!4Result=SELECTED_INT_KIND(10)!8Result=SELECTED_INT_KIND(19)!-1 返回-1表示没有可用的种类参数例如:要在不同的平台下表示1010内的整数 I,可以采取如下的声明方式:INTEGER,PARAMETER:K10=SELECTED_INT_KIND(10)INTEGER(K10)I先声明依赖于特定平台的种类常数,再以该常数为种类参数声明变量表示在变量声明数据类型的同时,给变量赋初值例 2-3 PROGRAM Main Interest=0.08 Count=0.08 PRINT*,Interest=,Interest !0 PRINT*,Count=,Cont !0.0 END PROGRAM Main IMPLICIT NONE REAL Interest,Count Interest=0.08 Count=0.08 PRINT*,Interest=,Interest !0.08 PRINT*,Count=,Count !0.08 END通过类型声明,消除隐含约定带来的错误。

例2-4 变量声明及初始化PROGRAM Main IMPLICIT NONE INTEGER a REAL(8):b=2.0 COMPLEX(8):c=(1.0,2.0)CHARACTER(20):str=“Fortran 90”a=6 PRINT*,a=,a,b=,b,c=,c,str=,strEND程序执行结果:a=6,b=2.0,c=(1.0,2.0),str=Fortran 90在声明的同时给变量赋初值,符号“”不能省略,省略时可采用如下形式:INTRGER a a=6三.常量声明(PARAMETER)在程序中固定不变的常数,如圆周率、重力加速度等,可以声明成变量符号常量只能在声明时通过 PARAMETER 属性设置其值,而且只能设置一次在程序中不能改变例 2-6 常量声明 PROGRAM Main IMPLICIT NONE REAL,PARAMETER:PI=3.14159 PRINT 10,PI/6.010 FORMAT(PI/6.0=,F4.2)END计算结果:3.14159/6.0=0.523598在格式要求中F4.2,即带小数点后两位共四位的实数,按照四舍五入的原则,得到结果:0.52 算术表达式由运算符、常量和变量组成,算术表达式获得的结果是标量,只是涉及到数值的大小。

1.运算符及其优先级 Fortran 有5 种算术运算符,分别是加、减、乘、除和乘幂,按优先级由低到高排列如下:+加,减,*乘,/除,*乘幂(两个星号之间不能有空格),()括号例如3+4.0,程序执行时先将3转换成3.0,然后执行3.0+4.0,得到实型结果7.0程序执行时,先进行9/4 整数除法运算,得整型数2,然后整型数2 被转换成实型数2.0,再除以实型数3.0,最后结果时0.6666667,而不是数学上的结果0.75如果数值运算为9/4.0/3.0,最后结果是0.666666,根据数据格式写出结果表控输入/输出语句,READ*和 PRINT*语句READ和PRINT表示输入/输出,“*”表示表控输入或输出,要求从系统隐含指定的输入/输出设备上输入或输出数据1.表控输入语句 表控输入:自由格式输入READ*语句的一般形式为:READ*,变量列表约定:表控输入,不必指定输入数据的格式,只需将数据依次输入;变量列表的变量用逗号分开,例如:A1,A2,A3当程序执行到 READ*语句时,向设备发出输入数据的指令,通过键盘输入数据1,2,abc,.true.,(1,-1)-这里用的分隔符是,结果:a=1,b=2.0000000,c=abc,d=T,e=(1.0000000,-1.0000000)PROGRAM Main IMPLICIT NONE INTEGER:a=1,b=5,c=8 PRINT*,max(a,b,c)=,MAX(a,b,c)END 程序由声明语句和执行语句构成,以END结尾;Fortran90自由格式,任一列开始,容纳132字符,可续行39个;记号内不允许出现空白;注释以感叹号标识 字符集包括26个字母,数字、下划线及21个特殊字符;标识符名只能由字母、数字和下划线构成,并以字母开头,长度可达31个字符 数据类型:整型、实型、复数型、逻辑型和字符型,并以种类参数KIND(存储字节数)控制数据取值范围和精度。

字符型除种类可选参数(值为1)外,还有规定字符串长度的可选参数 通过IMPLICIT NONE 强制类型说明、声明变量的通用形式:数据类型,属性:变量列表,当有属性存在,或声明变量的同时进行初始化,声明操作符(:)是必须的声明常量使用PARAMETER属性,并在声明同时进行赋值 算术运算规则及运算符号的优先级和数学上一致,整数除法若不能整除,结果取商的整数部分,小数点后部分被去掉;若表达式中操作类型不一致,且没有进行显式类型转换,系统自动从左到右,按运算符号优先级,将低精度类型转换为高精度类型进行运算 当输入/输出简单数据时,可以适用READ*/PRINT*语句,按自由格式,分别从键盘键入数据,从屏幕显示输出数据。

下载提示
相关文档
正为您匹配相似的精品文档