VB练习题上机含答案.doc

上传人:s****u 文档编号:12749729 上传时间:2020-05-22 格式:DOC 页数:30 大小:698.52KB
返回 下载 相关 举报
VB练习题上机含答案.doc_第1页
第1页 / 共30页
VB练习题上机含答案.doc_第2页
第2页 / 共30页
VB练习题上机含答案.doc_第3页
第3页 / 共30页
点击查看更多>>
资源描述
第一部分1 在窗体上添加一个命令按钮(名称为Cmd1,标题为输出平均值)。程序运行后,单击命令按钮完成以下工作:随机产生20个0到1000的整数,将其放入一个一维数组中求出所有元素的平均值,并显示在窗体上(如下图所示)Private Sub Cmd1_Click()Dim a%(19), i%, sum!, aver!RandomizeFor i = 0 To 19 a(i) = Int(Rnd * 1001) sum = sum + a(i)Next iaver = sum / 20Print averEnd Sub2 请在名称为Form1的窗体上添加一个名称为Text1的文本框和一个名称为C1、标题为转换的命令按钮,如下图所示。在程序运行时,单击转换按钮,可以把Text1中的小写字母转换为大写,把大写字母转换为小写,其他字符不变。Private Sub C1_Click()Dim ch As String, ch1 As String, i%ch = Text1For i = 1 To Len(ch) If Asc(Mid(ch, i, 1) = 65 And Asc(Mid(ch, i, 1) max Then max = a(i)Next iPrint maxEnd Sub4 请设计如下图所示窗体界面。程序运行时,在选中一个或两个复选框和一个单选按钮时,单击命令按钮,则对文本框中的文本内容做相应的设置。请编写适当的事件过程,完成上述功能。 Private Sub Command1_Click()If Option1.Value = True Then Text1.FontName = 宋体Else Text1.FontName = 隶书End IfIf Check1.Value = 1 Then Text1.FontUnderline = TrueElse Text1.FontUnderline = FalseEnd IfIf Check2.Value = 1 Then Text1.FontItalic = TrueElse Text1.FontItalic = FalseEnd IfEnd Sub5 在名称为Form1的窗体上添加一个名称为Text1的文本框;添加两个标题分别为对齐方式、字体,名称分别为Fm1、Fm2的框架;在Fm1框架中添加三个单选按钮,标题分别为左对齐、居中、右对齐,名称分别为Opt1、Opt2、Opt3;在Fm2框架中添加两个单选按钮,标题分别为宋体、黑体,名称分别为Opt4、Opt5。 要求:编写五个单选按钮的Click事件过程,使程序运行时,单击这些单选按钮,可以对文本框中的内容实现相应的操作(如图所示)。Private Sub Opt1_Click()If Opt1 Then Text1.Alignment = 0End SubPrivate Sub Opt2_Click()If Opt2 Then Text1.Alignment = 2End SubPrivate Sub Opt3_Click()If Opt3 Then Text1.Alignment = 1End SubPrivate Sub Opt4_Click()If Opt4 Then Text1.FontName = 宋体End SubPrivate Sub Opt5_Click()If Opt5 Then Text1.FontName = 黑体End Sub6 请设计如下图所示窗体界面。运行程序时,先向左侧文本框中输入一个不超过10的正整数,然后选择N的阶乘或(N+2)的阶乘单选钮,即可进行计算,计算结果在右侧文本框中显示。请编写程序完成上述功能。 Dim n%Private Sub Form_Load()End SubPrivate Sub Option1_Click()Dim i%n = Val(Text1)m = 1For i = 1 To n m = m * iNext iText2 = mEnd SubPrivate Sub Option2_Click()Dim i%m = 1For i = 1 To n + 2 m = m * iNext iText2 = mEnd Sub7 在窗体上添加两个文本框和三个标签,设置它们的属性,达到下图效果。程序运行时,在第一个文本框输入一串字符,在第二个文本框中输入一个字符,然后单击统计命令按钮,统计第二个文本框中字符(大小写被认为是不同的字母)在第一个文本框中出现的次数,统计结果在标签Label3中显示。 Private Sub Command1_Click()Dim i%, n%For i = 1 To Len(Text1) If Mid(Text1, i, 1) = Text2 Then n = n + 1Next iLabel3 = nEnd SubPrivate Sub Label3_Click()End Sub8 在窗体上添加一个文本框和一个命令按钮。程序运行后,单击命令按钮,即可计算出0200范围内能被3或7整除的所有整数的和,并显示在文本框中。程序运行界面如下图所示。Private Sub Command1_Click()Dim i%, sum%For i = 0 To 200 If i Mod 3 = 0 Or i Mod 7 = 0 Then sum = sum + iNext iText1 = sumEnd SubPrivate Sub Text1_Change()End Sub9 请设计如下图所示界面(文本框名称为:Txt1,按钮名称为:Cmd1)。程序运行时在文本框中输入字符串,点击命令按钮,判断文本框中的字符串是否是回文,将判断结果显示在窗体上。所谓回文是指字符串正序和逆序的结果相同,如“aBCCBa”是回文,“aBCcBa”不是回文。Private Sub Cmd1_Click()Dim ch As StringFor i = Len(Txt1) To 1 Step -1 ch = ch + Mid(Txt1, i, 1)Next iIf Txt1 = ch Then Print Txt1 + 是回文Else Print Txt1 + 不是回文End IfEnd SubPrivate Sub Form_Load()End Sub10 编程实现求(n为小于等于20的整数)。程序运行界面如下图所示。程序运行时,在文本框中输入n的值,点击“计算”命令按钮,将计算结果显示在标签上。 Private Sub Command1_Click()Dim i%, m As Long, sum As Doublen = Val(Text1)m = 1For i = 1 To nm = m * isum = sum + 1 / mNext iLabel2 = sum= & sumEnd SubPrivate Sub Form_Load()End Sub第二部分1 已知在同一个笼子里有总数M只鸡和兔,鸡和兔的总脚数为N只,编程求出鸡和兔各有多少只。要求:程序运行后,在两个文本框中分别输入M和N的值,单击“计算”命令按钮,在两个标签框中分别输出鸡和兔的数量。程序运行界面如下图。提示:N2M的偶数。Private Sub Command1_Click()m = Val(Text1)n = Val(Text2)If n Mod 2 0 Then MsgBox (脚数必须为偶数) Text2 = Text2.SetFocusElse y = n / 2 - m If y =只数的2倍,请重新输入) Text2 = Text2.SetFocus Else x = m - y Label3 = x Label4 = y End IfEnd IfEnd SubPrivate Sub Form_Load()End Sub2 若一个3位正整数中各位数字的立方和等于该数字本身,则该数称之为“水仙花数”。例如153是水仙花数,因为 153 = 1*1*1 + 5*5*5 + 3*3*3。编程求出100999之间所有的“水仙花数”。要求:程序运行后,单击“查找”按钮,在窗体上显示找到的“水仙花数”。 程序运行界面如下图。Private Sub Command1_Click()Print 水仙花数:;For i = 100 To 999 X1 = i Mod 10 分离出个位数 X2 = (i Mod 100) 10 分离出十位数 x3 = i 100 分离出百位数 If i = X1 3 + X2 3 + x3 3 Then Print i;Next iEnd SubPrivate Sub Form_Load()End Sub3 编写程序,要求程序运行后,单击“开始”按钮,随机产生20个学生的成绩(0100的整数),并在左边图片框中输出 (一行5个成绩),并在右边图片框中输出平均分和及格的人数,程序运行界面如下图。Private Sub Command1_Click()Dim a(1 To 20) As Integer, i%, n%Picture1.ClsPicture2.ClsFor i = 1 To 20 a(i) = Int(Rnd * 101) Picture1.Print a(i); If i Mod 5 = 0 Then Picture1.Print If a(i) = 60 Then n = n + 1 Sum = Sum + a(i)Next iPicture2.Print 平均分:; Sum / 20Picture2.Print ; 及格人数:; nEnd SubPrivate Sub Picture2_Click()End Sub4 编写程序实现:程序运行时,单击窗体则显示如下图所示的图案。Private Sub Form_Click()For i = 1 To 5 Print Tab(10 - i); String(2 * i - 1, *)Next iFor i = 1 To 4 Print Tab(5 + i); String(9 - 2 * i, *)Next iEnd Sub5 编程实现:在窗体中有一个文本框,一个计时器和两个命令按钮。其功能是:程序的运行时,单击“开始计数”按钮,就开始计数,每间隔1秒,文本框中的数增加1;单击“停止计数”按钮,则计数停止。Private Sub Command1_Click()Timer1.Enabled = TrueEnd SubPrivate Sub Command2_Click()Timer1.Enabled = FalseEnd SubPrivate Sub Form_Load()End SubPrivate Sub Timer1_Timer()Text1 = Val(Text1) + 1End Sub在属性窗口设置定时器的interval属性值为10006 以下程序运行界面如下图所示。其功能如下: 1) 单击读数据按钮(Command1),可将随机产生100个三位正整数存到数组a中; 2) 单击计算按钮(Command2),则根据从组合框Combo1中选中的项目,对数组a中的数据计算平均值,并将计算结果四舍五入取整后显示在文本框Text1中。 题目提供的程序代码不完整,请设计下图界面并录入代码,将程序中的 ? 改为正确的内容。注意:不能修改程序的其他部分。30题目提供的程序代码:Dim a(100) As IntegerPrivate Sub Command1 Click()Dim n As IntegerFor n = 1 To 100a(n)=Int(Rnd * ? )Next nEnd SubPrivate Sub Command2 Click() Dim x& ,y& , z& ,i% , j% , k%For i = 1 To 100If a(i) Mod ? Thenx = x + a(i):j = j + 1Elsey = y + a(i) ?End IfNext kx = Int(x / j + 0.5):y = Int(y / k + 0.5)z = Int(x + y) / (j + k) + 0.5)Select Case Combo1.TextCase 所有偶数 Text1 = ?Case 所有奇数 Text1 = ?Case 所有数 Text1 = ?End SelectEnd SubDim a(1 To 100) As IntegerPrivate Sub Command1_Click()Dim n As IntegerFor n = 1 To 100 a(n) = Int(Rnd * 900 + 100)Next nEnd SubPrivate Sub Command2_Click()Dim x&, y&, z&, i%, j%, k%For i = 1 To 100 If a(i) Mod 2 = 0 Then x = x + a(i): j = j + 1 Else y = y + a(i): k = k + 1 End IfNext ix = Int(x / j + 0.5): y = Int(y / k + 0.5)z = Int(x + y) / (j + k) + 0.5)Select Case Combo1.TextCase 所有偶数 Text1 = xCase 所有奇数 Text1 = yCase 所有数 Text1 = x + yEnd SelectEnd Sub在combo1的属性窗口设置list属性,添加列表项Private Sub Label1_Click()End Sub7 编写程序。要求:程序运行后,单击“开始”按钮,则随机产生20个2位数输出到窗体上,每行10个数。同时对所产生的20个数从小到大排序,将排序后的数再次输出在窗体上。程序运行界面如下图。Private Sub Command1_Click()Dim a%(1 To 20), i%Print 排序前数据排列:For i = 1 To 20 a(i) = Int(Rnd * 90 + 10) Print a(i); If i Mod 10 = 0 Then PrintNext iFor i = 1 To 20 冒泡排序 For j = 1 To 20 - i If a(j) a(j + 1) Then t = a(j): a(j) = a(j + 1): a(j + 1) = t End If Next jNext iPrint 排序后数据排列:For i = 1 To 20 Print a(i); If i Mod 10 = 0 Then PrintNext iEnd SubPrivate Sub Form_Load()End Sub8 编写程序,程序的功能是:程序运行后,在文本框中输入一串字符, 单击标题为统计的命令按钮,分别统计输入字符串中大写字母、小写字母以及其他字符的个数,并将统计结果分别在相应的标签框中显示。程序运行界面如下图。Private Sub Command1_Click()Dim i%, m%, n%, z%For i = 1 To Len(Text1) If Asc(Mid(Text1, i, 1) = 65 And Asc(Mid(Text1, i, 1) = 97 And Asc(Mid(Text1, i, 1) max Then max = a(i): imax = iNext iPrintPrintPrint 最大数是:; max; Spc(5); 位置号是:; imaxEnd SubPrivate Sub Form_Load()End Sub第三部分1 在窗体Form1上添加两个文本框,一个“转换”命令按钮和三个单选按钮(名称分别为Opt1、Opt2、Opt3,标题分别为“大小写转换”、“全部大写”、“全部小写”)。程序功能:在上方文本框Text1中输入一字符串,选中“大小写转换”,单击“转换”按钮后,Text2中显示大小写相反的字符串;选中“全部大写”,单击转换按钮后,Text2中显示全部大写字符串,选中“全部小写”,单击转换按钮后,Text2中显示全部小写字符串 。程序运行界面如下图。 要求: 请按要求完成窗体界面设计 程序的部分代码已给出如下,但不完整。请录入下面代码,并将“?”处补充完整。Private Sub Command1_Click()Dim n As Integer, k As Integer, ch As String, a As Stringch = If Opt1.Value = True Then n = Len(?) For k = 1 To n a = Mid$(Text1, k, ?) If a = a And a = A And a = a And a = A And a max Then max = a(i)Next iPrintPrint maxEnd SubPrivate Sub Form_Load()End Sub4 在Form1的窗体上有一个名称为Text1的文本框和两个命令按钮,命令钮标题分别为“显示A”和“显示B”。要求程序运行后,如单击“显示A”命令按钮,则弹出对话框,输入要显示的个数,根据输入的数值在文本框中显示相应数量A构成的字符串;如单击“显示B”命令按钮,也弹出对话框,输入要显示的个数,根据输入的数值在文本框中显示相应数量B构成的字符串。程序运行时的窗体界面如图所示。 Private Sub Command1_Click()n = Val(InputBox(请输入显示个数)Text1 = String(n, A)End SubPrivate Sub Command2_Click()n = Val(InputBox(请输入显示个数)Text1 = String(n, B)End SubPrivate Sub Form_Load()End Sub5 已知十个数为:67, 45, 34, 28, 49, 37, 87, 76, 27, 83。编程实现:按“开始”按钮,则在窗体的第一行显示这十个数,在窗体的第二行按从大到小的顺序显示这十个数。Private Sub Command1_Click()Dim a(), i%a = Array(67, 45, 34, 28, 49, 37, 87, 76, 27, 83)n = UBound(a)For i = 0 To n Print a(i);Next iFor i = 0 To n - 1 For j = 0 To n - 1 - i If a(j) max Then max = a(i)Next iPrint maxEnd SubPrivate Sub Form_Load()End Sub8 编程实现:在窗体的两个文本框中分别输入一个正整数,单击“求最大公约数”按钮后,在窗体第一行显示它们的最大公约数。程序运行界面如下图所示。Private Sub Command1_Click()Dim m%, n%m = Val(Text1)n = Val(Text2)If n m Then t = n: n = m: m = tr = m Mod nDo While r 0 m = n n = r r = m Mod nLoopPrint Text1; 和; Text2; 最大公约数是:; nEnd SubPrivate Sub Form_Load()End Sub9 编程实现:在窗体的左上角有一个图像框,通过属性窗口任选一张图片装入到图像框的Picture属性中,每按一次“放大”按钮时图像放大10%,同理,每按一次“缩小”按钮时图像缩小10%,放大缩小时均需保持图像的纵横比不变,按“结束程序”按钮则结束程序。程序运行界面如下图。Private Sub Command1_Click()Image1.Stretch = TrueImage1.Width = Image1.Width * 1.1Image1.Height = Image1.Height * 1.1End SubPrivate Sub Command2_Click()Image1.Stretch = TrueImage1.Width = Image1.Width * 0.9Image1.Height = Image1.Height * 0.9End SubPrivate Sub Command3_Click()EndEnd SubPrivate Sub Form_Load()End Sub10 编程实现:在窗体上建立一个文本框(内容如下图所示),另外建立菜单,一级菜单标题分别为“背景颜色”,子菜单标题分别为“白色”、“红色”、“绿色”、“蓝色”。程序运行时,如果单击“白色”子菜单,则将文本框的背景色设置为白色;如果单击“红色”子菜单,则将文本框的背景色设置为红色;如果单击“绿色”子菜单,则将文本框的背景色设置为绿色;如果单击“蓝色”子菜单,则将文本框的背景色设置为蓝色。程序运行界面如下图。 Private Sub blue_Click()Text1.BackColor = vbBlueEnd SubPrivate Sub green_Click()Text1.BackColor = vbGreenEnd SubPrivate Sub red_Click()Text1.BackColor = vbRedEnd SubPrivate Sub Text1_Change()End SubPrivate Sub white_Click()Text1.BackColor = vbWhiteEnd Sub 第四部分1编程计算分段函数的值。要求用文本框(TextBox)输入x,y的值,单击标题为“计算”命令按钮后,利用标签控件上显示z的值。Private Sub Command1_Click()x = Val(Text1)y = Val(Text2)If x 0 And y 0 Then z = Sqr(x + y)ElseIf x 0 And y 0 Then z = Sqr(Abs(x - y)Else z = 0End IfLabel3 = zEnd SubPrivate Sub Form_Load()End Sub2、在窗体添加一个命令按钮(标题为“开始”),单击该按钮,随机产生10个三位数(100999),在窗体的第一行这10个三位数,在窗体的第二行输出其中的奇数,在窗体的第三行输出其中的偶数。Private Sub Command1_Click()Dim a%(1 To 10), i%For i = 1 To 10 a(i) = Int(Rnd * 900 + 100) 随机产生10个100到999的整数 Print a(i);Next iPrintFor i = 1 To 10 If a(i) Mod 2 0 Then Print a(i); 输出奇数Next iPrintFor i = 1 To 10 If a(i) Mod 2 = 0 Then Print a(i); 输出偶数Next iEnd SubPrivate Sub Form_Load()End Sub3编程计算分段函数的值。要求用InputBox函数输入的值,单击命令按钮(标题为“计算”)后,利用图形框(PictureBox)输出计算结果y。Private Sub Command1_Click()Picture1.Clsx = Val(InputBox(输入x的值)z = Val(InputBox(输入z的值)If x = -10 And z 0 Then y = x 2 + z 2If x 0 Then y = x / zIf x = -30 And x z Then y = Sqr(x - z)Picture1.Print yEnd SubPrivate Sub Form_Load()End Sub4编程计算分段函数的值。要求用InputBox函数输入x,y的值,单击命令按钮(标题为“计算”)后,用文本框中输出计算结果z 。5 编程实现求Sum=1+(1+2)+(1+2+3)+(1+2+3+4)+ +(1+2+3+4+ + n) 。程序运行时,在文本框中输入n的值,点击“计算”命令按钮,将计算的结果显示在标签上。程序运行界面如下图。Private Sub Command1_Click()Dim n%, sum%, i%, j%n = Val(Text1)For i = 1 To n For j = 1 To i sum = sum + j Next jNext iLabel2 = sum= & sumEnd SubPrivate Sub Form_Load()End Sub6 编写一个程序, 其功能为输入货物的数量及单价,求总价,并输出。窗体上的两个标签的标题分别为货物的数量(个):和货物的单价(元):, 在两个文本框中输入相应的数据, 当按“总价”按钮时,在右下方的图形框中显示原价和折扣价。当原价达到2000元以上时,按8折计算折扣价;当原价达到1000元以上时,按9折计算折扣价。程序运行界面如下图。Private Sub Command1_Click()zj = Val(Text1) * Val(Text2)If zj 1000 Then zkj = zjElseIf zj 2000 Then zkj = zj * 0.9Else zkj = zj * 0.8End IfLabel3 = 原 价: & zj & vbCrLfLabel3 = Label3 & 折扣价: & zkjEnd SubPrivate Sub Form_Load()End Sub7 编程实现:单击“加密”按钮后,将上方文本框中的字符串加密后显示在下方的文本框中。加密的方法是:把明文中的每个字母改为它后面的那个字母(z后面的字母认为是a,Z后面的字母认为是A)。程序运行界面如下图。Private Sub Command1_Click()Dim ch As StringText2 = ch = Text1For i = 1 To Len(ch) x = Asc(Mid(ch, i, 1) Print x If x = 90 Then y = 65 Else y = x + 1 If x = 122 Then y = 97 Else y = x + 1 Text2 = Text2 + Chr(y)Next iEnd SubPrivate Sub Form_Load()End Sub8 编程实现:程序运行时,输入一个大于1的正整数到文本框中,选择偶数和或奇数和,单击计算按钮时,则在左下方的标签控件中显示所选的计算类别和计算结果。计算规则:将按照选定的计算类别计算小于或等于输入数据的正偶数和或正奇数和。程序运行界面如下图。Private Sub Command1_Click()n = Val(Text1)If Option1.Value = True Then For i = 2 To n Step 2 Sum = Sum + i Next i Label2 = 正 & Option1.Caption & : & SumElse For i = 1 To n Step 2 Sum = Sum + i Next i Label2 = 正 & Option2.Caption & : & SumEnd IfEnd SubPrivate Sub Form_Load()End Sub9 编程实现:在窗体上的4个文本框中各输入一个整数作为各数组元素的值,然后单击命令按钮,在窗体上显示出数组元素中的最小值。10 程序运行后,在窗体的文本框中输入有关信息(密码文本框中显示*字符),然后单击提交按钮,则在右边列表框中显示相关信息。单击重输按钮,则清空三个文本框和列表框中数据。程序运行界面如下图。 Private Sub Command1_Click()List1.AddItem Text1List1.AddItem Text2List1.AddItem Text3End SubPrivate Sub Command2_Click()Text1 = Text2 = Text3 = List1.ClearEnd Subtext3设置password属性为*,maxlength属性为6Private Sub Form_Load()End Sub
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 图纸专区 > 考试试卷


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!