VB60-5-算法的程序三种结构课件_第1页
VB60-5-算法的程序三种结构课件_第2页
VB60-5-算法的程序三种结构课件_第3页
VB60-5-算法的程序三种结构课件_第4页
VB60-5-算法的程序三种结构课件_第5页
已阅读5页,还剩71页未读 继续免费阅读

下载本文档

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

文档简介

算法的程序三种结构本章内容及要求:

1.了解算法概念及表示,掌握用N—S流程图表示算法;

2.熟练掌握赋值语句、输入/输出消息框函数的使用;

3.熟练掌握行if语句、块if结构、SelectCase情况选择结构有使用,掌握选择的嵌套结构;

3.熟练掌握实现循环结构的For/Next循环结构及ExitFor语句、Do/Loop循环结构的使用,掌握多重循环。重点:选择结构及循环结构的实现及其应用难点:选择的嵌套及多重循环结构算法的程序三种结构本章内容及要求:重点:选择结构及循环结构的算法及算法的表示算法概述什么是算法:

广义地讲:算法是为完成一项任务所应当遵循的一步一步的规则的、精确的、无歧义的描述,它的总步数是有限的。

狭义地讲:算法是解决一个问题采取的方法和步骤的描述。下面通过两个简单的例子加以说明:算法及算法的表示算法概述算法的特性有穷性确定性有0个或多个输入有一个或多个输出有效性算法及算法的表示算法的特性有穷性算法及算法的表示算法的表示一、自然语言与伪代码表示算法自然语言:就是指人们日常使用的语言,可以是汉语、英语或其它语言。伪代码:是用介于自然语言和计算机语言之间的文字和符号(包括数学符号)来描述算法。算法及算法的表示算法的表示算法及算法的表示例如:伪代码表示Begin(算法开始)

输入

A,B,CIFA>B则

A→Max

否则

B→MaxIFC>Max则

