资源预览内容
第1页 / 共40页
亲,该文档总共40页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
Fortran90,程序设计教程,2007.5.16,2021/9/1,FORTRAN90,2,第五章 FORTRAN90数据类型,数据类型的概念 整型数据 实型数据 复型数据 逻辑型数据 字符型数据,2021/9/1,FORTRAN90,3,5.1 数据类型的概念,数据类型的性质: 1.类型的名称 2.允许值的集合 3.允许值的表示方法 4.操作值的运算的集合,Integer Real Complex Character Logical,2字节存储:-3276832767,小数、指数,(实部,虚部),连接、计算子串位置,2021/9/1,FORTRAN90,4,5.2 整型数据,二、整型变量的申明 Integer (kind=类别参数值),属 integer b,存储字节数,默认值为 2,138_4 138_2,2021/9/1,FORTRAN90,5,例1:求Fibonacci数列的前30项之和。,PROGRAM EX5_1 IMPLICIT NONE INTEGER * 4:F1=1,F2=1,SUM=0,N DO N=1,15 SUM=F1+F2+SUM F1=F1+F2 F2=F1+F2 END DO PRINT*,SUM END PROGRAM EX5_1,2021/9/1,FORTRAN90,6,5.3 实型数据,一、实型常量的表示形式: 1.小数形式 2.指数形式(有效数字E指数_类别参数) 或 (有效数字D指数), 说明: 1.类别类型参数值可以通过KIND(0.0)获得。 2.指数字母为D时,不可再申明类别参数。 3.双精度实型数据的表示方法。,5.2D03 5.2E+03_8 Integer ,parameter :aq=8 .52e+04_aq,2021/9/1,FORTRAN90,7,二、实型变量的申明 REAL (kind=类别参数值),属性列表 part1=-b/(2.0*a) part2=sqrt(abs(d)/(2.0*a) If (d0) then x1=cmplx(part1+part2 , 0.0) x2=cmplx(part1-part2 , 0.0) Else x1=cmplx(part1,part2); x2=cmplx(part1,-part2) End if Print*,x1,x2 end,2021/9/1,FORTRAN90,14,2021/9/1,FORTRAN90,15,5.5 数值型数据之间的转换及运算,一、不同类型数据之间运算的规则: 1.先将级别低的数据类型转换为级别高的数据类型,然后在同一类型之间进行运算。 2.数据类型等级次序为:复型,双精度型,实型,整型。 3.FORTRAN不允许双精度类型数据与复型数据之间进行运算。 4.复型数据之间运算:实部与实部运算,虚部与虚部运算。,2021/9/1,FORTRAN90,16,二、不同类型数据的赋值规则: 将表达式类型转换成变量的类型。,2021/9/1,FORTRAN90,17,三、类型转换函数,2021/9/1,FORTRAN90,18,四、不同数据类型的比较规则 将级别低的数据转换成级别高的数据,再进行比较。 复型与双精度型不能比较。 复型与其它类型只能进行.EQ.及.NE.的比较。,2021/9/1,FORTRAN90,19,例4:求线段的长度及黄金分割点。,Program ex5_4 Implicit none Complex:a,b,c Real:L Read*,a,b C=a+0.618*(b-a) L=abs(a-b) Print*,L,c end,a,b,(xb ,yb),(xa ,ya),c,(xc ,yc),X,Y,2021/9/1,FORTRAN90,20,2021/9/1,FORTRAN90,21,5.6 逻辑型数据,一、逻辑常量 .TRUE. .FALSE. 逻辑型数据的类别参数: 默认逻辑型类别值为4 二、逻辑型变量的申明 LOGICAL(kind=类别参数值),属性列表 character L1,L2; read * , line1 do k=1,80 L1=line1(k:k);line2= if((lge(L1,A).and.lle(L1,Z).or. line2(k:k)=L2 else line2(k:k)=L1 end if End do print *,line2 end,
收藏 下载该资源
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号