
Fortran程序设计第2章简单的程序设计ppt课件.ppt
54页第二章第二章 简单的程序设计简单的程序设计 §2.1 程序表达式程序表达式§2.3 输入输出语句输入输出语句§2.2 赋值语句赋值语句FortranFortran言语中的表达式是指一个或多个运算的组合言语中的表达式是指一个或多个运算的组合表达式是由运算符和括号将各运算元素〔常量、变量、表达式是由运算符和括号将各运算元素〔常量、变量、函数、数组元素〕衔接起来以表示某种运算或操作的函数、数组元素〕衔接起来以表示某种运算或操作的式子FortranFortran的表达式可分为四种:的表达式可分为四种:# #算术表达式、算术表达式、# #关系表达式、关系表达式、# #逻辑表达式、逻辑表达式、# #字符表达式字符表达式§2.1 §2.1 程序表达式程序表达式 用Fortran来编写数学表达式的规那么和方法都很“直观化〞,和在纸上做四那么运算只需一点点的差别 加法 - 减法* 乘法 / 除法** 乘幂 〔两个星号要延续〕〔〕 括号 〔表示括起来的部分要优先计算〕越是下面的符号,运算优先级越高程序中的表达式要留意:1乘幂要连用两个星号,不能像手写的时候只需把数字写成上标就行了2。
乘号不能省略除法用计算机编写是要写成程度方式,留意分子分母都要括起来如〔〔A+B〕*(C+D)〕/(2*(E+F))一一. .算术表达式算术表达式1 1、算术表达式:、算术表达式: 5 5个运算符及优先级个运算符及优先级*** /+-〔正,负,加,减〕高低2 2、表达式写法:、表达式写法:πR12+23AA*〔〔-2〕〕(A+B)/C2Y+2一行书写一行书写恣意两数相乘用恣意两数相乘用*两运算符同时出现两运算符同时出现,加加( )除法,分子分母不要少括号除法,分子分母不要少括号乘法乘法,指数为表达式加括号指数为表达式加括号3.14*R1**2+23*AA*(-2)(A+B)/C2**(Y+2)1/2,2-1[(a+b)+c]不随便运用整型量除整型量不随便运用整型量除整型量一概采用小括号一概采用小括号1.0/2 2.0**(-1)((a+b)+c)3、表达式计算、表达式计算优先级:运算顺序优先级:运算顺序类型:同型的量运算,结果为原类型类型:同型的量运算,结果为原类型混合运算:混合运算:低级低级高级:整、实、双、复高级:整、实、双、复先比较类型,类型一样再比较长度先比较类型,类型一样再比较长度例:例: 1/2*2=0 8/5+2.0*5/2=6.0〔逐渐转化〕〔逐渐转化〕二二. . 关系表达式关系表达式关系表达式是最简单的一种逻辑表达式。
<算术量><关系运算符><算术量>算术量可以是数值常量、数值型变量、数值函数,也可以是算术表达式注:注: 〔〔1〕一个关系运算符,两个算术或字符表达式〕一个关系运算符,两个算术或字符表达式 错例:错例:2 括号有无不影响比较结果三三. 逻辑表达式逻辑表达式逻辑表达式逻辑表达式——表示复杂的条件表示复杂的条件 例:例: 0<=x<5 0<=x 同时同时 应该为应该为 0<=x.AND.x<5 x<51.逻辑运算符及优先级逻辑运算符及优先级 .NOT.、、.AND.、、.OR.、、 .EQV.、、.NEQV. 、、.XOR.(异或异或)高高 低低2.运算规那么运算规那么 X.EQV.Y X、、Y同时为同时为 真,表达式为假真,表达式为假 注:注:NOT为单目运算符,位于操作数之前为单目运算符,位于操作数之前3.逻辑表达式写法逻辑表达式写法〔逻辑等、逻辑同〕〔逻辑不等、逻辑异〕错例:错例: AA.AND.LOG 〔〔AA为整型为整型 LOG为逻辑型〕为逻辑型〕 .OR.WL LOG.AND..OR.WL4.逻辑表达式和计算:逻辑表达式和计算: 运算顺序:运算顺序: 〔〔 〕〕 函数函数 算术算术 关系关系 逻辑逻辑注:注:AND、、NOT之间点号不可省略〔之间点号不可省略〔F90〕〕 练习表达式的写法练习表达式的写法 1、、 数学式数学式 A
〞例:例: ‘AB’// ‘CDEF’其结果为其结果为‘ABCDEF’ 字符表达式的值依然是字符型的,字符型数据不字符表达式的值依然是字符型的,字符型数据不能与其它类型的数据进展混合运算能与其它类型的数据进展混合运算1 1 定义:系统函数,系统曾经定义了的函数定义:系统函数,系统曾经定义了的函数 FORTRAN FORTRAN言语中专门提供了一些经典函言语中专门提供了一些经典函数的计算程序,供用户编写程序时援用运数的计算程序,供用户编写程序时援用运用时,只需按照言语中的规范写法在表达式用时,只需按照言语中的规范写法在表达式中写出要计算的内部函数名,同时在函数名中写出要计算的内部函数名,同时在函数名后写出自变量,编译程序便可自动予以处置后写出自变量,编译程序便可自动予以处置FORTRANFORTRAN内部函数:内部函数:2 2、种类与写法、种类与写法ABS(x)EXP(x)SQRT(x)Cos(x)Sin(x)TAN(x)LOG(x)MOD(A1,A2)注:注:⑴⑴三角单位为弧度三角单位为弧度 sin(1.0) sin(1.0)不是不是sin1 °sin1 °而是而是 sin(57.28578)sin(57.28578)⑵⑵自变量个数、次序、类型自变量个数、次序、类型 例例:MOD(5,3):2 :MOD(5,3):2 MOD(3,5):3 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 §2.2 赋值语句赋值语句赋值语句的作用是实现计算和给变量赋值。 赋值语句的作用是实现计算和给变量赋值FORTRAN言语提供了言语提供了3类赋值言语:类赋值言语:〔〔1〕算术赋值言语〕算术赋值言语〔〔2〕字符赋值言语〕字符赋值言语〔〔3〕逻辑赋值言语〕逻辑赋值言语一、普通格式为:一、普通格式为: V=e 变量变量=表达式表达式 例:例:A=3.14159*R**2 B=A C=3二、功能二、功能计算表达式计算表达式e的值的值转化为转化为V类型类型V =e注:注:I=‘a’ I=‘a’ 〔类型不同仍可赋值〕〔类型不同仍可赋值〕 Print* Print*,,I I三、作用三、作用 1 1、计算〔公式、计算〔公式————赋值语句〕赋值语句〕 2 2、赋值、赋值四、留意点四、留意点: 1、、= 具有方向性:具有方向性:A=BB=AABBA错例:错例:x+y=1 3=A2、、A=A+1 计数器计数器新新 原原3、右侧变量应预先有值、右侧变量应预先有值 逻辑型赋值语句:逻辑型赋值语句: 写法:逻辑型写法:逻辑型V=逻辑型逻辑型e §2.3 §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*Read*,,A A,,B B,,C C 输入:输入: 2 2,,1/3 1/3 结果:结果: A=2 B=1 C=0 A=2 B=1 C=0 ⒌⒌多个多个ReadRead语句语句 每个每个ReadRead必需从一个新的行输入数据必需从一个新的行输入数据 例:例:read*,a,b,c,dread*,a,b,c,d read*,e read*,e 1,2,3 1,2,3数据不够,继续读取下一行数据不够,继续读取下一行 4,5 4,5 5 5 作为无效数据被放弃作为无效数据被放弃 6 6 输出语句输出语句表控输出语句表控输出语句一、含义:数据一、含义:数据 显示显示二、写法:二、写法:WRITE 〔〔*,,*〕输出表〕输出表 PRINT*,输出表,输出表表控格式表控格式 变量名,表达式:值变量名,表达式:值常量:原样输出常量:原样输出空:空行空:空行变量之间用逗号分隔变量之间用逗号分隔三、功能:按表控格式依次输出各数据的值。 三、功能:按表控格式依次输出各数据的值 例:例:PRINT*,,’N=’,,N 四、表控格式:四、表控格式:⒈⒈固定的输出宽度固定的输出宽度N=N=B B⒉⒉类型:复型:类型:复型: 带〔带〔 〕输出〕输出 逻辑型:逻辑型:T T,,F F 输出一个字符输出一个字符 字符型:字符型:‘’‘’丧失,采用左对齐输出丧失,采用左对齐输出3.3.一行显示不下,数据自动换行输出一行显示不下,数据自动换行输出4.4.多个多个PRINTPRINT语句:每个开场输出一个新的记录语句:每个开场输出一个新的记录〔〔1 1〕功能:用一个符号代表一个常量,称为符号常〕功能:用一个符号代表一个常量,称为符号常量〔常数〕,通常目的在于简化程序码、减少错误、量〔常数〕,通常目的在于简化程序码、减少错误、方便修正以及添加可读性方便修正以及添加可读性〔〔2 2〕写法:〕写法:PARAMETER(PI=3.14159)PARAMETER(PI=3.14159)例:例:Area=PI*radius**2Area=PI*radius**2RealReal,,Parameter Parameter ::::G=9.8 &&G=9.8 &&阐明类型时赋值阐明类型时赋值〔〔3 3〕位置:位于可执行语句之前〕位置:位于可执行语句之前参数语句〔参数语句〔PARAMETERPARAMETER语句〕语句〕 ①① 数值只能设定一次,程序中不得改动其值数值只能设定一次,程序中不得改动其值 ②② 与普通常量的区别:与普通常量的区别: 不作语句标号和不作语句标号和FORMAT中反复系数中反复系数 ③③ 类型:类型: 普通采用普通采用I-N规那么,否那么,需先定义其类规那么,否那么,需先定义其类型型错例:错例:PARAMETER(N=5) ……. N=N+1 〔〔4 4〕运用规那么〕运用规那么〔〔1〕区别:〕区别: 语句个数不同,每个程序单位中,语句个数不同,每个程序单位中,END 只能出现一次;只能出现一次;STOP、、PAUSE语句可以出现多次。 语句可以出现多次 各自功能不一样各自功能不一样ENDEND语句、语句、STOPSTOP语句和语句和PAUSEPAUSE语句语句END语句语句STOP语句语句PAUSE语句语句 1 1、确定问题的需求、确定问题的需求 例:求方程例:求方程 的根 2 2、分析设计解题方案:、分析设计解题方案: 要求细化到用语句实现要求细化到用语句实现 例:第一步:计算某个值例:第一步:计算某个值 第二步:经过赋值语句实现第二步:经过赋值语句实现 第三步:推导出该值的计算公式第三步:推导出该值的计算公式补充补充: :程序设计的普通步骤程序设计的普通步骤: :3、算法的表示〔流程图〕、算法的表示〔流程图〕4、编写程序、编写程序5、静态调试〔口头运转〕、静态调试〔口头运转〕6、上机调试、上机调试7、文档阐明、文档阐明例:鸡兔同笼,总头数例:鸡兔同笼,总头数H,总脚数,总脚数F,求鸡兔各多少只〔,求鸡兔各多少只〔x,y〕〕 分析:分析:x +y=H2x+4y=F程序举例:【1】求三角形面积:【2】输入5个数,要求打印出其中绝对值最大的数。 【3】我国人口在1982年统计为10.3亿,假设年增长率为1.5%,求公元2021年末的人口数QUESTION???。





![河南新冠肺炎文件-豫建科[2020]63号+豫建科〔2019〕282号](http://img.jinchutou.com/static_www/Images/s.gif)






