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

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

来源:网络收集 时间:2026-04-01
导读: k=l hum = Abs(num) Do While num k = k *(num Mod 10) num= num\\ 10 Loop ren = k End Sub 在窗体上画一个命令按钮,然后编写如下事件过程: Private Sub Command1_Click() Dim n As Long, r As Long n=InputBox(

k=l

hum = Abs(num) Do While num

k = k *(num Mod 10) num= num\\ 10 Loop ren = k End Sub

在窗体上画一个命令按钮,然后编写如下事件过程: Private Sub Command1_Click() Dim n As Long, r As Long

n=InputBox(\请输入一个整数\ n = CLng(n) proc n, r Print r End Sub

程序运行后,单击命令按钮,在输入对话框中345,输出结果是

【分析】 过程proc有两个参数,其中第一个参数使用的是传值方式(带有关键字By Val),第二个参数使用的是引用方式(带有关键字ByRef,可以省略)。该过程的功能是,通过取余(Mod)和整除(\)运算符求出一个整数的各位数字,将这些数字相乘,并把乘积赋给参数ren。在事件过程中,用InputBox函数输入一个数,然后调用过程proc,如果输入的数是345,则结果为3*4*5=60。注意,调用语句 proc n,r有两个实参,其中r用来存放过程的返回值。Function过程通常有一个返回值,Sub过程也可以有返回值,并且可以有多个返回值,这些返回值放在形参中。在这种情况下,存放返回值的形参必须使用传地址方式,否则得不到正确结果。 【答案】 60

例5 阅读程序: Option Base 1

Dim arr2()As Integer

Private Function FindMax(a() As Integer) As Integer Dim Start As Integer

Dim Finish As Integer, i As Integer Start = Lbound____ Finish = UBound____ Max =____

For i = Start To Finish

If a(i) > Max Then Max = ______ Next i

FindMax = Max End Function

Private Sub Command1_Click() Dim arr1

arr1 = Array(12, 435, 76, 24, 78, 54, 866, 43) b = UBound(arr1)

ReDim arr2(___) As Integer For i= 1 To b

arr2(i) = CInt(_____) Next i

M = FindMax(arr2()) Print\最大值是:\End Sub

【分析】 数组在事件过程中定义,由于使用了Array函数,必须把数组变量定义为变体类型,但是,过程FindMax中的形式参数是整型,因此必须把数组转换为整型,否则在调用时将会产生“类型不匹配”错误。此外,用Array函数定义的数组不指定上界,只能通过UBound函数得到其上界。在窗体层定义了一个动态数组arr2,其上界在事件过程中给出并重新定义。因此,事件过程中的第一个空应为数组上界b,第二个空应为变体类型数组arr1(i)。

21

在通用过程中,需要知道数组的上界和下界,分别存放在变量Start和Finish中,然后把数组的第一个元素放在变量Max中,并把该变量与数组中的每个元素相比较,如果数组元素大于该变量,则用该元素的值取代Max中的值。

【答案】 事件过程中的两个空分别应填入: b arr(i)

通用过程中的4个空分别应填入: (a) (a)

a(Start)或a(1) a(i)

回该数组的最大值。请填空。

例6 用随机数函数Rnd生成一个8行8列的数组(各元素值在100以内),然后找出某个指定行内值最大的元素所在的列号。要求:查找指定行内值最大的元素所在列号的操作,通过一个过程来实现。 【分析】 求某一指定行中值最大的元素所在列号的Function过程代码如下: Function Max(b() As Integer, row As Integer) m = b(row, 1) col = 1

For i = 2 To UBound(b, 2) If b(row, i) > m Then Let m = b(row, i) col = i End If Next i Max = col End Function

该过程有两个参数,其中第一个参数是数组,第二个参数是数组中指定行的行号。在这个过程中,首先把指定行的第一列的值赋给一个变量,其列号为1,然后把该值与其后各列的值进行比较,如果比该值大,则用较大的值取代,同时记下其列号。 编写窗体的Click事件过程: Private Sub Form_Click() Randomize

Dim A(1 To 8, 1 To 8) As Integer Dim row As Integer For i = 1 To 8 For j = 1 To 8

A(i, j) = Int(Rnd * 100) Next j Next i

Print\所生成的数组为:\ For i = 1 To 8 For j = 1 To 8 Print A(i, j); Next j Print Next i Do

row = InputBox(\请输入指定的行号:\ Loop Until row >= 1 And row <= 8 col = Max(A(), row) Print

Print\第\行中最大元素所在列号为:\End Sub

该过程首先用随机数函数Rnd生成一个8行8列的数组,然后要求输入一个行号,程序将输出该行中最大值所在的列号。程序运行后,单击窗体,在输入对话框中输入一个行号,程序将输出该

22

行中值最大的元素所在的列号。

第九章 菜单与对话框

例1 Windows风格的对话框上通常没有最大化按钮和最小化按钮,为使标题栏上的这两个按钮消失,而保留其他按钮,设置窗体属性时,正确的是

A. ControlBox=True、 MaxButton=False、 MinButton=True B. ControlBox=False、 MaxButton=True、 MinButton=True C. ControlBox=True、 MaxButton=False、 MinButton=False D. ControlBox=False、 MaxButton=False、 MinButton=False

【分析】 ControlBox、MaxButton和MinButton属性都影响窗体标题栏上的按钮,其中ControlBox为False,则标题栏上的所有按钮消失,这显然与题意不符,所以B.和D.肯定是错误的。MaxButton和MinButton属性分别决定最大化按钮和最小化按钮是否显示,只有当二者都为False时,这两个按钮才都不显示。 【答案】 C

例2 设通用对话框控件的名称为CD1,希望在打开文件对话框中的“文件类型”列表中包含:所有文件、Word文档和文本文件这3类文件,在程序中设置Filter属性时正确的是 A.CD1.Filter=“所有文件|Word文档|文本文件”

B.CD1.Filter=“所有文件|*.*|Word文档|*.doc|文本文件|*.txt” C.CD1.Filter=所有文件|*.*|Word文档|*.doc|文本文件|*.txt D.CD1.Filter=“*.*|所有文件|*.doc|Word文档|*.txt |文本文件”

【分析】 通用对话框的Filter属性的值必须是字符型,在VB设计模式下,从属性窗口输入Filter的值时,可以直接输入字符串,但在程序中为Filter属性赋值时,必须添加字符串的定界符,所以C.一定是错误的。

Filter属性中字符串的格式应该是“类型描述1|过滤器1|类型描述2|过滤器2|??”,其中“类型描述”是在打开或保存文件对话框的“文件类型”列表中显示的一行文本,是向操作者表示的文件类型,操作系统并不能识别类型描述,操作系统可以识别的是它后面的“过滤器”,“过滤器”一般由通配符和文件的扩展名组成,是操作系统可以识别的与前面的“类型描述”匹配的文件类型。 对于答案A.,在对话框的“文件类型”列表中只显示“所有文件”和“文本文件”两行,操作系统把“Word文档”理解为“所有文件”的文件类型(即“过滤器”),事实上这种文件类型并不存在,因此对话框的文件列表中只有文件夹,而不会有任何其他文件。

答案D.中类型描述与过滤器的位置颠倒了,结果是在“文件类型”列表中显示*.*、*.doc、*.txt这3行内容,而与它们对应的过滤器都是错的,因此不管选择哪种文件类型,对话框中都只显示文件夹,而没有任何文件名。

只有答案B.才符合Filter属性要求的格式。 【答案】 B

例3 在使用通用对话框控件时, …… 此处隐藏:3644字,全部文档内容请下载后查看。喜欢就下载吧 ……

vb期末考试复习资料(经典总结版)(9).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)