C→MaxPrintMaxEnd(算法结束)算法及算法的表示例如:伪代码表示算法及算法的表示二用传统流程图表示算法处理框始终框I/O框判断框流程线连接点1、传统流程图中的基本符号算法及算法的表示二用传统流程图表示算法处理框始终框I/O框判断框流程线连接2、三种基本结构的表示(1)顺序结构条件语句1语句2YN语句1语句2(2)选择结构算法及算法的表示2、三种基本结构的表示条件语句1语句2YN语句1语句2(2)(3)循环结构a)当型循环b)直到循环条件语句组YN(b)条件(a)YN语句组算法及算法的表示(3)循环结构a)当型循环b)直到循环条件语句组YN(三种基本结构的特点:(1)只有一个入口(2)只有一个出口(3)不存在死语句(3)不存在死循环例:输入10个数,打印输出其中的最大的数的流程图算法及算法的表示三种基本结构的特点:(1)只有一个入口例:输入10个数,打

从10个数中选出最大的数的算法流程图N<10Max=AN=1A>MaxMax=A输入A开始再输入给AN=N+1打印Max结束YNNY算法及算法的表示从10个数中选出最大的数的算法流程图N<10M结构化程序设计方法(补充)(一)、用计算机解决问题的过程提出、分析问题确定算法模型设计算法编写程序调试程序分析输出结果正确合理结束不正确算法及算法的表示结构化程序设计方法(补充)(一)、用计算机解决问题的过程提出顺序结构赋值语句

形式:变量名=表达式对象.属性=表达式

功能:将表达式的值赋值给变量名或指定对象的属性。一般用于给变量赋值或对控件设定属性值.

例:

Text1.Text="欢迎使用VisualBasic6.0”说明:

1执行过程:先求表达式的值,然后将值赋值给左边的变量。

2右边的表达式可以是变量、常量、函数调用等特殊的表达式。

3不要将“=”理解为数学上的等号:

A=A+1是表示将A单元的值加1后以放回到A单元。顺序结构赋值语句执行过程如右图3.赋值符号“=”左边一定只能是变量名或对象的属性引用,不能是常量、符号常量、表达式。下面的赋值语句都是错的:5=X'左边是常量。Abs(X)=20'左边是函数调用,即是表达式。5.赋值符号“=”两边的数据类型一般要求应一致。顺序结构执行过程如右图3.赋值符号“=”左边一定只能是变量名或对象的数据的输出——Print方法Print方法的一般格式:

[对象名.]Print[<表达式表>][{,|;}]说明:

[对象名.]可以是窗体名、图片框名,也可是立即窗口“Debug”。若省略对象,则表示在当前窗体上输出。用Print方法在图片框和立即窗口对象中输出与在窗体对象中输出完全相同。顺序结构数据的输出——Print方法Print方法的一般格式:说明用户交互函数和过程

1.InputBox函数变量名=InputBox[$](<提示信息>[,<标题>][,<缺省>][,<x坐标>][,<y坐标>])

其中:提示提示信息,标题标题区显示,缺省输入区缺省值。例如,要在屏幕上显示如下的对话框:顺序结构用户交互函数和过程顺序结构

例如:有下列语句如下:

Dimx%x=Val(InputBox(“请输入一个数”,“输入框”,100))

语句执行后打开如下对话框。缺省值标题提示顺序结构例如:有下列语句如下:缺省值标题提示顺序结构2.MsgBox函数和MsgBox过程函数形式:变量[%]=MsgBox(提示[,按钮[+图标]+[缺省按钮]+[模式]][,标题])

过程形式:MsgBox提示[,按钮[+图标]+[缺省按钮]+[模式]][,标题]图标标题提示信息命令按钮顺序结构2.MsgBox函数和MsgBox过程图标标题提示信息命令按钮及图标值如下:根据用户所选按钮,函数返回1—7的整数值,其含义如下表:(表3.2)顺序结构按钮及图标值如下:根据用户所选按钮,函数返回1—7的整数值,应用举例例

编一程序,求一内半径R1=10cm,外半径R2=20cm的球环的体积。要求按四舍五入保留到小数点后3位。解:球的体积公式:本题所求的球环面的体积公式:顺序结构应用举例例编一程序,求一内半径R1=10cm,外半径R2=

选择结构是根据条件选择执行不同的分支语句,以完成问题的要求。在VisualBasic程序设计中,使用IF语句和SelectCase语句来处理选择结构。其特点是:根据所给定的条件成立(True)或不成立(False),从各实际可能的不同分支中执行某一分支的相应操作(程序块),并且任何情况下总有“无论条件多寡,必择其一;虽然条件众多,仅选其一”的特性。

选择结构If条件语句

选择结构是根据条件选择执行不同的分支语句,以完成问题1.If…Then语句(单分支结构)

If<表达式>Then

语句块

EndIf

If<表达式>Then<语句>

例:已知两个数x和y,比较它们的大小,使得x大于y.

Ifx<yThent=x:x=y:y=tEndIf

或Ifx<yThent=x:x=y:y=t选择结构1.If…Then语句(单分支结构)例:已知两个数x和y,2.If…Then…Else语句(双分支结构)

If<表达式>Then<语句块1>Else<语句块2>EndIf

If<表达式>Then<语句1>Else<语句2>

双分支选择结构执行过程选择结构2.If…Then…Else语句(双分支结构)例如:输出x,y两个中值较大的一个值。

IFX>YThenPrintX

ElsePrintYEndIf也可以写成如下的单行形式:

IFX>YThenPrintXElsePrintY选择结构例如:输出x,y两个中值较大的一个值。选择结构3.If…Then…ElseIf语句(多分支结构)

形式:

If<表达式1>Then <语句块1> ElseIf<表达式2>Then <语句块2> … [Else

语句块n+1] EndIf执行过程选择结构3.If…Then…ElseIf语句(多分支结构)执行过程使用IF语句实现的程序段如下:Ifx>=90thenPrint"优秀"ElseIfx>=80ThenPrint"良好"ElseIfx>=70ThenPrint"中等"ElseIfx>=60ThenPrint"及格"ElsePrint"不及格"EndIf

例:输入一学生成绩,评定其等级。方法是:90~100分为“优秀”,80~89分为“良好”,70~79分为“中等”,60~69分为“及格”,60分以为“不合格”选择结构使用IF语句实现的程序段如下:例:输入一学生成绩,多分支选择结构SelectCase,又称为分情况语句,其特点是:从多个选择结构中,选择第一个条件为真的路线作为执行的路线。SelectCase〈情况表达式〉Case〈表达式表1〉〈语句列1〉Case〈表达式表2〉〈语句列2〉

[CaseElse〈其他语句列〉]EndSelect选择结构多分支选择结构SelectCase,又称为分情况语句,其特如:根据星期代号,输出相应星期名称。Week=inputbox(“请输入星期代码:”)Selectcaseweekcase1print"Monday"case2print“Tuesday”case3Print“Wednesday”case4print“Thursday”选择结构如:根据星期代号,输出相应星期名称。选择结构case5print“Friday”case6print“Saturday”case7print"Sunday"elseprint"error"EndSelectcase5例如:根据月份值,输出当月的总天数。SelectCasemonthCase1,3,5,7,8,10,12Print“days=31”Case2Print“days=28”Case4,6,9,11Print“days=30”EndSelect例如:根据月份值,输出当月的总天数。循环结构

1.For循环语句(一般用于循环次数已知)形式:

For循环变量=初值to终值[Step步长]

语句块

[ExitFor]

语句块

Next循环变量循环体>0初值<终值=1时,可省略<0初值>终值=0死循环

步长循环结构循环结构循环体>0初值<终值=1时,可省略步长循环次数例:ForI=2To13Step3PrintI,NextIPrint“I=“,I循环执行次数输出I的值分别为:25811出了循环输出为:I=13循环结构循环次数例:ForI=2To13Step形式1:(当型循环)

Do{While|Until}<条件>

语句块

[ExitDo]

语句块

LoopDo…Loop循环语句循环结构形式1:(当型循环)形式2:(直到循环)

Do

语句块

[ExitDo]

语句块

Loop{While|Until}<条件>循环结构形式2:(直到循环)循环结构几种循环语句比较循环结构几种循环语句比较循环结构Exit语句

Exit语句用于退出Do...Loop、For...Next、Function或Sub代码块。对应的使用格式为:ExitDo、ExitFor、ExitFunction、ExitSub。分别表示退出DO循环、For循环、函数过程、子过程。例如:下面的例子是使用

Exit语句退出

For...Next循环、Do...Loop循环及子过程。其它控制语句

Exit语句Exit语句用于退出Do...Loop、PrivateSubForm_Click()DimI%,Num%DoWhileTrue'建立无穷循环。

ForI=1To100'循环

100次。

Num=Int(Rnd*100)'生成一个0~99的随机数。

SelectCaseNumCase10:ExitFor'退出

For...Next循环。

Case50:ExitDo'退出

Do...Loop循环。

Case63:ExitSub'退出子过程。

EndSelectNextILoopEndSub其它控制语句

PrivateSubForm_Click()其它控制语句End语句形式:End

功能:结束一个程序的运行。在VisualBasic中还有多种形式的End语句,用于结束一个程序块或过程。其形式有:

EndIfEndSelectEndTypeEndWithEndSubEndFunction等,它们与对应的语句配对使用。其它控制语句

End语句其它控制语句数学上称“递推法”,凡是由一给定的初值,通过某一算法(公式)可求得新值,再由新值按照同样的算法又可求得另一个新值,这样经过有限次即可求得其解。递推法

用递推法求某个数的平方根。已知求平方根的迭代公式为:

应用程序举例数学上称“递推法”,凡是由一给定的初值,通过某一算法(公式)算法的程序三种结构本章内容及要求:

1.了解算法概念及表示,掌握用N—S流程图表示算法;

2.熟练掌握赋值语句、输入/输出消息框函数的使用;

3.熟练掌握行if语句、块if结构、SelectCase情况选择结构有使用,掌握选择的嵌套结构;

3.熟练掌握实现循环结构的For/Next循环结构及ExitFor语句、Do/Loop循环结构的使用,掌握多重循环。重点:选择结构及循环结构的实现及其应用难点:选择的嵌套及多重循环结构算法的程序三种结构本章内容及要求:重点:选择结构及循环结构的算法及算法的表示算法概述什么是算法:

广义地讲:算法是为完成一项任务所应当遵循的一步一步的规则的、精确的、无歧义的描述,它的总步数是有限的。

狭义地讲:算法是解决一个问题采取的方法和步骤的描述。下面通过两个简单的例子加以说明:算法及算法的表示算法概述算法的特性有穷性确定性有0个或多个输入有一个或多个输出有效性算法及算法的表示算法的特性有穷性算法及算法的表示算法的表示一、自然语言与伪代码表示算法自然语言:就是指人们日常使用的语言,可以是汉语、英语或其它语言。伪代码:是用介于自然语言和计算机语言之间的文字和符号(包括数学符号)来描述算法。算法及算法的表示算法的表示算法及算法的表示例如:伪代码表示Begin(算法开始)

输入

A,B,CIFA>B则

A→Max

否则

B→MaxIFC>Max则

C→MaxPrintMaxEnd(算法结束)算法及算法的表示例如:伪代码表示算法及算法的表示二用传统流程图表示算法处理框始终框I/O框判断框流程线连接点1、传统流程图中的基本符号算法及算法的表示二用传统流程图表示算法处理框始终框I/O框判断框流程线连接2、三种基本结构的表示(1)顺序结构条件语句1语句2YN语句1语句2(2)选择结构算法及算法的表示2、三种基本结构的表示条件语句1语句2YN语句1语句2(2)(3)循环结构a)当型循环b)直到循环条件语句组YN(b)条件(a)YN语句组算法及算法的表示(3)循环结构a)当型循环b)直到循环条件语句组YN(三种基本结构的特点:(1)只有一个入口(2)只有一个出口(3)不存在死语句(3)不存在死循环例:输入10个数,打印输出其中的最大的数的流程图算法及算法的表示三种基本结构的特点:(1)只有一个入口例:输入10个数,打

从10个数中选出最大的数的算法流程图N<10Max=AN=1A>MaxMax=A输入A开始再输入给AN=N+1打印Max结束YNNY算法及算法的表示从10个数中选出最大的数的算法流程图N<10M结构化程序设计方法(补充)(一)、用计算机解决问题的过程提出、分析问题确定算法模型设计算法编写程序调试程序分析输出结果正确合理结束不正确算法及算法的表示结构化程序设计方法(补充)(一)、用计算机解决问题的过程提出顺序结构赋值语句

形式:变量名=表达式对象.属性=表达式

功能:将表达式的值赋值给变量名或指定对象的属性。一般用于给变量赋值或对控件设定属性值.

例:

Text1.Text="欢迎使用VisualBasic6.0”说明:

1执行过程:先求表达式的值,然后将值赋值给左边的变量。

2右边的表达式可以是变量、常量、函数调用等特殊的表达式。

3不要将“=”理解为数学上的等号:

A=A+1是表示将A单元的值加1后以放回到A单元。顺序结构赋值语句执行过程如右图3.赋值符号“=”左边一定只能是变量名或对象的属性引用,不能是常量、符号常量、表达式。下面的赋值语句都是错的:5=X'左边是常量。Abs(X)=20'左边是函数调用,即是表达式。5.赋值符号“=”两边的数据类型一般要求应一致。顺序结构执行过程如右图3.赋值符号“=”左边一定只能是变量名或对象的数据的输出——Print方法Print方法的一般格式:

[对象名.]Print[<表达式表>][{,|;}]说明:

[对象名.]可以是窗体名、图片框名,也可是立即窗口“Debug”。若省略对象,则表示在当前窗体上输出。用Print方法在图片框和立即窗口对象中输出与在窗体对象中输出完全相同。顺序结构数据的输出——Print方法Print方法的一般格式:说明用户交互函数和过程

1.InputBox函数变量名=InputBox[$](<提示信息>[,<标题>][,<缺省>][,<x坐标>][,<y坐标>])

其中:提示提示信息,标题标题区显示,缺省输入区缺省值。例如,要在屏幕上显示如下的对话框:顺序结构用户交互函数和过程顺序结构

例如:有下列语句如下:

Dimx%x=Val(InputBox(“请输入一个数”,“输入框”,100))

语句执行后打开如下对话框。缺省值标题提示顺序结构例如:有下列语句如下:缺省值标题提示顺序结构2.MsgBox函数和MsgBox过程函数形式:变量[%]=MsgBox(提示[,按钮[+图标]+[缺省按钮]+[模式]][,标题])

过程形式:MsgBox提示[,按钮[+图标]+[缺省按钮]+[模式]][,标题]图标标题提示信息命令按钮顺序结构2.MsgBox函数和MsgBox过程图标标题提示信息命令按钮及图标值如下:根据用户所选按钮,函数返回1—7的整数值,其含义如下表:(表3.2)顺序结构按钮及图标值如下:根据用户所选按钮,函数返回1—7的整数值,应用举例例

编一程序,求一内半径R1=10cm,外半径R2=20cm的球环的体积。要求按四舍五入保留到小数点后3位。解:球的体积公式:本题所求的球环面的体积公式:顺序结构应用举例例编一程序,求一内半径R1=10cm,外半径R2=

选择结构是根据条件选择执行不同的分支语句,以完成问题的要求。在VisualBasic程序设计中,使用IF语句和SelectCase语句来处理选择结构。其特点是:根据所给定的条件成立(True)或不成立(False),从各实际可能的不同分支中执行某一分支的相应操作(程序块),并且任何情况下总有“无论条件多寡,必择其一;虽然条件众多,仅选其一”的特性。

选择结构If条件语句

选择结构是根据条件选择执行不同的分支语句,以完成问题1.If…Then语句(单分支结构)

If<表达式>Then

语句块

EndIf

If<表达式>Then<语句>

例:已知两个数x和y,比较它们的大小,使得x大于y.

Ifx<yThent=x:x=y:y=tEndIf

或Ifx<yThent=x:x=y:y=t选择结构1.If…Then语句(单分支结构)例:已知两个数x和y,2.If…Then…Else语句(双分支结构)

If<表达式>Then<语句块1>Else<语句块2>EndIf

If<表达式>Then<语句1>Else<语句2>

双分支选择结构执行过程选择结构2.If…Then…Else语句(双分支结构)例如:输出x,y两个中值较大的一个值。

IFX>YThenPrintX

ElsePrintYEndIf也可以写成如下的单行形式:

IFX>YThenPrintXElsePrintY选择结构例如:输出x,y两个中值较大的一个值。选择结构3.If…Then…ElseIf语句(多分支结构)

形式:

If<表达式1>Then <语句块1> ElseIf<表达式2>Then <语句块2> … [Else

语句块n+1] EndIf执行过程选择结构3.If…Then…ElseIf语句(多分支结构)执行过程使用IF语句实现的程序段如下:Ifx>=90thenPrint"优秀"ElseIfx>=80ThenPrint"良好"ElseIfx>=70ThenPrint"中等"ElseIfx>=60ThenPrint"及格"ElsePrint"不及格"EndIf

例:输入一学生成绩,评定其等级。方法是:90~100分为“优秀”,80~89分为“良好”,70~79分为“中等”,60~69分为“及格”,60分以为“不合格”选择结构使用IF语句实现的程序段如下:例:输入一学生成绩,多分支选择结构SelectCase,又称为分情况语句,其特点是:从多个选择结构中,选择第一个条件为真的路线作为执行的路线。SelectCase〈情况表达式〉Case〈表达式表1〉〈语句列1〉Case〈表达式表2〉〈语句列2〉

[CaseElse〈其他语句列〉]EndSelect选择结构多分支选择结构SelectCase,又称为分情况语句,其特如:根据星期代号,输出相应星期名称。Week=inputbox(“请输入星期代码:”)Selectcaseweekcase1print"Monday"case2print“Tuesday”case3Print“Wednesday”case4print“Thursday”选择结构如:根据星期代号,输出相应星期名称。选择结构case5print“Friday”case6print“Saturday”case7print"Sunday"elseprint"error"EndSelectcase5例如:根据月份值,输出当月的总天数。SelectCasemonthCase1,3,5,7,8,10,12Print“days=31”Case2Print“days=28”Case4,6,9,11Print“days=30”EndSelect例如:根据月份值,输出当月的总天数。循环结构

1.For循环语句(一般用于循环次数已知)形式:

For循环变量=初值to终值[Step步长]

语句块

[ExitFor]

语句块

Next循环变量循环体>0初值<终值=1时,可省略<0初值>终值=0死循环

步长循环结构循环结构循环体>0初值<终值=1时,可省略步长循环次数例:ForI=2To13Step3PrintI,NextIPrint“I=“,I循环执行次数输出I的值分别为:25811出了循环输出为:I=13循环结构循环次数例:ForI=2To13

温馨提示

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

评论

0/150

提交评论