Fortran数据类型.ppt
文本预览下载声明
5.1 数据类型的概念 整型变量的说明 实型常量的表示方法: 小数形式[ _类别参数] 有效数E指数[ _类别参数] 有效数D指数 实型变量的说明 REAL :: x,y !单精度 REAL(4)::DX,DY 或:REAL*4 :: DX,DY !单精度 REAL(8)::a1,b2 或:REAL*8 :: a1,b2 !双精度 DOUBLE PRECISION :: a6,b8 !双精度 5.4 复型数据 P75 例5.5 有一线段AB,A的坐标为(1,1),B的坐标为(4.5,4.5)。求AB的长度,以及黄金分隔点C的坐标。黄金分割点在线段的0.618处。 分析:A,B的坐标可用复数表示:即A为(1.0,1.0),B为(4.5,4.5)。AB的长度就是(A-B)的模,可用ABS函数直接求出复数的模ABS(A-B)。黄金分隔点C的坐标为A+0.618×(B-A)。 5.5 字符型数据 用于字符处理的内部函数 也可以用INDEX函数: PROGRAM CHAR_2 IMPLICIT NONE CHARACTER*10::WORD DO READ*, WORD IF(WORD==ZZZ)EXIT IF(INDEX(WORD, B)==1) PRINT*, WORD END DO END PROGRAM CHAR_2 为了保密,常不采用明码电文,而用密码电文,按事先约定的规律将一个字符转换为另一个字符。收报人则按相反的规律转换得到原来的字符。例如,将字母A→F,B→G,C→H,即将一个字母变成其后第五个字母。例如: ″HE IS IN BEIJING.″应转换为: ″MJ NX NS GJNONSL.″ 5.6 逻辑型数据 INTEGER::Z REAL ::X, Y LOGICAL::P, Q, R, S READ*, X, Y Z=3 P=X=-5.0 .AND. X=-3.0 Q=X=1.0 .AND. X=3.0 R=Y=-6.0 .AND. Y=-4.0 S=Y=2.0 .AND. Y=4.0 IF((P.AND.R) .OR. (P.AND.S) .OR. (Q.AND.R) .OR. (Q.AND.S))Z=0 PRINT*, X=, X, Y=, Y, Z=, Z END * * 内部数据类型 数值型 非数值型 派生数据类型 第五章 FORTRAN 90数据类型 整型 实型 复型 逻辑型 字符型 系统提供了多种表示整数值的方法,每种方法定义了一个整型数据值的集合。 每种方法用类别类型参数来区分。整型常量的表示形式为一个数字串,并在数字串后有一个可任选的下划线后再跟类别类型参数。 例如,373、-1024、35792、0、32_2、1992110235764803_8 5.2 整型数据 二进制、八进制和十六进制整型常量,只能用于DATA语句中。 二进制常量:以字母B开头,后跟一对撇号或双引号括起来的数字串,数字不是0就是1。如 B1011101 八进制常量:以字母O开头,后跟一对撇号或双引号括起来的数字串,数字是0到7之间的数字。例如,O453、O376。 十六进制常量:以字母Z开头,后跟一对撇号或双引号括起来的数字串,且每个数字是0到9或字母A到F之间的一个。例如,ZFFA9、 Z9B45 。 INTEGER i, j, k DATA i /B110010/ DATA j /O62/ DATA k /Z32/ 格式: INTEGER [( [ KIND = ] 类别参数值 )] [[ ,属性列表]::] 变量列表 类别参数可缺省,取决于计算机的字长, 对于32 位计算机默认为 –231 ? 231-1 类别参数值取: 1 2 4 8 对应字节数 : 1 2 4 8 可等价写成: INTEGER*2 :: K,LIMIT INTEGER*4 :: MIN,MAX 例:INTEGER I,TOTAL INTEGER(2)::K,LIMIT INTEGER(KIND=4)::MIN,MAX 使变量具有符号常量属性: integer(4) , parameter :: n=10 使变量具有数组属性: integer , dimension(1:10) :: A 5.3 实型数据 FORTRAN用类别类型参数区分不同类型的实型数据。实型数据有单精度和双精度之分。单精度类别类型参数值为4,双精度数类别类型参数值为8。默认
显示全部