- 1、本文档共49页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
FORTRAN,第5章(第8章)
第五章;数据类型的概念
整型数据
实型数据
复型数据
字符型数据
逻辑型数据;5.1 数据类型的概念;整型
实型
复型
逻辑型
字符型;数据类型的性质:;5.2 整型数据;整型数据类型的字节数和取值范围;二进制常量的形式是以字母B开头,后跟用一对撇号或双引号括起来的数字串,而且每个数字不是0就是1。例如 B1011101
八进制常量的形式是以字母O开头,后跟用一对撇号或双引号括起来的数字串,而且每个数字是0到7之间的一个数字。例如,O453、O376。;十六进制常量的形式是以字母Z开头,后跟用一对撇号或双引号括起来的数字串,而且每个数字是0到9或字母A到F之间的一个。例如,ZFFA9、 B9B45 。
INTEGER i, j, k
DATA i /B110010/
DATA j /O62/
DATA k /Z32/ ;整型变量的说明;变量的属性;例5.1 求Fibonacci数列前30项之和。Fibonacci数列的递推公式是: F0=0 F1=1 Fi=Fi-1+Fi-2 ;分析:设置两个变量来存放已求得的最后两项的值:F2保存已求得的最后一项(即Fi-1),F1保存前一项(即Fi-2)。这样,下一待求项就是F1和F2之和,我们将它赋值给F,然后将原来的F2赋值给F1,原来的F赋值给F2,又可以由F1和F2推出一个新的F,如此可以一直推下去。
本例中,Fibonacci数列前30项之和是一个很大的数,已经超过了类别参数为2的整数的取值范围,只能采用类别参数为4整数。如果数超过类别参数为4的整数取值范围,就只能采用实型数据来处理。 ;5.3 实型数据 ;实型变量的说明;例5.2 利用双精度按下面近似公式求 ;?源程序如下:
Implicit none
Real*8 ::x,y,f
Integer::n
Read*,x
Y=x
F=x
Do
f=-f*(2*n-1)/(2*n)*(2*n-1)/(2*n+1)*x*x
if (abs(f) .LT. 1d-15) exit
y=y+f
n=n+1
Enddo
Print*,’y=’,y,’f=’,f
end
;5.4.1 复型常量
将两个实数用逗号分隔,再用括号括起来就构成了一个FORTRAN复型常量。其中第一个实数称为复数的实部,第二个实数称为复数的虚部。例如(1.25,0.4)、(1E2,-3.4)分别表示复数1.25+0.4i和100.0-3.4i,(1.0_4,4.2)。
复型数据的类别类型参数是用于说明实部和虚部这两个实型数据的类别类型。;5.4.2 复型变量
COMPLEX [ ( [KIND = ] 类别值) ] [ [ ,属性列表] :: ] 变量列表
COMPLEX Z1,Z2
COMPLEX(4) :: COM_VAL
COMPLEX(8) :: CZ, CQ
CZ = (3.0, 6.3)
CQ = (8.76E+5, -67.8E-3)
如果实部和虚部都不是常数,而是表达式,则应该用CMPLX函数将实部和虚部组成复型数据再赋给复型变量。例如
C = CMPLX(3.0*A, 6.0+B);例5.5 有一线段AB,A的坐标为(1,1),B的坐标为(4.5,4.5),如图5.2所示。求AB的长度,以及黄金分隔点C的坐标。黄金分割点在线段的0.618处。 ;分析:A,B的坐标可用复数表示:即A为(1.0,1.0),B为(4.5,4.5)。AB的长度就是(A-B)的模,从图中可以明显地看到,AB的长度,可用ABS函数直接求出复数的模。黄金分隔点C的坐标为A+0.618×(B-A)。 ;PROGRAM COMP_3
IMPLICIT NONE
COMPLEX::A,B,C
REAL::L
READ*,A,B
C=A+0.618*(B-A)
L=ABS(A-B)
PRINT*,′L=′,L
PRINT*,′C=′,C
END PROGRAM COMP_3
用READ语句读入复型数据时,以2个实数作为一个复型数据,第一个实数为复数的实部,第二个实数为虚部,用括号括起来。程序的输入可以如下:
( 1.0 , 1.0 ),( 4.5 , 4.5 );5.5 字符型数据 ;字符串中含有单撇号或双引号的处理;字符串内字符的个数称为字符串的长度。字符串′′和″″的长度为0。在字符串内部的空格是有效字符,并占有一个字符的位置。例如,′ABC′和′A B C′是两个不同的字符串。前者字符串的长度为3,后者为5。
一个字符常数需要写成多行源程序时,有一条特殊的规则:不仅每一续行都不能尾随注释,而且每一续行必须以续行标识符()作为开头,任何尾随
文档评论(0)