版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、 Visual Basic Visual Basic程序设计教程程序设计教程第三章第三章 三三种种基本程序控制基本程序控制结构结构 Visual Basic Visual Basic程序设计教程程序设计教程2算法及算法及Visual BasicVisual Basic语言编程规约语言编程规约主要内容1算法及算法及Visual BasicVisual Basic语言编程规约语言编程规约2选择结构选择结构3循环结构循环结构45EixtEixt语句语句 Visual Basic Visual Basic程序设计教程程序设计教程33.1 算法及算法及Visual Basic语言编程规约语言编程规约例例
2、3-1任意输入两个数,输出其中较大的数。任意输入两个数,输出其中较大的数。本例算法描述如下。本例算法描述如下。(1)输入两个数,分别存放在变量)输入两个数,分别存放在变量a,b中。中。(2)比较)比较a,b的大小。若的大小。若a大于大于b,则执行步骤,则执行步骤(3);否则执行步骤();否则执行步骤(4)(3)输出)输出a,执行步骤(,执行步骤(5)。)。(4)输出)输出b,执行步骤(,执行步骤(5)。)。(5)结束。)结束。总结:计算机需按照这总结:计算机需按照这5步解决问题,这是算法步解决问题,这是算法的描述,采用的是自然语言。的描述,采用的是自然语言。 Visual Basic Visu
3、al Basic程序设计教程程序设计教程3.1.2 算法算法1算法的特征算法的特征一个算法应该具有以下一个算法应该具有以下5个重要特征。个重要特征。(1)有穷性:一个算法必须保证执行有限步之后结束。)有穷性:一个算法必须保证执行有限步之后结束。(2)确定性:算法的每一步必须有确切的含义,不允许)确定性:算法的每一步必须有确切的含义,不允许出现歧义。出现歧义。 (3)输入:一个算法有)输入:一个算法有0个或多个输入,个或多个输入,0个输入是指个输入是指算法本身定义了初始条件;。算法本身定义了初始条件;。(4)输出:一个算法有一个或多个输出,没有输出的算)输出:一个算法有一个或多个输出,没有输出的
4、算法是没有意义的。法是没有意义的。 (5)有效性:算法能够在特定的环境中满足解决某一问)有效性:算法能够在特定的环境中满足解决某一问题的精度、时间、稳定性的要求。题的精度、时间、稳定性的要求。4 Visual Basic Visual Basic程序设计教程程序设计教程2算法的描述算法的描述流程图是一种精确描述算法的图形工具,流程图中常流程图是一种精确描述算法的图形工具,流程图中常用的符号如图所示用的符号如图所示把例把例3-1的算法转化为流程图表示的算法转化为流程图表示5 Visual Basic Visual Basic程序设计教程程序设计教程3.1.3 Visual Basic语言的编码规
5、则语言的编码规则1Visual Basic代码书写规则代码书写规则(1)Visual Basic代码中不区分字母的大小写。中不区分字母的大小写。(2)同一行可以书写多条语句,但语句之间要用)同一行可以书写多条语句,但语句之间要用“: ”分隔。分隔。(3)单行语句可以分多行书写,在本行后加续行符:)单行语句可以分多行书写,在本行后加续行符:空格和下画线空格和下画线_。(4)一行允许多达)一行允许多达255个字符。个字符。(5)整行注释一般以)整行注释一般以Rem开头,也可以开头,也可以“”“”开开头。头。6 Visual Basic Visual Basic程序设计教程程序设计教程2.系统对用户
6、程序代码进行的自动转换系统对用户程序代码进行的自动转换(1)Visual Basic中的关键字、首字母被转换成中的关键字、首字母被转换成大写,其余是小写。大写,其余是小写。(2)若关键字由多个英文单词组成,则将每个单词)若关键字由多个英文单词组成,则将每个单词的首字母转换成大写。的首字母转换成大写。 (3)对于用户定义的标识符,以第一次定义的为准,)对于用户定义的标识符,以第一次定义的为准,以后输入时自动转换成首次定义的以后输入时自动转换成首次定义的 形式。形式。7 Visual Basic Visual Basic程序设计教程程序设计教程3.2 顺顺 序序 结结 构构例例3-2 输入两个变量
7、,然后交换两个变量的值,再输入两个变量,然后交换两个变量的值,再输出输出。在窗体上输出交换前的变量值,以及交换后的变量值。在窗体上输出交换前的变量值,以及交换后的变量值。程序如下:程序如下:Private Sub Command1_Click()Dim A As Integer, B As Integer, C As IntegerA = Text1.Text: B = Text2.TextC = A: A = B: B = CText3.Text = A: Text4.Text = BEnd Sub8 Visual Basic Visual Basic程序设计教程程序设计教程3.2.2 数据
8、的输出数据的输出Print方法方法Print方法可以在窗体、图片框和立即窗口中输方法可以在窗体、图片框和立即窗口中输出数据。出数据。1Print方法使用格式是:方法使用格式是: 对象对象.Print表达式表表达式表,l;2Tab函数和函数和Spc函数函数Print方法经常结合方法经常结合Tab函数和函数和Spc函数输出使函数输出使用。用。(1)Tab函数。函数。格式:格式:Tab(n)功能:把光标移到由参数功能:把光标移到由参数n指定的位置,从这个指定的位置,从这个位置输出信息,输出的内容放在位置输出信息,输出的内容放在Tab函数的后面,并函数的后面,并用分号隔开。用分号隔开。9说明:说明:(
9、1)“对象对象”可以是窗体、图片框、打印机或立即窗口。可以是窗体、图片框、打印机或立即窗口。 如果省略如果省略了了“对象对象”,则是指当前窗体。,则是指当前窗体。(2)“表达式表表达式表”是一个表达式或多个表达式,可以是数值表达式或是一个表达式或多个表达式,可以是数值表达式或字符串。对于数值表达式,字符串。对于数值表达式,Print具有计算和输出双重功能;而对于具有计算和输出双重功能;而对于字符串,则原样输出。如果省略了字符串,则原样输出。如果省略了“表达式表表达式表”,则输出空行。,则输出空行。(3)当输出多个表达式或字符串时,各输出项之间可用逗号或分号)当输出多个表达式或字符串时,各输出项
10、之间可用逗号或分号隔开,也可以用空格。如果用逗号分隔,则各输出项之间有隔开,也可以用空格。如果用逗号分隔,则各输出项之间有14个空个空格的长度分隔。如果用分号分隔,则按紧凑格式输出数据,数值之间格的长度分隔。如果用分号分隔,则按紧凑格式输出数据,数值之间有一个空格的长度,字符串之间没有空格。有一个空格的长度,字符串之间没有空格。(4)不换行输出。如果)不换行输出。如果Print末尾没有标点符号(逗号或分号),末尾没有标点符号(逗号或分号),则自动换行。如果则自动换行。如果Print末尾有逗号或分号则不换行。末尾有逗号或分号则不换行。 Visual Basic Visual Basic程序设计教
11、程程序设计教程(2) Spc函数。函数。 格式:格式:Spc(n)功能:在功能:在Print方法中使用方法中使用Spc函数可以跳过函数可以跳过n个空个空格。格。10Private Sub Form_Click()Dim x As Integer, y As SinglePrint 100 输出输出100后换行后换行Print -100 输出输出-100后换行后换行Print abc 输出输出abc后换行后换行Print abc;Print def 输出输出abc后,输出后,输出def,换行,换行Print abc,Print def 输出输出abc后,间隔后,间隔14个空格,输出个空格,输出d
12、ef,换行,换行Print abc; defPrint abc, defPrint Tab(15); abcdef 在第在第15列上输出列上输出abcdefPrint Spc(15); abcdef 输出输出15个空格,在第个空格,在第16列上输出列上输出abcdefPrint Tab(1); 123456789; Tab(11); abcdef 第第1列上输出列上输出123456789,第,第11列上输出列上输出abcdefPrint Tab(2); 123456789; Spc(5); abcdef 第第2列上输出列上输出123456789,输出,输出5个空格,输出个空格,输出abcdef
13、End Sub Visual Basic Visual Basic程序设计教程程序设计教程3.2.3 赋值语句赋值语句赋值语句是赋值语句是Visual Basic语句中最基本也是使语句中最基本也是使用频率最高的语句之一。采用赋值语句为变量赋值,用频率最高的语句之一。采用赋值语句为变量赋值,Visual Basic的变量有两种,属性变量和内存变量。的变量有两种,属性变量和内存变量。赋值语句格式如下:赋值语句格式如下: 变量名变量名= 对象对象.属性属性=赋值时,首先计算运算符右边表达式的值,然后赋值时,首先计算运算符右边表达式的值,然后赋给左边的变量或属性。赋给左边的变量或属性。例如:例如:N=
14、123 Mod 15 内存变量赋值内存变量赋值Text1.text=”祝你学好祝你学好vb程序设计程序设计” 属性变量属性变量赋值赋值11注意:注意:(1)赋值运算符的左边必须是变量或对象的属性,不允)赋值运算符的左边必须是变量或对象的属性,不允许是常量或表达式或函数调用(也可看做是表达式)。许是常量或表达式或函数调用(也可看做是表达式)。(2)不允许在一个赋值语句中为多个变量赋值,)不允许在一个赋值语句中为多个变量赋值,如如x1=x2=x3=15是错误的。如是错误的。如x=x+1的含义的含义不是数学方程,而是把变量不是数学方程,而是把变量x的值加的值加1后再赋给后再赋给x。(3)赋值运算符)
15、赋值运算符“=”左右两边的数据类型一般要左右两边的数据类型一般要求一致,若不一致,求一致,若不一致,Visual Basic系统会进行处理系统会进行处理。 Visual Basic Visual Basic程序设计教程程序设计教程3.2.4 应用举例应用举例例例3-4 编写一个温度转换程序,完成摄氏温度和华编写一个温度转换程序,完成摄氏温度和华氏温度的转换。下述转换公式中,氏温度的转换。下述转换公式中,C代表摄氏温度,代表摄氏温度,F代表华氏温度,转换结果保留小数点后两位。代表华氏温度,转换结果保留小数点后两位。12转换摄氏转换摄氏Private Sub Command1_Click() Di
16、m f As Single, c As Single f = Val(Text1.Text) 输入华氏温度输入华氏温度 c = 5 / 9 * (f - 32) 转换为摄氏温度转换为摄氏温度 Text2.Text = Str(c) 输出摄氏温度输出摄氏温度End Sub转换华氏转换华氏Private Sub Command2_Click() Dim f As Single, c As Single c = Val(Text2.Text) 输入摄氏温度输入摄氏温度 f = 9 / 5 * c + 32 转换为华氏温度转换为华氏温度 Text1.Text = Str(f) 输出华氏温度输出华氏温度
17、End Sub Visual Basic Visual Basic程序设计教程程序设计教程例例3-5设计一个信息录入窗体(见图设计一个信息录入窗体(见图3-6),录入),录入学生的基本信息。包括学号、姓名、系别、班级、学生的基本信息。包括学号、姓名、系别、班级、生日、家庭住址。单击保存按钮后,录入的基本信生日、家庭住址。单击保存按钮后,录入的基本信息由息由MsgBox显示。显示。13 Visual Basic Visual Basic程序设计教程程序设计教程3.3 选选 择择 结结 构构例例3-6一个简化了的奖学金评审规则:三门课程的一个简化了的奖学金评审规则:三门课程的平均成绩在平均成绩在9
18、0分以上(包含分以上(包含90分)者可以获得奖分)者可以获得奖学金。编写一个学金。编写一个Visual Basic程序,看谁能拿到程序,看谁能拿到奖学金。奖学金。分析:解决该问题的关键是学生的平均分与分析:解决该问题的关键是学生的平均分与90的的关系,求取平均分后,即可进行判断。判断过程用关系,求取平均分后,即可进行判断。判断过程用选择结构实现。程序界面使用四个文本框,用来输选择结构实现。程序界面使用四个文本框,用来输入学生姓名和三门课程的成绩,一个标签用来显示入学生姓名和三门课程的成绩,一个标签用来显示判断结果。判断结果。14Private Sub Command1_Click()Dim s
19、_en As Single, s_sp As Single, s_pro As SingleDim ave As Single, msg As Strings_en = Val(Trim(Text2.Text)s_sp = Val(Trim(Text3.Text)s_pro = Val(Trim(Text4.Text)ave = (s_en + s_sp + s_pro) / 3ave = Fix(ave * 100 + 0.5) / 100 结果保留小数点后两位结果保留小数点后两位奖学金评审,使用奖学金评审,使用IF选择结构选择结构If ave = 90 Thenmsg = Label5.C
20、aption & Text1.Text & 的平均分为:的平均分为: & ave & ,可获得奖学金,可获得奖学金Elsemsg = Label5.Caption & Text1.Text & 的平均分为:的平均分为: & ave & ,不能获得奖学金,不能获得奖学金End If输出评审结果输出评审结果Label5.Caption = msgEnd Sub Visual Basic Visual Basic程序设计教程程序设计教程3.3.2 If语句语句1单分支选择结构单分支选择结构If then语句语句该语句只提供一个选择分支,有两种格式。该语句只提供一个选择分支,有两种格式。格式一:格式一
21、: If then 语句块语句块 End If格式二:格式二: If then 语句块语句块15说明:说明:(1)单分支)单分支If语句的功能是判断条件表达式,如果值为语句的功能是判断条件表达式,如果值为True,则执行语句块,否则跳过语句块,执行,则执行语句块,否则跳过语句块,执行End If下下面的代码,流程图如图面的代码,流程图如图3-9所示。所示。(2)“”的值是逻辑值,表达式类型一般的值是逻辑值,表达式类型一般为关系表达式或逻辑表达式,也可为算术表达式。为算为关系表达式或逻辑表达式,也可为算术表达式。为算术表达式时,表达式的值为术表达式时,表达式的值为0视为视为False,非,非0视
22、为视为True。条件表达式中若出现。条件表达式中若出现“=”,则视为关系运算符而不是,则视为关系运算符而不是赋值运算符。赋值运算符。(3)语句块为一条或多条语句的集合。若选择格式二,)语句块为一条或多条语句的集合。若选择格式二,则需把整个条件语句写在一行,语句块中若有多条语句,则需把整个条件语句写在一行,语句块中若有多条语句,语句间用语句间用“: ”分隔。分隔。 Visual Basic Visual Basic程序设计教程程序设计教程例例3-7 输入三个数输入三个数a,b,c,要求按照由大到小的,要求按照由大到小的顺序输出。使用顺序输出。使用InputBox输入输入a,b,c的值。的值。分析
23、:对分析:对a,b,c三个数进行排序,方法是两两比较,三个数进行排序,方法是两两比较,需要比较三次。采用单分支选择结构实现三次比较。需要比较三次。采用单分支选择结构实现三次比较。16 Visual Basic Visual Basic程序设计教程程序设计教程2双分支选择结构双分支选择结构IfThenElse语句语句双分支双分支If语句提供两个选择分支,语句格式如下:语句提供两个选择分支,语句格式如下:1)IfThenElse语句语句2)If then 语句块语句块1 Else 语句块语句块2 End If17 Visual Basic Visual Basic程序设计教程程序设计教程例例3-8
24、输入三个数作为三角形的三条边,如果这三输入三个数作为三角形的三条边,如果这三个数能构成三角形,计算该三角形面积,否则给出个数能构成三角形,计算该三角形面积,否则给出错误提示。错误提示。分析:解决该问题应分为如下两步。分析:解决该问题应分为如下两步。(1)判断三条边能否构成三角形,判断条件是任)判断三条边能否构成三角形,判断条件是任意两边之和大于第三边。意两边之和大于第三边。(2)对能构成三角形的数据进行计算,求出三角)对能构成三角形的数据进行计算,求出三角形的面积形的面积18Private Sub Command1_Click() Dim a!, b!, c!, s!, x! a = Val(
25、Text1.Text) b = Val(Text2.Text) c = Val(Text3.Text) If a + b c And b + c a And a + c b Then 如果能构成三角形如果能构成三角形 x = (a + b + c) / 2 s = Sqr(x * (x - a) * (x - b) * (x - c) Label2.Caption = 三角形面积为:三角形面积为: & s Else Label2.Caption = 数据有错数据有错,不能构成三角形不能构成三角形 End IfEnd Sub Visual Basic Visual Basic程序设计教程程序设计
26、教程 3多分支选择结构多分支选择结构IfThenElseIf语句语句多分支多分支If提供了多个选择分支。语句格式如下:提供了多个选择分支。语句格式如下:If Then 语句块语句块1ElseIf Then 语句块语句块2ElseIf Then 语句块语句块nElse 语句块语句块n+1End If19 Visual Basic Visual Basic程序设计教程程序设计教程说明:说明:(1)多分支)多分支If语句的功能是:依次判断表达式的值,当语句的功能是:依次判断表达式的值,当某个表达式的值为某个表达式的值为True时,则执行该表达式对应的语时,则执行该表达式对应的语句块,然后跳出句块,然
27、后跳出If语句,继续执行后续程序。如果所语句,继续执行后续程序。如果所有表达式的值均为有表达式的值均为False,则执行,则执行Else分支的语句块,分支的语句块,如果没有如果没有Else分支,则结束整个结构,执行后续代码。分支,则结束整个结构,执行后续代码。程序流程图如图所示。程序流程图如图所示。(2)无论有多少个分支,程序执行一个分支后,便不再)无论有多少个分支,程序执行一个分支后,便不再执行其余分支。当有多个分支的条件均为执行其余分支。当有多个分支的条件均为True时,只时,只执行第一个条件为执行第一个条件为True的分支。的分支。(3)Else分支可以省略。分支可以省略。20 Visu
28、al Basic Visual Basic程序设计教程程序设计教程例例3-9设计一个大小写转换程序。当在输入框中输设计一个大小写转换程序。当在输入框中输入大写字母,在输出框中同时显示出对应的小写字入大写字母,在输出框中同时显示出对应的小写字母;当在输入框中输入小写字母,在输出框中同时母;当在输入框中输入小写字母,在输出框中同时显示出对应的大写字母;若输入空格,则显示显示出对应的大写字母;若输入空格,则显示“*”;输入;输入“*”,显示空格;输入其他字符,显示空格;输入其他字符,在输出框中原样输出。在输出框中原样输出。21Private Sub Text1_KeyPress(KeyAscii A
29、s Integer) Dim st As String * 1 st = Chr(KeyAscii) 将参数传递的将参数传递的ASCII码值转化为字符码值转化为字符 小写字母与大写字母的小写字母与大写字母的Ascii码相差码相差32 If st = a And st = A And st 1 Or width 1 Or height 1 Or weight 30 Then r = -1 不予邮寄不予邮寄ElseIf weight = 10 Then 10kg以内以内r = 1#ElseIf weight = 20 Then 10kg20kgr = 0.9ElseIf weight = 30 T
30、hen 20kg30kgr = 0.8End If 根据根据r值进行邮资计算值进行邮资计算 If r = -1 ThenMsgBox 包裹超重,不能邮寄包裹超重,不能邮寄, 0+64, 提示提示Elsepostage = weight * r + 0.5 Visual Basic Visual Basic程序设计教程程序设计教程3.3.3 Select Case语句语句Select Case语句也称为情况语句,用来实现多分语句也称为情况语句,用来实现多分支选择结构,支选择结构,Select Case语句格式如下:语句格式如下:Select Case Case 语句块语句块1 Case 语句块语
31、句块2 Case 语句块语句块n Case Else 语句块语句块n+1End Select23 Visual Basic Visual Basic程序设计教程程序设计教程说明:说明:“测试表达式测试表达式”可以是数值型也可以是字符串表达式。可以是数值型也可以是字符串表达式。程序运行时会依次比较程序运行时会依次比较Case分支的表达式列表值分支的表达式列表值与测试表达式的值,若某一分支的表达式列表值与与测试表达式的值,若某一分支的表达式列表值与测试表达式的值相符,则执行该分支的语句块,语测试表达式的值相符,则执行该分支的语句块,语句块执行完毕后句块执行完毕后Select Case语句便随之结束
32、。语句便随之结束。可见,该语句与可见,该语句与If ThenElseIf语句结构是语句结构是相似的,不管语句中有多少个分支,一旦找到匹配相似的,不管语句中有多少个分支,一旦找到匹配的分支并执行后,语句立即结束。的分支并执行后,语句立即结束。Select Case执行流程如图执行流程如图3-16所示。所示。24 Visual Basic Visual Basic程序设计教程程序设计教程例例3-11 MsgBox函数允许显示带有一个或多个按函数允许显示带有一个或多个按钮的信息,而且钮的信息,而且MsgBox函数的返回值即是被按函数的返回值即是被按下的按钮值,可以赋予一个变量。可以通过返回值下的按钮
33、值,可以赋予一个变量。可以通过返回值判断用户按下的按钮,并给出相应处理,该过程可判断用户按下的按钮,并给出相应处理,该过程可使用使用Select Case语句实现。语句实现。MsgBox提示的信提示的信息是:息是:“是否要打开新的练习本?是否要打开新的练习本?”,显示三个按,显示三个按钮,分别是钮,分别是Yes(是),(是),NO(否)和(否)和Cancel(取消)(取消)25程序主要部分程序主要部分Select Case myButtonCase 6MsgBox open a new workbook right nowCase 7MsgBox You can open a new book
34、 manually later.Case ElseMsgBox You pressed Cancel.End Select Visual Basic Visual Basic程序设计教程程序设计教程例例3-12运输公司对用户计算运费。路程(运输公司对用户计算运费。路程(skm)越)越远,远,t/km运费越低。标准如下。运费越低。标准如下。S250 没有折扣没有折扣250S500 2%折扣折扣500S1000 5%折扣折扣1000S2000 8%折扣折扣2000S 3000 Thenc = 12Elsec = Fix(s /250)End IfSelect Case cCase 0 d = 0C
35、ase 1 d = 2Case 2, 3 d = 5Case 4 To 7 d = 8Case 8 To 11 d = 10Case 12 d = 15End Selectf = p * w * s * (1 - d / 100) Visual Basic Visual Basic程序设计教程程序设计教程3.3.4 选择结构的嵌套选择结构的嵌套在一个选择分支中可以完整的包含另外一个选择结构,在一个选择分支中可以完整的包含另外一个选择结构,这种结构就叫做选择结构嵌套。这种结构就叫做选择结构嵌套。27If then If then Else End IfEnd IfSelect Case Case
36、 If then Else End Select End If Case End Select说明:说明:(1)几种选择结构嵌套可以灵活组合,嵌套层次也可以任)几种选择结构嵌套可以灵活组合,嵌套层次也可以任意多。嵌套原则是:内层的选择结构必须完整包含在外层选意多。嵌套原则是:内层的选择结构必须完整包含在外层选择结构的分支中,不能有内外层交叉的情况。择结构的分支中,不能有内外层交叉的情况。(2)多层)多层If语句嵌套时,要注意语句嵌套时,要注意If与与Else的配对原则:的配对原则:Else总是与其最靠近的,未配对的总是与其最靠近的,未配对的If配对。从配对。从Else语句向语句向上查找,如果遇
37、到上查找,如果遇到End If,需要跳过一个,需要跳过一个If,同时需要跳,同时需要跳过单行的过单行的If语句。为了便于阅读和维护,建议在写含有多层语句。为了便于阅读和维护,建议在写含有多层嵌套的程序时使用缩进对齐的方式。嵌套的程序时使用缩进对齐的方式。 Visual Basic Visual Basic程序设计教程程序设计教程例例3-13 输入一个学生的总评成绩(大于等于输入一个学生的总评成绩(大于等于0且小且小于等于于等于100),按分数段评定出相应的等级),按分数段评定出相应的等级AE,如果输入的成绩小于等于,如果输入的成绩小于等于0或者大或者大于等于于等于100,则输出出错信息。,则输
38、出出错信息。28 Visual Basic Visual Basic程序设计教程程序设计教程3.4 循循 环环 结结 构构例例3-14 输入输入20个学生的个学生的VB程序设计课程的成绩,程序设计课程的成绩,统计出统计出90分以上的学生人数。分以上的学生人数。分析:循环可以看做是在某一特定条件下,反复做分析:循环可以看做是在某一特定条件下,反复做某件事情(某些语句)。本题中需要反复做的事情某件事情(某些语句)。本题中需要反复做的事情是输入学生的信息(是输入学生的信息(20次),统计次),统计90分以上的人分以上的人数(把数(把20个成绩分别与个成绩分别与90比较,需要比较比较,需要比较20次)
39、。当程序中出现需要反复执行的操作时,要考次)。当程序中出现需要反复执行的操作时,要考虑采用循环结构解决问题。虑采用循环结构解决问题。29For i = 1 To 20 score = Val(InputBox(输入第输入第 & i & 个学生的成绩个学生的成绩, 成绩输入框成绩输入框) If i Mod 10 = 0 Then 控制输出格式,一行输出控制输出格式,一行输出10个成绩个成绩 Print score; Print Else Print score; End If If score = 90 Then count = count + 1 End IfNext i Visual Bas
40、ic Visual Basic程序设计教程程序设计教程3.4.2 ForNext语句语句ForNext语句用于循环次数已知的循环,使用形语句用于循环次数已知的循环,使用形式如下:式如下:For = to Step Next 30 Visual Basic Visual Basic程序设计教程程序设计教程例例3-15 编程计算编程计算1!+2!+3!+10!。程序如下:程序如下:Private Sub Form_Click()Dim i As IntegerDim s As Long, t As Longt = 1 For i = 1 To 10 t = t * i s = s + tNext
41、iPrint 1!+2!+3!+10!= & sEnd Sub31 Visual Basic Visual Basic程序设计教程程序设计教程例例3-16 由随机函数产生由随机函数产生10道一位整数与两位整数道一位整数与两位整数相加的加法题,产生的加法题依次显示在屏幕上,相加的加法题,产生的加法题依次显示在屏幕上,每产生一道题后,由用户输入答案,如果答案正确,每产生一道题后,由用户输入答案,如果答案正确,记记10分;如果答案错误,允许第二次输入答案,分;如果答案错误,允许第二次输入答案,第二次输入答案正确,记第二次输入答案正确,记5分,错误记分,错误记0分。最后分。最后给出总得分。程序代码如下
42、:给出总得分。程序代码如下:32 Visual Basic Visual Basic程序设计教程程序设计教程3.4.3 DoLoop语句语句DoLoop语句通常用于循环次数未知,但循环语句通常用于循环次数未知,但循环条件容易给出的循环。条件容易给出的循环。DoLoop语句实现的循语句实现的循环有两种,一种是当型循环,一种是直到型循环。环有两种,一种是当型循环,一种是直到型循环。33当型循环Do While/UntilLoop语句Do While/Until循环体Loop直到型循环DoLoop While/Until语句Do 循环体Loop While/Until Visual Basic Vi
43、sual Basic程序设计教程程序设计教程当型循环流程图当型循环流程图34 Visual Basic Visual Basic程序设计教程程序设计教程直到型循环直到型循环35 Visual Basic Visual Basic程序设计教程程序设计教程例例3-17爱因斯坦出了一道这样的数学题:有一条长爱因斯坦出了一道这样的数学题:有一条长阶梯,若每步跨阶梯,若每步跨2阶,则最后剩阶,则最后剩1阶;若每步跨阶;若每步跨3阶,阶,则最后剩则最后剩2阶;若每步跨阶;若每步跨5阶,最后剩阶,最后剩4阶;若每步阶;若每步跨跨6阶则最后剩阶则最后剩5阶。只有每步跨阶。只有每步跨7阶,最后才正好阶,最后才正
44、好一阶不剩。请问:这条阶梯共有多少阶?一阶不剩。请问:这条阶梯共有多少阶?36 Visual Basic Visual Basic程序设计教程程序设计教程程序如下:程序如下:Private Sub Form_Click() Dim i As Integer i = 1 Do While Not (i Mod 2 = 1) And (i Mod 3 = 2) And (i Mod 5 = 4) And (i Mod 6 = 5) And (i Mod 7 = 0) i = i + 1 Loop Print 爱因斯坦数学题的答案是:阶梯数为爱因斯坦数学题的答案是:阶梯数为 & iEnd Sub37
45、 Visual Basic Visual Basic程序设计教程程序设计教程例例3-19猴子吃桃问题。猴子第一天摘下若干桃子,猴子吃桃问题。猴子第一天摘下若干桃子,立刻吃了一半,还不过瘾,又多吃了一个。第二天立刻吃了一半,还不过瘾,又多吃了一个。第二天早上又将剩下的桃子吃掉一半,又多吃了一个。以早上又将剩下的桃子吃掉一半,又多吃了一个。以后每天早上都吃了前一天剩下的一半多一个。到第后每天早上都吃了前一天剩下的一半多一个。到第10天早上想再吃时,就只剩一个桃子了。求第一天早上想再吃时,就只剩一个桃子了。求第一天共摘多少个桃子。天共摘多少个桃子。38 Visual Basic Visual Bas
46、ic程序设计教程程序设计教程程序代码如下:程序代码如下:Private Sub Form_Click() Dim day As Integer, x1 As Integer, x2 As Integer day = 10 从第从第10天开始天开始 x2 = 1 Do While (day 1) 循环进行到第一天结束,此时循环进行到第一天结束,此时的的x1即为第即为第1天的桃子数天的桃子数 x1 = (x2 + 1) * 2 x2 = x1 day = day - 1 Loop Print 第一天摘得桃子数是:第一天摘得桃子数是:; x1End Sub39 Visual Basic Visual
47、 Basic程序设计教程程序设计教程3.4.4 WhileWend语句语句WhileWend语句的使用格式如下:语句的使用格式如下:WhileWend40 Visual Basic Visual Basic程序设计教程程序设计教程3.4.5 循环的嵌套(多重循环)循环的嵌套(多重循环)在一个循环结构内,又包含了另一个完整的循环结在一个循环结构内,又包含了另一个完整的循环结构,这样的结构叫做循环嵌套。循环嵌套对于构,这样的结构叫做循环嵌套。循环嵌套对于ForNext、Do Loop以及以及WhileWend均适用。均适用。41(1)For Do While Loop Next(2)Do Whil
48、e For I= Next Loop(3)While Do Loop Until Wend Visual Basic Visual Basic程序设计教程程序设计教程说明:说明:(1)循环嵌套中,内层循环必须是完整地嵌套在外层循)循环嵌套中,内层循环必须是完整地嵌套在外层循环中,不能出现交叉的情况。环中,不能出现交叉的情况。(2)各种循环语句可以互相嵌套,自由组合。嵌套的层)各种循环语句可以互相嵌套,自由组合。嵌套的层数亦无限制,但考虑算法执行的效率,循环嵌套层数不数亦无限制,但考虑算法执行的效率,循环嵌套层数不宜过多。以上三种形式嵌套层数为二层,亦可称为二重宜过多。以上三种形式嵌套层数为二层
49、,亦可称为二重循环。循环。(3)以二重循环为例,循环嵌套执行的规律是:内层循)以二重循环为例,循环嵌套执行的规律是:内层循环完整执行一遍,外层循环执行下一次循环(不包括使环完整执行一遍,外层循环执行下一次循环(不包括使用用Exit语句退出循环的情况)。语句退出循环的情况)。42 Visual Basic Visual Basic程序设计教程程序设计教程例例3-21打印由打印由“*”组成的组成的5行行5列的矩阵,如下列的矩阵,如下所示:所示:* * * * * * * * * * * * * * * * * * * * *43 Visual Basic Visual Basic程序设计教程程序设计教程程序代码如下。程序代码如下。Private Sub Fo
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年南通师范高等专科学校单招职业技能考试题库附答案详解
- 2026年华北理工大学轻工学院单招职业技能考试题库带答案详解(精练)
- 2026年北海职业学院单招职业技能测试题库及答案详解(真题汇编)
- 2026年内蒙古呼伦贝尔市单招职业倾向性测试题库含答案详解(培优a卷)
- 2026年克孜勒苏职业技术学院单招职业适应性测试题库带答案详解(综合题)
- 2026年北海康养职业学院单招综合素质考试题库及参考答案详解
- 2026年内蒙古化工职业学院单招职业技能考试题库带答案详解(黄金题型)
- 2026年华东政法大学单招职业倾向性测试题库附答案详解(综合卷)
- 2026年冀中职业学院单招职业技能测试题库附答案详解(能力提升)
- 2026年南昌应用技术师范学院单招职业适应性测试题库含答案详解(新)
- 水务公司2026年节后复工安全生产培训
- 《力与大地:重力、摩擦力的科学透视与地理联结》-初中科学(八年级)单元复习课教学设计
- 2025年宁波职业技术学院单招职业技能考试题库附答案解析
- 宁德新能源VERIFY测评题
- 中国传媒大学毕业论文报告基本规范及格式要求
- 备战2026年高考英语考试易错题(新高考)易错点18 应用文写作(解析版)
- 会计培训行业竞争格局分析
- 阳江五金刀剪行业报告
- 动火作业现场安全管控方案
- 煤矿托管居间合同范本
- 颅内动脉瘤破裂急救护理查房
评论
0/150
提交评论