欢迎来到天天文库
浏览记录
ID:37118356
大小:6.10 MB
页数:58页
时间:2019-05-10
《符号常量及其定义方法》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、2.3符号常量及其定义方法FORTRAN77允许用一个名字来代表一个常量,例如,可以指定用PI来代表3.1415926,在本程序单位用到PI时,它就代表3.1415926,这个PI就称为“符号常量”(或“符号常数”),即用一个符号来代表一个常量。FORTRAN规定用PARAMETER语句来定义符号常量。例如:PARAMETER(PI=3.1415926)PARAMETER语句也称参数语句,它与赋值语句不同,它是非执行语句,并且在程序中定义一个符号常量后,不能再以任何形式改变它的值。这是符号常量与变量的最大区别。PARAMETER语句应写在所有执行语句之前。符号常量的定名规则与定变量名规则相同。
2、名字本身隐含类型,也遵循I--N规则。可以用类型说明语句定义符号常量的类型。在一个参数语句中可以定义多个符号常量。例如:PARAMETER(A=0.5,N=50,J=30)用符号常量的好处是:如果需要改变某一常数时,不需一一改变这个常数,只需改变参数语句中符号常量的值即可。注意:类型语句和参数语句的先后顺序,必须类型语句在前,参数语句在后。符号常量不能作为语句标号,也不能出现在FORMAT语句中代替常数。除此以外,凡出现常数处均可用符号常量代替。2.4FORTRAN内部函数表1下面举例说明函数的求值:SIN(1.0)=sin(57.29578o)=0.8414709TAN(1.0)=tan(5
3、7.29578o)=1.557408ATAN(1.0)=arctan(1.0)=0.7853981(弧度)LOG(3.0)=ln3=1.098612INT(8.6)=8INT(-8.6)=-8MOD(8,3)=2SIGN(4.0,-0.5)=-4.0SIGN(-4.0,0.5)=4.0REAL(8)=8.0MAX(8,6,7,15,-1)=15MIN(8,6,7,15,-1)=-1说明:(1)FORTRAN77提供的系统函数称为“内部函数”。FORTRAN将这些函数分别编成一个个子程序,组成函数库,存在于外部介质(如磁盘)上。在完成源程序的编译之后,用连接命令实现连接,即将已翻译成二进制指令的
4、目标程序与函数库连接。也就是将程序中出现函数名的地方用函数库中相应的一组指令代入之,组成一个统一的“可执行目标块”。例如,程序中出现一个SIN函数,在连接时就将一组二进制指令直接插入到程序中出现SIN的地方。由于是插入到程序内部的,所以称为“内部函数”。(2)一个内部函数要求一个或多个自变量。从附录中可以查出自变量(参数)的个数。例如,SQRT函数只能有一个自变量(如SQRT(4.6)),MOD函数要求两个自变量(如MOD(8,3)),MAX和MIN函数要求两个以上自变量(如MAX(6,8,10),MIN(-6,8,0)等)。请注意,当自变量个数规定为2个时,自变量的顺序不应任意颠倒,如MOD
5、(8,3)表示8被3除的余数,其值为2,而MOD(3,8)则表示3被8除的余数,其值为3。当自变量个数为≥2时,自变量的顺序无关,如MAX(6,8,10)和MAX(8,10,6)结果是一样的。(3)函数的自变量是有类型的,函数值也是有类型的,例如MOD(8,3)中自变量8和3是整型,函数MOD(8,3)的值“2”也是整型,如果写成MOD(8.0,3.0),自变量是实型的,函数值也是实型的,其值为2.0。要特别注意,当自变量的个数为两个或两个以上时,它们的类型必须一致,否则出错。(4)三角函数中角度的单位是“弧度”而不是“度”。SIN(1.0)=sin(57.29578o)=0.8414709A
6、TAN(1.0)=0.7853981(弧度)例如,SIN(1.0)表示的不是sinlo,而是sin57.29578o1弧度=57.29578osin30o应写成SIN(30*3.14159/180)(5)自变量可以是常量,变量或表达式。例如SQRT(4.0),SQRT(A)和SORT(2.0+2.0)均为合法。自变量的值必须落在取值范围之内,例如,SQRT的自变量不得为负数,LOG、LOG10的自变量必须大于0,MOD的第二个自变量不能为0等。自变量的类型应符合要求。例如SQRT(1)就不合法,因为1为整型变量,而SQRT函数的自变量不能是整型量。(6)INT函数的作用是简单地截去小数部分,如
7、INT(8.6)=8,INT(-8.5)=-8。(7)SIGN函数的作用是“符号传送”。SIGN(A,B)的作用是将B的符号传送给A,例如,SIGN(6.5,-8.3)的值为-6.5,它将第二项的符号(负号)传送给第一项。SIGN(-6.5,8.3)的值为6.5,因为第二个自变量为正数。也就是说,函数值的符号与第二个自变量的符号相同。利用这个函数可以检查A和B是否同符号。如果SIGN(A,B)=A
此文档下载收益归作者所有