Fortran结构化程序设计课件_第1页
Fortran结构化程序设计课件_第2页
Fortran结构化程序设计课件_第3页
Fortran结构化程序设计课件_第4页
Fortran结构化程序设计课件_第5页
已阅读5页,还剩771页未读 继续免费阅读

下载本文档

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

文档简介

Fortran结构化程序设计Fortran结构化程序设计Fortran结构化程序设计说明第一章算法(略)第二章计算机和计算机程序(略)2021/1/1821Fortran结构化程序设计Fortran结构化程序设计Fo说明第一章算法(略)第二章计算机和计算机程序(略)22022/12/9说明22022/12/9第三章

语言程序设计初步

32022/12/9第三章

语言程序设计初步32022/12/93.1语言的发展概况

公式翻译器语言是一种适合于科学和工程计算问题的程序设计语言;也是计算机高级语言发展史上使用最早的一种程序设计语言。42022/12/93.1语言的发展概况

公式翻译器42022/12/3.1语言的发展概况语言的发展过程:1951年由约翰·贝克斯等人开始研究语言;1957年第一个程序在704机上运行;1958和1962年先后推出Ⅱ和Ⅳ;1966和1978年先后颁布66和77;1991年颁布了90。现在已经有了95,200352022/12/93.1语言的发展概况语言的发展过程:52022/12/9语言的特征语言的最大特性是接近数学公式的自然描述,在计算机里具有很高的执行效率。易学,语法严谨。可以直接对矩阵和复数进行运算。自诞生以来广泛地应用于数值计算领域,积累了大量高效而可靠的源程序。很多专用的大型数值运算计算机针对做了优化。广泛地应用于并行计算和高性能计算领域。90,95,2003的相继推出使语言具备了现代高级编程语言的一些特性。62022/12/9语言的特征语言的最大特性是接近数学公式的自然描述,在计算机里3.2简单的程序分析例1:求一元二次方程x2+35.6=0的根,并打印结果。利用公式:(这里,1,3,5.6)72022/12/93.2简单的程序分析例1:求一元二次方程x2+3.2简单的程序分析编程如下:c 1.0 3.0 5.6 x1=((b*4.0*a*c))/(2.0*a) x2=((b*4.0*a*c))/(2.0*a)(*,100)x12100(1x,'x1='6.2,'x2='6.2)

82022/12/93.2简单的程序分析82022/12/93.2简单的程序分析执行结果:x1=1.30x24.30例2:试求3!,6!,9!的值。编程如下:92022/12/93.2简单的程序分析执行结果:例2:试求3!,6!,9!3.2简单的程序分析主程序:子程序:cc(3)k(n) (6)1(9)2 (*,*)5() *i 1 执行结果:56720362880

