1、Vb 操作题一、请打开文件夹下的工程文件 ks_14.vbp,按要求补充完成程序:请在该窗体上设计三个横排的文本框,编写窗体的单击事件过程,使得在每个文本框中输入任意 1 个整数后点击窗体时,最大数在左边的文本框里。最小数在右边的文本框里,另一数在中间的文本框中。请按题意修改原程序并按原文件名存盘Private Sub Form_Click()Dim a, b, c, t As Singlea = Val(T1.Text)b = Val(T2.Text)c = Val(T3.Text)If a 0 And y 0 ThenIf message = 6 Thenz = x yL2.Caption
2、 = “求得的结果是:“ Next iPrintPrint “t1=“; ff(a(), LBound(a), UBound(a)End SubPublic Function ff(a() As Integer, d As Integer, f As Integer)Dim x As Integerx = 0For i = LBound(a) To UBound(a)x = x + a(i)Next iff = xEnd Function四、请打开文件夹下的工程文件ks_11.vbp,按要求补充完成程序:定义一个一维数组X,将下面的10 个数字赋值到它的10个元素中,33,12,0,12,14
3、,90,14,45,23,44。然后通过一个循环将最大元素值(即90)以及最大元素的下标值打印出来,请按题意修改原程序并按原文件名存盘。Private Sub Form_Click()Dim x()Dim a As Integerx = Array(33, 12, 0, 12, 14, 90, 14, 45, 23, 44)a = x(0)y = 1For i = 1 To 9If a 文件夹下的工程文件ks_26.vbp,按要求补充完成程序:编写一个窗体单击事件过程,利用INPUTBOX函数输入任意两个整型数,求出这两个数的最大公约数和最小公倍数(提示:用DO循环) 。请按题意编写程序并按原
4、文件名存盘。Private Sub Form_Click()Dim x, y, a, s As Integerx = InputBox(“请输入一个整数 “)y = InputBox(“请输入第二个整数 “)a = xDoIf x Mod a = 0 Then s = aIf y Mod s = 0 ThenPrint “x 和 y 的最大公约数是 “; sPrint “x 和 y 的最大公倍数是 “; x * y / sExit DoEnd Ifa = a - 1Loop While a 0End Sub六、请打开工程文件ks_31.vbp,按要求补充完成程序:该窗体上设计三个文本框,两个命
5、令按钮,标题分别是计算和与清除,如图。请编写两个命令按钮适当的程序,点击命令按钮计算,利用inputbox函数输入任意两个正整数,将这两个数显示在前两个文本框中,然后根据两个数的和进行判断,如果是奇数,将其放在第3个文本框中,如果是偶数,将其打印在窗体上,点击清除按钮后,清除文本框中的数和窗体上的数据。请按题意修改原程序并按原文件名存盘。Private Sub C1_Click()Dim x As Integer, y As Integer, z As Integer, m As Integerx = InputBox(“请输入第一个正整数: “, “数据输入“)y = InputBox(“请
6、输入第二个正整数: “, “数据输入“)If x 0 And y 0 ThenT1.Text = xT2.Text = yz = x + ym = z Mod 2If m = 0 ThenPrint zElseT3.Text = zEnd IfElsePrint “输入的数据无效!请再次输入“End IfEnd SubPrivate Sub C2_Click()T1.Text = “T2.Text = “T3.Text = “ClsEnd SubPrivate Sub Form_Load()T1.Enabled = FalseT2.Enabled = FalseT3.Enabled = Fal
7、seEnd Sub七、请打开文件夹下的工程文件ks_23.vbp,按要求补充完成程序:编写一个求阶乘的函数JC,然后编写窗体的单击事件过程,在其中调用函数JC,求出2!+4!+6!+8!+10! 的和。请按题意编写程序并按原文件名存盘。Private Sub Form_Click()Dim i%Sum = 0For i = 2 To 10 Step 2Sum = Sum + jc(i)Next iPrint “阶乘 4!+6!+8!+10!= “; SumEnd SubPrivate Function jc(n%)s = 1For i = 1 To ns = s * iNext ijc = s
8、End Function八、请打开工程文件ks_28.vbp,按要求补充完成程序:请在该窗体上设计一个图片框(其中放置一个小的图片) ,一个文本框。请编写程序来实现:当在文本框中输入任意字符(数字,字母或其他符号)后点击窗体,图片框中将显示输入字符的性质,如下图(要求:用case语句) 。请按题意编写程序并按原文件名存盘。Private Sub Form_Click()Dim aw As StringP1.Clsaw = T1.TextSelect Case awCase “0“ To “9“P1.Print aw + “是数字字符“Case “a“ To “z“, “A“ To “Z“P1.
9、Print aw + “是字母字符“Case ElseP1.Print aw + “是其它字符“End SelectEnd Sub九、请打开工程文件ks_1.vbp,按要求补充界面设计(利用框架和单选按钮建立)并完成程序:实现文本框中的文字的字体和背景色按框架中的单选按钮选择来确定。请按题意修改原程序并按原文件名存盘。Private Sub Form_load()Text1.Text = “欢迎你学习vb程序设计“End SubPrivate Sub Option1_Click()If Option1.Value = True ThenText1.ForeColor = vbRedElseIf
10、 Option1.Value = False ThenText1.ForeColor = vbBlackEnd IfEnd SubPrivate Sub Option2_Click()If Option2.Value = True ThenText1.ForeColor = vbGreenElseIf Option1.Value = False ThenText1.ForeColor = vbGreen = FalseEnd IfEnd SubPrivate Sub Option3_Click()If Option3.Value = True ThenText1.ForeColor = vbB
11、lueElseIf Option1.Value = False ThenText1.ForeColor = vbBlue = FalseEnd IfEnd SubPrivate Sub Option4_Click()Text1.FontName = “楷体_gb2312“End SubPrivate Sub Option5_Click()Text1.FontName = “黑体“End SubPrivate Sub Option6_Click()Text1.FontName = “隶书“End Sub十、请打开工程文件ks_22.vbp,按要求补充完成程序:在窗体上建立两个命令按钮,标题分别为
12、“传址调用实例”和“传值调用实例”;然后编写两个子过程F1和F2,这两个过程都有2个参数A、B,不同的是:F1中参数采用传址调用,F2采用传值调用,两过程功能相似,都是将两个参数相加和相乘,即 A=A+B,B=A*B,并打印A、B值;请编写两个命令按钮的事件过程,用INPUTBOX 函数输入两个实参,然后分别调用F1和F2,并打印两个实参的值,注意观察其不同。界面与下图相似,(实参X=1,Y=2)请按题意编写程序并按原文件名存盘。Private Sub C1_Click()Dim x!, y!x = InputBox(“请输入 X 的值“)y = InputBox(“请输入 Y 的值“)Cal
13、l f1(x!, y!)Print “x=“; x, “y=“; yEnd SubPrivate Sub f1(a!, b!)a = a + bb = a * bPrint “a=“; a, “b=“; bEnd SubPrivate Sub f2(ByVal a!, ByVal b!)a = a + bb = a * bPrint “a=“; a, “b=“; bEnd SubPrivate Sub C2_Click()Dim x!, y!x = InputBox(“请输入 X 的值“)y = InputBox(“请输入 Y 的值“)Call f2(x!, y!)Print “x=“; x,
14、 “y=“; yEnd Sub十一、请打开文件夹下的工程文件ks_34.vbp,请按要求完成程序:编写窗体单击事件过程。求解出100以内的所有素数。并按每行5个数据打印在窗体上(提示:判别某数m是否为素数最简单的方法是: 对于m 从i=2,3,m-1判别m能否被i整除,只要有一个能整除,m不是素数,否则m是素数。 )请按题意修改原程序并按原文件名存盘。Private Sub Form_Click()Dim i%, j%, a%, p As BooleanPrint “100 以内的所有素数:“For i = 2 To 100p = Truea = Int(Sqr(i)For j = 2 To
15、aIf i Mod j = 0 Thenp = FalseExit ForEnd IfNext jIf p = True Then Print iNext iEnd Sub十二、请打开文件夹下的工程文件ks_29.vbp,按要求补充完成程序:编写一个窗体单击事件过程,利用Print函数在窗体上打印一个等腰三角形(用星号,至少 4行) ,请按题意编写程序并按原文件名存盘。Private Sub Form_Click()Private Sub Form_Click()Dim i, j, a, k As IntegerPrint “100 以内的所有素数:“For i = 2 To 100a = 0
16、For j = 2 To Sqr(i)If i Mod j = 0 Then a = 1Next jIf a = 0 ThenPrint i;k = k + 1If k Mod 5 = 0 ThenPrintEnd IfEnd IfNext iEnd SubDim i%, j%, n%n = Val(InputBox(“请输入行数吧 ! “)For i = 1 To n Step 1Print Tab(n + 1 - i);For j = i * 2 - 1 To 1 Step -1Print “*“;NextPrintNextEnd Sub十三、请打开文件夹下的工程文件ks_13.vbp,按
17、要求补充完成程序:在窗体上设置一个文本框,编写一个窗体单击事件过程,根据文本框中输入的学生成绩利用Print函数在窗体上打印一个文字评价,规则是:90100分,优秀,8090分,良好,7080分,中等;6070分,及格;2060分,及格;其他情况,异常。请按题意修改原程序并按原文件名存盘。Private Sub C1_Click()T1.Text = “ClsEnd SubPrivate Sub Form_Click()Dim s, i As Integers = T1.TextSelect Case sCase 90 To 100Print “优秀“Case 80 To 90Print “良
18、好“Case 70 To 80Print “中等“Case 60 To 70Print “合格“Case 20 To 60Print “不合格“Case ElsePrint “异常“End SelectEnd Sub十四、请打开工程文件ks_17.vbp,按要求完成下图的界面设计(设置两个命令按钮和一个文本框,文本框要求有竖滚动条,命令按钮的背景分别设置成图中的颜色)。编写窗体和两个命令按钮的事件过程。使得:1)单击窗体时,文本框里显示文字“佛山大学理学院” (红色,隶书);2)单击命令按钮1时,文本框里显示文字“欢迎你学习VB程序设计” (绿色,宋体,粗斜体,字号25);3)点击命令按钮时,
19、退出程序,请按题意编写程序并按原文件名存盘。运行结果如图:Private Sub Command1_Click()Text1.Text = “欢迎你学习VB程序设计“Text1.ForeColor = vbGreenText1.Font = “宋体“Text1.FontSize = 25Text1.FontItalic = TrueText1.FontBold = TrueEnd SubPrivate Sub Command2_Click()EndEnd SubPrivate Sub Form_Click()Text1.ForeColor = vbRedText1.Font = “隶书“Tex
20、t1.Text = “佛山大学理学院“End Sub3、定义一个一维数组 X,将下面的 10 个数字赋值到它的 10 个元素中,33,12,0,12,14,90,14,45,23,44。并在窗体上打印该数组,然后采用选择排序方法按递减顺序排序该数组元素,最后再在窗体上打印该数组,工程文件名保存为 zy083.vbpOption Base 1Private Sub Form_Click()Dim x()x = Array(33, 12, 0, 12, 14, 90, 14, 45, 23, 44)Print “原数据为:“For j = 1 To 10Print x(j);Next jPrintFor s = 1 To 9For i = s + 1 To 10If x(s) x(i) Then c = x(i): x(i) = x(s): x(s) = cNext iNext sPrint “排序后为:“For j = 1 To 10Print x(j);Next jPrintEnd Sub