计算机二级vb例题_第1页
计算机二级vb例题_第2页
计算机二级vb例题_第3页
计算机二级vb例题_第4页
计算机二级vb例题_第5页
已阅读5页,还剩65页未读 继续免费阅读

下载本文档

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

文档简介

1、计算机二级vb例题编写的窗体单击事件过程代码如下:编写的窗体单击事件过程代码如下: Private Sub Form_Click() Dim x As Integer, a As Integer Dim b As Integer, c As Integer x = 36 a = Int(x / 10) 求十位数求十位数 b = x Mod 10 求个位数求个位数 c = b * 10 + a 生成新的数生成新的数 Print 处理后的数处理后的数: ; c End Sub运行程序后单击窗体,输出结果是:运行程序后单击窗体,输出结果是: 处理后的数:处理后的数:63 例例3.1 给定一个两位正整

2、数给定一个两位正整数(如如36),交换个位数和十位,交换个位数和十位数的位置,把处理后的数显示在窗体上数的位置,把处理后的数显示在窗体上Private Sub Form_Click() Dim x As Integer, a As Integer Dim b As Integer, c As Integer x = 36 a = x 10 求十位数求十位数 b = x - 10 * a 求个位数求个位数 c = b * 10 + a Print 处理后的数处理后的数: ; cEnd Sub 把上述程序改为以下形式,效果是否一样?把上述程序改为以下形式,效果是否一样?想一想想一想 通常,解决某个

3、问题的程序方法有多种,通常,解决某个问题的程序方法有多种,我们应该从中选择较优的一种方法。我们应该从中选择较优的一种方法。编写的窗体单击事件过程代码如下:编写的窗体单击事件过程代码如下: Private Sub Form_Click() Dim a As Integer, b As Integer, c As Integer Randomize 初始化随机数生成器初始化随机数生成器 a = Int(90 * Rnd + 10) 产生产生10,99区间内的随机整区间内的随机整数数 b = Int(90 * Rnd + 10) c = a + b 求两数之和求两数之和 Print 产生的两个随机数

4、产生的两个随机数: ; a, b Print 和数和数: ; c End Sub运行程序后单击窗体,输出结果是:运行程序后单击窗体,输出结果是: 产生的两个随机数:产生的两个随机数:56 71 和数:和数:127例例3.2 通过随机函数产生通过随机函数产生2个两位正整数,求这个两位正整数,求这2个数个数 之和并显示出来之和并显示出来 再次运行程序,单击窗体后再次运行程序,单击窗体后输出另一组结果是:输出另一组结果是: 产生的两个随机数:产生的两个随机数:18 37 和数:和数:55 先从字符串先从字符串a中找出某个指定字符中找出某个指定字符(本例为空格本例为空格),再以此字,再以此字符为界拆分

5、成两个字符串。编写的窗体单击过程代码如下:符为界拆分成两个字符串。编写的窗体单击过程代码如下:例题例题2 Private Sub Form_Click() Dim a As String, b As String, c As String, n As Integer a = VisualBasic 表示空格表示空格 n = InStr(a, ) 查找空格位置查找空格位置 b = Left(a, n - 1) 取左边部分取左边部分 c = Mid(a, n + 1) 取右边部分取右边部分 Print b 显示左边部分显示左边部分 Print c 显示右边部分显示右边部分 End Sub 程序运行

6、后单击窗体,输出结果是:程序运行后单击窗体,输出结果是: Visual Basic例例3.33.3 使用字符串函数示例使用字符串函数示例 Private Sub Form_Click() Dim a As String, b As String, c As String, n As Integer a = VisualBasic 表示空格表示空格 n = InStr(a, ) 查找空格位置查找空格位置 b = Left(a, n - 1) 取左边部分取左边部分 c = Right( _, _ ) 取右边部分取右边部分 Print b 显示左边部分显示左边部分 Print c 显示右边部分显示右

7、边部分 End Sub 程序运行后单击窗体,输出结果是:程序运行后单击窗体,输出结果是: Visual Basic 若用若用 RightRight函数来代替函数来代替 MidMid函数函数, 应如何改动?应如何改动?想一想想一想答案:答案:a, Len(a)-n Private Sub Form_Click()Private Sub Form_Click() x = #1/1/2011# x = #1/1/2011# a = x - Date a = x - Date b = Weekday(x) b = Weekday(x) c = Year(Date) c = Year(Date) d =