102022/12/93.2简单的程序分析主程序:子程3.2简单的程序分析程序的基本结构:⑴一个源程序由一个或多个程序单位组成,每个程序单位以“”语句结束。⑵每个程序单位包括若干行语句行(执行语句和非执行语句行)非语句行(注释行)⑶语句前可不设标号,也可根据需要设标号。⑷各类语句在程序单位中的位置有一定规则。⑸程序必须按规定格式书写。112022/12/93.2简单的程序分析程序的基本结构:112022/123.3源程序的书写格式77源程序必须按以下格式书写:⑴每行只能在80列内书写,并把80列分为4个区。⑵1~5列:标号区(1~5位无符号整数;第1列为“*”或“c”时,为注释行)⑶第6列:续行标志区(非空格或非零字符;最多19个续行)⑷7~72列:语句区(书写语句;一行只能写一条语句)⑸73~80列:语句注释区(一般作编号注释)122022/12/93.3源程序的书写格式77源程序必须按以下格式书写:13.4程序的编辑与运行4.0集成开发环境简介132022/12/93.4程序的编辑与运行4.0集成开发环境132022/3.4程序的编辑与运行一、4.0的启动选“开始”→“程序”→“4.0”→“”。二、创建项目工作间选“”→“”→“”→“”,并输入项目工作间名称(如:)和存放项目工作间的位置或路径(如:c:\\)→。142022/12/93.4程序的编辑与运行一、4.0的启动142022/13.4程序的编辑与运行三、给项目工作间添加和编辑文件打开指定的项目工作间→选“”→“”→输入要添加的文件名(如:01)→“”。然后按程序的书写规则编辑程序。四、编译项目工作间中的文件打开指定的文件→选“”→“01”。五、连编项目文件选“”→“”。六、运行项目文件选“”→“”。(显示程序执行结果)152022/12/93.4程序的编辑与运行三、给项目工作间添加和编辑文件1523.4程序的编辑与运行注:若程序是由一个主程序文件和若干个子程序文件组成,则应将各文件添加到同一项目工作间,分别进行编译,然后连编和运行项目文件。七、打开项目文件选“”→“”→在打开对话框文件类型下拉列表中选“(*)”→然后选项目工作间文件夹中的项目文件。162022/12/93.4程序的编辑与运行注:若程序是由一个主程序文件和若干个3.5常量常量——在程序执行期间其值固定不变的量。处理六种类型的常量:⑴整型常量()⑵实型常量()⑶双精度常量()⑷复型常量()⑸逻辑型常量()⑹字符型常量()172022/12/93.5常量常量——在程序执行期间其值固定不变的3.5常量3.5.1整型常量包括正、负整数和零。例:5,-13,0,…说明:①在(16位)微机中,整数的取值范围为:-215~215-1(-32768~32767)②在(32位)微机中,整数的取值范围为:-231~231-1(-2147483648~2147483647)182022/12/93.5常量3.5.1整型常量182022/13.5常量3.5.2实型常量(有二种表示形式)⒈小数形式例:15.8,-21.05,14.0,14.,.17,0.0,…⒉指数形式(通常表示较大或较小的数)例:100000000→1.080.0000125→1.2505数字部分指数部分192022/12/93.5常量3.5.2实型常量192022/13.5常量说明:⑴一个数值用指数形式表示时有两种表达方式:①一个基本实数后面跟指数部分。例:0.876→8.761-2589.4→-2.58943②一个整数后面跟指数部分。例:0.876→8763-2589.4→-258941202022/12/93.5常量说明:202022/12/93.5常量⑵同一个数值可用不同的指数形式表示。例:0.876→8.761→87.62→8763⑶计算机在输出时,按标准化指数形式输出。例:0.28→2.80000001-59.5812→-5.95800013即数字部分大于1,且小数点前只有一位非零数字的指数输出形式。⑷在微机中,一般用四个字节存放一个实数,其取值范围为:10-75~1075。超出此范围时为“溢出”错误。212022/12/93.5常量⑵同一个数值可用不同的指数形式表示。23.5常量⑸下列形式为不合法的指数形式:①单独的小数点和单独的指数部分。例:5,E10×②指数部分只能是整数,不能带小数点。例:8E0.5,12.3E1.5×222022/12/93.5常量⑸下列形式为不合法的指数形式:22203.6变量变量——在程序执行期间其值可以改变的量。3.6.1变量的概念为每一个变量分配一个相应的存储单元;每个变量在每个时刻只能有一个确定的值。例:4.5x8.0x注:在程序中用到的变量都必须要有确定的值。4.58.0232022/12/93.6变量变量——在程序执行期间其值可以改变的3.6变量3.6.2变量名变量名——标识一个变量所用的名字。命名规则:变量名的第一个字符必须是字母;在第一个字符后可跟1~5个字母或数字。例:x,m1,,k123,…242022/12/93.6变量3.6.2变量名242022/123.6变量注意几点:⑴变量名不区分大小写字母。例:,,代表同一变量⑵变量名中的空格不起作用。例:,a,c,abc代表同一变量⑶变量名尽量做到“见名知义”、、⑷允许变量名与语言中具有特定含义的字(“保留字”)同名。例:,,,,…建议不要使用中具有特定含义的字作变量名252022/12/93.6变量注意几点:252022/12/93.6变量3.6.3变量的类型能处理各种类型的变量。不同类型的变量用来存放不同类型的数据。变量类型的说明(三种方式)⒈隐含说明即以I、j、k、l、m、n开头的变量为整型变量,以其它字母开头的变量为实型变量。(“I~N规则”)例:,m5,,…为整型变量v,h2,,…为实型变量262022/12/93.6变量3.6.3变量的类型262022/3.6变量⒉显式说明即用类型说明语句指定变量的类型。如:——说明变量为整型变量——说明变量为实型变量——说明变量为双精度变量——说明变量为复型变量——说明变量为逻辑型变量——说明变量为字符型变量272022/12/93.6变量⒉显式说明272022/12/93.6变量如:,,k3a1,⒊用语句说明即说明用某一字母开头的变量为指定的类型。例:(a,b),(k)()282022/12/93.6变量如:282022/12/93.6变量三种类型说明的优先级:高类型说明语句(显式说明)语句说明低“I~N规则”292022/12/93.6变量三种类型说明的优先级:292022/3.7内部函数在编制程序时,经常要用到一些基本的数学函数,如三角函数、指数函数、对数函数等。为方便用户,编译系统已提供了这些函数的计算程序,需要时即可调用。内部函数调用格式:函数名(自变量)302022/12/93.7内部函数在编制程序时,经常要用到一些基本的3.7内部函数如:(90*3.14159/180)→1.0(9.0)→3.0(-5.6)→5.6(6.75)→6(3.0)→20.08554077全部内部函数见附录Ⅵ312022/12/93.7内部函数如:312022/12/93.7内部函数注意几点:⑴函数自变量(参数)必须用括号括起来。例:→(x)(x)⑵函数自变量可以是常量、变量或表达式。例:(3.0)((x))⑶有些函数的类型是由自变量的类型确定的。例:(8.0,3.0)→2.0(8,3)→2⑷三角函数的角度单位是“弧度”而不是“度”。⑸函数名分为“通用名”和“专用名”

