Fortran程序设计(第2章-简单的程序设计).ppt_第1页
Fortran程序设计(第2章-简单的程序设计).ppt_第2页
Fortran程序设计(第2章-简单的程序设计).ppt_第3页
Fortran程序设计(第2章-简单的程序设计).ppt_第4页
Fortran程序设计(第2章-简单的程序设计).ppt_第5页
已阅读5页,还剩49页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第二章 简单的程序设计,2.1 程序表达式,2.3 输入输出语句,2.2 赋值语句,Fortran语言中的表达式是指一个或多个运算的组合。表达式是由运算符和括号将各运算元素(常量、变量、函数、数组元素)连接起来以表示某种运算或操作的式子。 Fortran的表达式可分为四种: #算术表达式、 #关系表达式、 #逻辑表达式、 #字符表达式,2.1 程序表达式,用Fortran来编写数学表达式的规则和方法都很“直观化”,和在纸上做四则运算只有一点点的差别。 + 加法 - 减法 * 乘法 / 除法 * 乘幂 (两个星号要连续) () 括号 (表示括起来的部分要优先计算) 越是下面的符号,运算优先级越高。程序中的表达式要注意: 1。乘幂要连用两个星号,不能像手写的时候只要把数字写成上标就行了 2。乘号不能省略。 3。除法用计算机编写是要写成水平形式,注意分子分母都要括起来。如,一.算术表达式,1、算术表达式: 5个运算符及优先级,* * / +-(正,负,加,减),高 低,2、表达式写法:,R12+2 3A A*(-2) (A+B)/C 2Y+2,一行书写 任意两数相乘用* 两运算符同时出现,加( ) 除法,分子分母不要少括号 乘法,指数为表达式加括号,3.14*R1*2+2 3*A A*(-2) (A+B)/C 2*(Y+2),1/2,2-1 (a+b)+c,不轻易使用整型量除整型量 一律采用小括号,1.0/2 2.0*(-1) (a+b)+c),例: 1/2*2=0 8/5+2.0*5/2=6.0(逐步转化),二. 关系表达式,关系表达式是最简单的一种逻辑表达式。 算术量可以是数值常量、数值型变量、数值函数,也可以是算术表达式。,注: (1)一个关系运算符,两个算术或字符表达式 错例:2b)c (2)算术或字符表达式 错:A=.TRUE. (3)不允许算术表达式与字符表达式比较 错例:2A, (4)复型:只能进行 .EQ.、.NE.,(5).EQ.(= =)或.NE.(/=)要小心使用 0.1*10=1结果可能为.FALSE. 实型量一般要改写: abs(0.1*10-1)=1E-6 运算规则:先计算算术表达式的值 再进行关系运算: 成立:.TRUE.; 不成立:.FALSE. 例 a*bc*d 等价于 (a*b)(c*d) 括号有无不影响比较结果。,三. 逻辑表达式,逻辑表达式表示复杂的条件,错例: AA.AND.LOG (AA为整型 LOG为逻辑型) .OR.WL LOG.ANDOR.WL 4.逻辑表达式和计算: 运算顺序: ( ) 函数 算术 关系 逻辑 注:AND、NOT之间点号不可省略(F90),练习表达式的写法 1、 数学式 ABCD 2、 1x2+y22 3、 M能被N整除 4、 整数A、B之一为0 但不同时为0 5、 A、B同时为正,或同时为负,四. 字符表达式,FORTRAN77只提供了一种字符的运算,就是字符的并值运算,所谓并值计算就是把两个字符串连接起来,形成一个新的字符串,因此,字符运算符只有一种,即并值运算符“/”。 例: AB/ CDEF 其结果为ABCDEF。 字符表达式的值仍然是字符型的,字符型数据不能与其它类型的数据进行混合运算。,1 定义:系统函数,系统已经定义了的函数 FORTRAN语言中专门提供了一些经典函数的计算程序,供用户编写程序时引用。使用时,只要按照语言中的标准写法在表达式中写出要计算的内部函数名,同时在函数名后写出自变量,编译程序便可自动予以处理。,FORTRAN内部函数:,2、种类与写法,ABS(x) EXP(x) SQRT(x),Cos(x) Sin(x) TAN(x) LOG(x) MOD(A1,A2),注: 三角单位为弧度 sin(1.0)不是sin1 而是 sin(57.28578) 自变量个数、次序、类型 例:MOD(5,3):2 MOD(3,5):3 自变量可以是有值的常量、变量、表达式 不同内部函数自变量个数和类型都有不同规定,例: 1、 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),2.2 赋值语句,赋值语句的作用是实现计算和给变量赋值。 FORTRAN语言提供了3类赋值语言: (1)算术赋值语言 (2)字符赋值语言 (3)逻辑赋值语言,一、一般格式为: V=e 变量=表达式 例:A=3.14159*R*2 B=A C=3 二、功能,计算表达式e的值 转化为V类型 V =,e,注:I=a (类型不同仍可赋值) Print*,I,三、作用 1、计算(公式赋值语句) 2、赋值,四、注意点: 1、= 具有方向性:,A=B B=A,A,B,B,A,错例:x+y=1 3=A,2、A=A+1 计数器,新 原,3、右侧变量应预先有值 逻辑型赋值语句: 写法:逻辑型V=逻辑型e,2.3 输入输出语句,输入语句,表控输入语句,一、含义 输入:数据 内存(变量) 赋值语句:定值,少量,程序中变值 输入语句:变动(待定),批量,执行时送值,二、写法 简单的输入语句: Read *,变量名表 Read(*,*)变量名表,表控格式、自由格式,键盘 表控格式,例:Read*,A,D,F,三、功能:执行时,暂停,等待用户从键盘输入数据, 分别赋给各变量,赋值顺序自左向右。 四、程序执行过程中按表控格式输入数据 各数据间有分隔符:,或空格。 类型匹配:整型:带小数点只取整数部分; 实数:可以为整数; 复数:(实部,虚部); 字符:一串字符:赋值时长度转化 或一串字符 即可省略。 逻辑:以T或F作为第一个字母的字符串 (点号1个、空格多个在前忽略),例:read *,I 输入:2.5 取2 如输入2+1,则出错 出错信息: run-time error F6601:Read(con)-Invalid Integer 含义: 输入了无效的整数 个数: 1)不得少于变量的个数; 2)可分行输入; 3)多余的数据不起作用,无效值的输入 , 连续两个逗号,对变量值不影响。 空格可以多个,/表示输入数据结束,后面的数据被取消,没有输入数据的变量值为原值; Read*,A,B,C 输入: 2,1/3 结果: A=2 B=1 C=0,多个Read语句 每个Read必须从一个新的行输入数据 例:read*,a,b,c,d read*,e 1,2,3 数据不够,继续读取下一行 4,5 5 作为无效数据被放弃 6,输出语句,表控输出语句,一、含义:数据 显示 二、写法:WRITE (*,*)输出表 PRINT*,输出表,表控格式,变量名,表达式:值 常量:原样输出 空:空行 变量之间用逗号分隔,三、功能:按表控格式依次输出各数据的值。 例:PRINT*,N=,N,四、表控格式: 固定的输出宽度,N=,B,类型:复型: 带( )输出 逻辑型:T,F 输出一个字符 字符型:丢失,采用左对齐输出 3.一行显示不下,数据自动换行输出 4.多个PRINT语句:每个开始输出一个新的记录,(1)功能:用一个符号代表一个常量,称为符号常量(常数),通常目的在于简化程序码、减少错误、方便修改以及增加可读性。 (2)写法: PARAMETER(PI=3.14159) 例:Area=PI*radius*2 Real,Parameter :G=9.8 &说明类型时赋值 (3)位置:位于可执行语句之前,参数语句(PARAMETER语句), 数值只能设定一次,程序中不得改变其值 与普通常量的区别: 不作语句标号和FORMAT中重复系数 类型: 一般采用I-N规则,否则,需先定义其类型 错例:PARAMETER(N=5) . N=N+1,(4)使用规则,(1)区别: 语句个数不同,每个程序单位中,END 只能出现一次;STOP、PAUSE语句可以出现多次。 各自功能不相同。,END语句、STOP语句和PAUSE语句,END语句,STOP语句,PAUSE语句,1、确定问题的需求 例:求方程 的根。 2、分析设计解题方案: 要求细化到用语句实现。 例:第一步:计算某个值 第二步:通过赋值语句实现 第三步:推导出该值的计算公式,补充:程序设计的一般步骤:,3、算法的表示(流程图) 4、编写程

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论