基本程序结构.ppt
《基本程序结构.ppt》由会员分享,可在线阅读,更多相关《基本程序结构.ppt(62页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第六章第六章基本程序结构基本程序结构本章内容及要求:本章内容及要求:1.了解算法概念及算法的表示,掌握用了解算法概念及算法的表示,掌握用NS流流程序表程序表示算法示算法2.熟练掌握赋值语句、熟练掌握赋值语句、EndEnd语句和注释语句等语句及输语句和注释语句等语句及输入入/输出消息框函数的使用;输出消息框函数的使用;3.熟练掌握行熟练掌握行ifif语句、块语句、块ifif结构、结构、Select CaseSelect Case情况选情况选择结构有使用,掌握选择的嵌套结构;择结构有使用,掌握选择的嵌套结构;4.熟练掌握实现循环结构的熟练掌握实现循环结构的For/NextFor/Next循环结构及
2、循环结构及Exit Exit ForFor语句、语句、Do/LoopDo/Loop循环结构的使用,掌握多重循环。循环结构的使用,掌握多重循环。重点:重点:选择结构及循环结构的实现及其应用选择结构及循环结构的实现及其应用难点:难点:选择的嵌套及多重循环结构选择的嵌套及多重循环结构6.1算法及算法的表示算法及算法的表示6.1.1算法概述算法概述什么是算法:什么是算法:广义地讲:算法是为完成一项任务所应当遵循的一步广义地讲:算法是为完成一项任务所应当遵循的一步一步的规则的、精确的、无歧义的描述,它的总步数是有一步的规则的、精确的、无歧义的描述,它的总步数是有限的。限的。狭狭义义地地讲讲:算算法法是是
3、解解决决一一个个问问题题采采取取的的方方法法和和步步骤骤的的描述。描述。下面通过两个简单的例子加以说明:下面通过两个简单的例子加以说明:例例6.1输入三个数,然后输出其中最大的数。输入三个数,然后输出其中最大的数。将三个数依次输入到变量、将三个数依次输入到变量、B、C中,设变量中,设变量MAX存放存放最大数。其算法如下:最大数。其算法如下:例例6.2输入输入10个数,打印输出其中最大的数。个数,打印输出其中最大的数。算法设计如下:算法设计如下:(1)输输入入1个个数数,存存入入变变量量A中中,将将记记录录数数据据个个数数的的变变量量N赋赋值为值为1,即,即N=1(2)将将A存入表示最大值的变量
4、存入表示最大值的变量Max中,即中,即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即为最大数。即为最大数。6.1.2算法的特性算法的特性1有穷性有
5、穷性2确定性确定性3有有0个或多个输入个或多个输入4有一个或多个输出有一个或多个输出5有效性有效性6.1.3算法的表示算法的表示一、自然语言与伪代码表示算法一、自然语言与伪代码表示算法自然语言:就是指人们日常使用的语言,可以是汉语、自然语言:就是指人们日常使用的语言,可以是汉语、英语或其它语言。英语或其它语言。伪代码:是用介于自然语言和计算机语言之间的文字和伪代码:是用介于自然语言和计算机语言之间的文字和符号(包括数学符号)来描述算法。符号(包括数学符号)来描述算法。例如:例例如:例6.1可用如下的伪代码表示可用如下的伪代码表示Begin(算法开始)算法开始)输入输入 A,B,C IF AB
6、则则 AMax 否则否则 BMax IF CMax 则则 CMaxPrint MaxEnd(算法结束算法结束)二、二、用用传统传统流程图表示算法流程图表示算法处理框起止框I/O框判断框流程线连接点1、传统流程图中的基本符号、传统流程图中的基本符号2、三种基本结构的传统表示、三种基本结构的传统表示(1)顺序结构)顺序结构条件语句1语句2YN语句1语句2(2)选择结构)选择结构条件(a)条件语句组(3)循环结构)循环结构a)当型当型循环循环b)直到循环直到循环YNYN(b)语句组三种基本结构的特点:三种基本结构的特点:(1)只有一个入口)只有一个入口(2)只有一个出口)只有一个出口(3)不存在死语
7、句)不存在死语句(4)不存在死循环)不存在死循环例:例:例例6.2输入输入10个数,打印输出其中的最大的数的流程图个数,打印输出其中的最大的数的流程图从从10个数中选出最大的数的流程图个数中选出最大的数的流程图NMaxMax=A输入A开始再输入给AN=N+1打印Max结束YNNY6.1.4用用NS流程图表示算法流程图表示算法将将全部算法写在一个矩形框内,在矩形内还可包含其全部算法写在一个矩形框内,在矩形内还可包含其它从属于它的框它从属于它的框三种三种基本结构的基本结构的NS图表示:图表示:语句A语句B语句A语句B条件YN1、顺序结构、顺序结构2、选择结构、选择结构语句组(3)循环结构)循环结构
8、a)当型当型循环循环b)直到循环直到循环当条件成立语句组直到当条件成立例:例:画出从画出从10个数中选出最大的数的个数中选出最大的数的NS流程图流程图(a)(b)传统流程图NMaxMax=A输入A开始再输入给AN=N+1打印Max结束YNNY输入A当N=MaxYNPrivateSubForm_Click()Dima%,max%,i%max=aFori=1To10a=Val(InputBox(A=?)IfamaxThenmax=aNextiPrintMax=;maxEndSub最后需要说明的是:上面介绍的算法表示是给人看的,最后需要说明的是:上面介绍的算法表示是给人看的,即是为帮助程序开发人员阅
9、读、编写程序而设计的一种辅即是为帮助程序开发人员阅读、编写程序而设计的一种辅助工具,程序则必须符一计算机语言的语法规则。助工具,程序则必须符一计算机语言的语法规则。下面是例下面是例6.2的计算机的计算机程序,即为用计算机语言表示算程序,即为用计算机语言表示算法:法:6.1.5结构化程序设计方法(补充)结构化程序设计方法(补充)(一)用计算机解决问题的过程(一)用计算机解决问题的过程提出、分提出、分析问题析问题确定算确定算法模型法模型设计设计算法算法编写编写程序程序调试调试程序程序分析输分析输出结果出结果正确正确合理合理结束结束不正确不正确(二)结构化程序设计思想(二)结构化程序设计思想自顶自顶
10、向下、逐步细化、模块化向下、逐步细化、模块化自顶自顶向下:向下:先从全局、整体设计先从全局、整体设计逐步细化:逐步细化:将一个问题分解成几个较小的问题解决将一个问题分解成几个较小的问题解决模块化:模块化:将一个大任务分解成若干个较小的部分,将一个大任务分解成若干个较小的部分,每每个部分承担一定功能,称为个部分承担一定功能,称为“功能模功能模块块”例:给例:给100个整数,打印输出其中的素数个整数,打印输出其中的素数S1NS流程图流程图输入输入100个数存入个数存入X1,x2,x100打印打印x1.x100中中不等于不等于0的数的数让让x1,x2,x100中的中的非素变为非素变为0S3S2输入输
11、入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打印打印x1.x100中中不等于不等于0的数的数让让x1,x100中中的非素变为的非素变为0细化后的流程图细化后的流程图输入输
12、入xi当当i=100i=i+1i=1当当ixi/2i=i+1xi0当当i=100i=1YN打印打印xii=i+16.2顺序结构顺序结构6.2.1 6.2.1 赋值语句赋值语句 形式形式:变量名表达式变量名表达式对象对象.属性表达式属性表达式功能:功能:将表达式的值赋值给变量名或指定对象的属性。将表达式的值赋值给变量名或指定对象的属性。一般用于给变量赋值或对控件设定属性值一般用于给变量赋值或对控件设定属性值.例:例:sRate!=0.1Text1.Text欢迎使用欢迎使用VisualBasic6.0”说明:说明:1.执行过程:先求表达式的值,然后将值赋值给左边的变量。执行过程:先求表达式的值,然
13、后将值赋值给左边的变量。2.右边表达式可以是变量、常量、函数调用等特殊的表达式。右边表达式可以是变量、常量、函数调用等特殊的表达式。3.不要将不要将“”理解为数学上的等号:理解为数学上的等号:A=A+1是表示将是表示将A单元的值加后以放回到单元的值加后以放回到A单元。单元。执行过程如右图执行过程如右图4赋值符号赋值符号“=”左边一定左边一定只能只能是变量名或对象的属性是变量名或对象的属性引用,不能是常量、符号常量、表达式。引用,不能是常量、符号常量、表达式。下面的赋值语句都是错的:下面的赋值语句都是错的:5=X左边是常量。左边是常量。Abs(X)=20左边是函数调用,即是表达式。左边是函数调用
14、,即是表达式。5.赋值符号赋值符号“=”两边的数据类型一般要求应一致。两边的数据类型一般要求应一致。具体规则(具体规则(P77)6.2.2注释语句注释语句其语法格式为:其语法格式为:Rem或或说明:说明:1.指指要要包包括括的的任任何何注注释释文文本本。在在Rem关关键键字字和和注注释释内内容容之之间间要要加加一一个个空空格格。可可以以用用一一个个英英文文单单引引号号“”来代替来代替Rem关键字。关键字。2.如如果果在在其其他他语语句句行行后后面面使使用用Rem关关键键字字,必必需需用用冒冒号号(:)与与语语句句隔隔开开。若若用用英英文文单单引引号号“”,则则在在其其他他语语句句行行后后面不必
15、加冒号面不必加冒号(:)。例如:例如:Const PI=3.1415925 符号常量符号常量PIS=PI*r*r :Rem计算圆的面积计算圆的面积6.3选择结构选择结构1.IfThen语句语句(单分支结构单分支结构)IfThen语句块语句块EndIf或或IfThen例例:已知两个数已知两个数x和和y,比较它们的比较它们的大小,大小,使得使得x大于大于y.IfxyThent=x:x=y:y=tEndIf或或IfxyThent=x:x=y:y=t2.IfThenElse语句语句(双分支结构双分支结构)IfThenElseEndIfIfThenElse例如:输出例如:输出x,y两个中值较大的一个值。
16、两个中值较大的一个值。IF XY Then Print XElse Print YEnd If也可以写成如下的单行形式:也可以写成如下的单行形式:IF XY Then Print X Else Print Y双分支选择结构执行过程双分支选择结构执行过程3.IfThenElseIf语句语句(多分支结构多分支结构)形式形式:IfThenElseIfThenElse语句块语句块n+1EndIf例:输入一学生成绩,评定其等级。方法是:例:输入一学生成绩,评定其等级。方法是:90100分为分为“优秀优秀”,8089分为分为“良好良好”,7079分为分为“中等中等”,6069分为分为“及格及格”,60分以
17、为分以为“不合格不合格”执行过程使用使用IF语句实现的程序段如下:语句实现的程序段如下:If x=90 thenPrint 优秀优秀ElseIf x=80 ThenPrint 良好良好ElseIf x=70 ThenPrint 中等中等ElseIf x=60 ThenPrint 及格及格ElsePrint 不及格不及格End If6.3.2SelectCase语句(条件分支)语句(条件分支)形式:形式:SelectCase变量或表达式变量或表达式Case表达式列表表达式列表1语句块语句块1Case表达式列表表达式列表2语句块语句块2CaseElse语句块语句块n+1EndSelect:与:与同
18、类型的下面四种形式之一:同类型的下面四种形式之一:1.表达式表达式A+52.一组枚举表达式一组枚举表达式(用逗号分隔用逗号分隔)2,4,6,83.表达式表达式1To表达式表达式260to1004.Is关系运算符表达式关系运算符表达式Is60数值型或字符串表达式将例将例6.3使用使用selectcase.语句来实现的程序段如下:语句来实现的程序段如下:Select Case x Case 90 to 100 Print 优秀优秀 Case 80 to 89 Print 良好良好 Case 70 to 79 Print 中等中等 Case 60 to 69 Print 及格及格 Case Else
19、 Print 不及格不及格End Select补补充例题:充例题:设计一个由计算机来当小学低年级学生算术老师设计一个由计算机来当小学低年级学生算术老师的的VB应用程序,要求给出一系列的两个应用程序,要求给出一系列的两个110数的四则运算数的四则运算的算术题,学生输入该题的答案,计算机根据学生的答案判的算术题,学生输入该题的答案,计算机根据学生的答案判断正确与否,并给出成绩,单击结束命令按钮,退出应用程断正确与否,并给出成绩,单击结束命令按钮,退出应用程序。序。分析分析:产生产生110操作数,可通过操作数,可通过Int(10*Rnd+1)实现实现6.3.3选择结构的嵌套选择结构的嵌套在在IF语句
20、的语句的Then分支和分支和Else分支中可以完整地嵌套另一分支中可以完整地嵌套另一IF语句或语句或SelectCase语句,同样语句,同样SelectCase语句每一个语句每一个Case分分支中都可嵌套另一支中都可嵌套另一IF语句或另一语句或另一SelectCase语句。下面是两种语句。下面是两种正确的嵌套形式:正确的嵌套形式:(1)IFThen.ifThenElse.EndIf.Else.IFThen.Else.EndIf.EndIF(2)IFThen.SelectCaseCaseIFThenElse.EndIfCase.EndSelect.EndIF注意:注意:只只要要在在一一个个分分支
21、支内内嵌嵌套套,不不出出现现交交叉叉,满满足足结结构构规规则则,其其嵌嵌套套的的形形式式将将有有很很多多种种,嵌嵌套套层层次次也也可可以以任任意意多。多。对对于于多多层层IF嵌嵌套套结结构构中中,要要特特别别注注意意IF与与Else的的配配对对关关系系,一一个个Else必必须须与与IF配配结结,配配对对的的原原则则是是:在在写写含含有有多多层层嵌嵌套套的的程程序序时时,建建议议使使用用缩缩进进对对齐齐方方式式,这这样样容易阅读和维护。容易阅读和维护。6.4 6.4 循循环结环结构构1.For循环语句循环语句(一般用于循环次数已知一般用于循环次数已知)形式形式For循环变量初值循环变量初值to终
22、值终值Step步长步长语句块语句块ExitFor语句块语句块Next循环变量循环变量循环体循环体0初值初值终值终值=1时时,可省可省略略终值终值=0死循环死循环步长步长循环次数循环次数例例:ForI=2To13Step3PrintI,NextIPrint“I=“,I循环执行次数循环执行次数输出输出I的值分别为的值分别为:25811出了循环输出为出了循环输出为:I=14例例6.5编程计算:编程计算:S=1+2+3+100Dim S%,I%S=0 累加前变量累加前变量S为为0For I=1 to 100 S=S+INext IPrintS=,S当当N=100N=N+1打印打印SS=0,N=1S=S
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基本 程序结构
限制150内