内部函数名一般用“通用名”。322022/12/93.7内部函数注意几点:322022/12/93.8算术表达式77提供了四种表达式:算术表达式关系表达式逻辑表达式字符表达式算术表达式——将各运算元素(常量、变量、函数和数组等)用算术运算符连接起来的一个有值的式子。332022/12/93.8算术表达式77提供了四种表达式:332022/123.8算术表达式一、算术运算符及其优先级⒈算术运算符(五种)加(+)减(-)乘(*)除(/)乘方(**)⒉算术运算符的优先级括号→函数→乘方→乘、除→加、减注:同级运算“先左后右”,连续乘方时“先右后左”。342022/12/93.8算术表达式一、算术运算符及其优先级342022/13.8算术表达式例:3+5-6.0*8.5/4**2(x)→3+5-6.0×8.5÷42+x**y**z、x**(y**z)→(x**y)**z→()z有了算术表达式概念之后,我们就可以将:

数学运算式→算术表达式352022/12/93.8算术表达式例:3+5-6.0*8.5/4**2(3.8算术表达式二、算术表达式书写规则⑴表达式中的各运算元素之间必须用运算符分隔。例:→x*y*z2()→2*()⑵作任何运算的表达式只能写在一行。例:→()/()×362022/12/93.8算术表达式二、算术表达式书写规则362022/123.8算术表达式⑶两个运算符不能紧邻。例:→()→→⑷表达式一律用小括号。例:a[()]→a*(*())372022/12/93.8算术表达式⑶两个运算符不能紧邻。372022/123.8算术表达式三、表达式求值中的类型问题⑴同类型量运算的结果,仍为原类型。例:4*5=20,4.0*5.0=20.06.0/4.0=1.5,6/4=1(≠1.5)⑵不同类型量运算时,先将低级类型(整型)转换为高级类型(实型),然后再按同类型量进行运算。例:2.5*4=10.0(≠10)2.0**3=2.0*2.0*2.0=8.0(属同类量运算)382022/12/93.8算术表达式三、表达式求值中的类型问题382022/3.8算术表达式四、运算中的误差问题⑴整数量运算没有误差⑵实型量由于有效位数的限制,运算时会出现误差例1:(1.0/3.0)*3.0=0.9999999(≠1.0)

∵1.0/3.0=0.3333333例2:1E301E301.0()?()=?392022/12/93.8算术表达式四、运算中的误差问题392022/12/3.9赋值语句提供三类赋值语句:算术赋值语句逻辑赋值语句字符赋值语句一、算术赋值语句一般格式

功能:把赋值号右边表达式的值,赋给赋值号左边的变量或数组元素。例:3.14159*r**2402022/12/93.9赋值语句提供三类赋值语句:402022/12/93.9赋值语句二、算术赋值语句中的类型转换问题⑴赋值号两边类型一致时,直接赋值。例:355⑵赋值号两边类型不一致时,先计算,再转换,最后赋值。例:y1=6*2(y1的值为12.0)3.6*2(的值为7(7.2→7))412022/12/93.9赋值语句二、算术赋值语句中的类型转换问题41203.9赋值语句注意几点:⑴赋值号左边只能是变量或数组元素,不能为带运算符的表达式。例:3*6*(x)×⑵一个赋值语句只能给一个变量或数组元素赋值。例:3.5×⑶一个赋值语句执行后,赋值号左边变量的原值被右边表达式的值取代。例:1.01.0(x的值为2.0)422022/12/93.9赋值语句注意几点:422022/12/93.10简单的输出语句用户编制的程序必须要有输出语句,把结果显示或打印出来。提供了三种输出方式:①表控格式输出(标准或固定格式输出)②指定格式输出③无格式输出(二进制形式,适应磁盘文件)一、表控格式输出按编译系统隐含规定的格式输出。(即系统根据输出数据的不同类型,自动给出相应的输出格式。)432022/12/93.10简单的输出语句用户编制的程序必须要有输出语句,3.10简单的输出语句二、表控格式输出语句一般格式:﹡,〈输出表列〉(﹡,﹡)〈输出表列〉

例1:﹡,56.8,125或(﹡,﹡)56.8,125例2:﹡,b,c或(﹡,﹡)a,b,c442022/12/93.10简单的输出语句二、表控格式输出语句4420223.10简单的输出语句例3:12.5 90.5

*,x,y*,'',z

运行结果:12.50000090.500000103.000000452022/12/93.10简单的输出语句例3:12.54520223.10简单的输出语句⒈整数的表控格式输出规定:每个整数占12列,数据打印在右端,左补空格。例:*,123,-1128输出结果:︺︺︺︺︺︺︺︺123︺︺︺︺︺︺︺-1128462022/12/93.10简单的输出语句⒈整数的表控格式输出4620223.10简单的输出语句⒉实数的表控格式输出规定:每个实数占16列,数据打印在右端,左补空格。例:*,15.4,-321.45输出结果:︺︺︺︺︺︺15.400000︺︺︺︺︺-321.450000472022/12/93.10简单的输出语句⒉实数的表控格式输出4720223.10简单的输出语句当实数值的绝对值≥107或<1时,按标准的指数形式输出。例:*,-10000000.,0.98输出结果:︺︺-1.00000007︺︺︺︺9.80000001482022/12/93.10简单的输出语句当实数值的绝对值≥107或<1时3.11简单的输入语句提供了三种输入方式:①表控格式输入(自由格式输入)②指定格式输入③无格式输入一、表控格式输入表控格式输入——根据变量的数据类型输入相应的数据形式,数据间以逗号或空格分隔的输入方式。492022/12/93.11简单的输入语句提供了三种输入方式:4920223.11简单的输入语句二、表控格式输入语句一般格式:﹡,〈输入表列〉(﹡,﹡)〈输入表列〉例1:﹡,b(若14.7,30.0)键盘输入:14.7,30.0↙502022/12/93.11简单的输入语句二、表控格式输入语句5020223.11简单的输入语句例2:﹡(若4.5200)键盘输入:4.5,200↙例3:﹡(若1.52.53.5)﹡(若510)键盘输入:1.5,2.5,3.5↙5,10↙512022/12/93.11简单的输入语句例2:﹡(若4.5203.11简单的输入语句注意几点:⑴输入数据的个数不得少于语句中变量的个数,但多余的数据也不起作用。例:﹡(若1.52.53.5)键盘输入:①1.5,2.5,3.5↙②1.5,2.5,3.5,5.2,6.0↙(最后两个数被忽略)③1.5,2.5↙(计算机将等待用户继续输入数据)522022/12/93.11简单的输入语句注意几点:522022/12/93.11简单的输入语句注意几点:⑵一个语句可以分多行输入,但每一个语句必须从新的一行输入。例:﹡(若1.52.53.5)﹡(若510)键盘输入:1.5↙2.5↙3.5↙5,10↙若键盘输入:1.5,2.5,3.5,5,10↙(错)532022/12/93.11简单的输入语句注意几点:532022/12/93.11简单的输入语句⑶在输入数据时若出现“/”,则终止对此语句的输入。例:﹡键盘输入:1.5,2.5/↙(变量z的值为原值或为零。)542022/12/93.11简单的输入语句⑶在输入数据时若出现“/”,则终3.12参数语句(语句)一、语句的功能为常量命名,即用一个符号代表一个常量。二、语句一般形式(p11[22,…])其中:——符号常量;——常量。

552022/12/93.12参数语句(语句)一、语句的功能552022/13.12参数语句(语句)例:求半径为0.5m的圆面积和圆周长。编程如下:(0.53.14159)*r**22.0**r*

562022/12/93.12参数语句(语句)例:求半径为0.5m的圆面积和3.12参数语句(语句)注意几点:⑴参数语句必须写在所有可执行语句之前;⑵符号常量的命名规则及类型与变量相同,并遵循“I~N规则”;⑶程序中不能给符号常量再赋值。572022/12/93.12参数语句(语句)注意几点:572022/12/3.13语句,语句,语句一、语句⒈一般形式[n]注:n为1~5位正整数或字符常量。⒉功能暂停程序的执行。(一个程序单位可以有多个语句)582022/12/93.13语句,语句,语句一、语句582022/12/93.13语句,语句,语句例:(0.53.14159)*r**22.0**r'打印面积和周长'*

592022/12/93.13语句,语句,语句例:592022/12/93.13语句,语句,语句二、语句⒈一般形式[n]注:n为1~5位正整数或字符常量。⒉功能终止程序的执行。(一个程序单位可以有多个语句)602022/12/93.13语句,语句,语句二、语句602022/12/93.13语句,语句,语句三、语句⒈一般形式

⒉功能对主程序:终止程序的执行和作为程序单位的结束标志;对子程序:返回调用程序和作为程序单位的结束标志。(一个程序单位只能有一个语句)612022/12/93.13语句,语句,语句三、语句612022/12/9课后练习题P75~76:第五、八、十一题622022/12/9课后练习题P75~76:第五、八、十一题622022第四章

逻辑运算和选择结构

632022/12/9第四章

逻辑运算和选择结构632022/12/9计算机程序程序设计的基本方法计算机解决问题所需要的一系列代码化指令序列——计算机程序。程序=数据结构+算法即“程序就是在数据的某些特定的表示方式和结构的基础上,对抽象算法的具体描述。”上述公式可扩充为:程序=数据结构+算法+程序设计方法+语言工具642022/12/9计算机程序程序设计的基本方法计算机解决问题所谓面向过程的程序设计,是指利用面向过程的语言工具(如、、和C等)进行程序开发的各项活动。程序设计的基本方法面向过程的程序设计优点:编程简单、结构性强、可读性好,程序执行时序特征明显;遵循这种结构的程序只有一个入口和一个出口。缺点:存在数据与程序模块的分离和程序的可重用性差等问题。基本思想:把一个需要求解的复杂问题分为若干个模块来处理,每个模块处理一个子问题;设计时遵循自顶向下、逐步细化、模块化设计和结构化编码的原则。652022/12/9所谓面向过程的程序设计,是指利用面向过程的语言工具(如、、和程序设计的基本方法结构化程序设计方法:结构化编码在结构化程序设计中,任何复杂的算法,都可以由三种基本结构组成。在构造算法时,也仅以三种基本结构作为基本单元。遵循这种结构的程序只有一个输入口和一个输出口。模块化设计将一个复杂问题的程序分为若干个程序模块,每个模块完成一项特定功能;其中有一个主模块和若干个子模块,主模块控制各个子模块来实现整个程序的功能。自顶向下,逐步细化662022/12/9程序设计的基本方法结构化程序设计方法:结构化编码模块化设计自程序设计的基本方法面向对象的程序设计面向对象的程序设计是一种新的程序设计范型。它将一些新的理念和结构化程序设计中好的思想相融合,提供了一种全新的程序设计方法。基本思想将一个需要求解的问题分解为一系列实体(对象),然后围绕这些对象建立数据和函数;函数的功能决定了该对象的行为。规定一个对象的函数可以访问另一对象的函数,但一个对象的数据不能应用于另一对象的函数中。几个基本概念:三类机制:类,对象,属性,事件,方法封装、继承、多态672022/12/9程序设计的基本方法面向对象的程序设计面向对象的程序设计是一种4.1算法及其表示方法一、算法的概念算法——解决某一问题所采取的方法和步骤。计算机算法——计算机能够执行的算法。计算机算法的特征:⑴有穷性——操作步骤是有限的。⑵确定性——方法步骤是明确的。⑶有效性——方法是正确的,步骤是完整的。⑷必须有输入和输出。(取得必要的信息,给出正确的结果。)682022/12/94.1算法及其表示方法一、算法的概念682022/124.1算法及其表示方法是结构化程序设计语言,每个程序单位可由三种基本结构组成:⑴顺序结构⑵分支选择结构⑶循环结构实践证明,任何复杂的问题都可以用这三种基本结构来描述。692022/12/94.1算法及其表示方法是结构化程序设计语言,每4.1算法及其表示方法二、算法的表示用N~S流程图表示。(由几种功能框组合而成)⑴矩形框——用于表示顺序结构。如:若先执行语句A,再执行语句B。AB702022/12/94.1算法及其表示方法二、算法的表示AB702022/4.1算法及其表示方法例:若1.5,4.5,求的平方。①画N~S图:②编程:1.54.5()**2*,c

1.5→a4.5→b()2→c打印c结束712022/12/94.1算法及其表示方法例:若1.5,4.5,求的平方。4.1算法及其表示方法⑵三角框——用于表示分支选择结构。如:若P为条件,当P成立执行语句A,否则执行语句B。PTrueFalseABPAB722022/12/94.1算法及其表示方法⑵三角框——用于表示分支选择结构4.1算法及其表示方法⑶L形框——用于表示循环结构。①当型循环(P为条件,A循环体)如:若条件P成立,则执行循环体A,否则跳出循环体。PAYNPA732022/12/94.1算法及其表示方法⑶L形框——用于表示循环结构。P4.1算法及其表示方法②直到型循环(P为条件,A循环体)如:首先执行循环体A,若条件P不成立继续执行循环体A,直到条件P成立为止。

A

PPAYN742022/12/94.1算法及其表示方法②直到型循环(P为条件,A循4.2关系表达式关系表达式是构成选择结构判断条件的基本式子。它也是一种最简单的逻辑表达式。一、关系运算符(P80表4-1).(大于).(大于等于).(等于).(小于).(小于等于).(不等于)752022/12/94.2关系表达式关系表达式是构成选4.2关系表达式二、关系表达式的一般形式〈算术量〉〈关系运算符〉〈算术量〉即:⑴关系表达式是由关系运算符将两个算术量连接起来的式子。⑵关系表达式的运算元素是算术量,结果是逻辑量:真(.)或假(.)。762022/12/94.2关系表达式二、关系表达式的一般形式762022/4.2关系表达式有了关系表达式,我们就可以将:数学关系式─→关系表达式例:>15.4─→.15.4≠─→≥2.17─→(x).2.17772022/12/94.2关系表达式有了关系表达式,我们就可以将:77204.2关系表达式注意:⑴算术运算优先于关系运算。如:等同于().()⑵实数运算误差对关系表达式的影响如:1.0/3.0*3.0.1.0值为.1.0/3.0*3.0=0.9999999∴对于→().16→().16782022/12/94.2关系表达式注意:782022/12/94.3逻辑表达式关系表达式只能表达简单的关系,如:5≤x≤10就不能用关系表达式表达,此时要用逻辑表达式。792022/12/94.3逻辑表达式关系表达式只能表达简单的关系,如:794.3逻辑表达式一、逻辑表达式的一般形式〈逻辑量〉〈逻辑运算符〉〈逻辑量〉即:⑴逻辑表达式是由逻辑运算符将两个逻辑量连接起来的式子。⑵逻辑表达式的运算元素是逻辑量,结果也是逻辑量:真(.)或假(.)。逻辑量包括逻辑常量、逻辑变量和关系表达式。802022/12/94.3逻辑表达式一、逻辑表达式的一般形式802022/4.3逻辑表达式二、逻辑常量两个:①.(真)②.(假)三、逻辑变量——用于存放逻辑常量的变量。逻辑变量可以通过赋值语句来接受逻辑常量的值,但在使用前,要进行类型说明。例:a,b..812022/12/94.3逻辑表达式二、逻辑常量812022/12/94.3逻辑表达式四、逻辑运算符.(逻辑与).(逻辑或).(逻辑非).(逻辑等(同或)).(逻辑不等(异或))822022/12/94.3逻辑表达式四、逻辑运算符822022/12/94.3逻辑表达式五、逻辑运算符的运算规则(P83表4.3)若为两个逻辑量,则:——(当a、b同时为真时,为真。)——(当a、b中任意一个为真或同时为真时,为真。)——(当a为真,其值为假;当a为假,其值真。)——(当a、b为同一逻辑常量时,为真。)——(当a、b不为同一逻辑常量时,为真。)832022/12/94.3逻辑表达式五、逻辑运算符的运算规则(P83表44.3逻辑表达式六、逻辑表达式的运算次序(P84表4.5)运算次序为:括号→算术运算→关系运算→逻辑运算而逻辑运算:.→.→.→.842022/12/94.3逻辑表达式六、逻辑表达式的运算次序(P84表44.3逻辑表达式例1:写出下列条件的逻辑表达式。⑴5≤k≤10.5.10⑵│f│≤3g或│f│=5t(f).3*(f).5*t⑶1≤a≤8并且1≤b≤8(.1.8).(.1.8)852022/12/94.3逻辑表达式例1:写出下列条件的逻辑表达式。8524.3逻辑表达式例2:若2.57.55.06.0,求下列逻辑表达式的值。⑴().()①t②f③f

862022/12/94.3逻辑表达式例2:若2.57.55.06.0,求下4.3逻辑表达式例2:若2.57.55.06.0,求下列逻辑表达式的值。⑵2.0①8.5④F③T②F.⑤F.⑥T872022/12/94.3逻辑表达式例2:若2.57.55.06.0,求下4.4用块实现选择结构有以下三种典型的块选择结构:⑴(条件)(块语句)块(块)(语句)PA882022/12/94.4用块实现选择结构有以下三种典型的块选择结构:P4.4用块实现选择结构⑵(条件)块1(块)

块2(块)

PAB892022/12/94.4用块实现选择结构⑵(条件)PAB84.4用块实现选择结构例:2X+3(X≤2)Y=X+5(X>2)编程如下: (*,*)x (.2) 2*3

5

(*,*)’’,’’

X≤2TrueFalseY=2X+3

Y=X+5输出结果结束输入X值902022/12/94.4用块实现选择结构例:2X4.4用块实现选择结构⑶(条件1)块1(条件2)块2(块)┆(条件n)块n[块(1)]

912022/12/94.4用块实现选择结构⑶(条件1)914.4用块实现选择结构说明:⑴每个块中可以完整地包含一个(或多个)块结构,即构成块的嵌套结构。如:(条件1)(条件1)块1(条件2)块2(条件2)块2块1

922022/12/94.4用块实现选择结构说明:922022/12/94.4用块实现选择结构⑵一个块语句必须和一个语句相对应。⑶块中的“块”、“块”和“块”可为空块。932022/12/94.4用块实现选择结构⑵一个块语句必须和一个语句相4.4用块实现选择结构例1:求一元二次方程20的根。(当b2-4≥0时有两个实根,b2-4<0时有两个复根。)

输入a、b、cb2-4ac→dtrued≥0false计算两实根计算两复根输出x1,x2输出x1,x2结束942022/12/94.4用块实现选择结构例1:求一元二次方程20的根4.4用块实现选择结构*,’:’ *(2.0*a) **2-4.0*a*c()/(2.0*a) (.0.0)*,'x1=','' (d)*,'x2=','' x1=()/(2.0*a) x2=()/(2.0*a) *,'x1='1 *,'x2='2

952022/12/94.4用块实现选择结构*,’:’952024.4用块实现选择结构例2:求下列函数值。0(x<-10)220(-10≤x<0)20(0≤x<20)30-0.5x(20≤x<40)50(40≤x<50)0(x≥50)962022/12/94.4用块实现选择结构例2:求下列函数值。962024.4用块实现选择结构

输入xx<-10x<0x<20x<40x<50500打印yy=02030-0.5x220972022/12/94.4用块实现选择结构输入xx<-104.4用块实现选择结构源程序一:*(.50.0)(10.0)50.00.00.0(.0.0)2.0*20.0

(.20.0) 20.0 *,’‘ (.40.0) 30.0-0.5*x

982022/12/94.4用块实现选择结构源程序一:982022/12/4.4用块实现选择结构源程序二: **,’‘ (10.0) 0.0 (.0.0) 2.0*20.0 (.20.0) 20.0 (.40.0) 30.0-0.5*x (.50.0) 50.0

0.0

992022/12/94.4用块实现选择结构源程序二:992022/12/4.5逻辑语句逻辑语句也是一种选择结构,但与块不同,主要表现在:①只用一行表示一个选择结构;②仅当条件成立时执行,并且只执行一条语句。逻辑语句的一般形式:〈条件〉语句例:(.100)11002022/12/94.5逻辑语句逻辑语句也是一种选择结构,但与4.5逻辑语句例:2X+3(X≤2)Y=X+5(X>2)编程如下:(*,*)x(*,*)x(.2) (.2)2*32*3(.2)5(*,*)’’5

(*,*)’’

1012022/12/94.5逻辑语句例:2X+3课后练习题P96:第一~三题;第四、五、七题1022022/12/9课后练习题P96:1022022/12/9第五章循环结构的实现

1032022/12/9第五章循环结构的实现1032022/12/9第五章循环结构的实现所谓循环,是指在程序执行过程中需要重复执行的程序段。在实际问题中,我们经常遇到循环,如:求∑n,n!,…无条件循环循环结构直到型循环条件循环当型循环计数型循环1042022/12/9第五章循环结构的实现所谓循环,是指在程序执行过程中5.1用语句实现循环语句的一般形式:<s1>其中:s1——语句标号。功能:程序执行到此语句时,无条件的转向标号为s1的语句去执行。例:求1~10的累加和。编写程序段:0.00.0101

101052022/12/95.1用语句实现循环语句的一般形式:例:求1~10的累加5.1用语句实现循环如果我们把以上语句作为逻辑语句中的执行语句,则就可以实现有条件的循环。即:求1~10的累加和0.00.0101

(.10)10*

x=0.0,sum=0.0x+1→x

sum+x→sum直到x≥10输出sum1062022/12/95.1用语句实现循环如果我们把以上语句作为逻5.2当型循环的实现一、用块和语句实现循环一般形式:s1(条件)标号块s1

P

A所谓当型循环,是指执行循环体要依据事先给定的条件。当条件成立时执行循环,否则就不执行循环。1072022/12/95.2当型循环的实现一、用块和语句实现循环PA所谓当型5.2当型循环的实现编程如下: * 1 110()*i 110

*

输入nm=1,i=1i≤n

m×i→mi+1→i输出m例:求n!。1082022/12/95.2当型循环的实现编程如下:输入n例:求n!。10825.2当型循环的实现二、用语句实现当型循环一般形式s1[,](条件)┆循环体s1<终端语句>1092022/12/95.2当型循环的实现二、用语句实现当型循环109205.2当型循环的实现例:求n!。编程如下:*1110()*i 110*

1102022/12/95.2当型循环的实现例:求n!。1102022/12/95.3直到型循环的实现一、用逻辑语句实现直到型循环一般形式s1循环体(条件)s1所谓直到型循环,是指先执行循环体,再判断条件。如果条件为“假”(真),继续执行循环,直到条件为“真”(假)时终止循环。1112022/12/95.3直到型循环的实现一、用逻辑语句实现直到型循环所谓直5.3直到型循环的实现例1:求n!。编程如下:*1110*i 1()10*

读nm→1,i→1m*i→mi+1→i直到i>n输出m结束1122022/12/95.3直到型循环的实现例1:求n!。读n11220225.3直到型循环的实现编程如下:

1.02.0110(-1)*

1(.100.0)10*,s

例2:求的值。1132022/12/95.3直到型循环的实现编程如下:例2:求当型与直到型循环的比较当型循环直到型循环不同:先判断条件先执行循环体再执行循环体再判断条件 (循环体至少被 执行一次)PAPA循环结构关键:⑴条件判断⑵改变条件的语句1142022/12/9当型与直到型循环的比较当型循环5.4用语句实现循环当循环的初值、终值和循环次数都已知时,可用语句实现循环。用语句实现的循环称为“循环”。循环是由一个语句和循环体组成。1152022/12/95.4用语句实现循环当循环的初值、终值和循环次数5.4用语句实现循环一、一般形式s[,]1,e2[3]┆循环体s<终端语句>说明:①s——循环体终端语句的标号②v——循环控制变量(变量),可为整型、实型或双精度1162022/12/95.4用语句实现循环一、一般形式1162022/12/95.4用语句实现循环一、一般形式s[,]1,e2[3]┆循环体s<终端语句>说明:③e123是整型、实型或双精度表达式e1——循环变量初值e2——循环变量终值e3——循环变量增量(步长,默认值:1)当v为整型变量,e3=1时,e3可忽略例:101,10,21001,51172022/12/95.4用语句实现循环一、一般形式例:101,10,21循环执行过程P103图5.8计算e1,e2,e3的值v←e1v>e2执行循环体v←v+e3YN执行终端语句

下面的语句1182022/12/9循环执行过程计算e1,e2,e3的值v←e1v>e2(((e213)3),0)v←3执行过程P103图5.7并将其转换为

循环变量的类型1192022/12/9(((e213)3),0)v←3执行过程并将其转换为

循5.4用语句实现循环例如:求1~10的累加和。

0101,10

110*

0.0010(.10)1

10

*

1202022/12/95.4用语句实现循环例如:求1~10的累加和。12025.4用语句实现循环二、执行过程(分四种情形)⑴当e2>e1且e3>0:⑵当e2>e1且e3<0:1212022/12/95.4用语句实现循环二、执行过程(分四种情形)121205.4用语句实现循环⑶当e2<e1且e3>0:⑷当e2<e1且e3<0:1222022/12/95.4用语句实现循环⑶当e2<e1且e3>0:12225.4用语句实现循环编程如下:101,30*,x10(.60)*,i,x

循环体例1:从键盘输入30个学生的单科成绩,并将其中及格以上的学生序号和成绩打印出来。1232022/12/95.4用语句实现循环编程如下:循环体例1:从键盘输5.4用语句实现循环例2:打印正弦的值。(间隔0.1o,从0o~360o)编程如下:1000,360010.0(x*3.14159/180)100*,’’,’’,y

1242022/12/95.4用语句实现循环例2:打印正弦的值。(间隔0.1o,5.4用语句实现循环说明:⑴循环是当型循环⑵可用e1,e2,e3的值求出循环次数。计算公式:(((e213)3),0)①e3=0则运行时出错(被零除)例:10=1.2,6.6,0.2((6-1+0/0),0)(因为循环变量I是整型)②e1<e2且e3<0或e1>e2且e3>0,则循环次数为0⑶由于实数在内存中存储的误差,v,e1,e2,e3尽可能用整型量。1252022/12/95.4用语句实现循环说明:1252022/12/95.4用语句实现循环说明:⑷e123的值在循环体内不会改变,即使给表达式e123中的变量赋值也不影响循环次数例:10101,3100*10

(10-1+3)/3=41262022/12/95.4用语句实现循环说明:1262022/12/95.4用语句实现循环说明:⑸循环终端语句必须是可执行语句(但除,块,,,,,和语句外)。⑹继续语句(语句)循环终端语句必须是可执行语句。那么,这种作为循环终端语句的语句具有双重作用:一是作为循环终端的标志,二是要完成自身的功能。因此影响了程序的可读性。用一个专门的语句作为循环的终端语句,即语句,它本身不进行任何机器操作。1272022/12/95.4用语句实现循环说明:1272022/12/95.4用语句实现循环三、有关循环的规定⑴在循环体内不允许对循环变量再赋值,但可以引用。例:1020,112*i不合法2*i引用i,合法*101282022/12/95.4用语句实现循环三、有关循环的规定1282022/1例2:1001,10……20*……100(.100.)20例1:101,100……(n**2.500)20……10……20*,n,n**2……5.4用语句实现循环三、有关循环的规定⑵可从循环体内转到循环体外,但不允许从循环外转到循环内,内外错误1292022/12/9例2:1001,10例1:101,1005.45.4用语句实现循环三、有关循环的规定⑵当退出循环时,循环变量仍有定义,其值为离开循环时,循环变量的值三种情况①循环正常结束1*e3②循环次数为01③非正常退出循环例:100101,100,310*(.150)201020*

1302022/12/95.4用语句实现循环三、有关循环的规定1302022/15.4用语句实现循环例:计算100100100∑k,∑k2,∑1的值。111编程如下:cn,ms.000.0501,100

*k1.050*,n,m,s

1312022/12/95.4用语句实现循环例:计算5.4用语句实现循环四、循环的嵌套在一个循环中还可以包含一套或多套完整的循环,这就是循环的嵌套。一般形式(以双重循环为例)101,10┆201,10┆20┆101322022/12/95.4用语句实现循环四、循环的嵌套1322022/125.4用语句实现循环五、关于循环嵌套的规定⑴内外循环不允许交叉。101,10┆201,10┆10┆201332022/12/95.4用语句实现循环五、关于循环嵌套的规定1332025.4用语句实现循环五、关于循环嵌套的规定⑵在一个程序单位中,并列的循环可用同名循环变量,而嵌套的循环不允用同一变量作为循环变量。例:101,10┆201,10┆20┆10使循环控制产生混乱1342022/12/95.4用语句实现循环五、关于循环嵌套的规定1342025.4用语句实现循环例:打印“九九表”。编程如下:101,9201,9*j*,i,’*’,‘=‘20*,’’10

1352022/12/95.4用语句实现循环例:打印“九九表”。1352022/5.4用语句实现循环六、三种循环形式的选择⑴循环次数可事先确定,优先用循环⑵若循环体可能一次也不执行,则优先用当型循环若循环体至少执行一次,则当型、直到型循环都可1362022/12/95.4用语句实现循环六、三种循环形式的选择1362022课后练习题P126:第二、三、八题。1372022/12/9课后练习题P126:第二、三、八题。1372022/12/9第六章的数据结构

1382022/12/9第六章的数据结构1382022/12/96.1程序中的数据结构程序代数表达式:程序=算法+数据结构对于同一个问题的求解,即一个程序的实现,可以采用不同的数据结构和不同的算法。选择合适的数据结构可以降低算法的复杂度。1392022/12/96.1程序中的数据结构程序代数表达式:1392022/126.1程序中的数据结构在计算机高级语言中用数据类型来表示不同的数据结构。数据结构一般有以下三类:基本类型(支持)构造类

温馨提示

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

评论

0/150

提交评论