vb上机试题及答案 下载本文

内容发布更新时间 : 2024/6/29 18:30:43星期一 下面是文章的全部内容请认真阅读。

vb上机试题及答案

【篇一:vb期末考试上机题编程答案】

xt>1.新建一个工程,编写一个找出所有四位幸运数显示在列表框中,并将幸运数的个数显示在文本框中。所谓幸运数是指凡前两位数字之和等于后两位数字之和的四位数。将原窗体文件和工程文件分别另存为为f.frm和p.vbp,保存在d盘的vbtest文件夹中。如不按要求保存,造成文件无法上传,后果自负! 具体要求:

1、程序参考界面如图所示,编程时不得增加或减少界面对象或改变对象的种类,窗体及界面元素大小适中,且均可见;

2、单击查找按钮,则开始查找并在列表框中显示结果,并在文本框中显示幸运数的个数;

3、单击“清除”按钮,则将列表框和文本框清空; 4、单击“退出”按钮,结束程序运行;

5、程序中应包含一个过程,用于判断一个数是否是幸运数。 解:private sub command1_click() dim i as integer, a as integer for i = 1000 to 9999

if k(i) then list1.additem i: a = a + 1 next i

text1.text = a end sub

private sub command2_click() list1.clear text1.text = end sub

private sub command3_click() end

end sub

private function k(n as integer) as integer

dim i as integer, a as integer, s1 as integer, s2 as integer dim s as string s = cstr(n)

for i = 1 to len(s) / 2 s1 = s1 + mid(s, i, 1)

s2 = s2 + mid(s, len(s) + 1 - i, 1) next i

if s1 = s2 then k = true end function

2. 新建一个工程,编写求某一自然数因子和的程序。要求通过文本框获取输入的自然数,计算后将所计算得到的因子和显示在另一文本框中。将原窗体文件和工程文件分别另存为为f.frm和p.vbp,保存在d盘的vbtest文件夹中。如不按要求保存,造成文件无法上传,后果自负! 具体要求:

1、程序参考界面如图所示,编程时不得增加或减少界面对象或改变对象的种类,窗体及界面元素大小适中,且均可见;

2、单击求和按钮,则在文本框中显示计算得到的因子和;

3、单击“清除”按钮,则将文本框清空,焦点设置在第一个文本框; 4、单击“退出”按钮,结束程序运行;

5、在程序中应包含一个用于计算自然数因子和的函数过程yinzi(n)。 解;private sub command1_click() dim n as integer n = val(text1.text) call yinzi(n)

text2.text = yinzi(n) end sub

private function yinzi(n as integer) as integer dim i as integer for i = 1 to n / 2

if n mod i = 0 then yinzi = yinzi + i next i

end function

private sub command2_click() text1.text = text2.text =

text1. setfocus end sub

private sub command3_click() end

end sub

3. 新建一个工程,编写一个程序,判断随机生成的10个三位正整数是否是降序数。所谓降序数是指百位数大于十位数且十位数大于个位数的数。将原窗体文件和工程文件分别另存为为f.frm和p.vbp,

保存在d盘的vbtest文件夹中。如不按要求保存,造成文件无法上传,后果自负! 具体要求:

1、程序参考界面如图所示,编程时不得增加或减少界面对象或改变对象的种类,窗体及界面元素大小适中,且均可见;

2、单击执行按钮,随机生成10个三位正整数,显示在左边的列表框中,将判断结果参照样图的格式显示在右边的列表框中; 3、单击“清除”按钮,则将两个列表框清空; 4、单击“退出”按钮,结束程序运行;

5、程序中应包含一个名为jx的函数过程,用于判断一个正整数是否为降序数。

解;private function jx(n as integer) as boolean dim i as integer

dim a as integer, b as integer for i = 2 to len(str(n)) a = val(mid(n, i - 1, 1)) b = val(mid(n, i, 1)) if a = b then exit for next i

if i len(str(n)) - 1 then jx = true end function

private sub command1_click() dim a(1 to 10) as integer dim i as integer for i = 1 to 10

a(i) = 1000 + int(rnd * 9000) list1.additem a(i)

if jx(a(i)) then list2.additem a(i) next i end sub

private sub command2_click() list1.clear list2.clear end sub

private sub command3_click() end

end sub