Fortran程序设计基础课件.ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《Fortran程序设计基础课件.ppt》由用户(三亚风情)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Fortran 程序设计 基础 课件
- 资源描述:
-
1、第3章 流程控制和逻辑运算流程控制 顺序结构:执行流程成直线,很难实现一些复杂功能的程序。 选择结构选择结构、循环结构、循环结构B块块PA块块成立成立不成立不成立入口入口出口出口IF (条件P) THENA块ELSEB块END IF关系表达式 关系表达式是构成选择结构判断条件的基本式子。它也是一种最简单的逻辑表达式 关系表达式的一般形式 算术量关系运算符算术量 涵义: 关系表达式是由关系运算符将两个算术量连接起来的式子。关系运算符 关系关系Fortran 77Fortran 90大于.gt.大于等于.ge.=等于.eq.=小于.lt.小于等于.le.15.4 或 x+y.gt.15.4 a+b
2、a-b 只能写成 a+b.ne.a-b 或 (a+b)/=(a-b) ex2.17 只能写成 exp(x).ge.2.17 或 exp(x)=2.17关系表达式 关系运算用于两个不同类型的运算时,将自动进行数据类型转换,规则同算术运算。 关系表达式的运算元素是算术量,结果是逻辑量:真(.True.)或假(.False.)。 运算符如 .LE.中,点与LE字符是一个整体符号,之间不能有空格。 在使用.EQ.(=)或.NE.(/=)时,应注意实数类型数据的存储误差。例如: logical A real: x=1.2 A=x*x .EQ. 1.44 print*,A 关系表达式实数运算误差对关系表达
3、式的影响如:1.0/3.0*3.0.EQ.1.0 值为.false. 1.0/3.0*3.0=0.9999999 所以采用如下的形式: a.eq.b abs(a-b).lt.1E-6 c.ne.d abs(c-d).gt.1E-6字符关系表达式 两个字符型数据也可以经比较,与数值型格式一致 两个单个字符比较,以其ASCII码比较,ASCII码大者为大 如:AB 两个字符常量(字符串)比较,将两个字符串中的字符自左向右进行比较,如有差别,则ASCII码大者为大,否则两者相等。 如:SHANGHAISHANGKONG 如果两个字符串长度不等,则系统会自动将短的字符补以空格,使两者等长再比较。 如:
4、thethen the5 (3) M能被3或5同时乘除 以上关系应如何表示呢?他们不能简单地用关系表达式表。 解决的方法是:逻辑表达式。逻辑表达式逻辑表达式的一般形式 逻辑量逻辑运算符逻辑量 逻辑表达式是由逻辑运算符将两个逻辑量连接起来的式子。 逻辑表达式的运算元素是逻辑量,结果也是逻辑量:真(.True.)或假(.False.)。 逻辑量包括逻辑常量、逻辑变量和关系表达式。逻辑运算回顾逻辑常量 两个:.true.(真).false.(假)逻辑变量 用于存放逻辑常量的变量。 逻辑变量可以通过赋值语句来接受逻辑常量的值,但在使用前,要进行类型说明。 例: logical a, b a=.true
5、. b=.false.逻辑运算逻辑运算符 .and. (逻辑与) .or. (逻辑或) .not. (逻辑非) .eqv. (逻辑等(同或) .neqv.(逻辑不等(异或)逻辑运算逻辑运算符的运算规则 若a,b为两个逻辑量,则: a.and.b(当a、b同时为真时,为真。) a.or.b (当a、b中任意一个为真或同时为真时,为真。) .not.a (当a为真,其值为假;当a为假,其值真。) a.eqv.b(当a、b为同一逻辑常量时,为真。) a.neqv.b(当a、b不为同一逻辑常量时,为真。)逻辑运算举例 例如:(1) 5x10 表示为:x=5 .and. x5 表示为:x5 或者为:ab
6、s (x) 5(3) M能被3或5同时乘除表示为:Mod(m,3)=0 .or. Mod(m,5)=0逻辑运算次序逻辑表达式的运算次序 运算次序为: 括号算术运算关系运算逻辑运算 而逻辑运算: .not.and.or.eqv.,.neqv.逻辑运算举例例1:写出下列条件的逻辑表达式。 5k10 k.ge.5.and.k.le.10 f3g或f5t abs(f).le.3*g.or.abs(f).eq.5*t 1a8并且1b8(a.ge.1.and.a.le.8).and.(b.ge.1.and.b.le.8) 逻辑运算举例若a=2.5,b=7.5,c=5.0,d=6.0,求下列逻辑表达式的值。
7、 (a.lt.b).and.(b.lt.c) t f f 逻辑运算举例若a=2.5,b=7.5,c=5.0,d=6.0,求下列逻辑表达式的值。 c/2.0+d.lt.a.and.not.true.or.c.le.d 8.5 F T F . F . T块 if 选择结构有以下三种典型的块if选择结构: 单分支结构: if (条件) then (块if语句) 块 (then块) endif (endif语句)PA块 if 选择结构 双分支结构 if (条件) then 块1 (then块) else 块2 (else块) endif PAB块 if 选择结构例: 2X3 (X2) Y X5 (X2
8、)编程如下:read(*,*) xif (x.le.2) then y=2*x+3else y=x+5endifwrite(*,*)x=,x,y=,yendX2True FalseY=2X3 Y=X+5输出结果输出结果结束结束输入输入X值值块 if 选择结构多分支块if结构 if (条件1) then 块1 else if (条件2) then 块2 (else if块) else if (条件n) then 块n else 块(n+1) endif 块 if 选择结构说明:每个块if中可以完整地包含一个(或多个)块if结构,即构成块if 的嵌套结构。如: if (条件1) then if (
展开阅读全文