8、 Month(Date) d = Month(Date) e = Hour(Time) e = Hour(Time) f = Minute(Time) f = Minute(Time) Print Print 现在距离现在距离20112011年元旦还有:年元旦还有: ; a; ; a; 天天 Print Print 20112011年元旦是:星期年元旦是:星期; b-1; b-1 Print Print 本月份是:本月份是:; c; ; c; 年年; d; ; d; 月月 Print Print 现在是:现在是:; e; ; e; 时时; f; ; f; 分分 End SubEnd Sub运行

9、程序后单击窗体,输出结果如下:运行程序后单击窗体,输出结果如下: 现在距离现在距离20112011年元旦还有:年元旦还有:304304天天 20112011年元旦是:星期年元旦是:星期6 6 本月份是:本月份是:20102010年年3 3月月 现在是:现在是:1010时时2727分分例例3.43.4 使用日期使用日期/ /时间函数示例时间函数示例 (留给学生分析)(留给学生分析) 将输入的字符串反向显示。界面包含两个标签,一个按将输入的字符串反向显示。界面包含两个标签,一个按钮和两个文本框钮和两个文本框(text1用于输入,用于输入,text2用于显示反向后的字符用于显示反向后的字符串),运行

10、结果如图串),运行结果如图3.2所示。所示。 从文本框从文本框text1输入字符串,单击输入字符串,单击command1按钮,在文按钮,在文本框显示反向字符串。本框显示反向字符串。3.73.7应用示例应用示例 程序代码如下:程序代码如下: Private Sub Command1_Click() Dim str, strRe As String Dim i As Integer str = Text1.Text For i = 1 To Len(str) strRe = Mid(str, i, 1) & strRe Next i Text2.Text = strReEnd Sub【程序

11、分析程序分析】 FOR NEXT为循环语句为循环语句(读者可见第四章读者可见第四章).本题中的循环次数由字符串的长度本题中的循环次数由字符串的长度Len(str)决定的决定的. 用用Mid函数每次从字符串中第函数每次从字符串中第i个位置取一个字符。个位置取一个字符。 注意语句注意语句strRe = Mid(str, i, 1) & strRe的用法,思考一下,若改为:的用法,思考一下,若改为:strRe = strRe & Mid(str, i, 1),结果如何?,结果如何? 判断条件:判断条件: 年号年号(y)能被能被4整除,但不能被整除,但不能被100整除;或者能被整除;或

12、者能被400整除,用逻辑表达式来表示这个条件,写成:整除,用逻辑表达式来表示这个条件,写成: (y Mod 4=0 And y Mod 1000) Or (y Mod 400=0) 也可写成:也可写成: (Int(y/4)=y/4 And Int(y/100)y/100) Or Int(y/400)=y/400) 例例4.1 4.1 判断某一年是否闰年判断某一年是否闰年 (1)创建应用程序的用户界面和设置对象属性创建应用程序的用户界面和设置对象属性 (2)编写程序代码编写程序代码 功能要求:功能要求:用户在用户在“a=”文本框文本框(Text1)、“b=”文本框文本框(Text2)和和“c=”

13、文本框文本框(Text3)中输入数据,单击中输入数据,单击“判断判断”按钮后,则在按钮后,则在“最大数最大数”文本框文本框(Text4)中输出结果中输出结果 例例4.2 输入三个数输入三个数a、b、c,求出其中最大数,求出其中最大数 Private Sub Command1_Click() Dim a As Integer, b As Integer Dim c As Integer, m As Integer a = Val(Text1.Text) b = Val(Text2.Text) c = Val(Text3.Text) If a b Then m = a m用来存放较大值用来存放较大

14、值 Else m = b End If If c m Then m = c Text4.Text = m End Sub 程序代码程序代码 (1)建立应用程序的用户界面和设置对象属性建立应用程序的用户界面和设置对象属性 (2)编写程序代码编写程序代码 功能要求:用户从上面三个文本框功能要求:用户从上面三个文本框(Text1、Text2、Text3)中输入数据,单击中输入数据,单击“排序排序”按钮按钮(Command1),则在,则在第第4个文本框个文本框(Text4)中显示结果中显示结果 例例4.3 输入三个数,将它们从大到小排序输入三个数,将它们从大到小排序 Private Sub Comma

