三种基本结构程序设计90课件.ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《三种基本结构程序设计90课件.ppt》由用户(晟晟文业)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基本 结构 程序设计 90 课件
- 资源描述:
-
1、第四章第四章 三种基本结构程序设计三种基本结构程序设计 本章内容及要求:1.了解算法概念及算法的表示,掌握用NS流程序表示算法 2.熟练掌握赋值语句、End语句和注释语句等语句及输入/输出消息框函数的使用;3.熟练掌握行if语句、块if结构、Select Case情况选择结构及使用,掌握选择的嵌套结构;4.熟练掌握实现循环结构的For/Next循环结构及Exit For语句、Do/Loop循环结构的使用,掌握多重循环。重点:重点:选择结构及循环结构的实现及其应用选择结构及循环结构的实现及其应用难点:难点:选择的嵌套及多重循环结构选择的嵌套及多重循环结构4.1 算法及算法的表示算法及算法的表示
2、4.1.1 算法概述算法概述 什么是算法:广义地讲:算法是为完成一项任务所应当遵循的一步一步的规则的、精确的、无歧义的描述,它的总步数是有限的。狭义地讲:算法是解决一个问题采取的方法和步骤的描述。下面通过两个简单的例子加以说明:例例4.1 输入三个数,然后输出其中最大的数。输入三个数,然后输出其中最大的数。将三个数依次输入到变量、B、C中,设变量MAX存放最大数。其算法如下:例例4.2 输入输入10个数,打印输出其中最大的数。个数,打印输出其中最大的数。算法设计如下:算法设计如下:(1)输入1个数,存入变量A中,将记录数据个数的变量N赋值为1,即N=1(2)将A存入表示最大值的变量Max中,即
3、Max=A(3)再输入一个值给A,如果AMax 则 Max=A,否则Max不变(4)让记录数据个数的变量增加1,即N=N+1(5)判断N是否小于10,若成立则转到第(3)步执行,否则转到第(6)步。(6)打印输出max1)输入A、B、C。2)A与B中大的一个放入MAX中。3)把C与MAX中大的一个放入MAX中。4)输出MAX,MAX即为最大数。4.1.2 算法的特性算法的特性 1 有穷性有穷性2 确定性确定性3 有有0个或多个输入个或多个输入4 有一个或多个输出有一个或多个输出5 有效性有效性4.1.3 算法的表示算法的表示 一、自然语言与伪代码表示算法自然语言:就是指人们日常使用的语言,可以
4、是汉语、英语或其它语言。伪代码:是用介于自然语言和计算机语言之间的文字和符号(包括数学符号)来描述算法。例如:例例如:例4.1可用如下的伪代码表示可用如下的伪代码表示Begin(算法开始)输入 A,B,C IF AB 则 AMax 否则 BMax IF CMax 则 CMaxPrint MaxEnd(算法结束)二二 用用传统传统流程图表示算法流程图表示算法处理框起止框I/O框判断框流程线连接点1、传统流程图中的基本符号、传统流程图中的基本符号2、三种基本结构的表示、三种基本结构的表示(1)顺序结构)顺序结构条件语句1语句2YN语句1语句2(2)选择结构)选择结构条件(a)条件语句组(3)循环结
5、构)循环结构a)当型循环当型循环b)直到循环直到循环YNYN(b)语句组三种基本结构的特点:三种基本结构的特点:(1)只有一个入口)只有一个入口(2)只有一个出口)只有一个出口(3)不存在死语句)不存在死语句(4)不存在死循环)不存在死循环例:例:例例4.2输入输入10个数,打印输出其中的最大的数的流程图个数,打印输出其中的最大的数的流程图从从10个数中选出最大的数的流程图个数中选出最大的数的流程图NMaxMax=A输入A开始再输入给AN=N+1打印Max结束YNNY4.1.4 用用NS流程图表示算法流程图表示算法 将全部算法写在一个矩形框内,在矩形内还可包含其将全部算法写在一个矩形框内,在矩
6、形内还可包含其它从属于它的框它从属于它的框三种基本结构的三种基本结构的NS图表示:图表示:语句A语句B语句A语句B条件YN1、顺序结构、顺序结构2、选择结构、选择结构语句组(3)循环结构)循环结构a)当型循环当型循环b)直到循环直到循环当条件成立语句组直到当条件成立例:例:画出从画出从10个数中选出最大的数的个数中选出最大的数的NS 流程图流程图(a)(b)传统流程图NMaxMax=A输入A开始再输入给AN=N+1打印Max结束YNNY输入A当NMaxYN输入APrivate Sub Form_Click()Dim a%,max%,i%a=Val(InputBox(A=?)max=a For
7、i=1 To 10 a=Val(InputBox(A=?)If a max Then max=a Next i Print Max=;maxEnd Sub 最后需要说明的是:上面介绍的算法表示是给人看的,即是为帮助程序开发人员阅读、编写程序而设计的一种辅助工具,程序则必须符一计算机语言的语法规则。下面是例4.2的计算机 程序,即为用计算机语言表示算用计算机语言表示算法:法:4.1.6 结构化程序设计方法(补充)结构化程序设计方法(补充)(一)、用计算机解决问题的过程(一)、用计算机解决问题的过程提出、分提出、分析问题析问题确定算确定算法模型法模型设计设计算法算法编写编写程序程序调试调试程序程序
8、分析输分析输出结果出结果正确正确合理合理结束结束不正确不正确(二)、结构化程序设计思想(二)、结构化程序设计思想自顶向下、逐步细化、模块化自顶向下、逐步细化、模块化自顶向下:自顶向下:先从全局、整体设计先从全局、整体设计逐步细化:逐步细化:将一个问题分解成几个较小的问题解将一个问题分解成几个较小的问题解决决模块化:模块化:将一个大任务分解成若干个较小的部分,将一个大任务分解成若干个较小的部分,每每 个部分承担一定功能,称为个部分承担一定功能,称为“功能模块功能模块”例:给例:给100个整数,打印输出其中的素数个整数,打印输出其中的素数S1NS流程图流程图输入输入100个数存入个数存入X1,x2
9、,x100打印打印x1.x100中中不等于不等于0的数的数让让x1,x2,x100中的非素变为中的非素变为0S3S2输入输入xi当当i=100i=i+1i=1S1细化细化xi0当当i=100i=i+1i=1YN打印打印xiS3细化细化S1NS流程图流程图输入输入100个数存入个数存入X1,x2,x100打印打印x1.x100中中不等于不等于0的数的数让让x1,x100中的中的非素变为非素变为0S3S2S2细化细化判断判断xi是否是素数,是否是素数,若不是则将若不是则将xi=0当当i=100i=i+1i=1S21r=0rxi/2S21细化细化输入输入100个数存入个数存入X1,x2,x100打印
10、打印x1.x100中中不等于不等于0的数的数让让x1,x100中中的非素变为的非素变为0细化后的流程图细化后的流程图输入输入xi当当i=100i=i+1i=1当当ixi/2i=i+1xi0当当i=100i=1YN打印打印xii=i+14.2 顺序结构顺序结构4.2.1 4.2.1 赋值语句赋值语句 形式形式:变量名表达式变量名表达式 对象对象.属性表达式属性表达式 功能:功能:将表达式的值赋值给变量名或指定对象的属性。将表达式的值赋值给变量名或指定对象的属性。一般用于给变量赋值或对控件设定属性值一般用于给变量赋值或对控件设定属性值.例:例:sRate!=0.1 Text1.Text 欢迎使用欢
11、迎使用Visual Basic 6.0”说明:说明:1 执行过程:先求表达式的值,然后将值赋值给左边的变量。执行过程:先求表达式的值,然后将值赋值给左边的变量。2 右边的表达式可以是变量、常量、函数调用等特殊的表达右边的表达式可以是变量、常量、函数调用等特殊的表达式。式。3 不要将不要将“”理解为数学上的等号:理解为数学上的等号:A=A+1 是表示将是表示将A单元的值加后以放回到单元的值加后以放回到A单元。单元。执行过程如右图执行过程如右图4赋值符号“=”左边一定只能是变量名或对象的属性引用,不能是常量、符号常量、表达式。下面的赋值语句都是错的:5=X 左边是常量。Abs(X)=20 左边是函
12、数调用,即是表达式。5.赋值符号赋值符号“=”两边的数据类型一般要求应一致。两边的数据类型一般要求应一致。(pg59)4.2.2 数据的输出数据的输出Print方法方法 Print方法的一般格式:对象名对象名.Print,|;说明:说明:对象名.可以是窗体名、图片框名,也可是立即窗口“Debug”。若省略对象,则表示在当前窗体上输出。在2.3节窗体对象的方法中对Print方法做了详细的介绍。用Print方法在图片框和立即窗口对象中输出与在窗体对象中输出完全相同。4.2.3 用户交互函数和过程用户交互函数和过程 1.InputBox函数变量名=InputBox$(,)其中:提示 提示信息,标题
13、标题区显示,缺省输入区缺省值。例如,要在屏幕上显示如下的对话框:例如:例如:有下列语句如下:Dim x%x=Val(InputBox(“请输入一个数”,“输入框”,100)语句执行后打开如下对话框。缺省值标题题提示2.MsgBox函数和函数和MsgBox过程过程 函数形式函数形式:变量变量%=MsgBox(提示提示,按钮按钮图标图标+缺省按钮缺省按钮+模式模式,标题,标题)过程形式过程形式:MsgBox 提示提示,按钮按钮图标图标+缺省按钮缺省按钮+模式模式,标题标题图标标题提示信息命令按钮说明:说明:“标题标题”和和“提示提示”与与InputBox函数中对应的参数相函数中对应的参数相同;同;
14、“按钮图标按钮图标+缺省按钮缺省按钮+模式模式”是整型表达式,决是整型表达式,决定信息框按钮数目、出现在信息框上的图标类型及操作模定信息框按钮数目、出现在信息框上的图标类型及操作模式式(见表见表4.1)若程序中需要返回值,则使用函数,否则可调用过若程序中需要返回值,则使用函数,否则可调用过程。程。按钮及图标值如下按钮及图标值如下:根据用户所选按钮,函数返根据用户所选按钮,函数返回回1717的整数值,其含义的整数值,其含义如下表如下表:(表(表4.2)4.2)4.2.4 注释语句 其语法格式为:Rem 或 说明:1.指要包括的任何注释文本。在Rem关键字和注释内容之间要加一个空格。可以用一个英文
15、单引号“”来代替Rem关键字。2.如果在其他语句行后面使用Rem关键字,必需用冒号(:)与语句隔开。若用英文单引号“”,则在其他语句行后面不必加冒号(:)。例如:Const PI=3.1415925 符号常量PIS=PI*r*r :Rem计算圆的面积4.3 选择结构选择结构 1.IfThen语句语句(单分支结构单分支结构)If Then 语句块语句块 End If 或或 If Then tyx例例:已知两个数已知两个数x和和y,比较它们的,比较它们的大小,大小,使得使得x大于大于y.If xy Then t=x:x=y:y=t End If 或或 If xy Then t=x:x=y:y=t2
16、.IfThenElse语句(双分支结构)If Then Else End If If Then Else 例如:输出例如:输出x,y两个中值较大的一个值。两个中值较大的一个值。IF XY Then Print XElse Print YEnd If也可以写成如下的单行形式:也可以写成如下的单行形式:IF XY Then Print X Else Print Y 双分支选择结构执行过程 例例4.3 设计一个求解一元二次方程的程序设计一个求解一元二次方程的程序 3.IfThenElseIf语句语句(多分支结构多分支结构)形式形式:If Then ElseIf Then Else 语句块语句块 n+
17、1 End If 例例4.4:输入一学生成绩,评定其等级。方法是:输入一学生成绩,评定其等级。方法是:90100分分为为“优秀优秀”,8089分为分为“良好良好”,7079分为分为“中等中等”,6069分为分为“及格及格”,60分以为分以为“不合格不合格”执行过程使用IF语句实现的程序段如下:If x=90 thenPrint 优秀ElseIf x=80 ThenPrint 良好ElseIf x=70 ThenPrint 中等ElseIf x=60 ThenPrint 及格ElsePrint 不及格End If4.3.2 Select Case语句(情况语句)语句(情况语句)形式:形式:Sel
18、ect Case 变量或表达式变量或表达式Case 表达式列表表达式列表1语句块语句块1Case 表达式列表表达式列表2语句块语句块2Case Else语句块语句块n+1End Select:与:与同类型的下面四种形式之一:同类型的下面四种形式之一:表达式表达式 例例:A+5 一组枚举表达式一组枚举表达式(用逗号分隔用逗号分隔)2,4,6,8 表达式表达式1 To 表达式表达式2 60 to 100 Is 关系运算符表达式关系运算符表达式 60数值型或字符串表达式例如:将例例如:将例4.3 使用使用select case.语句来实现的程序段如下:语句来实现的程序段如下:Select Case
19、x Case 90 to 100 Print 优秀优秀 Case 80 to 89 Print 良好良好 Case 70 to 79 Print 中等中等 Case 60 to 69 Print 及格及格 Case Else Print 不及格不及格End Select4.3.3 选择结构的嵌套选择结构的嵌套 在IF语句的Then分支和Else分支中可以完整地嵌套另一IF语句或Select Case语句,同样Select Case语句每一个Case分支中都可嵌套另一IF语句或另一Select Case语句。下面是两种正确的嵌套形式:(1)IF Then .IF Then Else .End I
20、f .Else .IF Then .Else .End If .End IF(2)IF Then .Select Case Case IF Then Else .End If Case.End Select .End IF 注意:只要在一个分支内嵌套,不出现交叉,满足结构注意:只要在一个分支内嵌套,不出现交叉,满足结构规则,其嵌套的形式将有很多种,嵌套层次也可以任意多。规则,其嵌套的形式将有很多种,嵌套层次也可以任意多。对于多层对于多层IF嵌套结构中,要特别注意嵌套结构中,要特别注意IF与与Else的配对关系,的配对关系,一个一个Else必须与必须与IF配结,配对的原则是:在写含有多层嵌套配结
21、,配对的原则是:在写含有多层嵌套的程序时,建议使用缩进对齐方式,这样容易阅读和维护。的程序时,建议使用缩进对齐方式,这样容易阅读和维护。例例4.5 设计一个用户身份验证程序,运行界面如下图所示。4.4 4.4 循环结构循环结构1.For循环语句循环语句(一般用于循环次数已知一般用于循环次数已知)形式形式 For 循环变量初值循环变量初值 to 终值终值 Step 步长步长 语句块语句块Exit For 语句块语句块 Next 循环变量循环变量 循环变量在终值内 图 1-3-13 For 循环语句 语句块 Exit For 语句块 循环变量加步长 T F 循 环 变 量 得 初值 循环体 0 初
22、值终值 =1 时,可省略终值=0 死循环 步长步长循环次数循环次数)1(步长初值终值Int例例:For I=2 To 13 Step 3 Print I,Next I Print“I=“,I 4)1(3213Int循环执行次数循环执行次数 输出输出I的值分别为的值分别为:2 5 8 11 出了循环输出为出了循环输出为:I=14例4.6 编程计算:S=1+2+3+100Dim S%,I%S=0 累加前变量S为0For I=1 to 100 S=S+INext IPrint S=,S 当N=100N=N+1打印SS=0,N=1S=S+N例4-5的算法流程图形式形式1:(当型循环):(当型循环)Do
23、 While|Until 语句块语句块 Exit Do 语句块语句块 Loop 条 件 F T Exit D o 语 句 块 语 句 块 D o W hile Loop 执 行 过 程 4.4.2 DoLoop循环语句循环语句 形式形式2:(直到循环)直到循环)Do 语句块语句块 Exit Do 语句块语句块Loop While|Until T F Exit D o 语 句 块 语 句 块 条 件 D o Loop W hile 的 执 行 过 程 条 件语句块语句块TFExit Do条 件语句块语句块TFExit Do Do UntilLoop执行过程执行过程 DoLoop Until执行过
24、程执行过程 说明:说明:(1 1)当使用)当使用WhileWhile 构成循环时,当条件为构成循环时,当条件为“真真”,则反复执行循环体,当条件为则反复执行循环体,当条件为“假假”,则退出循环。,则退出循环。(2)当使用)当使用Until 构成循环时,当条件为构成循环时,当条件为“假假”,则反复执行循环体,直到条件成立,即为则反复执行循环体,直到条件成立,即为“真真”时,则退时,则退出循环。出循环。(3 3)在循环体内一般应有一个专门用来改变条件表达式中)在循环体内一般应有一个专门用来改变条件表达式中变量的语句,以使随着循环的执行,条件趋于不成立(或成变量的语句,以使随着循环的执行,条件趋于不
25、成立(或成立),最后达到退出循环。立),最后达到退出循环。(4)语句)语句Exit Do的作用是退出它所在的循环结构,它只的作用是退出它所在的循环结构,它只能用在能用在DO/Loop结构中,并且常常是同选择结构一起出现在结构中,并且常常是同选择结构一起出现在循环结构中,用来实现当满足某一条件时提前退出循环。循环结构中,用来实现当满足某一条件时提前退出循环。4.4.3 WhileWend语句语句使用格式如下:While Wend 说明:该语句的功能与Do While.Loop实现的循环完全相同。例:用doLoop语句改写前面的例题4.5例例4.8 求两个整数的最大公约数、最小公倍数Dim n%,
展开阅读全文