第二讲 顺序结构的Fortran 程序设计

上传人:油条 文档编号:24931125 上传时间:2017-12-08 格式:PPT 页数:28 大小:457KB
返回 下载 相关 举报
第二讲 顺序结构的Fortran 程序设计_第1页
第1页 / 共28页
第二讲 顺序结构的Fortran 程序设计_第2页
第2页 / 共28页
第二讲 顺序结构的Fortran 程序设计_第3页
第3页 / 共28页
第二讲 顺序结构的Fortran 程序设计_第4页
第4页 / 共28页
第二讲 顺序结构的Fortran 程序设计_第5页
第5页 / 共28页
点击查看更多>>
资源描述

《第二讲 顺序结构的Fortran 程序设计》由会员分享,可在线阅读,更多相关《第二讲 顺序结构的Fortran 程序设计(28页珍藏版)》请在金锄头文库上搜索。

1、2017/12/8,1,第二讲 顺序结构程序设计,从设计上看,任何程序均可用顺序结构、选择结构、循环结构实现。其中,顺序结构就是按照处理顺序,依次写出相应的语句,因此,顺序结构最为简单、也是最基本的Fortran编程,本讲先学习顺序结构的Fortran程序设计。,从内容上看,程序就是数据和语句,其中数据是程序加工处理对象、语句描述了对数据的具体操作。在Fortran中,数据的表现形式有常量、变量、表达式和函数,而数据的类型分为整型、实型、复型、字符型和逻辑型,以及数组等。,因此,本讲先介绍最简单的数据类型(整型和实型)与数据形式(常量、变量、函数、算术表达式),以及最简单的Fortran语句,

2、分2节讲授。通过本讲的学习之后,就能设计最简单的Fortran程序了!,2017/12/8,2,一、Fortran常量,(1)什么是常量在程序运行的过程中,其值不改变的量。比如,12.0、-2、FORTRAN等都是常量。在Fortran中,常量分为直接常量和符号常量两大类:,(2)直接常量指数据本身就是一个常量,Fortran处理整型(Integer)、实型(Real)、双精度型(Double Precision)、复型(Complex)、逻辑型(Logical)、字符型(Character)等六种直接常量,每种数据常量有各自的表示方法。,1 Fortran程序中最基本的数据,2017/12/

3、8,3,1、整型常量:就是整型常数(整数),包括正数、负数和零。但要注意的是-数字间不能加平常表示千分位的“,”号以及加空格,也不能带小数点。比如,3,567,212、8 99、6.1都是错误的整型常量。,2、实型常量:就是实型常数(实数),有两种表示形式-小数点形式:根据小数点前后是否有数字,有3种形式 m.n、m.、.n,数字前面可以加上符号,比如,-6.8、9.(=9.0)、.89(=0.89)等。,指数形式:一般用来表示绝对值很大或很小的数,表示方式是用E表示以10为底指数,且E的左边为数字部分、右边是指数部分,比如,1.32E6(=1.32106)、2.68E-8(=2.6810-8

4、)。用指数形式表示实数时要注意:,、数字部分可以是整型的也可以是实型的,如1E2 = 1.0E2 = 100.0100,2017/12/8,4,、E的左右两边的数字部分和指数部分必须同时出现、缺一不可,比如,E-9(缺数字部分)和.E2(单独的小数点)都是不合法的。,、指数部分只能是整数、不可写成实数,如8E2.3是错误的指数表示;,(3)符号常量所谓的符号常量,是用一个标识符来代表一个常量。使用时,需要对符号常量进行说明,方法是用Parameter语句来说明(定义),比如:,Parameter(Pi=3.14159,M=80)这个语句定义了两个符号常量Pi和M,在程序单元中Pi就代表了3.1