15、nd1_Click() a = Val(Text1.Text) b = Val(Text2.Text) c = Val(Text3.Text) If a =b t = a: a = b: b = t End If If a =c t = a: a = c: c = t End If If b =c t = b: b = c: c = t End If Text4.Text = a & , & b & , & c End Sub 程序代码程序代码起泡法起泡法穷举法穷举法 Private Sub Command1_Click()Dim a!, b!, c!Clsa

16、= InputBox(a=)b = InputBox(b=)c = InputBox(c=)If a b And b c Then Print a, b, cIf a b And b c Then Print a, c, bIf a b And b = c And a = c Then Print c, a, bIf a = b And b = c Then Print c, b, aIf a c And a c Then Print b, a, cIf a c And a = c Then Print b, c, aEnd Sub 程序代码程序代码 实现一些简单的条件判断分支结构实现一些简单

17、的条件判断分支结构 格式:格式: IIf(条件,条件为真时的值,条件为假时的值条件,条件为真时的值,条件为假时的值) 功能:对条件进行测试,若条件成立功能:对条件进行测试,若条件成立(为真值为真值),则,则取第一个值取第一个值(即即“条件为真时的值条件为真时的值”),否则取第二个,否则取第二个值值(即即“条件为假时的值条件为假时的值”)。 例如,将例如,将a、b中的小数,放入中的小数,放入Min变量中:变量中: Min=IIf(aMin=IIf(ab,a,b)b,a,b)4.2.3 IIf函数函数 例如:例如:0时至时至12时,显示时,显示“早上好早上好” 利用窗体装载利用窗体装载(Load)

18、事件,采用事件,采用Print直接在窗体上输出结果直接在窗体上输出结果 Private Sub Form_Load() Dim h As Integer Show 使使print输出在窗体上的内容可输出在窗体上的内容可见见 h = Hour(Time) 取系统的时间取系统的时间 FontSize = 30 : ForeColor = RGB(255, 0, 0) BackColor = RGB(255, 255, 0) If h 12 Then Print 早上好!早上好! Else If h 18 Then Print 下午好!下午好! Else Print 晚上好!晚上好! End If

19、End If End Sub例例4.4 根据不同的时间段发出问候语根据不同的时间段发出问候语 输入学生成绩输入学生成绩(百分制百分制),判断该成绩的等级,判断该成绩的等级(优、良、优、良、中、及格、不及格中、及格、不及格) (1)创建应用程序的用户界面和设置对象属性创建应用程序的用户界面和设置对象属性 (2)编写程序代码编写程序代码 功能要求:功能要求:用户从用户从“成绩成绩”文本框文本框(Text1)中输入学生成中输入学生成绩,单击绩,单击“执行执行”按钮按钮(command1)后,经判断得到等级并后,经判断得到等级并显示在标签显示在标签Label2上。上。 例例4.5 4.5 判断成绩的等

20、级判断成绩的等级 Private Sub Command1_Click() Dim score As Integer, temp As String score = Val(Text1.Text) temp = 成绩等级为:成绩等级为: If score 0 Then Label2.Caption = 成绩出错成绩出错 ElseIf score 60 Then Label2.Caption = temp + 不及格不及格 ElseIf score = 79 Then Label2.Caption = temp + 及格及格 ElseIf score = 100 Then Label2.Capt

21、ion = temp + 优良优良 Else Label2.Caption = 成绩出错成绩出错 End IfEnd Sub 实现例实现例4.5所完成的功能所完成的功能 , 程序代码如下:程序代码如下: Private Sub command1_click() Dim score As Integer, temp As String score = Val(Text1.Text) temp = 成绩等级为:成绩等级为: Select Case score Case 0 To 59 Label2.Caption = temp + 不及格不及格 Case 60 To 69 Label2.Capti

