教学文库网 - 权威文档分享云平台
您的当前位置:首页 > 精品文档 > 实用模板 >

vb期末考试复习资料(经典总结版)(5)

来源:网络收集 时间:2026-04-01
导读: Label1.FontSize = Label1.FontSize / 1.2 End Sub Private Sub Command2_Click() Label1.FontSize = Label1.FontSize * 1.2 End Sub 第六章 VB控制结构例题 例1 已知一个人出生的年、月、日分别存放在变量y0、m0、

Label1.FontSize = Label1.FontSize / 1.2 End Sub

Private Sub Command2_Click()

Label1.FontSize = Label1.FontSize * 1.2 End Sub

第六章 VB控制结构例题

例1 已知一个人出生的年、月、日分别存放在变量y0、m0、d0中,当前日期的年、月、日分别存放在变量y1、m1、d1中,这个人的实足年龄存放在变量age中。则以下可以正确计算实足年龄的程序段是

A. B.

age = y1-y0 age = y1-y0

If m1 < m0 Then If m1 < m0 Or d1<d0 Then age = age -1 age = age -1 ElseIf d1 < d0 Then End If age = age-1 End If

C. D.

age = y1-y0 age = y1-y0

If m1 < m0 Then If m1 < m0 Then age = age -1 age = age -1 End If End If

If m1 = m0 And d1< d0 Then If d1 < d0 Then age = age - 1 age = age - 1 End If End If

【分析】 所谓实足年龄,指的是实际到达的年龄,即当前的年、月、日都分别大于或等于出生的年、月、日。例如一个人的出生日期是1964年8月23日,当前日期为2002年8月23日,则这个人的实足年龄就是38岁;如果当前日期为2002年7月或2002年8月22日,则这个人的实足年龄就是37岁。

这就是说,为了计算一个人的实足年龄,需要进行以下操作: (1)计算出y1-y0,并把结果赋给age。 (2)如果m1<m0,则实足年龄为age-1。

(3)否则,如果m1=m0但d1<d0,则实足年龄为age-1。 (4)否则,如果m1=m0且d1>=d0,则实足年龄为age。

可以看出,为了计算实足年龄,可以先计算age=y1-y0,如果m1<m0,则不再考虑d1是否大于d0,实足年龄=age-1;如果m1=m0,则还要看d1是否大于等于d0,如果小于,则实足年龄=age-1,否则实足年龄=age。

根据上面的分析,答案A显然是不正确的,因为在测试m1<m0后,就没有必要再测试d1是否大于d0。答案B和D类似,只单独测试月或日,不能得到正确结果,只有答案C正确地描述了上面所分析的情况。 【答案】 C

例2 在窗体上画一个命令按钮和一个文本框,然后编写如下程序: Private Sub Command1_Click() a= 10

t=\旅游景点:\

