当前位置:文档之家› 2FORTRAN基本语句

2FORTRAN基本语句


第一节
类型说明语句
I-N规则
(3)隐含说明变量的类型
根据变量名称的第一个字母自动决定变量的类型, 根据变量名称的第一个字母自动决定变量的类型, 变量名称的第一个字母自动决定变量的类型 且仅适用于整型和实型变量。 且仅适用于整型和实型变量。 IMax,Number,JOB,COUNT,TOTAL, 例 J,IMax,Number,JOB,COUNT,TOTAL,BOOK 最好不用这种不经说明就使用变量的方法。 最好不用这种不经说明就使用变量的方法。好的 程序员在编写程序时都会先对变量进行说明才使用变 这样能清楚了解程序执行时的内存使用情况, 量,这样能清楚了解程序执行时的内存使用情况,同 时也可避免很多“人为错误” 时也可避免很多“人为错误”。
第三节
赋值语句
三、赋值过程的类型转换作用 在一个算术赋值语句V=e V=e中 赋值变量( 在一个算术赋值语句V=e中,赋值变量(V)和表达式 的类型既可以相同,也可以不相同。Fortran中对于赋 (e)的类型既可以相同,也可以不相同。Fortran中对于赋 值时的类型转换问题作了如下规定。 值时的类型转换问题作了如下规定。 如果变量V与表达式e的类型相同,则直接进行赋值, □如果变量V与表达式e的类型相同,则直接进行赋值, 不需进行类型转换。 不需进行类型转换。 如果变量V与表达式e的类型不同, □如果变量V与表达式e的类型不同,则首先进行表达式 的求值,然后求值的结果转换为赋值变量的类型。 的求值,然后求值的结果转换为赋值变量的类型。 例1、交换A,B值; 交换A 例2、 计算
答案: 、 答案:1、2.0*SIN(3.14/4)/3.0 ( ) 2、(Sin(4.0)+cos(10*3.14/180))*exp(2.5)/ 、 (Sqrt(2.0)+abs(a*x)+log(3.0*5))
第三节
一、写法
赋值语句
V=e
V可以是一个变量名、数组名、数组元素、数组片 可以是一个变量名、数组名、数组元素、 可以是一个变量名 段或字符子串, 代表一个表达式 代表一个表达式( 段或字符子串,e代表一个表达式(包括单个常量或变 量) 二、功能 计算表达式e的值 计算表达式 的值 转化为V类型 转化为 类型 V= e 例:I=6.2*2 A=6*2 C=A+B(C复型,A,B实型 ( 复型 复型, 实型) 实型 例: M=(1.0,2.0)*2 ( , ) X=(1.5,2.0)+(2.0,1.0) )
INTEGER REAL CHARACTER LOGICAL COMPLEX
表示变量占用的内存空间的大小。 根据实际应用的不同情况可省略此项,
此时对不同类型变量有不同的缺省长度规定。
第一节

类型说明语句

类型名:: ::变量名表 类型名[*长度]:: [*长度]::变量名表 (1)类型名::变量名表 或 类型名[*长度]::变量名表
第二节
+ * ** 加法 乘法 / 减法 除法
算术表达式
用Fortran来编写数学表达式的规则和方法都很“直观化”,和在 纸上做四则运算只有一点点的差别。
乘幂 (两个星号要连续)
() 括号 (表示括起来的部分要优先计算) 越是下面的符号,运算优先级越高。程序中的表达式要注意: 1。乘幂要连用两个星号,不能像手写的时候只要把数字写成上标就行了 2。乘号不能省略。 3。除法用计算机编写是要写成水平形式,注意分子分母都要括起来。如
Imax=3.6
第一节
类型说明语句
冲突解决法: ⑷ 冲突解决法:当一个变量满足多种声明方式时 按优先级:类型说明 IMPLICIT IMPLICIT—( 规则) 按优先级:类型说明—IMPLICIT (I-N规则) REAL( 例:IMPLICIT REAL(I,J) INTEGER IMAX ⑸ IMPLICIT语句和类型说明语句应该出现在本程序 IMPLICIT语句和类型说明语句应该出现在本程序 单位的所有执行语句的前面,其中IMPLICIT IMPLICIT语句又应 单位的所有执行语句的前面,其中IMPLICIT语句又应 在所有类型说明语句的前面。 在所有类型说明语句的前面。 类型说明时,可进行变量的初始化, ⑹ 类型说明时,可进行变量的初始化,此时一定要 注意变量名前的::符号不可省略。 ::符号不可省略 注意变量名前的::符号不可省略。 real::score=89.5
Parameter 语句
(1)功能:用一个符号代表一个常量,称为符号常量(常 功能:用一个符号代表一个常量,称为符号常量( 数),这样在程序中用到这个常数时直接写这个常数名即可, ),这样在程序中用到这个常数时直接写这个常数名即可, 这样在程序中用到这个常数时直接写这个常数名即可 从而给编写程序、阅读程序以及修改程序带来方便。 从而给编写程序、阅读程序以及修改程序带来方便。 (2)写法: 写法: Parameter(PI=3.14159,g=9.81) ( , (3)位置:位于所有可执行语句之前。符号常量的定名规则 位置:位于所有可执行语句之前。 与定变量名相同。名字本身隐含类型,也遵循I 规则。 与定变量名相同。名字本身隐含类型,也遵循I-N规则。可以 用类型说明语句定义符号常量的类型。 用类型说明语句定义符号常量的类型。例: INTEGER P
第一节
类型说明语句
字符变量是用来保存一个字符或一个字符串, 字符变量是用来保存一个字符或一个字符串,其说 明方法与整型、实型、 明方法与整型、实型、逻辑型变量的说明格式有所不 同。 例 CHARACTER C1,C2 CHARACTER(LEN=10) C1,C2 CHARACTER(LEN=10) CHARACTER*10 C1,C2 或
ax2 + bx + c = 0
(设Δ>=0)
x
1,2
=
−b ±
b − 4ac
2
2a
第三节
赋值语句
三、赋值过程的类型转换作用 在不同的类型之间进行转换是有限制条件的: □在不同的类型之间进行转换是有限制条件的:数值型以及逻辑 型数据之间允许相互赋值转换; 型数据之间允许相互赋值转换;数值型数据与字符型数据之间则 不允许进行直接赋值转换,需要使用专用的字符函数; 不允许进行直接赋值转换,需要使用专用的字符函数;逻辑型数 据不允许与字符型数据之间进行直接或间接的转换。 据不允许与字符型数据之间进行直接或间接的转换。 整型数据与实型数据的相互转换遵循如下规则: □整型数据与实型数据的相互转换遵循如下规则:整型向实型转 换时,保持数值的大小不变;实型向整型转换时, 换时,保持数值的大小不变;实型向整型转换时,直接将实型的 小数部分截去。 小数部分截去。 在由整型数据向逻辑型数据转换时, □在由整型数据向逻辑型数据转换时,逻辑型数据的值由整型数 据的奇偶来决定:当整型数据为奇数时, 据的奇偶来决定:当整型数据为奇数时,转换成的逻辑型数据的 值为TRUE 当整型数据为偶数(包括0 TRUE; 值为TRUE;当整型数据为偶数(包括0)时,转换成的逻辑型数据 的值为FALSE FALSE。 的值为FALSE。 在由实型数据向逻辑型数据转换时, □在由实型数据向逻辑型数据转换时,实型数据会首先转换成整 然后再由整型向逻辑型转换。 型,然后再由整型向逻辑型转换。
⑶自变量可以是有值的常量、变量、表达式 自变量可以是有值的常量、变量、 ⑷某些函数参数只能为实型 如log(2.0)(loG(2)错) log(2.0)(loG(
第二节 例:
2 1、 sin( π ) 4 3
算术表达式
(sin 4 + cos 10°)e 2.5 2、 2 + ax + ln(3 * 5)
除法, (A+B)/C 除法,分子分母不要少括号 (A+B)/C 2**(Y+2)
第二节
1/2,2-1
算术表达式
((a+b)+c)
不轻易使用整型量除整型量 1.0/2 2.0**(-1)
[(a+b)+c] 一律采用小括号 三、表达式计算 优先级: 优先级:运算顺序
类型:同型的量运算,结果为原类型 类型:同型的量运算,
( A + B )*(C + D ) 2*( E + F )
((A+B)*(C+D))/(2*(E+F))
第二节
算术表达式
四、内在函数(的引用)写法: 内在函数(的引用)写法: 定义:系统函数, 1、定义:系统函数,系统已经定义了的函数 2、种类与写法
注:⑴三角单位为弧度 sinD cosD TAND 可以为度(F90) 可以为度(F90) ⑵自变量个数、次序、类型 自变量个数、次序、 例:MOD(5,3):2 MOD(3,5):3
Character类型的长度缺省为1,且局部定义优于统 Character类型的长度缺省为1,且局部定义优于统 类型的长度缺省为1, 一定义。 一定义。 CHARACTER*10 C1,C2*5 C1,C2*5
第一节
类型说明语句
IMPLICIT语句指定变量类型 (2)用IMPLICIT语句指定变量类型 某一字母打头的全部变量指定为所需的类型 指定为所需的类型。 将某一字母打头的全部变量指定为所需的类型。 IMPLICIT 类型名(变量名第一个字母表) 类型名(变量名第一个字母表) REAL( 例 Implicit REAL(M,L) 含义:程序中以字母M 含义:程序中以字母M、L开头的变量为实型 Integer( ),Real Real( Implicit Integer(A,C,T-V),Real(I,K) 含义:程序中以字母A 含义:程序中以字母A、C、T-V开头的变量为整型 以字母I 以字母I、K开头的变量为实型
第二节
一、算术表达式: 算术表达式:
算术表达式
5个运算符及优先级 高来自** * / +-(正,负,加,减) 低 表达式写法: 二、表达式写法: πR12+2 一行书写 3A 任意两数相乘用* 任意两数相乘用
相关主题