22、on = temp + 及格及格 Case 70 To 79 Label2.Caption = temp + 中中 Case 80 To 89 Label2.Caption = temp + 良良 Case 90 To 100 Label2.Caption = temp + 优优 Case Else Label2.Caption = 成绩出错成绩出错 End Select End Sub 例例4.6 用用Select CaseSelect Case语句来实现多分支选择功能语句来实现多分支选择功能 先在窗体上显示以下考题:先在窗体上显示以下考题: 鸡兔同笼,已知鸡和兔总头数为鸡兔同笼,已知鸡和兔

23、总头数为h=23,总脚数为,总脚数为f=56,求鸡兔各有多少只,求鸡兔各有多少只? 再提供输入框由学生回答问题,然后采用输出框显示对再提供输入框由学生回答问题,然后采用输出框显示对答案的评判意见。答案的评判意见。 设计步骤如下:设计步骤如下: (1)在窗体上设置一个命令按钮在窗体上设置一个命令按钮Command1 (2)采用窗体的装载事件采用窗体的装载事件Form_Load,使考题内容直接显示使考题内容直接显示在窗体上。在窗体上。 例例4.74.7 求鸡数和兔数求鸡数和兔数 当用户单击当用户单击“答题答题”按钮时,程序提供输入对话框,按钮时,程序提供输入对话框,由用户输入答案,再通过输出框显示

