(方案)Fortran 程序基础.ppt

  1. 1、本文档共40页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Fortran语法结构 逻辑表达式的一般形式为: 逻辑运算量逻辑运算符逻辑运算量[逻辑运算符逻辑运算量…] 同关系表达式不同,一个逻辑表达式中可以包括多个逻辑运算符,例如逻辑表达式“A.GE.10.0.AND.A+C.GT.B+D.OR..NOT..TRUE.”中包含了.AND.、.OR.、.NOT.三个逻辑运算符。在逻辑表达式中除了有逻辑运算符外,还可以有关系运算符和算术运算符。 下面是一些逻辑表达式的例子: (A.GT.B).AND.(A.NE.C) 等价于(AB).AND.(A/=C) (X.LT.-1.0).OR.(X.GT.1.0) 等价于(X-1.0).OR.(X1.0) .NOT.((A+C)*D.LE.0.0) 等价于.NOT.((A+C)*D=0.0) (A.GT.B).EQV.(C.LE.D) 等价于(AB).EQV.(C=D) .......... * Fortran语法结构 在上面的一系列例子中,有的逻辑表达式中既有逻辑运算符,又有关系运算符和算术运算符。对于这种混合了多种运算符的表达式,Fortran语言规定了不同运算符的运算顺序: 首先计算算术表达式的值(例如前面一个范例中的A+C和B+D)。 接下来再求关系表达式的值(例如前面一个范例中的A.LE.10.0和A+C.GT.B+D)。 最后进行逻辑运算,各个逻辑运算符的先后顺序是:.NOT.>.AND.>.OR.>.EQV.=.NEQV.。 如果逻辑表达式中有括号,则先进行括号内的运算。 .......... * 程序流程控制的常用语句结构 判断If语句 goto语句 块if结构 do循环结构 常用结构 选择结构 循环结构 Fortran程序流程控制 .......... * If语句 IF(逻辑表达式) 执行语句 块If结构 IF(逻辑表达式1) THEN THEN 块 ELSE IF(逻辑表达式2) THEN ELSE IF块 …… ELSE ELSE块 END IF Fortran程序流程控制 .......... * goto 语句 goto 语句标号 do循环语句 DO 循环变量 = 循环初值,循环终值[,循环增量] 循环体 ENDDO 当循环增量为1时,可省略 Fortran程序流程控制 .......... * 选择结构设计 块IF语句 多层嵌套块IF语句 循环结构设计 “当”型循环 “直到”型循环 其他程序控制语句 End Pause stop Fortran程序流程控制 .......... * 实例分析 (1)1~100求和 (2)输入5个数,按大小排序 Fortran程序流程控制 .......... * 数组是Fortran语言中功能最为强大、运用最为灵活的一种数据结构。在存储结构上,数组占用一片连续的存储单元。程序中通过数组索引来对数组元素、片断进行操作。 数组的基本操作 数组的定义 数组的引用 数组的赋值 数组的计算 数组的输入输出 数组操作 .......... * 数组的定义 类型说明 [::] 数组名([下标下界:]下标上界[,…])[,…] 如 real runoff(365) real runoff(12,31) real runoff(1:12,1:31) 数组下标下界缺省时,值为1 数组可用DIMENSION语句定义 DIMENSION runoff(365) Real runoff ※使用数组必须先定义 数组操作 .......... * 数组引用 (1)引用数组元素 数组名(下标),如 runoff(15),rain(3,5) (2)引用全部数组 数组名,如: real B(10),A(10) B=A (3)引用数组片段 数组名(下标范围) 数组操作 .......... * PROGRAM TEST IMPLICIT NONE ! 变量定义 REAL :: A1, A2,A3,A4,A5,B(5,5) READ(*, *)A1,A2,A3,A4,A5 ! 数组片断的引用 B(1,1:5) = A1 B(2,1:5) = A2 B(3,1:5) = A3 B(4,1:5) = A4 B(5,1:5) = A5 END PROGRAM TEST 数组操作 .......... * 数组赋值 (1)赋值语句 数组对象 = value (2)data语句(赋初始值) data days/31,28,31,30,31,30,31,31,30,31,30,31/ (3)do循环 do i=1,12 do j=1,31 runoff(i,j)=0 enddo enddo 数

文档评论(0)

liuxiaoyu98 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档