




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、江苏省计算机等级考试 Visual Basic 程序设计程序设计第四章第四章 算法根底及算法根底及VBVB的根本语句的根本语句江苏计算机等江苏计算机等级考试级考试 Visual Basic 程序设计程序设计1 1、了解构造化程序设计的根本概念、了解构造化程序设计的根本概念2 2、掌握、掌握VB VB 程序设计中的常用语句程序设计中的常用语句3 3、掌握顺序、选择、和循环构造及相应的语句、掌握顺序、选择、和循环构造及相应的语句教学要求教学要求江苏计算机等江苏计算机等级考试级考试 Visual Basic 程序设计程序设计教学内容教学内容4.1 4.1 算法及程序设计根底算法及程序设计根底4.2
2、4.2 赋值语句及赋值语句及InputBoxInputBox、MsgBoxMsgBox函数函数4.3 4.3 分支构造与分支构造语句分支构造与分支构造语句4.4 4.4 循环构造与循环构造语句循环构造与循环构造语句4.5 4.5 程序例如程序例如江苏计算机等江苏计算机等级考试级考试 Visual Basic 程序设计程序设计4.1 4.1 算法及程序设计根底算法及程序设计根底 对数据的描画:指定所用数据的类型,作用域和数据的对数据的描画:指定所用数据的类型,作用域和数据的 组织方式,即数据构造组织方式,即数据构造data structure。 对操作的描画:即操作步骤,也就是算法对操作的描画:
3、即操作步骤,也就是算法algorithm。数据构造数据构造+算法算法=程序程序程序程序=算法算法+数据构造数据构造+程序设计方法程序设计方法+言语工具和环境言语工具和环境江苏计算机等江苏计算机等级考试级考试 Visual Basic 程序设计程序设计1 1、算法的概念、算法的概念l算法算法l即处理某个问题或处置某件事的方法和步骤;即处理某个问题或处置某件事的方法和步骤;“采用什么构造,采用什么构造,运用什么语句以及如何安排这些语句。运用什么语句以及如何安排这些语句。l算法分类:算法分类:l数值计算算法数值计算算法l非数值计算算法非数值计算算法l算法优劣:算法优劣: l正确性,效率,占用系统资源
4、,便于了解,易于调试等。正确性,效率,占用系统资源,便于了解,易于调试等。江苏计算机等江苏计算机等级考试级考试 Visual Basic 程序设计程序设计1810M N R8108 2 8 2 0 2 0R=8R=2R=0M=2即最大公约数即最大公约数求最大公约数求最大公约数 标题标题 :求两个自然数的最大公约数:求两个自然数的最大公约数 分析分析 :求最大公约数的常用方法是辗转相除法:求最大公约数的常用方法是辗转相除法( (欧几里德算法欧几里德算法) )。2 2、算法例如、算法例如江苏计算机等江苏计算机等级考试级考试 Visual Basic 程序设计程序设计 算法描画算法描画 :S1 S1
5、 输入两个自然数:输入两个自然数:M M,N N;S2 S2 求求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的最大公约数。的最大公约数。江苏计算机等江苏计算机等级考试级考试 Visual Basic 程序设计程序设计3 3、算法的特征、算法的特征2 确定性确定性2 可行性可行性2 有穷性有穷性2 输入
6、性输入性2 输出性输出性江苏计算机等江苏计算机等级考试级考试 Visual Basic 程序设计程序设计4 4、算法的描画、算法的描画 l程序流程图程序流程图求最大公约数求最大公约数江苏计算机等江苏计算机等级考试级考试 Visual Basic 程序设计程序设计程序编码程序编码实现算法实现算法l算法仅提供解题思绪,计算机不可直接执行。算法仅提供解题思绪,计算机不可直接执行。l用某一程序设计言语所提供的言语成分,根据该言语的特用某一程序设计言语所提供的言语成分,根据该言语的特点,并利用该言语的各种工具和手段,遵照规定的语法规点,并利用该言语的各种工具和手段,遵照规定的语法规那么去实现算法,得到原
7、程序代码,计算机可识别并执行。那么去实现算法,得到原程序代码,计算机可识别并执行。江苏计算机等江苏计算机等级考试级考试 Visual Basic 程序设计程序设计5.5.根本算法构造根本算法构造1 1. . 顺序构造顺序构造语句语句1语句语句2语句块语句块构造化程序设计构造化程序设计江苏计算机等江苏计算机等级考试级考试 Visual Basic 程序设计程序设计l2选择构造选择构造条件满足?块1块2TrueFalse构造化程序设计构造化程序设计江苏计算机等江苏计算机等级考试级考试 Visual Basic 程序设计程序设计l3循环构造循环构造块块TrueFalse条件条件构造化程序设计构造化程
8、序设计江苏计算机等江苏计算机等级考试级考试 Visual Basic 程序设计程序设计三种根本构造的共同特点三种根本构造的共同特点l只需单一入口和单一出口;只需单一入口和单一出口;l构造中的每一部分都有被执行的能够;构造中的每一部分都有被执行的能够;l构造内不应出现永不终止的死循环。构造内不应出现永不终止的死循环。江苏计算机等江苏计算机等级考试级考试 Visual Basic 程序设计程序设计4.2 4.2 赋值语句及赋值语句及InputBoxInputBox、MsgBoxMsgBox函数函数4.2.1 赋值语句4.2.2 InputBox函数4.2.3 MsgBox函数江苏计算机等江苏计算机
9、等级考试级考试 Visual Basic 程序设计程序设计4.2.1 赋值语句 格式:= 功能:先计算表达式的值,再将该值赋予左端的变量。 阐明: -赋值号左端不仅可以是变量名,还可以是对象的属性; -表达式的类型和变量的类型要一致 -赋值语句是按语句出现的先后顺序执行的顺序构造 举例: str1 = Nice to meet you number% = 72 Lable1.Caption = Filename is: Text.FontSize = 12 改动字号改动字号江苏计算机等江苏计算机等级考试级考试 Visual Basic 程序设计程序设计运用下面的方法可以获取一个对象的属性值:运
10、用下面的方法可以获取一个对象的属性值:var = object . Propertyvar = object . Property 例如:例如:Label1.Caption=Text1.TextLabel1.Caption=Text1.Text 式中,式中,varvar是变量名、是变量名、objectobject是对象名、是对象名、propertyproperty是该对是该对象的某个属性名。象的某个属性名。特别留意:属性也存在数据类型,所以在获取对象的属性值时,特别留意:属性也存在数据类型,所以在获取对象的属性值时,最好使器具有一样数据类型的变量。最好使器具有一样数据类型的变量。 阐明阐明 江
11、苏计算机等江苏计算机等级考试级考试 Visual Basic 程序设计程序设计留意:赋值号留意:赋值号= =与比较运算符与比较运算符= =不同不同 赋值是独立的一条语句;赋值是独立的一条语句; 由运算符由运算符= =连结两个操作数的关系表达式是语句连结两个操作数的关系表达式是语句的一部分的一部分, , 不可单独存在不可单独存在 比较运算符不会改动操作数的值;比较运算符不会改动操作数的值; 赋值语句会,改动赋值号左边的量,所以必需是可以赋值语句会,改动赋值号左边的量,所以必需是可以被赋值的变量或属性被赋值的变量或属性Dim x As Integer, y As Integer, z As Boo
12、leanx=3 : y=4 : y=xz = x=yPrint x, y, z江苏计算机等江苏计算机等级考试级考试 Visual Basic 程序设计程序设计Private Sub Form_Click() Dim a As Integer,b As Integer a=10 b=3*a Print a,bEnd SubPrivate Sub Form_Click() Dim a As Integer,b As Integer b=3*a a=10 Print a,bEnd Sub例:单击窗体,以下两段程序的执行结果分别是和。例:单击窗体,以下两段程序的执行结果分别是和。提示:利用赋值语句给变
13、量赋值后,在未有新的提示:利用赋值语句给变量赋值后,在未有新的赋值语句再次给它赋值前,变量值坚持不变。赋值语句再次给它赋值前,变量值坚持不变。江苏计算机等江苏计算机等级考试级考试 Visual Basic 程序设计程序设计例:交换两个变量的值。例:交换两个变量的值。Private Sub Form_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标题阐明标题阐明单击窗体程序
14、执行结果为:单击窗体程序执行结果为: 10 210 2 2 10 2 10 留意留意 变量变量a a和和b b为两个不定值的变为两个不定值的变量,因此不能直接用量,因此不能直接用 a=2 : b=10 a=2 : b=10语句来处理这个问题。语句来处理这个问题。一旦利用赋值语句给变量赋一旦利用赋值语句给变量赋新值,会覆盖原值,所以不能新值,会覆盖原值,所以不能直接用直接用 a=b : b=a a=b : b=a语句来处理这个问题。语句来处理这个问题。江苏计算机等江苏计算机等级考试级考试 Visual Basic 程序设计程序设计例:求一元一次方程例:求一元一次方程x+5=0 x+5=0的解。的
15、解。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 语句语句是该例题的算法。是该例题的算法。错误程序错误程序正确程序正确程序总结:总结: 利用程序设计言语处置问题,我们首先要知道的是怎样利用程序设计言语处置问题,我们首先要知道的是怎样处理问题,其次要知道怎样将处理问题的方法用程序设计言处理问题,其次要知道怎样将处理问题的方法用程序设计言语来表达。语来表达。江苏计算机等
16、江苏计算机等级考试级考试 Visual Basic 程序设计程序设计4.2.2 InputBox4.2.2 InputBox函数函数 格式格式 :InputBox$(,DefInputBox$(,)ault,) 功能功能 : 弹出对话框,用户输入数据后回车或弹出对话框,用户输入数据后回车或单击单击“确定按钮后,将输入内容赋值给相确定按钮后,将输入内容赋值给相应的变量;按应的变量;按ESCESC键或单击键或单击“取消按钮,取消按钮,前往空串。前往空串。江苏计算机等江苏计算机等级考试级考试 Visual Basic 程序设计程序设计 阐明阐明 1 1promptprompt:必选项。对话框中的提示
17、信息。:必选项。对话框中的提示信息。2 2titletitle:可选。对话框的标题。省略那:可选。对话框的标题。省略那么为运用程序名。么为运用程序名。3 3defaultdefault:可选。显示在用户编辑框中:可选。显示在用户编辑框中的缺省值,省略为空。的缺省值,省略为空。4 4x,y:x,y:可选。指定对话框的显示位置,省可选。指定对话框的显示位置,省略那么居中。略那么居中。例:例:i = InputBox(i = InputBox(“输入数组元素输入数组元素+Chr(10)+Chr(10)+“第一个元素为第一个元素为: :, 程序例如程序例如, , 100)100)缺省值缺省值标题标题提
18、示字符串提示字符串江苏计算机等江苏计算机等级考试级考试 Visual Basic 程序设计程序设计例:用例:用InputBox函数输入出生日期,计算年龄。函数输入出生日期,计算年龄。Option ExplicitOption ExplicitPrivate Sub Form_Click()Private Sub Form_Click() Dim BirthDay As Date, Age As Integer Dim BirthDay As Date, Age As Integer BirthDay = InputBox( BirthDay = InputBox(输入出生日期输入出生日期, ,
19、 计算年龄计算年龄) Age = Year(Date) - Year(BirthDay) Age = Year(Date) - Year(BirthDay) Print Print 他今年:他今年:; Age; ; Age; 岁岁 End SubEnd Sub江苏计算机等江苏计算机等级考试级考试 Visual Basic 程序设计程序设计假设赋值号左端的变量为数值型或日期型等非字符型变量,假设赋值号左端的变量为数值型或日期型等非字符型变量,输入字符数据输入字符数据 单击单击“取消按钮取消按钮 不输入直接按回车键,不输入直接按回车键,那么系统都会提示出错:那么系统都会提示出错:Dim x As
20、Integerx = InputBox(输入数组元素输入数组元素 + Chr(10) + 第一个元素为:第一个元素为:, 例如例如, 10, 100, 100) 留意留意 江苏计算机等江苏计算机等级考试级考试 Visual Basic 程序设计程序设计4.2.3 MsgBox4.2.3 MsgBox函数函数 格式格式 :MsgBox(Prompt,Button,Title,HelpFMsgBox(Prompt,Button,Title,HelpFile,Context)ile,Context) 功能功能 :向用户发布提示信息,并要求用户:向用户发布提示信息,并要求用户作出必要的呼应。作出必要的
21、呼应。 阐明阐明 : 1 1Prompt:Prompt:必选项。字符串表达式,对话必选项。字符串表达式,对话框中的提示信息。框中的提示信息。 2 2Button:Button:指定显示按钮的数目及方式,指定显示按钮的数目及方式,运用的图标款式,这是一个由运用的图标款式,这是一个由4 4个数值常量组个数值常量组成的式子,方式为成的式子,方式为c1+c2+c3+c4c1+c2+c3+c4,用于决议,用于决议信息框中按钮的个数和类型以及出如今信息信息框中按钮的个数和类型以及出如今信息框中的图标类型,各个参量的可选值及其功框中的图标类型,各个参量的可选值及其功能能; ; 详见详见P.62P.62表表4
22、.24.2 3 3Title:Title:对话框标题栏的显示信息。对话框标题栏的显示信息。江苏计算机等江苏计算机等级考试级考试 Visual Basic 程序设计程序设计MsgBox MsgBox 需求重新来一次需求重新来一次?, 2 + 32 + 256 + 4096, ?, 2 + 32 + 256 + 4096, 讯问讯问 MsgBox MsgBox 数据非法,请重输!数据非法,请重输!,1 + 16 + 0 + 4096, ,1 + 16 + 0 + 4096, 警告警告 举举 例例江苏计算机等江苏计算机等级考试级考试 Visual Basic 程序设计程序设计方法一方法一: 发布提示
23、信息,无须用户呼应,在程序中作为独立语发布提示信息,无须用户呼应,在程序中作为独立语句存在句存在,不加括号;不加括号;例:例: MsgBox 非法数据!非法数据!, , 警告警告假设省略其中参数,假设省略其中参数,逗号不能省略逗号不能省略MsgBox函数的用法函数的用法方法二方法二: 需求用户呼应,和普通函数调用方法一样。需求用户呼应,和普通函数调用方法一样。例:例: Response=MsgBox(真的删除该项吗?真的删除该项吗?,4+48,提示信息提示信息) If Response=vbYes Then Else End If江苏计算机等江苏计算机等级考试级考试 Visual Basic
24、程序设计程序设计4.3 4.3 分支构造与分支构造语句分支构造与分支构造语句4.3.1 If-Then-Else- End If语句语句4.3.2 Select- Case-End Select语句语句江苏计算机等江苏计算机等级考试级考试 Visual Basic 程序设计程序设计1、 If-Then-Else语句语句格式格式1:If Then Else End If4.3.1 If-Then-Else- End If4.3.1 If-Then-Else- End If语句语句逻辑变量、关系表达逻辑变量、关系表达式、逻辑表达式式、逻辑表达式B组语句组语句条件?条件?不成立不成立成立成立A组语句
25、组语句 逻辑框图逻辑框图 : 功能功能 : 假设条件成立,那么执行假设条件成立,那么执行A A组语句,组语句,否那么执行否那么执行B B组语句。组语句。 阐明阐明 :IfIf和和End IfEnd If语句成对出现,缺一不可;语句成对出现,缺一不可;ElseElse和和B B组语句部分可以省略组语句部分可以省略, ,当条件不成立时当条件不成立时, ,直接执行直接执行End IfEnd If的的后继语句;后继语句;江苏计算机等江苏计算机等级考试级考试 Visual Basic 程序设计程序设计Private Sub cmdCalculate_Click() Dim x as Single x=V
26、al(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例:从键盘输入一个数,求它的平方根。例:从键盘输入一个数,求它的平方根。缩格输入缩格输入江苏计算机等江苏计算机等级考试级考试 Visual Basic 程序设计程序设计例
27、:计算分段函数例:计算分段函数y y的值。的值。0672025xxxexyxPrivate 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 SubcmdCalculate江苏计算机等江苏计算机等级考试级考试 Visual Basic 程序设计程序设计 格式格式22:单行:单行If-Then-ElseIf-Then-Else语句语句 If If
28、 Then Then Else Else 2 阐明阐明 :1 1在在A A组语句和组语句和B B组语句都只需一个语句时,可组语句都只需一个语句时,可运用该格式;运用该格式;2 2End 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(x)-2 Text2.Text=Str(y)End Sub江苏计算机
29、等江苏计算机等级考试级考试 Visual Basic 程序设计程序设计条件满足条件满足?块块1TrueFalse 格式格式33: If If Then Then 1 End If End If 格式格式4:4: If If Then Then 1 逻辑框图逻辑框图江苏计算机等江苏计算机等级考试级考试 Visual Basic 程序设计程序设计2.2.嵌套的嵌套的IfIf构造构造 在在IfIf语句的语句的“语句块中包含另一个语句块中包含另一个IfIf语句,语句,叫做嵌套的叫做嵌套的IfIf构造。构造。If Then 外层外层 If Then 内层内层 Else If then Else 最内层最
30、内层 End IfElse If Then End IfEnd If用于处理有多用于处理有多种情况的问题种情况的问题江苏计算机等江苏计算机等级考试级考试 Visual Basic 程序设计程序设计开场开场边长边长0?能否能组成三角形能否能组成三角形计算计算输出输出出错信息出错信息终了终了是是否否是是否否例:输入三角形的三边例:输入三角形的三边a a、b b、c c,求三角形的面积,求三角形的面积P 64 例例4-1a0 and b0 and c0a+bc and b+ca and a+cb江苏计算机等江苏计算机等级考试级考试 Visual Basic 程序设计程序设计Private Sub c
31、mdCalculate_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.Text=Str(s) Else Text4.Text=“不能构成三角形不能构成三角形 End If Else Text4.Text=“边长不能小于边
32、长不能小于0 End IfEnd Sub计算公式:计算公式:其中:其中:)()(cpbpappS2cbapa0 And b0 And c0江苏计算机等江苏计算机等级考试级考试 Visual Basic 程序设计程序设计例:计算分段函数例:计算分段函数y y的值。的值。55xlnxx054x3x0 x5x1y2Private Sub cmdCalculate_Click() Dim x As Single,y As Single x=Val(Text1.Text) If x0 Then y=1/(x-5) Else If x5 Then y=3*x2+4*x+5 Else y=Log(x) En
33、d If End If Text2.Text=Str(y)End Sub05江苏计算机等江苏计算机等级考试级考试 Visual Basic 程序设计程序设计例:输入分数并判别等级分。计算规那么如下:例:输入分数并判别等级分。计算规那么如下: 分数分数 100-90 89-80 79-70 69-60 60100-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 Degree = D Else Degree = E
34、End If End If End If End If Text2.Text = Degree End IfEnd Sub缺陷:缺陷: 嵌套层次过多,构造嵌套层次过多,构造不明晰,容易出错。不明晰,容易出错。从文本框取数据从文本框取数据向文本框放数据向文本框放数据江苏计算机等江苏计算机等级考试级考试 Visual Basic 程序设计程序设计3 3、多分支、多分支If-Then-ElseIfIf-Then-ElseIf语句语句 格式格式 : If If Then1 Then A1 ElseIf ElseIf Then2 Then A2 ElseIf ElseIf Thenn Then An E
35、lse Else An+1 End If End If 功能功能 :- -对条件自上而下依次判别对条件自上而下依次判别, ,假设条件假设条件i i成立成立, ,那么执行相应的那么执行相应的AiAi组语组语句;句;- -假设一切条件都不成立,那么执行假设一切条件都不成立,那么执行An+1An+1组语句。组语句。- -无论执行了哪个语句块,都将执行无论执行了哪个语句块,都将执行End IfEnd If的后继语句。的后继语句。条件条件1条件条件2假假假假真真真真语句块语句块1语句块语句块2条件条件 n真真假假语句块语句块n语句块语句块n+1江苏计算机等江苏计算机等级考试级考试 Visual Basi
36、c 程序设计程序设计1 1该语句构造可以处理多分支问题,只需一个该语句构造可以处理多分支问题,只需一个End End IfIf语句,语句,防止防止IfIf语句嵌套层数过多的情况;语句嵌套层数过多的情况;2 2ElseElse语句可以省略;语句可以省略;3 3该构造是一个单出口的构造,即只会执行一组语句,假该构造是一个单出口的构造,即只会执行一组语句,假设条件中有两个成立,那么按语句的顺序执行前面的一组语句。设条件中有两个成立,那么按语句的顺序执行前面的一组语句。说说 明明江苏计算机等江苏计算机等级考试级考试 Visual Basic 程序设计程序设计Private Sub Text1_KeyP
37、ress(KeyAscii As Integer) 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特点:特点:构造明晰。构造明晰。将上例用
38、将上例用If-Then-ElseIfIf-Then-ElseIf语句改写:语句改写:90Score=80 ?江苏计算机等江苏计算机等级考试级考试 Visual Basic 程序设计程序设计格式格式:Select Case Case Case Case Case Else End Select 功能功能 : 计算测试表达式的值,自计算测试表达式的值,自上而下检查测试条件上而下检查测试条件; ; 假设表达式的值符合测试假设表达式的值符合测试 i i,那么执行相应的语句块,那么执行相应的语句块 i i; 假设一切条件都不成立,假设一切条件都不成立,那么执行语句块那么执行语句块n+1n+1。无论执。无
39、论执行了哪个语句块,都将执行行了哪个语句块,都将执行End SelectEnd Select的后继语句。的后继语句。4.3.2 4.3.2 多分支多分支Select-Case-End SelectSelect-Case-End Select语句语句江苏计算机等江苏计算机等级考试级考试 Visual Basic 程序设计程序设计1 1测试表达式可以是算术表达式或字符表达式;测试表达式可以是算术表达式或字符表达式;2 2测试条件有四种方式:测试条件有四种方式: 常量,如常量,如2 2、3 3、“A A等等 闭区间,如闭区间,如3 To 783 To 78、“B B To To“H H等等 开区间,
40、如开区间,如Is20Is20、 Is Is“P P等等 以上三种方式的组合,以逗号间隔,条件组合是或的关系,以上三种方式的组合,以逗号间隔,条件组合是或的关系,不能表示与的关系不能表示与的关系 3 3Case ElseCase Else语句部分可以省略;语句部分可以省略;4 4以以End SelectEnd Select语句终了;语句终了;5 5该构造是一个单出口的构造,即只会执行一个语句块,假设该构造是一个单出口的构造,即只会执行一个语句块,假设条件中有两个成立,那么按语句的顺序执行前面的语句块。条件中有两个成立,那么按语句的顺序执行前面的语句块。说说 明明江苏计算机等江苏计算机等级考试级考
41、试 Visual Basic 程序设计程序设计例:将上例用例:将上例用Select 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 6
42、0 To 69 Degree = D Case Is60 Degree = E End Select Text2.Text = Degree End IfEnd Sub江苏计算机等江苏计算机等级考试级考试 Visual Basic 程序设计程序设计练习:键盘输入三个数,将它们从大到小依练习:键盘输入三个数,将它们从大到小依次陈列输出。次陈列输出。Private Sub Form_Click()Dim a As Integer, b As Integer, c As Integer, temp As Integer a = InputBox(输入输入a, 顺序输出顺序输出) b = InputB
43、ox(输入输入b, 顺序输出顺序输出) c = InputBox(输入输入c, 顺序输出顺序输出) If a b Then temp = a 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两数中的大值两数中的大值江苏计算机等江苏计算机等级考试级考试 Visual Basic 程序设计程序设计分支构造的适用情况分支构造的适用情况l验证用户输入数据的合法性验证用户输入数据的合法性l分段函数计算分段函数计算l用于区分等级用于区分等级l其他须根据条件不同执行不同操作的情
44、况其他须根据条件不同执行不同操作的情况江苏计算机等江苏计算机等级考试级考试 Visual Basic 程序设计程序设计4.4 4.4 循环构造与循环构造语句循环构造与循环构造语句4.4.1 Do-loop循环构造语句条件循环循环构造语句条件循环4.4.2 For-Next 循环构造语句计数循环循环构造语句计数循环4.4.3 循环嵌套循环嵌套江苏计算机等江苏计算机等级考试级考试 Visual Basic 程序设计程序设计 由一定的条件控制,反复执行某个程序段的程序构造称为循环构造。由一定的条件控制,反复执行某个程序段的程序构造称为循环构造。 用于处理一些需求反复进展某些操作的问题。用于处理一些需
45、求反复进展某些操作的问题。 循环要素:循环要素: & & 循环控制条件循环控制条件 条件或逻辑表达式条件或逻辑表达式 & & 循环体循环体 反复执行的语句块反复执行的语句块 & & 为防止死循环,在循环体内必需求有对应语句,使得循环控为防止死循环,在循环体内必需求有对应语句,使得循环控制条件会不满足,终了循环运转。制条件会不满足,终了循环运转。根本概念根本概念江苏计算机等江苏计算机等级考试级考试 Visual Basic 程序设计程序设计例:在窗体上打印例:在窗体上打印10行行“Hello。 循环控制条件循环控制条件 能否已打印了能否已打印了10
46、行行 循环体循环体在窗体上打印一行在窗体上打印一行“Hello 提示:要设立一个变量,用于记录已打印的提示:要设立一个变量,用于记录已打印的行数,每打印一行,计数变量要加行数,每打印一行,计数变量要加1,循环控制,循环控制条件即计数变量小于等于条件即计数变量小于等于10江苏计算机等江苏计算机等级考试级考试 Visual Basic 程序设计程序设计一、一、“当型循环当型循环条件成立时,执行循环体条件成立时,执行循环体条件?条件?循环体循环体成立成立循环的后继语句循环的后继语句不成立不成立条件?条件?循环体循环体不成立不成立循环的后继语句循环的后继语句成立成立图图2 2:先执行一次循环体,然后再
47、判别条件,决议能否继续执行循:先执行一次循环体,然后再判别条件,决议能否继续执行循环,此构造至少执行一次循环体。环,此构造至少执行一次循环体。图图 1图图 2图图1 1:先判别条件,当条件成立那么执行循环体,否那么执行循环构造:先判别条件,当条件成立那么执行循环体,否那么执行循环构造的后续语句。的后续语句。江苏计算机等江苏计算机等级考试级考试 Visual Basic 程序设计程序设计二、二、“直到型循环直到型循环条件不成立时,执行循环体条件不成立时,执行循环体条件?条件?循环体循环体不成立不成立循环的后继语句循环的后继语句成立成立条件?条件?循环体循环体成立成立循环的后继语句循环的后继语句不
48、成立不成立图图3 3:先判别条件,条件不成立那么执行循环体,直到条件不成立,:先判别条件,条件不成立那么执行循环体,直到条件不成立,执行循环构造的后续语句。执行循环构造的后续语句。图图 3图图 4图图4 4:先执行一次循环体,再判别条件,决议能否继续执行循环。:先执行一次循环体,再判别条件,决议能否继续执行循环。江苏计算机等江苏计算机等级考试级考试 Visual Basic 程序设计程序设计 4.4.1 Do-Loop 4.4.1 Do-Loop 循环构造语句循环构造语句格式一格式一 Do While Do While Loop Loop条件?条件?循环体循环体成立成立Loop的后继语句的后继
49、语句不成立不成立执行步骤:执行步骤:1 判别条件能否成立。假设条件判别条件能否成立。假设条件不成立,转向第不成立,转向第4步步2 执行循环体;执行循环体;3 转向执行第转向执行第1步;步;4 执行执行Loop语句的后继语句。语句的后继语句。当型循环当型循环江苏计算机等江苏计算机等级考试级考试 Visual Basic 程序设计程序设计Private Sub Form_click()Private Sub Form_click() Dim i as integer Dim i as integer i=0 i=0 Do While i10 Do While i10 print print “he
50、llohello i=i+1 i=i+1 Loop LoopEnd SubEnd Sub上例的实现:上例的实现:缩格缩格江苏计算机等江苏计算机等级考试级考试 Visual Basic 程序设计程序设计例例 求求S=1+2+3+4+100Private Sub Form_click() Dim n as Integer,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实现累加实现累加江苏计算机等江苏计算机等级考试级考试 Visual Basic 程序设计程序设计格式二:格式二: Do Loop
51、 While 条件?条件?循环体循环体不成立不成立Loop的后继语句的后继语句成立成立执行步骤:执行步骤:1 执行循环体;执行循环体; 2 判别条件能否成立。假设条判别条件能否成立。假设条件成立,转向第件成立,转向第 1 步步3 条件不成立,那么终了循环,条件不成立,那么终了循环,执行执行Loop语句的后继语句。语句的后继语句。当型循环当型循环江苏计算机等江苏计算机等级考试级考试 Visual Basic 程序设计程序设计格式三格式三 Do Until Loop条件?条件?循环体循环体不成立不成立Loop的后继语句的后继语句成立成立执行步骤:执行步骤:1 判别条件能否成立。假设条判别条件能否成
52、立。假设条件成立,转向第件成立,转向第4步步2 执行循环体;执行循环体;3 转向执行第转向执行第 1 步;步;4 执行执行Loop语句的后继语句。语句的后继语句。直到型循环直到型循环江苏计算机等江苏计算机等级考试级考试 Visual Basic 程序设计程序设计格式四格式四 Do Loop Until 条件?条件?循环体循环体不成立不成立Loop的后继语句的后继语句成立成立执行步骤:执行步骤:1 执行循环体;执行循环体; 2 判别条件能否成立。假设条判别条件能否成立。假设条件不成立,转向第件不成立,转向第 1 步,假设步,假设条件成立,那么执行条件成立,那么执行 第第3步步 3 执行执行Loo
53、p语句的后继语句。语句的后继语句。直到型循环直到型循环江苏计算机等江苏计算机等级考试级考试 Visual Basic 程序设计程序设计1 1While While 短语总是在条件成立时,继续进展循环;条件短语总是在条件成立时,继续进展循环;条件不成立时,终了循环。因此用于不成立时,终了循环。因此用于“当型循环;当型循环;2 2Until Until 短语总是在条件不成立时,执行循环体;条件短语总是在条件不成立时,执行循环体;条件成立时,那么终了循环。因此称为成立时,那么终了循环。因此称为“直到型循环;直到型循环;3 3上述两条短语是可以相互转换的。上述两条短语是可以相互转换的。总总 结结 Do
54、 While i=10 print “hello i=i+1 Loop江苏计算机等江苏计算机等级考试级考试 Visual Basic 程序设计程序设计格式五特殊方式:格式五特殊方式: Do Loop执行过程:反复执行循环体。执行过程:反复执行循环体。该构造称为该构造称为“死循环死循环“,在循环体内,在循环体内必需经过必需经过 Exit Do 语句强迫退出循语句强迫退出循环体。环体。Exit Do语句普通与语句普通与If-then语句结合语句结合运用,即当满足某一条件时,才强运用,即当满足某一条件时,才强迫退出循环。迫退出循环。 If Then Exit Do循环体循环体Loop后续语句后续语句
55、 Do print “hello i=i+1 If i=10 then Exit Do Loop江苏计算机等江苏计算机等级考试级考试 Visual Basic 程序设计程序设计1 1DoDo和和LoopLoop为循环构造关键字,必需成对出现,缺一不可;为循环构造关键字,必需成对出现,缺一不可;2 2循环体为可执行语句组成循环体为可执行语句组成, ,可以嵌套分支构造和循环构造;可以嵌套分支构造和循环构造;3 3语句语句 Exit Do Exit Do 用于无条件退出循环,可在恣意用于无条件退出循环,可在恣意Do-LoopDo-Loop语语句构造的循环体中出现。句构造的循环体中出现。4 4运用循环
56、构造,一定要防止死循环的出现。运用循环构造,一定要防止死循环的出现。 Do-Loop Do-Loop语句运用阐明语句运用阐明江苏计算机等江苏计算机等级考试级考试 Visual Basic 程序设计程序设计 算法分析算法分析 :求最大公约数的常用方法是:求最大公约数的常用方法是 辗转相除法。辗转相除法。例:求两个数的最大公约数。例:求两个数的最大公约数。P 68 例例4-31810M N R8108 2 8 2 0 2 0R=8R=2R=0M=2即最大公约数即最大公约数江苏计算机等江苏计算机等级考试级考试 Visual Basic 程序设计程序设计 在该例中,我们运用了三个变量,分别表示被除数在
57、该例中,我们运用了三个变量,分别表示被除数m m、除数除数n n及余数及余数r r。 Do r=m Mod n m=n n=rLoop Until r=0最大公约数是最大公约数是 ?江苏计算机等江苏计算机等级考试级考试 Visual Basic 程序设计程序设计 由于输入的数据由于输入的数据M M和和N N要求是自然数,在程序中应参与对要求是自然数,在程序中应参与对数据的合法性进展检验的部分;数据的合法性进展检验的部分; 思索到程序的运用范围,数据类型可选用长整型。思索到程序的运用范围,数据类型可选用长整型。 问题分析及界面设计问题分析及界面设计江苏计算机等江苏计算机等级考试级考试 Visua
58、l Basic 程序设计程序设计Private Sub Command1_Click() Dim m As Long, n As Long, r As Long m = Val(Text1.Text) 取数据取数据M n = Val(Text2.Text) 取数据取数据N If m Int(m) Or m 1 Or n Int(n) Or n 1 Then Text3.Text = 数据错误!数据错误! Else Do 求最大公约数求最大公约数 r = m Mod n m = n n = r Loop Until r = 0 Text3.Text = CStr(m) 输出最大公约数输出最大公约
59、数 End If End Sub Private Sub Command2_Click() Text1.Text = Text2.Text = Text3.Text = End Sub Private Sub Command3_Click() End End Sub检验数据检验数据合法性合法性Mod 前后加空格前后加空格江苏计算机等江苏计算机等级考试级考试 Visual Basic 程序设计程序设计例:将十进制数转换成二进制。例:将十进制数转换成二进制。 算法分析算法分析 :十进制向二进制转换,:十进制向二进制转换, 采取的是除采取的是除2 2取余法。取余法。45222211121222521
60、01001高位高位低位低位4510=1011012处理这类问题必需思索的是如下几点:处理这类问题必需思索的是如下几点:1 1需求反复运转的操作需求反复运转的操作除除2 2取余取余2 2终止循环的条件终止循环的条件商为商为0 0a=0?a Mod 2a=a2F终了循环终了循环T江苏计算机等江苏计算机等级考试级考试 Visual Basic 程序设计程序设计留意:留意:在循环控制条件中必需出现变量,且该变量在循环体中一定在循环控制条件中必需出现变量,且该变量在循环体中一定要改动值,否那么会呵斥要改动值,否那么会呵斥“死循环,即无休止的循环。死循环,即无休止的循环。假设在运转程序过程假设出现假设在运转程序过程假设出现“死循环,用死循环,用Ctrl+B
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 合伙养车合同范本
- 2025年中国经纬仪市场深度评估与发展机遇预测报告(定制版)目录
- 排水防涝设施功能提升项目风险评估与应对措施
- 女装行业的主要细分市场
- 铝合金等金属结构件加工生产项目可行性研究报告申请建议书
- 医院服务合同范本
- 公共基础及公共服务提升项目目标与定位
- 2025年套圈项目可行性研究报告
- 京胡轴行业深度研究报告
- 2018-2024年中国新能源车行业市场评估分析及发展前景调研战略研究报告
- 教科版五年级下册科学同步练习全册
- 新审定人教版小学数学六年级下册教材分析课件
- 小学科学教科版五年级上册全册思维导图(2021新版)
- 汶川地震波时程记录(卧龙3向)
- 全国水资源保护规划技术大纲
- 企业员工培训PPT课件:职务犯罪培训
- 蛋白质分离技术全PPT课件
- 汪小兰有机化学课件(第四版)9醛酮醌
- 磷酸铁锂电池工商业储能项目施工组织设计方案
- 震旦ad188维修手册
- 五金英语词汇盘点
评论
0/150
提交评论