&IIf(a>3,\长城\,\ &IIf(a<8,\故宫\,\ &IIf(a<>7,\颐和园\,\ Text1.Text = t End Sub

程序运行后,单击命令按钮,则在文本框中显示的内容是 A.旅游景点:长城故宫 B.旅游景点:长城颐和园 C.旅游景点:颐和园 D.旅游景点:故宫

11

【分析】 IIf函数有三个参数,其中第一个参数是一个Boolean值,如果该参数的值为True,则函数的返回值为第二个参数;如果第一个参数的返回值为False,则函数的返回值为第三个参数。该例中变量a的值为10,在第一个IIf函数中,第一个参数为True,其返回值为第二个参数,即“长城”;在第二个IIf函数中,第一个参数为False,其返回值为第三个参数,即空字符串;而在第三个IIf函数中,第一个参数为True,其返回值为第二个参数,即“颐和园”。变量t的值为: \旅游景点:\长城\颐和园\【答案】 B

例3 假定有下面的程序段: For i = 1 To 3 For j = 1 To i

For k = j To 3

Print \ Next k Next j Next i

这是一个三重循环程序,在这个程序中,外层、中层和内层循环的循环次数是 A.3、6和14 B.3、8和16 C.3、4和12 D.3、9和18

【分析】 在多重循环中,外层循环变化一次,内层循环从头到尾执行一遍。该题是一个三重循环,而且中层循环变量的终值和内层循环变量的初值是随上一层循环的循环变量的变化而变化的,因此需要逐层加以计算后累加出各层的循环次数。模拟计算机的计算过程,计算各层的循环次数如下: (1)外层循环:i=1 To 3,循环次数为3

(2)中层循环:当i=1时,j=1 To 1,循环1次 当i=2时,j=1 To 2,循环2次 当i=3时,j=1 To 3,循环3次 中层循环的循环次数为6

(3)内层循环:当j=1时,k=1 To 3,循环3次 当j=1时,k=1 To 3,循环3次 当j=2时,k=2 To 3,循环2次 当j=1时,k=1 To 3,循环3次 当j=2时,k=2 To 3,循环2次 当j=3时,k=3 To 3,循环1次 内层循环的循环次数为14 【答案】 A

例4 假定有以下当循环: While Not条件 循环体 WEnd

则执行循环体的“条件”是

A.True B.1 C.False D.-1

【分析】 在当循环中,只有当While后面的“条件”为True时才能进入循环,执行循环体。也就是说,在 While条件 中,只有“条件”为True才能执行循环体。本题在“条件”前加了一个取反运算符Not,要想执行循环体,必须对“条件”本身求反,即“条件”必须为False。 【答案】 C

例5 阅读下面的程序: Private Sub Form_Click() Dim m, n As Integer

m=InputBox(\请输入M的值\ m=Val(m) m1=m

n=InputBox(\请输入N的值\ n=Val(n)

12

n1=n

Do Whilen<>0

remin = rn Mod n m=n

n = remin Loop

Print m1, n1, m End Sub

程序运行后,单击窗体,在输入对话框中分别输入16和24,则程序在窗体上的输出结果为 A.16 24 4 B.16 24 8 C.24 16 6 D.24 16 8

【分析】 本题提供的是用“辗转相除法”求两个整数的最大公约数的程序。一般来说,假定有两个整数m和n(m>n),把m作为被除数,n作为除数,相除后余数为r。如果r不等于0,则令m=n,n=r,再进行一次除法运算(以新的m作为被除数,n作为除数),得到新的r。如果r仍不等于0,则重复上述过程,直到r=0为止,此时的n就是两个数的最大公约数。

在本题的Do While-Loop循环中,通过辗转相除求最大公约数,循环结束的条件是相除后余数为0,如果不为0,则一直“除”下去。这里用Mod运算符求余数,较大的整数作为被除数或者较小的整数作为被除数都可以得到正确结果,但整除的次数可能会不一样。

例如,假定有两个数24和16,先把24作为被除数,16作为除数,相除后余数为8。再把原来的除数16作为下一次的被除数,将上一次得到的余数8作为下一次的除数,相除后余数为0。此时最后一次的除数8就是所求的最大公约数。

在本题的输入中,先输入16,再输入24,求出的最大公约数仍为8。 【答案】 B

例6 阅读下面的程序: Private Sub Form_Click() Dim Check, Counter Check = True Counter = 0 Do

Do While Counter < 20 Counter = Counter + 1 If Counter = 10 Then Check = False Exit Do End If Loop

Loop Until Check = False Print Counter, Check End Sub

程序运行后,单击窗体,输出结果为 A.15 0 B.20 -1 C.10 True D.10 False 【分析】 这是一个二重循环,内层和外层都是Do循环。在内层循环中,执行循环体的条件是Counter小于20,由于Counter的初值为0,因此执行循环体。在循环体中,每次循环Counter增1,达到10后,把Check变量设置为False,同时执行Exit Do,退出内层循环。外层循环执行的 …… 此处隐藏:1929字,全部文档内容请下载后查看。喜欢就下载吧 ……

vb期末考试复习资料(经典总结版)(5).doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.jiaowen.net/wendang/521114.html(转载请注明文章来源)
Copyright © 2020-2025 教文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:78024566 邮箱:78024566@qq.com
苏ICP备19068818号-2
Top
× 游客快捷下载通道(下载后可以自由复制和排版)
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能出现无法下载或内容有问题,请联系客服协助您处理。
× 常见问题(客服时间:周一到周五 9:30-18:00)