5、4159、M代表了80。其中Parameter就是定义符号常量使用的特定标识符,被定义的量要放在括号内、而且有多个符号常量时之间要用“,”分隔。,2017/12/8,5,二、Fortran变量,(1)什么是变量变量与常量相对应,是指在程序运行的过程中,其值可以改变的量。变量实质是代表一个数据存储单元,因此,在Fortran中经常用到下面(貌似错误)的语句:,N=N+1其表示存储单元N中的数据在原来的基础上增加1。,此外,要注意parameter语句是非执行语句,在程序编译时符号常量名均被替换相应的常量,而后面要讲的变量则是一个数据存储单元(其中的值是变化的),因此符号常量不能当变量使用!,(2

6、)变量的取名变量需要一个名字来识别-变量名,其用标识符来命名,在Fortran语言中变量名的标识符只能由字母、数字和下划线组成、且开头只能是字母,比如x、total2、k123等。,2017/12/8,6,2017/12/8,7,根据数据的类型,其中的说明符包括:Integer说明变量为整型变量Real说明变量为实型变量Double precision说明变量为双精度变量Complex说明变量为复型变量Logical说明变量为逻辑型变量Character说明变量为字符型变量,2017/12/8,8,比如:Integer x,y -定义2个整型变量x和yReal area,average,stu

7、dent1 -则定义3个实型变量,说明多个变量时,变量间用“,”分开,但末尾不能用“.”,比如,double precision a,b,c.是错误的。,这种说明语句的特点是,不仅进行了变量数据类型的说明,而且还可以给被说明的变量赋予初值或变量初始化(具有双重功能)。比如:Real: total=73.2 -定义了实型变量total,同时给它赋初值为73.2。,2017/12/8,9,例如:在没有前面2种说明的情况下,i1、mCA、N3s等均为整型变量。,2017/12/8,10,关于变量的类型说明,还需要注意:1、IN规则在Fortran77中经常使用,但是其有一定的副作用,比如,隐含说明与

8、强制说明一同使用时,变量类型不清楚,因此,在Fortran90中不主张使用,这需要在程序变量说明之前加入:implicit none语句来取消IN规则。,2、3种变量类型说明方式中,强制说明优先级别最高、隐含说明Implicit次之、IN规则级别最低,就是说,当变量被强制定义为某种类型之后,Implicit 语句和IN规则对它就不起作用了。,3、Implicit语句和强制说明语句,均为非可执行语句,Fortran 规定:在编程序时,要把它们放在所有可执行语句的前面。,2017/12/8,11,三、Fortran的内部函数,(1)什么是内部函数在编程序时,经常需要直接使用数学函数,为方便Fort

9、ran语言自带有丰富的数学函数,称为内部函数,它是指能完成一定功能的程序单位,内部函数可以直接调用,但需遵守其使用规则。,1、abs(x)-求变量x的绝对值;2、sqrt(x)-求变量x的平方根;3、int(x)-取x的整数部分;4、mod(x,y)-求x除以y的余数;5、sign(x,y)-求x和y的符号;6、max(x,y,z,)-求最大值;7、min(x,y,z,)-求最小值。,2017/12/8,12,8、exp(x)-求自然指数运算;9、log(x)-求以e为底的对数(即自然对数);10、log10(x)-求以10为底的对数(即常用对数)。,11、sin(x)-求正弦;12、tan(

10、x)-求正切;13、asin(x)-求反正弦;14、atan(x)-求反正切。,(3)内部函数的使用在使用Fortran内部函数时,一定要遵守其规则,否则程序将出错甚至不能运行:,1、 Fortran内部函数调用格式: 函数名(自变量)例如:sin(90*3.14159/180) 1.0;sqrt(9.0) 3.0;abs(-5.6) 5.6;int(6.75) 6;exp(3.0) 20.085540其中自变量(常数)必须用括号括起来,比如:sinx+cosx sin(x)+cos(x),2017/12/8,13,2、内部函数含有多个自变量(参数)时,它们之间用“,”分隔,但末尾不能使用“.