24、评判意见。采用的由用户输入答案,再通过输出框显示评判意见。采用的程序代码如下:程序代码如下: Private Sub Form_Load() Show Print FontSize = 18 Print Spc(9); 考一考你考一考你 FontSize = 13 Print Spc(5); 鸡兔同笼,已知鸡和兔总头数为鸡兔同笼,已知鸡和兔总头数为23, Print Spc(3); 总脚数为总脚数为56,求鸡兔各有多少?,求鸡兔各有多少? End Sub Private Sub Command1_Click() h = 23 : f = 56 总头数及总总头数及总脚数脚数 j1 = (4 *

25、h - f) / 2 求出的鸡数求出的鸡数 t1 = (f - 2 * h) / 2 求出的兔数求出的兔数 j2 = Val(InputBox(鸡的只数是多少?鸡的只数是多少?, 请回答请回答) t2 = Val(InputBox(兔的只数是多少?兔的只数是多少?, 请回答请回答) Select Case True 选择真值选择真值 Case j1 = j2 And t1 = t2 MsgBox (回答完全正确回答完全正确!) Case j1 = j2 MsgBox (鸡数回答正确,但兔数不对鸡数回答正确,但兔数不对!) Case t1 = t2 MsgBox (兔数回答正确,但鸡数不对兔数回

26、答正确,但鸡数不对!) Case Else MsgBox (回答错误回答错误!) End Select End Sub (1)创建应用程序的用户界面和设置对象属性创建应用程序的用户界面和设置对象属性 一个计时器控件和一个文本框。计时器控件一个计时器控件和一个文本框。计时器控件Timer1的的Interval属性值设定为属性值设定为1000(1秒秒)例例4.104.10 建立一个电子时钟建立一个电子时钟 (2)编写程序代码编写程序代码 Private Sub Timer1_Timer() timer事件过程事件过程 Text1.Text = Time Time是时间函数是时间函数 End Sub

27、 利用计时器可以按指定间隔时间对字体进行放大利用计时器可以按指定间隔时间对字体进行放大 (1)创建应用程序的用户界面和设置对象属性创建应用程序的用户界面和设置对象属性 一个计时器控件和和一个标签一个计时器控件和和一个标签 。计时器控件。计时器控件Timer1的计时器采用默认的属性值的计时器采用默认的属性值 Enabled属性值为属性值为True(真真),Interval属性值为属性值为0 例例4.114.11 实现字体的放大实现字体的放大 (2)编写程序代码编写程序代码 Private Sub Form_Load() Label1.Caption = 放大放大 Label1.Width = F

28、orm1.Width 把标签的高度和把标签的高度和宽度宽度 设置为窗体相设置为窗体相同尺寸同尺寸 Label1.Height = Form1.Height Timer1.Interval = 800 End Sub Private Sub Timer1_Timer() If Label1.FontSize 0 Then s = s - 1 Else If m 0 Then m = m - 1 s = 59 End If End If Text1.Text = Format(m, 00) Text2.Text = Format(s, 00) If s = 0 And m = 0 Then Msg

29、Box 计时结束计时结束 Unload Me End IfEnd Sub (1)分析分析:方程的解有以下几种可能:方程的解有以下几种可能: 若若a=0,不是二次方程,不是二次方程 若若b2 - 4ac=0,有两个相等实根,有两个相等实根 若若b2 - 4ac0,有两个不等实根,有两个不等实根 若若b2 - 4ac 0计算复根的虚部计算复根的虚部P = sqr(D) / (2*a)X1 = (b + sqr(D) / (2*a)X2 = (bsqr(D) / (2*a)结束结束 当用户在当用户在“a=”文本框文本框(Text1)、“b=”文本框文本框(Text2)和和“c=”文本框文本框(Tex

30、t3)输入输入a,b,c的值后,单的值后,单击击“计算计算”按钮,则从按钮,则从“x1=”文本框文本框(Text4)和和“x2=”文本框文本框(Text5)输出计算结果。输出计算结果。 当输入的当输入的a,b,c为为1,2,-8时,运行结果如下图时,运行结果如下图 功能要求功能要求 Private Sub Command1_Click() Dim a As Single, b As Single, c As Single Dim D As Single, X1 As Single, X2 As Single Dim R As Single, P As Single a = Val(Text1.

31、Text) 取数据取数据a b = Val(Text2.Text) 取数据取数据b c = Val(Text3.Text) 取数据取数据c If a = 0 Then 当当a=0 Text4.Text = 不是二次方程不是二次方程 Text5.Text = 不是二次方程不是二次方程 Else a0 D = b * b - 4 * a * c R = -b / (2 * a) If D = 0 Then D=0 Text4.Text = R Text5.Text = R ElseIf D 0 Then D0 X1 = (-b + Sqr(D) / (2 * a) X2 = (-b - Sqr(D

32、) / (2 * a) Text4.Text = X1 Text5.Text = X2 Else D a(j) Then t = a(i): a(i) = a(j): a(j) = t 交换位交换位置置 End If Next j Next i Print 排序结果:排序结果: For i = 1 To 10 Print a(i); Next i End Sub 改写中间程序段改写中间程序段“For i=1 To 9”“Next i”(共共7个程个程序行序行) For i = 1 To 9 k = i k用来记录每次选择的最小值的下用来记录每次选择的最小值的下标标 For j = i + 1

33、To 10 If a(k) a(j) Then k = j End If Next j t = a(k): a(k) = a(i): a(i) = t 交换位置交换位置 Next i 变量变量k记录每一次选出的最小值的下标,在本次比较结束记录每一次选出的最小值的下标,在本次比较结束后,使后,使a(i)与与a(k)一次换位即可一次换位即可排列要求排列要求 小小 大大 示例:示例: a(1) a(2) a(3) a(4) 90 64 65 59 a(1)与与a(2) a(4)比较,选出最小值,直接比较,选出最小值,直接与与a(1)交换,结果:交换,结果: 59 64 65 90 5.1.1 For

34、.Next5.1.1 For.Next循环语句循环语句 按指定次数执行循环体按指定次数执行循环体 例例5.1 在窗体上显示在窗体上显示2至至10各偶数的平方数各偶数的平方数 采用采用Print直接在窗体上输出结果,程序代码:直接在窗体上输出结果,程序代码: Private Sub Form_Load() Dim k As Integer Show For k = 2 To 10 Step 2 Print k * k Next k End Sub程序运行结果:程序运行结果: 4 16 36 64 100 5.1 循环语句循环语句说明:说明:循环变量循环变量k的初值、终值和步长值分别为的初值、终值

35、和步长值分别为2,10和和2,即从,即从2开始,每次开始,每次加加2,到,到10为止,控制循环为止,控制循环5次。每次循环都将循环体次。每次循环都将循环体(Print k*k)执行一次执行一次 采用采用Print直接在窗体上输出结果,程序代码:直接在窗体上输出结果,程序代码: Private Sub Form_Load() Show s = 0 For k = 1 To 8 s = s + k Next k Print s=; s End Sub 程序运行结果如下:程序运行结果如下: s36 语句语句s = s + k (循环体语句循环体语句) 的执行过程的执行过程 例例5.2 求求S = 1

36、 + 2 + 3 + + 8 采用采用Print直接在窗体上输出结果,程序代码:直接在窗体上输出结果,程序代码: Private Sub Form_Load() Show t = 1 For c = 1 To 8 t = t * c Next c Print T=; t End Sub 程序运行结果是:程序运行结果是: T40320语句语句t = t * c 也称乘法器。先将也称乘法器。先将t置置1(不能置不能置0)。在循环程序中,常用累加器和累乘器来完成各种计算任务在循环程序中,常用累加器和累乘器来完成各种计算任务例例5.3 求求T = 8! = 1238 采用采用Print直接在窗体上输出

37、结果,程序代码如下:直接在窗体上输出结果,程序代码如下: Private Sub Form_Load() Show Dim pi As Single, c As Integer, s As Integer pi = 0 s = 1 s表示加或减运算表示加或减运算 For c = 1 To 10000 Step 2 pi = pi + s / c s = -s 交替改变加、减号交替改变加、减号 Next c Print =; pi * 4 End Sub 程序运行结果是:程序运行结果是: 3.141397 例例5.4 用用/41 - 1/3 + 1/5 - 1/7 + 级级数求数求的近似值的近似

38、值 (取前取前5000项来进行计算项来进行计算) 下面采用下面采用“穷举法穷举法”来解此题。来解此题。 其做法是:从所有可能解中,逐个进行试验,其做法是:从所有可能解中,逐个进行试验,若满足条件,就得到一个解,否则不是。直到条件若满足条件,就得到一个解,否则不是。直到条件满足或判别出无解为止。满足或判别出无解为止。 令母鸡为令母鸡为x只,小鸡为只,小鸡为y只,根据题意可知只,根据题意可知 y = 100 x 开始先让开始先让x初值为初值为1,以后逐次加,以后逐次加1,求,求x为何值时,为何值时,条件条件3x+y/3=100成立。如果当成立。如果当x达到达到33时还不能使时还不能使条件成立,则可

39、以断定此题无解条件成立,则可以断定此题无解 例例5.5 用用100 元买元买100 只鸡,母鸡只鸡,母鸡3元元1只,只,小鸡小鸡1元元3只,问各应买多少只只,问各应买多少只? 采用采用Print直接在窗体上输出结果,程序代码:直接在窗体上输出结果,程序代码: Private Sub Form_Load() Dim x As Integer, y As Integer Show For x = 1 To 33 y = 100 - x If 3 * x + y / 3 = 100 Then Print 母鸡只数为母鸡只数为:; x, Print 小鸡只数为小鸡只数为:; y End If Next

40、 x End Sub 运行结果:运行结果: 母鸡只数为:母鸡只数为:25 小鸡只数为:小鸡只数为:75 采用采用Do While.Loop语句语句 采用采用Print直接在窗体上输出结果,程序代码:直接在窗体上输出结果,程序代码: Private Sub Form_Load() Dim n As Integer, s As Long Show n = 1: s = 0 Do While n = 100 s = s + n * n n = n + 1 Loop Print s=; s End Sub例例5.65.6 求求 S S1 12 2 + 2+ 22 2 + + + 100 + 1002

41、2 程序运行结果:程序运行结果: S338350 是否可以交换顺序:是否可以交换顺序: n = n + 1 s = s + n * n采用采用Print直接在窗体上输出结果,程序代码:直接在窗体上输出结果,程序代码: Private Sub Form_Load() Show Dim pi As Single, n As Long, s As Integer pi = 0 : n = 1 : s = 1 Do While n =0.00001 pi = pi + s / n s = -s n = n + 2 Loop Print =; pi * 4 End Sub例例5.75.7 用用/4/41

42、 - 1/3 + 1/5 - 1/7 + 1 - 1/3 + 1/5 - 1/7 + 级数级数, ,求求的近似值。当最后一项的绝对值的近似值。当最后一项的绝对值小于小于1010-5-5时,停止计算时,停止计算 程序运行结果:程序运行结果: 3.141575 “辗转相除法辗转相除法”算法:算法:求出求出m/n余数余数p,若,若p0,n即为即为最大公约数;若最大公约数;若p非非0,则把原来的分母,则把原来的分母n作为新的分子作为新的分子m,把余数把余数p作为新的分母作为新的分母n继续求解继续求解 设计步骤如下:设计步骤如下: (1)创建应用程序的用户界面和设置对象属性创建应用程序的用户界面和设置对

43、象属性例例5.8 输入两个正整数,求它们的最大公约数输入两个正整数,求它们的最大公约数 编写的编写的“计算计算”按钮按钮Click事件过程代码如下:事件过程代码如下: Private Sub Command1_Click() Dim m As Integer, n As Integer, p As Integer m = Val(Text1.Text) : n = Val(Text2.Text) If m = 0 Or n = 0 Then MsgBox (数据错误数据错误!) End End If Do p = m Mod n m = n n = p Loop While p 0 Text3

44、.Text = m End Sub 若输入的若输入的m和和n的值为的值为85和和68,则运行结果如上图,则运行结果如上图 把每次输入的数累加。当输入把每次输入的数累加。当输入-1时结束程序的运行时结束程序的运行 (1)创建应用程序的用户界面和设置对象属性创建应用程序的用户界面和设置对象属性 (2)编写程序代码编写程序代码 Private Sub Form_Load() Show Sum = 0 Do While True 条件为真,循环无终止进行下去条件为真,循环无终止进行下去 x = Val(InputBox(请输入要加入的数请输入要加入的数(-1表示结束表示结束), 输入数据输入数据) I

45、f x = -1 Then Exit Do End If Sum = Sum + x Text1.Text = Sum Loop MsgBox (累加运算结束累加运算结束) End Sub 以以-1作为作为“终止循环标志终止循环标志” 例例5.95.9 设计一个设计一个“加法器加法器”程序程序例例5.9.1 有一张厚有一张厚0.5mm、面积足够大的纸,将它不断地对折,、面积足够大的纸,将它不断地对折,问对折多少次后,其厚度可达到珠穆朗玛峰的高度问对折多少次后,其厚度可达到珠穆朗玛峰的高度? N=0 H=0.5 Do while h8848000 N=n+1 H=2*h Loop Print 对

46、折次数为对折次数为:”;n N=0 H=0.5 Do while h8848000 Then Exit do End if Loop Print “对折次数是对折次数是:”;n例例 0.1 求求 s=1! + 2! + s=1! + 2! + + 10! + 10! 的值。的值。S=0S=0For n =1 to 10For n =1 to 10 T=1 T=1 For m=1 to n For m=1 to n T=t T=t* *m m Next m Next m S=s+t S=s+tNext nNext nPrint Print “S= S= “;s;sS=0S=0T

47、=1T=1For n =1 to 10For n =1 to 10 T=t T=t* *n n S=s+t S=s+tNext nNext nPrint “S=“; SPrint “S=“; S 本例可采用本例可采用两重循环两重循环来实现。外循环控制输出来实现。外循环控制输出7行,内行,内循环控制每行输出要求的字符数。循环控制每行输出要求的字符数。 在进入内循环之前,使用在进入内循环之前,使用Print Tab()来对起始输出位置来对起始输出位置定位,退出内循环后,使用定位,退出内循环后,使用Print来控制换行。来控制换行。例例5.115.11 编一程序,输出下列所示的图形编一程序,输出下列

48、所示的图形 采用采用Print直接在窗体上输出结果,程序代码如下:直接在窗体上输出结果,程序代码如下: Private Sub Form_Load() Show For i = 1 To 7 Print Tab(10 - i); For j = 1 To 2 * i - 1 Print Chr(i + 48); Next j Print Next i End Sub Print Chr(i+48)与与Print i有所不同有所不同 (1)分析分析:设一元硬币为:设一元硬币为a枚,二元硬币为枚,二元硬币为b枚,五元硬币枚,五元硬币为为c枚,可列出方程枚,可列出方程 a+b+c=10 a+2b+5c=25采用两重循环,外循环变量采用两重循环,外循环变量a从从010,内循环变量,内循环变量b从从010 (2)创建应用程序的用户界面创建应用程序的用户界面 例例5.125.12 取一元、二元、五元的硬币共十枚,付取一元、二元、五元的硬币共十枚,付给给2525元钱,有多少种不同的取法元

温馨提示

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

评论

0/150

提交评论