《四章节算法基础及VB基本语句教案.ppt》由会员分享,可在线阅读,更多相关《四章节算法基础及VB基本语句教案.ppt(96页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、江苏计算机等江苏计算机等级考试级考试 Visual Basic 程序设计程序设计四章节算法基础及VB基本语句 Still waters run deep.流静水深流静水深,人静心深人静心深 Where there is life,there is hope。有生命必有希望。有生命必有希望江苏计算机等江苏计算机等级考试级考试 Visual Basic 程序设计程序设计1 1、了解结构化程序设计的基本概念、了解结构化程序设计的基本概念2 2、掌握、掌握VB VB 程序设计中的常用语句程序设计中的常用语句3 3、掌握顺序、选择、和循环结构及相应的语句、掌握顺序、选择、和循环结构及相应的语句教学要求教
2、学要求2江苏计算机等江苏计算机等级考试级考试 Visual Basic 程序设计程序设计教学内容教学内容教学内容教学内容4.1 4.1 算法及程序设计基础算法及程序设计基础4.2 4.2 赋值语句及赋值语句及InputBoxInputBox、MsgBoxMsgBox函数函数4.3 4.3 分支结构与分支结构语句分支结构与分支结构语句4.4 4.4 循环结构与循环结构语句循环结构与循环结构语句4.5 4.5 程序示例程序示例3江苏计算机等江苏计算机等级考试级考试 Visual Basic 程序设计程序设计4.1 4.1 4.1 4.1 算法及程序设计基础算法及程序设计基础算法及程序设计基础算法及
3、程序设计基础l l一个程序一个程序一个程序一个程序(过程过程过程过程)应包括:应包括:应包括:应包括:l lNikiklaus WirthNikiklaus WirthNikiklaus WirthNikiklaus Wirth认为认为认为认为:l有人认为:有人认为:对数据的描述对数据的描述:指定所用数据的类型,作用域和数据的:指定所用数据的类型,作用域和数据的 组织形式,即数据结构(组织形式,即数据结构(data structure)。)。对操作的描述对操作的描述:即操作步骤,也就是算法(:即操作步骤,也就是算法(algorithm)。)。数据结构数据结构+算法算法=程序程序程序程序=算法算
4、法+数据结构数据结构+程序设计方法程序设计方法+语言工具和环境语言工具和环境4江苏计算机等江苏计算机等级考试级考试 Visual Basic 程序设计程序设计1 1 1 1、算法的概念、算法的概念、算法的概念、算法的概念l算法算法即即解解决决某某个个问问题题或或处处理理某某件件事事的的方方法法和和步步骤骤;“采采用用什什么么结构,使用什么语句以及如何安排这些语句结构,使用什么语句以及如何安排这些语句”。l算法分类:算法分类:数值计算算法数值计算算法非数值计算算法非数值计算算法l算法算法优劣优劣:正确性,效率,占用系统资源,便于理解,易于调试等。正确性,效率,占用系统资源,便于理解,易于调试等。
5、5江苏计算机等江苏计算机等级考试级考试 Visual Basic 程序设计程序设计1810M N R8108 2 8 2 0 2 0R=8R=2R=0M=2即最大公约数即最大公约数求求最最大大公公约约数数 题目题目:求两个自然数的最大公约数:求两个自然数的最大公约数 分析分析:求最大公约数的常用方法是辗转相除法:求最大公约数的常用方法是辗转相除法(欧几里德算法欧几里德算法)。2 2、算法示例、算法示例6江苏计算机等江苏计算机等级考试级考试 Visual Basic 程序设计程序设计 算法描述算法描述算法描述算法描述 :S1 S1 输入两个自然数:输入两个自然数:M M,N N;S2 S2 求求
6、M M除以除以N N的余数的余数R R;S3 S3 使使M=NM=N,即用,即用N N代换代换M M;S4 S4 使使N=RN=R,即用,即用R R代换代换N N;S5 S5 若若R0R0,则重复执行,则重复执行S2,S3,S4,S2,S3,S4,否则转至否则转至S6S6S6 S6 输出输出M M,M M即为即为M M,N N的最大公约数。的最大公约数。7江苏计算机等江苏计算机等级考试级考试 Visual Basic 程序设计程序设计3 3 3 3、算法的特征、算法的特征、算法的特征、算法的特征2 确定性确定性2 可行性可行性2 有穷性有穷性2 输入性输入性2 输出性输出性8江苏计算机等江苏计
7、算机等级考试级考试 Visual Basic 程序设计程序设计4 4 4 4、算法的描述、算法的描述、算法的描述、算法的描述 l程序流程图程序流程图求求最最大大公公约约数数9江苏计算机等江苏计算机等级考试级考试 Visual Basic 程序设计程序设计程序编码程序编码实现算法实现算法l算法仅提供解题思路,计算机不可直接执行。算法仅提供解题思路,计算机不可直接执行。l用用某某一一程程序序设设计计语语言言所所提提供供的的语语言言成成分分,根根据据该该语语言言的的特特点点,并并利利用用该该语语言言的的各各种种工工具具和和手手段段,遵遵照照规规定定的的语语法法规规则去实现算法,得到原程序代码,计算机
8、可识别并执行。则去实现算法,得到原程序代码,计算机可识别并执行。10江苏计算机等江苏计算机等级考试级考试 Visual Basic 程序设计程序设计5.5.5.5.基本算法结构基本算法结构基本算法结构基本算法结构1 1).顺序结构顺序结构语句语句1语句语句2语句块语句块结结构构化化程程序序设设计计11江苏计算机等江苏计算机等级考试级考试 Visual Basic 程序设计程序设计l2)选择结构)选择结构条件满足?块1块2TrueFalse结结构构化化程程序序设设计计12江苏计算机等江苏计算机等级考试级考试 Visual Basic 程序设计程序设计l3)循环结构)循环结构块块TrueFalse
9、条件条件结结构构化化程程序序设设计计13江苏计算机等江苏计算机等级考试级考试 Visual Basic 程序设计程序设计三种基本结构的共同特点三种基本结构的共同特点三种基本结构的共同特点三种基本结构的共同特点l只有单一入口和单一出口;只有单一入口和单一出口;l结构中的每一部分都有被执行的可能;结构中的每一部分都有被执行的可能;l结构内不应出现永不终止的死循环。结构内不应出现永不终止的死循环。14江苏计算机等江苏计算机等级考试级考试 Visual Basic 程序设计程序设计4.2 4.2 4.2 4.2 赋值语句及赋值语句及赋值语句及赋值语句及InputBoxInputBoxInputBoxI
10、nputBox、MsgBoxMsgBoxMsgBoxMsgBox函数函数函数函数4.2.1 赋值语句赋值语句4.2.2 InputBoxInputBox函数函数4.2.3 MsgBoxMsgBox函数函数15江苏计算机等江苏计算机等级考试级考试 Visual Basic 程序设计程序设计4.2.1 赋值语句赋值语句 格式格式:=功能功能:先计算表达式的值,再将该值赋予左端的变量。:先计算表达式的值,再将该值赋予左端的变量。说明说明:-赋值号左端不仅可以是变量名,还可以是对象的属性;赋值号左端不仅可以是变量名,还可以是对象的属性;-表达式的类型和变量的类型要一致表达式的类型和变量的类型要一致 -
11、赋值语句是按语句出现的先后顺序执行的(顺序结构)赋值语句是按语句出现的先后顺序执行的(顺序结构)举例举例:str1=Nice to meet you number%=72 Lable1.Caption=Filename is:Text.FontSize=12 改变字号改变字号16江苏计算机等江苏计算机等级考试级考试 Visual Basic 程序设计程序设计使用下面的方法可以获取一个对象的属性值:使用下面的方法可以获取一个对象的属性值:var=object.Property 例如:例如:Label1.Caption=Text1.Text 式中,式中,varvar是变量名、是变量名、object
12、object是对象名、是对象名、propertyproperty是该对是该对象的某个属性名。象的某个属性名。特别注意:特别注意:属性也存在数据类型,所以在获取对象的属性值时,属性也存在数据类型,所以在获取对象的属性值时,最好使用具有相同数据类型的变量。最好使用具有相同数据类型的变量。说明说明 17江苏计算机等江苏计算机等级考试级考试 Visual Basic 程序设计程序设计注意:赋值号(注意:赋值号(=)与比较运算符()与比较运算符(=)不同)不同v 赋值是独立的一条语句;赋值是独立的一条语句;由运算符(由运算符(=)连结两个操作数的关系表达式是)连结两个操作数的关系表达式是语句的一部语句的
13、一部分分,不可单独存在不可单独存在v 比较运算符不会改变操作数的值;比较运算符不会改变操作数的值;赋值语句会,改变赋值号左边的量,所以必须是可以被赋赋值语句会,改变赋值号左边的量,所以必须是可以被赋值的变量或属性值的变量或属性Dim x As Integer,y As Integer,z As Booleanx=3 :y=4:y=xz=x=yPrint x,y,z18江苏计算机等江苏计算机等级考试级考试 Visual Basic 程序设计程序设计Private Sub Form_Click()Dim a As Integer,b As Integer a=10 b=3*a Print a,bE
14、nd SubPrivate Sub Form_Click()Dim a As Integer,b As Integer b=3*a a=10 Print a,bEnd Sub例:单击窗体,下列两段程序的执行结果分别是例:单击窗体,下列两段程序的执行结果分别是()()和和()()。提示:利用赋值语句给变量赋值后,在未有新的提示:利用赋值语句给变量赋值后,在未有新的赋值语句再次给它赋值前,变量值保持不变。赋值语句再次给它赋值前,变量值保持不变。19江苏计算机等江苏计算机等级考试级考试 Visual Basic 程序设计程序设计例:交换两个变量的值。例:交换两个变量的值。Private Sub Fo
15、rm_Click()Dim a As Integer,b As Integer a=10:b=2 Print a,b 填入程序代码填入程序代码 Print a,bEnd Sub正确答案正确答案Dim Temp As IntegerTemp=a :a=b :b=Temp题目说明题目说明单击窗体程序执行结果为:单击窗体程序执行结果为:10 2 10 2 2 10 2 10 注意注意 变量变量a a和和b b为两个不定值的变量,为两个不定值的变量,因此不能直接用因此不能直接用 a=2 :b=10 a=2 :b=10语句来解决这个问题。语句来解决这个问题。一旦利用赋值语句给变量赋一旦利用赋值语句给变量
16、赋新值,会覆盖原值,所以不能新值,会覆盖原值,所以不能直接用直接用 a=b :b=a a=b :b=a语句来解决这个问题。语句来解决这个问题。20江苏计算机等江苏计算机等级考试级考试 Visual Basic 程序设计程序设计例:求一元一次方程例:求一元一次方程x+5=0 x+5=0的解。的解。Private Sub Form_Click()Dim x As Integer 3*x+5=0 Print“x=”;xEnd SubPrivate Sub Form_Click()Dim x As Integerx=(0-)/3 -Print“x=”;xEnd Sub 语句语句是该例题的算法。是该例题
17、的算法。错误程序错误程序正确程序正确程序总结:总结:利用程序设计语言处理问题,我们首先要知道的是利用程序设计语言处理问题,我们首先要知道的是怎么解怎么解决问题决问题,其次要知道怎么将解决问题的方法,其次要知道怎么将解决问题的方法用程序设计语言来用程序设计语言来表达表达。21江苏计算机等江苏计算机等级考试级考试 Visual Basic 程序设计程序设计4.2.2 InputBox4.2.2 InputBox函数函数 格式格式:InputBox$(,)功能功能:弹出对话框,用户输入数据后回车或单击弹出对话框,用户输入数据后回车或单击“确定确定”按钮后,按钮后,将输入内容赋值给相应的变量;按将输入
18、内容赋值给相应的变量;按ESCESC键或单击键或单击“取消取消”按钮,按钮,返回返回空串空串。22江苏计算机等江苏计算机等级考试级考试 Visual Basic 程序设计程序设计 说明说明(1 1)promptprompt:必选项。对话框中的提示信息。:必选项。对话框中的提示信息。(2 2)titletitle:可选。对话框的标题。省略则为应用程序名。:可选。对话框的标题。省略则为应用程序名。(3 3)defaultdefault:可选。显示在用户编辑框中的缺省值,省略为空。:可选。显示在用户编辑框中的缺省值,省略为空。(4 4)x,y:x,y:可选。指定对话框的显示位置,省略则居中。可选。指
19、定对话框的显示位置,省略则居中。例:例:i=InputBox(“i=InputBox(“输入数组元素输入数组元素”+Chr(10)+“”+Chr(10)+“第一个元素为第一个元素为:”:”,程序示例程序示例,100)100)缺省值缺省值标题标题提示字符串提示字符串23江苏计算机等江苏计算机等级考试级考试 Visual Basic 程序设计程序设计例:用例:用InputBox函数输入出生日期,计算年龄。函数输入出生日期,计算年龄。Option ExplicitOption ExplicitPrivate Sub Form_Click()Private Sub Form_Click()Dim Bi
20、rthDay As Date,Age As Integer Dim BirthDay As Date,Age As Integer BirthDay=InputBox(BirthDay=InputBox(输入出生日期输入出生日期,计算年龄计算年龄)Age=Year(Date)-Year(BirthDay)Age=Year(Date)-Year(BirthDay)Print Print 你今年:你今年:;Age;Age;岁岁 End SubEnd Sub24江苏计算机等江苏计算机等级考试级考试 Visual Basic 程序设计程序设计4.2.3 MsgBox4.2.3 MsgBox函数函数格式
21、格式:MsgBox(Prompt,Button,Title,HelpFile,Context)功能功能:向用户发布提示信息,并要求用户作出必要的响应。:向用户发布提示信息,并要求用户作出必要的响应。说明说明:(1 1)Prompt:Prompt:必选项。字符串表达式,对话框中的提示信息。必选项。字符串表达式,对话框中的提示信息。(2 2)Button:Button:指定显示按钮的数目及形式,使用的图标样式,指定显示按钮的数目及形式,使用的图标样式,这是一个由这是一个由4 4个数值常量组成的式子,形式为个数值常量组成的式子,形式为c1+c2+c3+c4c1+c2+c3+c4,用,用于决定信息框中
22、按钮的个数和类型以及出现在信息框中的图标于决定信息框中按钮的个数和类型以及出现在信息框中的图标类型,各个参量的可选值及其功能类型,各个参量的可选值及其功能;详见详见P.62P.62表表4.24.2 (3 3)Title:Title:对话框标题栏的显示信息。对话框标题栏的显示信息。26江苏计算机等江苏计算机等级考试级考试 Visual Basic 程序设计程序设计MsgBox MsgBox 需要重新来一次需要重新来一次?,2+32+256+4096,?,2+32+256+4096,询问询问 MsgBox MsgBox 数据非法,请重输!数据非法,请重输!,1+16+0+4096,1+16+0+4
23、096,警告警告 举举 例例27江苏计算机等江苏计算机等级考试级考试 Visual Basic 程序设计程序设计方法一方法一:发布提示信息,无须用户响应,在程序中作为独立语发布提示信息,无须用户响应,在程序中作为独立语句存在句存在,不加括号;不加括号;例:例:MsgBox 非法数据!非法数据!,警告警告如果省略其中参数,如果省略其中参数,逗号不能省略逗号不能省略MsgBox函数的用法函数的用法方法二方法二:需要用户响应,和普通函数调用方法相同。需要用户响应,和普通函数调用方法相同。例:例:Response=MsgBox(真的删除该项吗?真的删除该项吗?,4+48,提示信息提示信息)If Res
24、ponse=vbYes Then Else End If28江苏计算机等江苏计算机等级考试级考试 Visual Basic 程序设计程序设计4.3 4.3 4.3 4.3 分支结构与分支结构语句分支结构与分支结构语句分支结构与分支结构语句分支结构与分支结构语句4.3.1 If-Then-Else-End If语句语句4.3.2 Select-Case-End Select语句语句29江苏计算机等江苏计算机等级考试级考试 Visual Basic 程序设计程序设计1、If-Then-Else语句语句格式格式1:If Then Else End If4.3.1 If-Then-Else-End I
25、f4.3.1 If-Then-Else-End If语句语句逻辑变量、关系表达逻辑变量、关系表达式、逻辑表达式式、逻辑表达式B组语句组语句条件?条件?不成立不成立成成立立A组语句组语句 逻辑框图逻辑框图:功能功能:如果条件成立,则执行如果条件成立,则执行A A组语句,组语句,否则执行否则执行B B组语句。组语句。说明说明:IfIf和和End IfEnd If语句成对出现,缺一不可;语句成对出现,缺一不可;ElseElse和和B组语句组语句部分可以省略部分可以省略,当条件不成立时当条件不成立时,直接执行直接执行End IfEnd If的的后继语句;后继语句;30江苏计算机等江苏计算机等级考试级考
26、试 Visual Basic 程序设计程序设计Private Sub cmdCalculate_Click()Dim x as Single x=Val(text1.text)If x=0 Then Text2.text=Str(Sqr(x)Else Text2.text=数据小于数据小于0,错误!,错误!End IfEnd SubPrivate Sub cmdExit_Click()EndEnd SubPrivate Sub cmdClear_Click()Text1.Text=Text2.Text=Text1.SetFocusEnd Sub例:从键盘输入一个数,求它的平方根。例:从键盘输入
27、一个数,求它的平方根。缩格输入缩格输入31江苏计算机等江苏计算机等级考试级考试 Visual Basic 程序设计程序设计例:计算分段函数例:计算分段函数y y的值。的值。Private Sub cmdCalculate_Click()Dim x As Single,y As Single x=Val(Text1.Text)If x=0 Then y=2*Sqr(x+7)-6 Else y=5*x+Exp(x)-2 End If Text2.Text=Str(y)End SubcmdCalculate32江苏计算机等江苏计算机等级考试级考试 Visual Basic 程序设计程序设计 格式格式
28、22:单行:单行If-Then-ElseIf-Then-Else语句语句 If If Then Then Else Else 2 说明说明:(1 1)在)在A组语句组语句和和B组语句组语句都只有一个语句时,可使用该格式;都只有一个语句时,可使用该格式;(2 2)End IfEnd If语句省略。语句省略。例:上例可改写为以下程序段。例:上例可改写为以下程序段。Private Sub cmdCalculate_Click()Dim y As Single,x As Single x=Val(Text1.Text)If x=0 Then y=2*Sqr(x+7)-6 Else y=5*x+Exp(
29、x)-2 Text2.Text=Str(y)End Sub33江苏计算机等江苏计算机等级考试级考试 Visual Basic 程序设计程序设计条件满足条件满足?块块1TrueFalse 格式格式33:If Then End If格式格式4:4:If Then 逻辑框图逻辑框图34江苏计算机等江苏计算机等级考试级考试 Visual Basic 程序设计程序设计2.2.2.2.嵌套的嵌套的嵌套的嵌套的IfIfIfIf结构结构结构结构 在在在在If If语句的语句的语句的语句的“语句块语句块语句块语句块”中包含另一个中包含另一个中包含另一个中包含另一个If If语句,叫做嵌套的语句,叫做嵌套的语句,
30、叫做嵌套的语句,叫做嵌套的If If结构。结构。结构。结构。If Then 外层外层 If Then 内层内层 Else If then Else 最内层最内层 End IfElse If Then End IfEnd If用于解决有多用于解决有多种情况的问题种情况的问题35江苏计算机等江苏计算机等级考试级考试 Visual Basic 程序设计程序设计开始开始边长边长0?是否能组成三角形是否能组成三角形计算计算输出输出出错信息出错信息结束结束是是否否是是否否例:输入三角形的三边例:输入三角形的三边a a、b b、c c,求三角形的面积,求三角形的面积P 64 例例4-1a0 and b0 a
31、nd c0a+bc and b+ca and a+cb36江苏计算机等江苏计算机等级考试级考试 Visual Basic 程序设计程序设计Private Sub cmdCalculate_Click()Dim a As Single,b As Single,c As Single,p As Single,s As Single a=Val(Text1.Text)b=Val(Text2.Text)c=Val(Text3.Text)If (1)Then If a+bc And b+ca And c+ab Then p=(a+b+c)/2 s=Sqr(p*(p-a)*(p-b)*(p-c)Text4
32、.Text=Str(s)Else Text4.Text=“不能构成三角形不能构成三角形”End If Else Text4.Text=“边长不能小于边长不能小于0 0”End IfEnd Sub计算公式:计算公式:其中:其中:a0 And b0 And c037江苏计算机等江苏计算机等级考试级考试 Visual Basic 程序设计程序设计例:计算分段函数例:计算分段函数y y的值。的值。Private Sub cmdCalculate_Click()Dim x As Single,y As Single x=Val(Text1.Text)If x0 Then y=1/(x-5)Else If
33、 x5 Then y=3*x2+4*x+5 Else y=Log(x)End If End If Text2.Text=Str(y)End Sub0538江苏计算机等江苏计算机等级考试级考试 Visual Basic 程序设计程序设计例:输入分数并判断等级分。计算规则如下:例:输入分数并判断等级分。计算规则如下:分数分数 100-90 89-80 79-70 69-60 60 100-90 89-80 79-70 69-60 =90 And Score=80 Then Degree=B Else If Score=70 Then Degree=C Else If Score=60 Then D
34、egree=D Else Degree=E End If End If End If End If Text2.Text=Degree End IfEnd Sub缺点:缺点:嵌套层次过多,结构嵌套层次过多,结构不清晰,容易出错不清晰,容易出错。从文本框取数据从文本框取数据向文本框放数据向文本框放数据39江苏计算机等江苏计算机等级考试级考试 Visual Basic 程序设计程序设计3 3、多分支、多分支If-Then-ElseIfIf-Then-ElseIf语句语句 格式格式:IfIf Then Then ElseIf ElseIf Then Then ElseIf ElseIf Thenn
35、Then Else Else End If End If 功能功能:-对条件自上而下依次判断对条件自上而下依次判断,若条件若条件i i成立成立,则执行相应的则执行相应的Ai组语句组语句;-若所有条件都不成立,则执行若所有条件都不成立,则执行An+1组语句组语句。-无论执行了哪个语句块,都将执行无论执行了哪个语句块,都将执行End IfEnd If的后继语句。的后继语句。条件条件1条件条件2假假假假真真真真语句块语句块1语句块语句块2条件条件 n真真假假语句块语句块n语句块语句块n+140江苏计算机等江苏计算机等级考试级考试 Visual Basic 程序设计程序设计(1 1)该语句结构可以解决
36、多分支问题,只有一个)该语句结构可以解决多分支问题,只有一个End End IfIf语句,语句,避免避免IfIf语句嵌套层数过多的情况;语句嵌套层数过多的情况;(2 2)ElseElse语句可以省略;语句可以省略;(3 3)该结构是一个单出口的结构,即该结构是一个单出口的结构,即只会执行只会执行一组语句一组语句,若条,若条件中有两个成立,则按语句的顺序执行前面的件中有两个成立,则按语句的顺序执行前面的一组语句。一组语句。说说 明明41江苏计算机等江苏计算机等级考试级考试 Visual Basic 程序设计程序设计Private Sub Text1_KeyPress(KeyAscii As In
37、teger)Dim Score As Integer,Degree As String If KeyAscii=13 Then Score=Val(Text1.Text)If Score=90 And Score=80 Then Degree=B ElseIf Score=70 Then Degree=C ElseIf Score=60 Then Degree=D Else Degree=E End If Text2.Text=Degree End IfEnd Sub特点:特点:结构清晰。结构清晰。将上例用将上例用If-Then-ElseIfIf-Then-ElseIf语句改写:语句改写:90
38、Score=80?42江苏计算机等江苏计算机等级考试级考试 Visual Basic 程序设计程序设计格式格式:Select Case Case Case Case Case Else End Select 功能功能:计算测试表达式的值,自计算测试表达式的值,自上而下检查测试条件上而下检查测试条件;若表达式的值符合测试若表达式的值符合测试 i i,则执行相应的语句块,则执行相应的语句块 i i;若所有条件都不成立,则若所有条件都不成立,则执行语句块执行语句块n+1n+1。无论执行了。无论执行了哪个语句块,都将执行哪个语句块,都将执行End End SelectSelect的后继语句。的后继语句
39、。4.3.2 4.3.2 多分支多分支Select-Case-End SelectSelect-Case-End Select语句语句43江苏计算机等江苏计算机等级考试级考试 Visual Basic 程序设计程序设计(1 1)测试表达式可以是算术表达式或字符表达式;)测试表达式可以是算术表达式或字符表达式;(2 2)测试条件有四种形式:)测试条件有四种形式:v 常量,如常量,如2 2、3 3、“A”“A”等等v 闭区间闭区间,如,如3 3 ToTo 78 78、“B”“B”ToTo“H”“H”等等v 开区间,如开区间,如IsIs2020、IsIs“P”“P”等等v 以上三种形式的组合,以以上
40、三种形式的组合,以逗号间隔逗号间隔,条件组合是,条件组合是或或的关系,的关系,不能表示与的关系不能表示与的关系 (3 3)Case ElseCase Else语句部分可以省略;语句部分可以省略;(4 4)以)以End SelectEnd Select语句结束;语句结束;(5 5)该结构是一个单出口的结构,即该结构是一个单出口的结构,即只会执行一个语句块只会执行一个语句块,若条,若条件中有两个成立,则按语句的顺序执行前面的语句块。件中有两个成立,则按语句的顺序执行前面的语句块。说说 明明44江苏计算机等江苏计算机等级考试级考试 Visual Basic 程序设计程序设计例:将上例用例:将上例用S
41、elect CaseSelect Case语句改写。语句改写。Private Sub Text1_KeyPress(KeyAscii As Integer)Dim Score As Integer,Degree As String If KeyAscii=13 Then Score=Val(Text1.Text)Select Case Score Case 90 To 100 Degree=A Case 80 To 89 Degree=B Case 70 To 79 Degree=C Case 60 To 69 Degree=D Case Is60 Degree=E End Select Te
42、xt2.Text=Degree End IfEnd Sub45江苏计算机等江苏计算机等级考试级考试 Visual Basic 程序设计程序设计练习:练习:键盘输入三个数,将它们从大到小依次排列输出。键盘输入三个数,将它们从大到小依次排列输出。Private Sub Form_Click()Dim a As Integer,b As Integer,c As Integer,temp As Integer a=InputBox(输入输入a,顺序输出顺序输出)b=InputBox(输入输入b,顺序输出顺序输出)c=InputBox(输入输入c,顺序输出顺序输出)If a b Then temp=a
43、 a=b b=temp End If If a c Then Print a,b,c Else Print a,c,b End IfEnd Sub保证保证a为为a,b两数中的大值两数中的大值46江苏计算机等江苏计算机等级考试级考试 Visual Basic 程序设计程序设计分支结构的适用情况分支结构的适用情况l验证用户输入数据的合法性验证用户输入数据的合法性l分段函数计算分段函数计算l用于区分等级用于区分等级l其他须根据条件不同执行不同操作的情况其他须根据条件不同执行不同操作的情况47江苏计算机等江苏计算机等级考试级考试 Visual Basic 程序设计程序设计4.4 4.4 4.4 4.4
44、 循环结构与循环结构语句循环结构与循环结构语句循环结构与循环结构语句循环结构与循环结构语句4.4.1 Do-loop循环结构语句循环结构语句(条件循环)(条件循环)4.4.2 For-Next 循环结构语句循环结构语句(计数循环)(计数循环)4.4.3 循环嵌套循环嵌套48江苏计算机等江苏计算机等级考试级考试 Visual Basic 程序设计程序设计 由一定的条件控制,反复执行某个程序段的程序结构称由一定的条件控制,反复执行某个程序段的程序结构称为为循环结构循环结构。用于解决一些需要重复进行某些操作的问题。用于解决一些需要重复进行某些操作的问题。循环要素:循环要素:&循环控制条件循环控制条件
45、 条件或逻辑表达式条件或逻辑表达式&循环体循环体 重复执行的语句块重复执行的语句块&为防止死循环,在循环体内必须要有对应语句,为防止死循环,在循环体内必须要有对应语句,使得循环控制条件会不满足,结束循环运行。使得循环控制条件会不满足,结束循环运行。基本概念基本概念49江苏计算机等江苏计算机等级考试级考试 Visual Basic 程序设计程序设计例:在窗体上打印例:在窗体上打印10行行“Hello”。循环控制条件循环控制条件 是否已打印了是否已打印了1010行行 循环体循环体在窗体上打印一行在窗体上打印一行“Hello”“Hello”提示:要设立一个变量,用于记录已打印的行数,每打提示:要设立
46、一个变量,用于记录已打印的行数,每打印一行,计数变量要加印一行,计数变量要加1 1,循环控制条件即计数变量小于等于,循环控制条件即计数变量小于等于101050江苏计算机等江苏计算机等级考试级考试 Visual Basic 程序设计程序设计一、一、“当型当型”循环循环条件成立时,执行循环体条件成立时,执行循环体条件?条件?循环体循环体成立成立循环循环的后继语句的后继语句不成立不成立条件?条件?循环体循环体不成立不成立循环循环的后继语句的后继语句成立成立图图2 2:先执行一次循环体,然后再判断条件,决定是否继续执行循:先执行一次循环体,然后再判断条件,决定是否继续执行循环,此结构环,此结构至少执行
47、一次循环体至少执行一次循环体。图图 1图图 2图图1 1:先判断条件,当条件成立则执行循环体,否则执行循环结构:先判断条件,当条件成立则执行循环体,否则执行循环结构的后续语句。的后续语句。51江苏计算机等江苏计算机等级考试级考试 Visual Basic 程序设计程序设计二、二、“直到型直到型”循环循环条件不成立时,执行循环体条件不成立时,执行循环体条件?条件?循环体循环体不成立不成立循环循环的后继语句的后继语句成立成立条件?条件?循环体循环体成立成立循环循环的后继语句的后继语句不成立不成立图图3 3:先判断条件,条件不成立则执行循环体,直到条件不成立,:先判断条件,条件不成立则执行循环体,直
48、到条件不成立,执行循环结构的后续语句。执行循环结构的后续语句。图图 3图图 4图图4 4:先执行一次循环体,再判断条件,决定是否继续执行循环。:先执行一次循环体,再判断条件,决定是否继续执行循环。52江苏计算机等江苏计算机等级考试级考试 Visual Basic 程序设计程序设计 4.4.1 Do-Loop 4.4.1 Do-Loop 循环结构语句循环结构语句格式一格式一 Do While Loop条件?条件?循环体循环体成立成立Loop的后继语句的后继语句不成立不成立执行步骤:执行步骤:1 判断条件是否成立。如果条件判断条件是否成立。如果条件不成立,转向第不成立,转向第4步步2 执行循环体;
49、执行循环体;3 转向执行第转向执行第1步;步;4 执行执行Loop语句的后继语句。语句的后继语句。当当型型循循环环53江苏计算机等江苏计算机等级考试级考试 Visual Basic 程序设计程序设计Private Sub Form_click()Dim i as integer i=0 Do While i10 print “hello”i=i+1 LoopEnd Sub上例的实现:上例的实现:缩格缩格54江苏计算机等江苏计算机等级考试级考试 Visual Basic 程序设计程序设计例例 求求S=1+2+3+4+100Private Sub Form_click()Dim n as Inte
50、ger,s as Long n=1 s=0 Do While n=100 s=s+n n=n+1 Loop Print“1+2+3+100=”;sEnd Sub实现累加实现累加55江苏计算机等江苏计算机等级考试级考试 Visual Basic 程序设计程序设计格式二格式二:Do Loop While 条件?条件?循环体循环体不成立不成立Loop的后继语句的后继语句成立成立执行步骤:执行步骤:1 执行循环体;执行循环体;2 判断条件是否成立。如果条判断条件是否成立。如果条件成立,转向第件成立,转向第 1 步步3 条件不成立,则结束循环,条件不成立,则结束循环,执行执行Loop语句的后继语句。语句