11、”。比如,sin(x)、mod(m,n)等。,3、函数的自变量(参数)和函数值都是有相应的数据类型的,比如,mod(m,n)中的自变量及函数值都是整型变量,而sin(x)中的自变量和函数值则均为实型变量。,4、所有函数都必须遵循其原有的数学规则,比如负数不能开平方根,实数不能求余,负数不能求对数等。,5、要注意与数学中函数之间的某些差异,比如,log(x)表示求自然对数(即lnx)而非数学上的求常用对数(logx)。,6、注意函数自变量的单位,比如sind(x)中x取弧度。,(4)、函数运用的例子,比如,求3个数x,y,z的最大值可以表示为:Max(x,y,z),又如,判断一个自然数M是否为另

12、一个自然数N的因数,通过Mod (M,N)是否为零可以判断:如果为则是的因数,否则说明不能被整除,即Mod(m,n)0。,2017/12/8,14,四、Fortran的算术表达式,(1)什么表达式将各常量、变量、函数用运算符连接起来的式子称为表达式。,根据运算符的不同,表达式分为以下种:、算术表达式、字符表达式、关系表达式、逻辑表达式此处先介绍算术表达式-将各种运算元素(常量、变量、函数)用算术运算符连接起来的一个有值式子。,()算术运算符及其优先级、有6种算术运算符加(+) 减(-) 乘(*) 除(/) 乘方(*) 括号(),、算术运算符的优先级 括号函数乘方乘、除加、减注:同级运算“先左后

13、右”,连续乘方时“先右后左”。,比如:3+5-6.0*8.5/4*2+sin(x) 3+5-6.08.542+sinxx*y*z、x*(y*z) xyz(x*y)*z (xy)z利用算术表达式概念,就可以将:数学运算式Fortran算术表达式,2017/12/8,15,(3)Fortran 算术表达式书写注意、表达式中的各运算元素之间必须用运算符分隔。 例:xyzx*y*z 2(x+y) 2*(x+y)、作任何运算的表达式只能写在一起。 例: (a+b)/(c+d) a+b/c+d 3、表达式一律用小括号: ax+b(y+c) a*(x+b*(y+c) 4、算术表达式中的乘号不可省略,如3*x

14、不能写成3x。,()算术表达式求值时的数据类型的处理,1、同类型量运算的结果,仍为原类型。 例:4*5=20,4.0*5.0=20.0,6.0/4.0=1.5,6/4=1(1.5),2、不同类型量运算时,先将低级类型(整型)转换为高级类型(实型),然后再按同类型量进行运算。 例:2.5*4=10.0( 10) 2.0*3=2.0*2.0*2.0=8.0(属同类型量运算),2017/12/8,16,2017/12/8,17,2 Fortran程序中的基本语句,在Fortran程序中,最为基本的语句包括(给变量)赋值语句、(数据)输入语句、(数据)输出语句、以及一些(程序执行的)控制语句等。,功能

15、:把赋值号右边表达式的值,赋给赋值号左边的变量,即将表达式的值存放到变量所对应的存储单元。 例:pi=3.14156 S=3.14159*r*2 N=N+1,2017/12/8,18,(2)赋值时数据类型的转换,执行赋值语句就是把赋值号“右边”给左边的“变量”,因此:,1、当右边数据类型与变量的数据类型相同时:表达式运算完毕、直接赋值,比如: integer N real x,y N=N+1 y=2.5*x*2,2、当左右两边数据类型不同时:右边的先按原规则计算、再转换为左边变量相同的类型,然后将值赋给左边的变量。例如, integer N N=3.33*3 !(最后N为9),看一段程序:Integer m,n x=5/2Real x,y y=5.0/2M=5/2 结果:M=2, N=2 N=5.0/2 x=2.0,y=2.5,(1)表控输入(自由格式),输入数据又叫读入数据”,因此,在Fortran中用read语句实现数据输入。而表控输入方式就是从键盘自由地将数据敲入计算机内存(即变量)中。(输入实质给变量一个值),

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 行业资料 > 其它行业文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号