3流程控制.pptx
- 文档编号:18869175
- 上传时间:2024-02-03
- 格式:PPTX
- 页数:79
- 大小:1.11MB
3流程控制.pptx
《3流程控制.pptx》由会员分享,可在线阅读,更多相关《3流程控制.pptx(79页珍藏版)》请在冰点文库上搜索。
程序设计与实践项目三流程控制2011.12.12相关语法及设计理念活动一判断输入的数是否为3的倍数活动二求三个数的最大值活动三输出给定范围内所有被3、5、7整除的整数小结相关语法及设计理念流程控制流程控制作为一种编程语言,VisualBasic.NET与其他语言一样仍然要用到结构化程序的设计方法。
结构化程序设计的基本思想是将一个应用程序划分为若干个基本结构,通过整合这些简单而众多的基本机构而完成整个程序的编写。
结构化程序设计提供了三种基本的控制结构,即顺序结构、分支结构和循环结构,任何问题都可以使用这三种结构的组合加以解决。
一、顺序结构一、顺序结构在程序设计中,顺序结构是程序设计中最简单的结构。
程序自上而下逐行执行,一条语句执行完之后继续执行下一条语句,直到程序的末尾。
顺序结构是程序设计中最常用的结构。
在顺序结构程序设计中用到的典型语句有:
赋值语句、输入语句和输出语句。
一、顺序结构一、顺序结构1赋值语句赋值语句的一般形式为:
Let变量名=表达式其中:
“Let”表示赋值,通常省略。
“=”称为赋值号。
“表达式”可以是任何类型的表达式,一般其类型应与变量的类型一致。
赋值语句的作用是:
计算赋值号右侧表达式的值,然后将计算结果赋给左侧的变量或属性。
一、顺序结构一、顺序结构例TextBox1.Text=Hello给文本框的Text属性赋值提示一个赋值语句只能对一个变量赋值。
不能把非数值字符串的值赋值给数值型变量。
赋值号左边只能是变量,不能是常量、符号常量、表达式。
赋值号两边同为数值型,将右边的表达式值转换成左边变量的类型后赋值。
要在一行中给多个变量赋值,可以用冒号将语句隔开,如:
x=1:
y=1:
z=1“=”在赋值语句中作为赋值号,而在表达式中作为关系运算符。
一、顺序结构一、顺序结构2复合赋值语句在VB.NET中增加了复合赋值运算符及复合赋值语句,复合赋值语句的形式为:
变量名复合赋值运算符=表达式其中,复合赋值运算符有:
+=、-=、*=、=、/=、=、&=。
作用:
计算赋值号右边表达式的值,然后与赋值号左边的变量进行相应的运算,最后赋值给赋值号左边的变量。
常用于累加、连乘、显示多行信息例如:
sum+=s等价于sum=sum+s一、顺序结构一、顺序结构3输入语句VisualBasic.NET的输入有着十分丰富的内容和形式,在VisualBasic.NET中,一般使用文本框、输入框(InputBox函数)等实现输入操作。
InputBox函数的作用是:
打开一个对话框,等待用户输入内容,当用户单击“确定”按钮或按回车键时,函数返回字符串类型的输入值。
一、顺序结构一、顺序结构其一般形式为:
InputBox(提示信息,对话框标题,默认内容,x坐标位置,y坐标位置)其中:
提示信息:
必需的。
字符串表达式,在对话框中作为信息显示,用来提示用户输入。
对话框标题:
可选的。
字符串表达式,显示对话框标题。
如果省略,则把应用程序名放入标题栏中。
默认内容:
可选的。
字符串表达式,显示文本框中。
在没有其他输入时作为默认值。
如果省略,则文本框为空。
x坐标位置、y坐标位置:
可选的。
数值表达式,坐标确定对话框左上角在屏幕上的位置,屏幕左上角为坐标原点。
一、顺序结构一、顺序结构4输出语句在VisualBasic中,一般使用文本框、标签、MsgBox函数、MsgBox方法、Write方法、WriteLine方法等实现输出操作。
Write和WriteLine方法将在后面介绍。
(1)MsgBox函数MsgBox函数作用:
打开一个信息框,在对话框中显示提示信息,等待用户选择一个按钮,并返回相应的整型值。
一、顺序结构一、顺序结构MsgBox函数的一般形式为:
MsgBox(提示信息,按钮,标题)其中:
提示信息:
该项是必需的。
字符串表达式,作为在对话框中的信息显示。
按钮:
该项是可选的。
是一个枚举类型的MsgBoxStyle值,决定信息框按钮的数目、形式及出现在信息框上的图标类型,其设置见表3-2。
标题:
该项是可选的。
字符串表达式,作为对话框的标题。
如果省略,则把应用程序名放入标题栏中。
一、顺序结构一、顺序结构分类内部常数枚举值值描述按钮类型vbOKOnlyOKOnly0“”只显示确定按钮。
VbOKCancelOKCancel1“”“”显示确定、取消按钮。
VbAbortRetryIgnoreAbortRetryIgnore2“”“”“显示终止、重试、忽”略按钮。
VbYesNoCancelYesNoCancel3“”“”“”显示是、否、取消按钮。
VbYesNoYesNo4“”“”显示是、否按钮。
VbRetryCancelRetryCancel5“”“”显示重试、取消按钮。
图标类型VbCriticalCritical16显示关键信息图标VbQuestionQuestion32显示询问信息图标VbExclamationExclamation48显示警告信息图标VbInformationInformation64显示信息图标默认按钮VbDefaultButton1DefaultButton10默认按钮为第1个按钮VbDefaultButton2DefaultButton2256默认按钮为第2个按钮VbDefaultButton3DefaultButton3512默认按钮为第3个按钮表3-2“按钮”设置值及意义一、顺序结构一、顺序结构MsgBoxResult的枚举值及含义见表3-1。
表3-1MsgBox函数返回值MsgBoxResult的含义被单击的按钮内部常数枚举值返回值确定vbOKOK1取消vbCancelCancel2终止vbAbortAbort3重试vbRetryRetry4忽略vbIgnoreIgnore5是vbYesYes6否vbNoNo7提示:
MsgBox函数作为函数调用,返回用户在对话框中所选的按钮值,通常用来作为继续执行程序的依据,根据该返回值决定其后的操作。
一、顺序结构一、顺序结构例:
以下语句等价:
i=MsgBox(确认数据是否正确?
MsgBoxStyle.YesNo+MsgBoxStyle.Question,数据验证)i=MsgBox(确认数据是否正确?
vbYesNo+vbQuestion,数据验证)i=MsgBox(确认数据是否正确?
4+32,数据验证)i=MsgBox(确认数据是否正确?
36,数据验证)图3-3信息对话框一、顺序结构一、顺序结构
(2)MsgBox方法MsgBox方法一般形式为:
MsgBox(提示信息,按钮,标题)其参数的意义与MsgBox函数相同。
MsgBox语句作用:
打开一个信息框对话框,在对话框中显示消息,等待用户选择一个按钮,但不返回值。
二、分支结构二、分支结构分支结构又称选择结构,用来解决有选择、有转移的诸多问题。
分支结构的特点是:
在程序执行时,根据不同的条件选择执行不同的程序语句。
VB中提供了多种形式的条件语句来实现分支结构。
二、分支结构二、分支结构1If条件语句If条件语句有多种形式:
单分支、双分支和多分支等。
单分支IfThen条件语句的作用是:
当表达式的值为True或非零时,执行Then后面的语句块,否则执行EndIf语句后面的语句。
IfThen语句的一般形式为:
(1)IfThen
(2)IfThen其中:
条件表达式是一个关系表达式或逻辑表达式。
语句块可以是一条或多条语句。
单分支结构流程图如图3-4所示。
图3-4分支结构流程图条件表达式语句块FT二、分支结构二、分支结构图3-5双分支结构流程图双分支IfThenElse语句的作用是:
当条件表达式的值为True或非零时,执行Then后面的语句块1(或语句1),否则执行Else后面的语句块2(或语句2)。
IfThenElse语句的一般形式为:
(1)IfThenElseEndIf
(2)IfThenElse双分支结构流程图如图3-5所示。
二、分支结构二、分支结构例如,输入一个年份,判断它是否为闰年,并显示有关信息。
界面如图3-6所示编程如下。
PublicClassForm1PrivateSubForm1_Load(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)HandlesMyBase.LoadDimyAsIntegery=Val(InputBox(请输入年份)Label1.Text=输入的年份是:
&y&年IfyMod400=0Or(yMod4=0AndyMod1000)ThenLabel2.Text=经判断:
&y&年是闰年ElseLabel2.Text=经判断:
&y&年不是闰年EndIfEndSubEndClass图3-6判断闰年程序界面二、分支结构二、分支结构多分支IfThenElseIf语句的作用是:
根据不同的条件表达式值确定执行哪个语句块。
VB测试条件的顺序为表达式1、表达式2、一旦遇到表达式值为True,则执行该条件下的语句块。
IfThenElseIf语句的一般形式为:
IfThenElseIfThenElseEndIf多分支结构流程图如图3-7所示。
图3-7多分支流程图二、分支结构二、分支结构提示不管有几个分支,依次判断当某条件满足,执行相应的语句块,其余分支不再执行。
ElseIf不能写成ElseIf。
当多分支中有多个表达式同时满足时,则只执行第一个与之匹配的语句块。
因此要注意对多分支表达式的书写次序,防止某些值被过滤掉。
If语句的嵌套是指If或Else后面的语句块中又包含If语句。
语句形式如下:
IfThenIfThenEndIfEndIf二、分支结构二、分支结构IIf函数可用来控制简单的分支操作,它是IfThenElse语句结构的另一种形式。
IIf函数一般形式为:
IIf(,)IIf函数的作用是:
先计算的值,当的值为True时,返回执行的结果;否则,返回执行的结果。
提示必须是关系表达式或逻辑表达式。
和可以是任意表达式。
例如:
将x,y中较大的数存入Max变量中的语句为:
Max=IIf(xy,x,y)二、分支结构二、分支结构2SelectCase语句在实际应用中,对于多分支结构,更方便的做法是使用SelectCase语句。
SelectCase语句又称情况语句,是多分支结构的另一种表示形式。
SelectCase语句的作用是:
先对求值,然后测试该值与哪个Case子句中的表达式列表相匹配。
如果找到了匹配,则执行与该Case子句下面的语句块,并把控制转移到EndSelect后面的语句;如果没有找到,则执行与CaseElse子句有关的语句块,然后把控制转移到EndSelect后面的语句。
二、分支结构二、分支结构SelectCase语句一般形式为:
SelectCaseCaseCaseCaseElseEndSelect其中:
可以是数值型或字符串表达式。
后面的与的类型必须相同,可以是下面四种形式之一:
(1),例:
A
(2)一组用逗号分隔的枚举值,例:
2,4,6,8(3)To,例:
60To100(4)Is,例:
Is大于x10小于x+y10=等于Ucase(a)=A不等于Label1.Text”=大于或等于“abc”=”ab”=小于或等于1213二、分支结构二、分支结构属性、方法和事件构成了对象的三个要素。
属性描述了对象的性质,决定有时我们还会用到逻辑操作符。
使用逻辑操作符可以判定一个以上的条件。
逻辑操作符有Or、And、Not、AndAlso、OrElse和Xor。
如表3-4所示。
表3-4逻辑操作符运算符功能说明Or逻辑或两个操作数中一个为True,则结果为True1And逻辑与两个操作数全为True时,结果才为TrueNot逻辑非返回原来表达式值的反Xor逻辑异或两个操作数的值不一样时,结果为真;否则,结果为False三、循环结构三、循环结构循环是在指定的条件下多次重复执行一组语句。
顺序结构和分支结构的程序执行时,每条语句只能执行一次,循环结构则可以使计算机在一定条件下反复多次执行同一段程序。
VB中提供了两种类型的循环语句:
计数型循环语句和条件型循环语句。
三、循环结构三、循环结构1FOR语句For循环语句又称计数型循环语句,通常用于循环次数已知的程序结构中。
For语句的作用是:
用循环计数器(循环变量)来控制循环体内的语句的执行次数。
For语句的一般形式为:
For=ToStepExitForNext其中:
循环变量:
必须为数值型,用于控制循环是否执行。
每执行一次循环体语句后,循环变量的值自动按指定的步长变化。
初值、终值、步长:
数值型表达式。
三、循环结构三、循环结构步长:
可正可负。
若为正,循环变量从小到大变化(初值小于等于终值);若为负,循环变量从大到小变化(初值大于等于终值);缺省时步长为1。
循环体:
可以是一句或多句语句,是被重复执行的部分。
ExitFor:
表示当遇到该语句时,提前结束循环,执行Next后的下一条语句,通常与条件判断语句(如IF)联合使用。
For循环流程图如图3-9所示图3-9For循环语句的流程图循环变量得初值循环变量在终值内?
语句块ExitFor语句块循环变量TF三、循环结构三、循环结构提示步长为0时,必须有ExitFor语句,否则会发生“死循环”。
循环变量被赋初值,它仅被赋值一次。
循环变量的值是否在终值内:
当步长为正时,若循环变量的值大于终值,则结束循环;当步长为负时,若循环变量的值小于终值,则结束循环。
循环次数:
n=Int(终值初值)/步长+1)。
在循环体内对循环控制变量可多次引用,但不要对其赋值,否则会影响原来的循环控制规律。
三、循环结构三、循环结构例如,求表达式s=1!
+2!
+3!
+10!
的和,程序界面图3-10所示。
图3-10求表达式之和的程序界面三、循环结构三、循环结构程序代码如下PublicClassForm1PrivateSubButton1_Click(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)HandlesButton1.ClickDimsum,i,nAsIntegern=1Fori=1To9n*=isum+=nNextiLabel1.Text=1!
+2!
+.+10!
=&sumEndSubPrivateSubButton2_Click(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)HandlesButton2.ClickEndEndSubEndClass三、循环结构三、循环结构2Do语句Do循环语句又称“循环条件”控制语句,通常用于循环次数未知的循环结构。
此种语句有两类语法形式。
Do语句的一般形式如下。
格式一:
DoWhile|UntilExitDoLoop其中:
循环条件是一个逻辑表达式;While是当条件为True时执行循环;Until是在条件变为True之前执行循环。
Do语句的作用:
当指定的循环条件为True,或者直到指定的循环条件变为True之前重复执行一组语句(即循环体)。
图3-11DoWhile.Loop循环语句流程图三、循环结构三、循环结构例如,求自然对数e的近似值,近似公式为:
e=1+1/1!
+1/2!
+1/n!
+,要求近似值与真值的误差小于0.00001。
程序界面如图3-12所示。
图3-12求自然对数e的近似值程序界面三、循环结构三、循环结构程序的代码如下。
PublicClassForm1PrivateSubButton2_Click(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)HandlesButton2.ClickEndEndSubPrivateSubButton1_Click(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)HandlesButton1.ClickDimiAsInteger,nAsLong,t,sAsSingles=0:
n=1i=0:
t=1DoWhilet0.00001s+=ti+=1n*=it=1/nLoopLabel1.Text=计算了&i&项,他们的和e=&sEndSubEndClass三、循环结构三、循环结构格式二:
DoExitDoLoopWhile|UntilDoLoopUntil语句的执行过程如图3-13所示。
相比DoWhileLoop循环,DoLoopUntil循环无论条件表达式成不成立都先执行一次。
图3-13DoLoopUntil语句流程图条件表达式语句块ExitDo语句块FT三、循环结构三、循环结构3循环的嵌套在一个循环结构的循环体内含有另一个循环结构,这就构成了循环的嵌套,又称多重循环。
循环嵌套对For循环语句和DoLoop循环语句均适用。
例如:
Fori=1To3Label1.Text&=i=&i&vbCrLf&Forj=1To3Label1.Text&=j=&j&NextLabel1.Text&=vbCrLfNext提示外层循环必须完全包含内层循环,循环体之间不能交叉。
对于For循环的嵌套,内循环变量与外循环变量不能同名。
二、分支结构二、分支结构4GoTo语句GoTo语句有又称条件转移语句,它通过与语句标号的结合来控制程序的流程。
GoTo语句的一般形式为:
GoTo标号|行号GoTo语句的作用:
当程序执行该语句时,无条件地将程序转移到标号或行号所标识的语句行上,并从该行向下执行。
提示标号是一个以冒号结束的标识符,用以标明GoTo语句转移的位置。
GoTo语句可以改变程序的执行顺序,由它可以构成分支结构的循环结构。
通常GoTo语句与If语句共同使用,否则会出现死循环。
太多的GoTo语句会降低代码的可阅读性,建议尽量少用或者最好不用GoTo语句。
活动一判断输入的数是否为3的倍数活动简介从键盘上输入一个正从键盘上输入一个正整数整数xx(不超过(不超过33位),单击“验证”位),单击“验证”命令按钮,判断该数命令按钮,判断该数是否为是否为33的倍数。
输的倍数。
输出界面如图出界面如图3-163-16所所示。
示。
判断一个数是否为判断一个数是否为33的倍数,可以通过判的倍数,可以通过判断这个数的各位和是断这个数的各位和是否为否为33的倍数:
若各的倍数:
若各位和是位和是33的倍数,则的倍数,则这个数也是这个数也是33的倍数的倍数;否则不成立。
本活;否则不成立。
本活动就是基于这个思想动就是基于这个思想进行编程的。
进行编程的。
图3-16判断是否为3的倍数程序界面活动实施一、本程序实现思想一、本程序实现思想在窗体上添加在窗体上添加33个标签,个标签,33个命令按钮,执行界面见图个命令按钮,执行界面见图3-3-1616。
程序开始运行,单击“输入数。
程序开始运行,单击“输入数x”x”按钮,打开输入对话按钮,打开输入对话框,在输入框中输入一个数,单击“确定”按钮。
若输入的数框,在输入框中输入一个数,单击“确定”按钮。
若输入的数超过超过33位,则显示输入错误的输出对话框,如图位,则显示输入错误的输出对话框,如图3-173-17所示。
所示。
单击“验证”按钮,将每位数字相加,判断结果是否为单击“验证”按钮,将每位数字相加,判断结果是否为33的倍的倍数,结果显示在相应的控件上,如图数,结果显示在相应的控件上,如图3-183-18所示。
单击“退所示。
单击“退出”按钮或按下出”按钮或按下Alt+EAlt+E组合键,结束程序运行。
组合键,结束程序运行。
本活动要求计算正整数本活动要求计算正整数xx各位上的数字,若各位上的数字,若xx的值为的值为123123,通,通过语句过语句a=x100a=x100,b=x10Mod10b=x10Mod10,c=xMod10c=xMod10可以分别计可以分别计算出其百位、十位和个位上的数字。
其中语句算出其百位、十位和个位上的数字。
其中语句b=x10Mod10b=x10Mod10的计算过程是:
先计算的计算过程是:
先计算1231012310,得到值,得到值1212,然后计算,然后计算1212Mod10Mod10,结果为,结果为22,最后把,最后把22赋给变量赋给变量bb。
注意,这里的整。
注意,这里的整除运算符为“除运算符为“”,不能使用除法运算符“,不能使用除法运算符“/”/”。
本活动中使用了赋值语句、本活动中使用了赋值语句、InputBoxInputBox函数、函数、MsgBoxMsgBox函函数、数、IfIf条件语句。
条件语句。
活动实施图3-17程序输入界面图3-18程序报错输出界面活动实施二、界面设计二、界面设计界面布局参见图3-16、17、18,界面中各个控件的属性见下表控件类别控件属性设置值窗体Form1Text判断是否为3的倍数Size421,248标签Label1Location97,52Size0,12BackColorControlLabel2Location97,89Size0,12BackColorControlLabel3Text欢迎使用!
Font黑体,12.0!
Location28,12Size90,22BackColorTransparent命令按钮Button1Text输入数xFont宋体,9ptLocation38,182Size75,23Button1Text验证Font宋体,9ptLocation151,182Size75,23Button1Text退出(&E)Font宋体,9ptLocation270,182Size75,23活动实施三、代码设计三、代码设计程序全部代码如下。
PublicClassForm1DimxAsInteger提示为了使得输入数x的值能够在另一个事件过程(单击“计算”按钮的事件过程)中使用,应在窗体声明段中先声明变量。
PrivateSubButton1_Click(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)HandlesButton1.Clickx=Val(InputBox(请输入待判断的数(不超过位):
&vbCrLf&输入后按回车&vbCrLf&或单击确定按钮)EndSub活动实施PrivateSubButton2_Click(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)HandlesButton2.ClickDimsum,a,b,cAsIntegerIfx1000ThenMsgBox(请确保输入值不超过位!
)Elsea=x100b=x10Mod10c=xMod10EndIfsum=a+b+cLabel1.Text=输入的数是:
&xIfsum=0The
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 流程 控制