VB上机实验题
- 格式:doc
- 大小:267.00 KB
- 文档页数:15
第一题1.制作如图所示窗体界面。
(用真实的姓名、班级及学号)2.使时间每隔1秒刷新一次3.单击“最大值”命令按钮时,算出通过键盘输入的5个数的最大值4.在列表框中输入20、22、24、26、28Private Sub Command1_Click()Dim a(1 To 5) As IntegerFor i = 1 To 5a(i) = InputBox("please input a number")Next immax = a(1)For i = 1 To 5If a(i) > mmax Thenmmax = a(i)End IfNext iMsgBox mmaxEnd SubPrivate Sub Timer1_Timer()Label2.Caption = TimeEnd Sub第二题1.两个文本框里输入两个数字从而确定一个范围。
2.单击“计算”按钮求出这个范围中能被3或5整除的数的平方和,结果显示在label3中。
bel3的背景色每隔1.5秒蓝红交替。
Private Sub Command1_Click()Dim a As IntegerDim b As Integera = Text1.Textb = Text2.Texts = 0For i = a To bIf a Mod 3 = 0 Or b Mod 5 = 0 ThenLabel3.Caption = Label3.Caption & i & ","s = s + i * iEnd IfNext iLabel3.Caption = sEnd SubPrivate Sub Timer1_Timer()If Label3.BackColor = vbRed ThenLabel3.BackColor = vbBlueElseLabel3.BackColor = vbRedEnd IfEnd Sub第三题1、单击按钮,在文本框中显示1到终值的所有整数的平方和2、单击生成列表按钮,在列表框中显示1到终值之间的所有整数Private Sub Command1_Click()Dim a As Integera = Text1.Texts = oFor i = 1 To as = s + i * iNext iText2.Text = sEnd SubPrivate Sub Command2_Click()Dim a As Integera = Text1.TextFor i = 1 To aList1.AddItem iNext iEnd Sub第四题1、“大家好”的背景颜色红蓝黄交替,单击“停止”按钮时停止颜色变化2、在文本框中写入任意数字,单击“生成列表”按钮,将1到文本框中输入数字之间所有能被3整除得数在列表框中显示Private Sub Command1_Click()Timer1.Enabled = TrueEnd SubPrivate Sub Command2_Click()Timer1.Enabled = FalseEnd SubPrivate Sub Command3_Click()Dim a As Integera = Text1.TextFor i = 1 To aIf i Mod 3 = 0 ThenList1.AddItem iEnd IfNext iEnd SubPrivate Sub Timer1_Timer()If Label1.ForeColor = vbRed ThenLabel1.ForeColor = vbBlueElseIf Label1.ForeColor = vbBlue ThenLabel1.ForeColor = vbY ellowElse: Label1.ForeColor = vbRedEnd IfEnd Sub第五题1、“大家好”电子滚动平当单击按钮“开始”时从左向右滚动,当滚动到屏幕最右端的时候,从新回到最左端开始滚动;单击“停止”按钮时停止滚动2、在文本框中写入任意内容,单击“添加”按钮可以将文本框中的内容加入到列表框中Private Sub Command1_Click()Timer1.Enabled = TrueEnd SubPrivate Sub Command2_Click()Timer1.Enabled = FalseEnd SubPrivate Sub Command3_Click()List1.AddItem Text1.TextEnd SubPrivate Sub Timer1_Timer()Label1.Left = Label1.Left + 100If Label1.Left > Form1.Width - Label1.Width ThenLabel1.Left = 0End IfEnd Sub第六题1、标签中写入“大家好”,每秒钟“大家好”和“哈哈”交替出现(即,第一秒出现“大家好”。
国家二级VB机试(上机操作)模拟试卷401(题后含答案及解析) 全部题型 2. 基本操作题 3. 简单应用题 4. 综合应用题基本操作题1.请根据以下各小题的要求设计Visual Basic应用程序(包括界面和代码)。
(1)在名称为Form1、标题为“鼠标光标形状”的窗体上画一个名称为Text1的文本框。
请通过属性窗口设置适当属性,使得程序运行时,鼠标在文本框中时,鼠标光标为箭头(Arrow)形状;在窗体中其他位置处,鼠标光标为十字(Cross)形状。
注意:存盘时必须存放在考生文件夹下,工程文件名为sjt1.vbp,窗体文件名为sjt1.frm。
(2)在名称为Form1的窗体上画两个标签,名称分别为Labe11、Labe12,标题分别为“开始位置”、“选中的字符数”;画三个文本框,名称分别为Text1、Text2、Text3,再画一个名称为Command1,标题为“显示选中信息”的命令按钮。
程序运行时,在Text1中输入若干字符,并用鼠标选中一些字符后,单击“显示选中信息”按钮,则把选中的第一个字符的顺序号显示在Text2中,选中的字符个数显示在Text3中,如图3—152所示。
要求:画出所有控件,编写命令按钮的Click事件过程。
注意:要求程序中不得使用变量,事件过程中只能写两条语句,分别用于显示第一个字符的顺序号和显示选中的字符个数。
存盘时必须存放在考生文件夹下,工程文件名为sjt2.vbp,窗体文件名为sjt2.frm。
正确答案:(1)【操作步骤】步骤1:新建“标准EXE”工程,按要求画出控件并设置相应属性。
步骤2:按要求将文件保存至考生文件夹中。
(2)【操作步骤】步骤1:新建一个“标准EXE”工程,按要求画出控件并设置属性。
步骤2:在代码编辑窗口,编写命令按钮的单击事件过程。
参考代码:Private Sub Command1_Click( )Text2=Text1.SelStart+1Text3=Text1.SelLengthEnd Sub 步骤3:按要求将文件保存至考生文件夹中。
实验一 VB环境和简单应用程序设计(4个学时)一、实验目的1.熟悉Visual Basic集成开发环境的使用。
2.掌握建立、编辑和运行简单的Visual Basic应用程序的全过程。
3.掌握窗体对象的属性、事件和方法。
二、实验内容1. 在VB的集成开发环境中实现如下的操作:1)、将“标准”工具栏去掉后再添加上,将“编辑”工具栏添上再去掉。
2)、分别利用“菜单”和“工具栏”中的命令打开“属性窗口”、“工程资源管理器窗口”3)、将“窗体布局窗口“的”启动位置“设置成“手工”。
4)、在工具箱中任意添加一个Active X 控件。
5)、在工程1中增加两个窗体:Form1、Form26)、在工程1中增加两个标准模块:Module1 、Module27)、在工程1中增加一个类模块:Class18)、在工程资源管理器中将Form2、Module2 删除。
9)、在在工程资源管理器中利用“切换文件夹”按钮隐藏或显示对象的文件夹10)、将代码窗口中的字体大小改为18号字。
2.设计一个窗体,窗体内有1个文本框和3个命令按钮控件。
要求:当按“显示”按扭时,在文本框内显示“欢迎来到青岛科技大学!”一串红色、四号、隶书字符串。
当按“清除”按钮时,清除文本框内全部信息;当按“退出”按钮时,结束程序运行。
1) 创建界面(将设计好的界面截下来粘贴在下面)3)代码设计Private Sub Command1_Click()T ext1.T ext = "欢迎来到青岛科技大学!"End SubPrivate Sub Command2_Click()T ext1.T ext = ""End SubPrivate Sub Command3_Click()EndEnd Sub4)调试过程记录(错误情况及改正方法,不得少于三条)1、text1与text颠倒了位置通过查课本改正3. 设计一个窗体,在窗体上添加一个文本框和三个命令按钮。
国家二级VB机试(上机操作)模拟试卷308(题后含答案及解析) 全部题型 2. 基本操作题 3. 简单应用题 4. 综合应用题基本操作题1.请根据以下各小题的要求设计Visual Basic应用程序(包括界面和代码)。
(1)在名称为Form1的窗体上画两个名称分别为Frame1、Frame2的框架,标题分“修饰”;在Frame1中画两个单选按钮,名称分别为Option1、Option2,别为“字号”、标题分别为“10号字”、“20号字”,且标题显示在单选按钮的左边;在Frame2中画一个名称为Check1的复选框,标题为“下划线”。
运行后的窗体如图3—174所示。
注意:存盘时必须存放在考生文件夹下,工程文件名为sjt1.vbp,窗体文件名为sjt1.frm。
(2)在名称为Form1的窗体上从上到下画两个文本框,名称分别为Text1、Text2;再画一个命令按钮,名称为Command1,标题为“选中字符数是”。
程序运行时,在Text1中输入若干字符,选中部分内容后,单击“选中字符数是”按钮,则在Text2中显示选中的字符个数(如图3—175所示)。
请编写按钮的Click事件过程。
要求:不得使用变量,事件过程中只能写一条语句。
注意:存盘时必须存放在考生文件夹下,工程文件名为sjt2.vbp,窗体文件名为sjt2.frm。
正确答案:第1小题步骤1:新建一个“标准EXE”工程,按要求画出控件并设置属性。
步骤2:按要求将文件保存至考生文件夹中。
第2小题步骤1:新建一个“标准EXE”工程,按要求画出控件并设置属性。
步骤2:打开代码编辑窗口,编写以下事件过程。
参考代码:Private Sub Command1_Click( )Text2.Text=Form1.Text1.SelLengthEnd Sub步骤3:按要求将文件保存至考生文件夹中。
解析:第1小题:本题只需按题目在窗体中画出控件,并设置相关属性即可。
VB上机实验作业Option ExplicitPrivate Sub Form_Load()Command2.Visible = FalseCommand3.Visible = FalseLabel2.Visible = FalseEnd Sub2-1Private Sub Command1_Click()Command1.Visible = FalseText1.Visible = FalseLabel1.Visible = FalseLabel2.Visible = TrueLabel2.AutoSize = TrueLabel2.FontSize = 14Label2.FontName = "黑体"Label2.ForeColor = vbRedLabel2.Caption = Text1.Text & "同学,你好!祝你学好VB程序设计"Command2.Visible = TrueCommand3.Visible = TrueEnd SubPrivate Sub Command2_Click()Command2.Visible = FalseCommand3.Visible = FalseLabel1.Visible = TrueLabel2.Visible = FalseCommand1.Visible = TrueText1.Visible = TrueEnd SubPrivate Sub Command3_Click()EndEnd Sub2-2Private Sub Form_Load() '设置标签的初始位置及字号Label1.Left = Form1.Width / 3Label1.FontSize = 12End SubPrivate Sub Command1_Click() '放大Label1.FontSize = Label1.FontSize * 3End SubPrivate Sub Command2_Click() '加粗Label1.FontBold = TrueEnd SubPrivate Sub Command3_Click() '下画线Label1.FontUnderline = TrueEnd SubPrivate Sub Command4_Click() '还原Label1.Left = Form1.Width / 3Label1.FontSize = 12Label1.FontBold = FalseLabel1.FontUnderline = FalseEnd SubPrivate Sub Command5_Click() ' 移动Dim dx As Singledx = Form1.Width / 3 / 10 '每次移动量是Label1最初距左边距离的1/10 Label1.Left = Label1.Left - dxEnd Sub3-2Option ExplicitPrivate Sub Command1_Click()Label1.FontSize = Label1.FontSize * (Int(Rnd * 3 + 1)) '放大字体Label1.Caption = "当前时间为" & Time '显示时间'以下让Label1居中显示Label1.Left = Form1.ScaleWidth / 2 - Label1.Width / 2Label1.Top = Form1.ScaleHeight / 2 - Label1.Height / 2End SubPrivate Sub Form_Load()Label1.Caption = "当前时间为" & TimeLabel1.Left = Form1.ScaleWidth / 2 - Label1.Width / 2Label1.Top = Form1.ScaleHeight / 2 - Label1.Height / 2End Sub4-1Private Sub Text1_KeyPress(KeyAscii As Integer)Dim st As String * 1st = Chr(KeyAscii)'小写字母与大写字母的Ascii码相差32If st >= "a" And st <= "z" Then ' 如果是小写字母st = Chr(KeyAscii - 32) ' 转换成大写字母ElseIf st >= "A" And st <= "Z" Thenst = Chr(KeyAscii + 32)End IfText2.Text = Text2.Text & stEnd Sub4-2'转换摄氏Private Sub Command1_Click()Dim f As Single, c As Single'输入华氏温度f = Val(Text1.Text)c = 5 / 9 * (f - 32)'输出摄氏温度Text2.Text = Str(c)End Sub'转换华氏Private Sub Command2_Click()Dim f As Single, c As Single'输入摄氏温度c = Val(Text2.Text)f = 9 / 5 * c + 32'输出华氏温度Text1.Text = Str(f)End Sub'“华氏温度”文本框中按回车键转换Private Sub Text1_KeyPress(KeyAscii As Integer) If KeyAscii = 13 Then '是否按下回车键Dim f As Single, c As Single'输入华氏温度f = Val(Text1.Text)c = 5 / 9 * (f - 32)'输出摄氏温度Text2.Text = Str(c)End IfEnd Sub'“摄氏温度”文本框中按回车键转换Private Sub Text2_KeyPress(KeyAscii As Integer)If KeyAscii = 13 Then '是否按下回车键Dim f As Single, c As Single'输入摄氏温度c = Val(Text2.Text)f = 9 / 5 * c + 32'输出华氏温度Text1.Text = Str(f)End IfEnd Sub4-3Private Sub Command1_Click() '判断命令按钮Dim x As Integer, y As Integer, k As Integerk = InStr(Text1.Text, ",") '查找逗号所在地位置If k = 0 ThenMsgBox "输入错误,请重新输入", vbInformation, "消息框"Text1.Text = ""Text1.SetFocusElsex = Val(Mid(Text1.Text, 1, k - 1)) '分离x坐标y = Val(Mid(Text1.Text, k + 1)) '分离y坐标Select Case xCase 0If y = 0 ThenMsgBox "(" & x & "," & y & ") 在坐标原点", vbInformation, "消息框"ElseIf y > 0 ThenMsgBox "(" & x & "," & y & ") 是在Y轴的上半轴上", vbInformation, "消息框"ElseMsgBox "(" & x & "," & y & ") 是在Y轴的下半轴上", vbInformation, "消息框"End IfCase Is > 0If y = 0 ThenMsgBox "(" & x & "," & y & ") 是在X轴的正半轴上", vbInformation, "消息框"ElseIf y > 0 ThenMsgBox "(" & x & "," & y & ") 是在第一象限中", vbInformation, "消息框"ElseMsgBox "(" & x & "," & y & ") 是在第四象限中", vbInformation, "消息框"End IfCase Is < 0If y = 0 ThenMsgBox "(" & x & "," & y & ") 是在X轴的负半轴上", vbInformation, "消息框"ElseIf y > 0 ThenMsgBox "(" & x & "," & y & ") 是在第二象限中", vbInformation, "消息框"ElseMsgBox "(" & x & "," & y & ") 是在第三象限中", vbInformation, "消息框"End IfEnd SelectEnd IfEnd Sub'限定只能输入数字,逗号,回退键Private Sub Text1_KeyPress(KeyAscii As Integer)If KeyAscii = 13 Then '按回车键调用"判断"命令按钮Call Command1_ClickExit SubEnd IfSelect Case Chr(KeyAscii)Case "0" To "9", ",", "-", Chr(8)Case ElseKeyAscii = 0End SelectEnd SubPrivate Sub Command2_Click() '结束命令按钮EndEnd Sub4-4Private Sub Command1_Click()Dim bzh As Singlebzh = Val(Text1.Text) - 105If Val(Text2.Text) > bzh * 1.1 ThenLabel5.Caption = "偏胖,注意饮食"ElseIf Val(Text2.Text) < bzh * 0.9 ThenLabel5.Caption = "偏瘦,增加营养"ElseLabel5.Caption = "正常,继续保持"End IfEnd SubPrivate Sub Text1_KeyPress(KeyAscii As Integer)Select Case KeyAsciiCase 48 To 57, 8Case ElseKeyAscii = 0End SelectEnd SubPrivate Sub Text2_KeyPress(KeyAscii As Integer)Select Case KeyAsciiCase 48 To 57, 8Case ElseKeyAscii = 0End SelectEnd Sub4-5Private Sub Command1_Click()Dim i%, j%, n%Form1.Clsn = Val(Text1.Text)If n <= 0 Or n >= 10 ThenMsgBox "输入错误,请重新输入", vbInformation, "提示信息"Text1 = ""Text1.SetFocusExit SubEnd IfFor i = 1 To n '外循环控制打印行数If i <= n / 2 ThenPrint Tab(10 - i); '每行起始打印位置For j = 1 To 2 * i - 1 '内循环控制打印个数Print Trim(Str(i)); '打印内容Next jPrintElsek = n - i + 1Print Tab(10 - k);For j = 1 To 2 * k - 1Print Trim(Str(i));Next jPrintEnd IfNext iEnd SubPrivate Sub Text1_KeyPress(KeyAscii As Integer) If KeyAscii = 13 Then '按回车键调用"判断"命令按钮Call Command1_ClickExit SubEnd IfSelect Case Chr(KeyAscii)Case "0" To "9", ",", Chr(8)Case ElseKeyAscii = 0End SelectEnd Sub4-6Option ExplicitPrivate Sub Form_Click()Dim Ip As Double, Temp As DoubleDim N As Double, K As DoubleIp = 2: Temp = 2: N = 1DoIp = TempK = 2 * NTemp = Temp * (K / (K - 1)) * (K / (K + 1))N = N + 1Loop Until Abs(Temp - 3.141592) < 0.000001Print "π=" & IpPrint "N=" & NEnd Sub4-7Option ExplicitDim Pre As Long '存放当前处理字符的前一个字符Private Sub Form_Load()Pre = 46 '初始状态为“.”End SubPrivate Sub Text1_KeyPress(KeyAscii As Integer)Dim ch As Stringch = Chr(KeyAscii)If (Pre = 46 Or Pre = 63 Or Pre = 33 Or Pre = 13) And ch >= "a" And ch <= "z" ThenKeyAscii = KeyAscii - 32End IfIf KeyAscii <> 32 Then Pre = KeyAsciiEnd Sub5-1Private Sub Command1_Click()Dim a(1 To 7) As Integer, i%, j%For i = 1 To 7a(i) = iPrint a(i);Next iPrintFor i = 1 To 7t = a(7)For j = 6 To 1 Step -1a(j + 1) = a(j)Next ja(1) = tFor j = 1 To 7Print a(j);Next jPrintNext iEnd Sub5-2Option Base 1Option ExplicitDim a(11) As Integer ' 定义数组Private Sub cmdcreat_Click() '产生的一维数组Dim i As IntegerPicture1.ClsPicture1.Print "产生的一维数组为:"RandomizeFor i = 1 To 10a(i) = Int(Rnd * 20 + 10)Picture1.Print a(i);Next iPicture1.PrintEnd SubPrivate Sub cmdmax_Click() '求最大元数及所在的位置Dim max As Integer, p As Integer, i As Integermax = a(1) ' 假设第一元素就是最大元素p = 1For i = 2 To 10If a(i) > max Thenmax = a(i)p = iEnd IfNext iPicture1.PrintPicture1.Print "第" & p; " 个元素" & a(p) & " 为最大元素" End SubPrivate Sub cmdave_Click() '计算平均值Dim ave As Single, i As IntegerFor i = 1 To 10ave = ave + a(i)Next iave = ave / 10Picture1.PrintPicture1.Print "产生的随机数平均值为:" & aveEnd SubPrivate Sub cmdsort_Click() '使用选择法排序Dim i%, j%, p%, t%For i = 1 To 9p = iFor j = i + 1 To 10If a(p) > a(j) Then p = jNext jt = a(i): a(i) = a(p): a(p) = tNext iPicture1.PrintPicture1.Print "排序后的一维数组为:"For i = 1 To 10Picture1.Print a(i);Next iPicture1.PrintEnd SubPrivate Sub cmdinsert_Click() '数据插入Dim x%, p%, i%x = Val(InputBox("输入要插入的数据:"))p = 1Do While x > a(p) And p <= 10p = p + 1LoopFor i = 10 To p Step -1a(i + 1) = a(i)Next ia(p) = xPicture1.PrintPicture1.Print "插入后的一维数组为:"For i = 1 To 11Picture1.Print a(i);Next iEnd Sub5-3Private Sub Command1_Click()Dim s() As Integer, i%, j%, n%Form1.Clsn = Val(Text1)ReDim s(n, n)'第一列和主对角线为1For i = 1 To ns(i, 1) = 1s(i, i) = 1Next iFor i = 3 To nFor j = 2 To i - 1s(i, j) = s(i - 1, j - 1) + s(i - 1, j)Next jNext i'打印杨辉三角For i = 1 To nFor j = 1 To i' 让每个数据占4列输出Print Spc(4 - Len(Str(s(i, j)))); s(i, j);Next jPrintNext iEnd Sub5-4Dim a() As String, n%Private Sub Text1_KeyPress(KeyAscii As Integer)Dim i As Integer, j As Integer, k As Integer, t As StringIf KeyAscii = 13 Thenn = n + 1ReDim Preserve a(n) '动态存储数组a增加1个元素,前n-1个元素值保持不变。
vb实验试题及答案VB实验试题及答案一、选择题1. VB中,用于定义变量的关键字是:A. DimB. SetC. ConstD. Function答案:A2. 下列哪个选项是VB中声明数组的正确方式?A. Dim arr(10)B. Dim arr[10]C. Dim arr(10) As IntegerD. Dim arr[10] As Integer答案:C二、填空题1. 在VB中,使用________关键字可以创建一个新过程。
答案:Sub2. 要将一个字符串变量的值赋给另一个字符串变量,可以使用________运算符。
答案:=三、简答题1. 请简述VB中如何实现循环结构。
答案:VB中实现循环结构主要有两种方式:`For...Next` 循环和`Do...Loop` 循环。
`For...Next` 循环适用于已知循环次数的情况,而 `Do...Loop` 循环适用于循环次数不确定的情况。
2. 描述VB中如何使用条件语句。
答案:VB中使用条件语句主要通过 `If...Then...Else` 结构实现。
首先使用 `If` 关键字检查条件,如果条件为真,则执行 `Then` 后的语句;如果条件为假,则执行 `Else` 后的语句。
四、编程题1. 编写一个VB程序,实现计算并输出1到100之间所有偶数的和。
答案:```vbDim sum As Integersum = 0For i As Integer = 1 To 100If i Mod 2 = 0 Thensum = sum + iEnd IfNext iMessageBox.Show("Sum of even numbers between 1 and 100 is: " & sum)```2. 编写一个VB函数,接受一个字符串参数,返回该字符串中字母'a'的个数。
答案:```vbFunction CountA(ByVal str As String) As IntegerDim count As Integer = 0For Each c As Char In strIf c = "a" Thencount = count + 1End IfNextReturn countEnd Function```。
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 integerfor i = 1000 to 9999if k(i) then list1.additem i: a = a + 1next itext1.text = aend subprivate sub command2_click()list1.cleartext1.text =end subprivate sub command3_click()endend subprivate function k(n as integer) as integerdim i as integer, a as integer, s1 as integer, s2 as integer dims as strings = cstr(n)for i = 1 to len(s) / 2s1 = s1 + mid(s, i, 1)s2 = s2 + mid(s, len(s) + 1 - i, 1)next iif s1 = s2 then k = trueend function2. 新建一个工程,编写求某一自然数因子和的程序。
国家二级VB机试(上机操作)模拟试卷600(题后含答案及解析)题型有:1.jpg /> 步骤2:打开代码编辑窗口,在指定位置编写如下代码。
参考答案PriVate Sub Commandl_Click( ) Text2=Textl.SelLength End Sub 步骤3:调试并运行程序,关闭程序后按题目要求存盘。
【易错提示】SelLength属性与SelStart和SelText属性容易混淆,SelStart属性是返回/设置选定文本的起始点,SelText属性是返回/设置当前选定文本的字符串。
解析:selLength属性用于返回/设置选定的字符数,通过文本框的Name 和Caption属性设置文本框的名称和标题,通过命令按钮的Name和Cap.tion 属性设置命令按钮的名称和标题。
简单应用题3.在考生文件夹下有一个工程文件sjt3.vbp。
程序运行后,单击“读入数据”按钮,可将考生文件夹下in3.1xt文件中的所有英文单词读入,并在Textl 文本框中显示;单击“插入列表框”按钮,则按顺序将每个单词作为一项添加到List1列表框中(如图所示)。
在in3.txt文件中,每个单词之间用一个空格字符隔开,最后一个单词的后面没有空格。
已经给出了所有控件和程序,但程序不完整。
要求:请去掉程序中的注释符,把程序中的?改为正确的内容,使其能正确运行,但不能修改程序中的其他部分和控件属性。
最后用原来的文件名保存工程文件和窗体文件。
正确答案:【操作步骤】步骤l:打开本题工程文件。
步骤2:打开代码编辑窗口,去掉程序中的注释符“′”,将问号改为正确的内容。
参考答案(阴影部分是需考生填入的内容) Private Sub Commandl_C1ick( ) Dim st$.ch$ Open App.Path&"\in3.txt"For In—put As#’打开文件Do While Not EOF(1)′文件指针是否到达文件末尾Input#1,ch′达到文件末尾返回true.否则返回false st=st&ch′将读出的数据加到原有数据末尾Loop Close#1′关闭文件Textl=st′将内容显示在文本框中End Sub Private Sub Command2_Click( ) Dim st$,word$,C$ St=Textl n=Len(St) For k=1 TO n c=Mid(st,k,1)′从st 中依次取出1个字符进行比较If c<>""Then word=word&C E1Se Listl.AddItem word word=""将word清空,为下一次作准备End If Next LiStl.AddItem word End Sub 步骤3:调试并运行程序,关闭程序后按题目要求存盘。
上机操作练习题1.某数组有20个元素,其值为随机产生的两位整数。
现要求将前10个元素与后10个元素对换。
即第1个元素与第20个元素互换,第2个数与第19个元素互换,…,第10个元素与第11个元素互换.在窗体上输出数组原来各元素的值与对换后各元素的值。
Option explicitDim a(1 to 20) as integer, I as integer,j as integer, t as integerPrivate Sub Form_Load()ShowPrint "原始数组是:”RandomizeFor i = 1 To 20a(i) = Int(Rnd *90)+ 10Print a(i);If i Mod 10 = 0 Then PrintNext iPrintPrint ”现在数组是:”For i = 1 To 10j = 21 - it = a(i):a(i)= a(j):a(j) = tNext iFor i = 1 To 20Print a(i);If i Mod 10 = 0 Then PrintNext iEnd Sub2.从数组中删除一个数。
先定义一个一维数组,大小、数组的值自定。
从键盘上输入一个数,若这个数在数组当中,就把它删除;若这个数不在数组中,提示“该数不在数组中"注意:1)如果数组中存在多个与该数相同的元素,每一个都能删除;2)能实现多次删除Private Sub Form_Load()ShowReDim a(9)As Integerm = 1Print ”原来数组为:”For i = 0 To 9a(i) = InputBox(”请输入第”&m &"个数:”)Print a(i);m = m + 1Next iPrintn = InputBox(”查找的数是:")i = 0:flag = FalseDoIf a(i) = n Thenj = i:flag = TrueFor k = j To UBound(a) - 1a(k)= a(k + 1)Next kReDim Preserve a(UBound(a) - 1)i = i - 1End Ifi = i + 1Loop While (i <= UBound(a))If flag = False ThenMsgBox n &"不在该数组中”ElsePrint ”删除”&n &"后的数组是:”For i = 0 To UBound(a)Print a(i);Next iEnd IfEnd Sub3.数组a中存放着升序排列的数据,使用array赋值,将inputbox输入的新数插入到数组中,插入后数组仍有序。
(截止目前所有上机实验及代码。
不用画窗体界面,只写题目和代码.填写实验报告也是复习的过程,请务必认真!......)实验一:第二章⒈在名称为Form1的窗体上画一个标签,其名称为Label1,标题为“等级考试”,BorderStyle属性值为1,可以根据标题自动调整大小;然后再画一个命令按钮,其名称和标题均为Command1,编写适当的事件过程。
程序运行后,界面如图所示,此时如果单击命令按钮,则标签消失,同时用标签的标题作为命令按钮的标题.Private sub command1_click()Label1.visible=falseCommand1.caption=label1.captionEnd sub⒉在名称为Form1的窗体上画一个标签,其名称为Label1,标题为“输入信息”、一个文本框,名称为Text1,Text属性为空白、一个命令按钮,名称为Command1,标题为“显示”。
然后编写命令按钮的Click事件过程。
程序运行后,在文本框输入“计算机等级考试",然后单击命令按钮,则标签和文本框消失,并在窗体上显示文本框的内容。
要求程序中不得使用任何变量。
上机代码:Private sub command1_click()Label1。
visible=falseText1.visible=falsePrint text1.textEnd sub⒊在名称为Form1的窗体上画两个文本框,名称分别为Text1和Text2,再画两个命令按钮,名称分别为Command1和Command2,标题分别为“复制"和“删除”。
程序运行时,在Text1中输入一串字符,并用鼠标拖曳的方法选择几个字符,然后分别单击“复制”按钮,则被选中的字符被复制到Text2中;若单击“删除"按钮,则被选中的字符从Text1中被删除.请编写两个命令按钮的Click过程完成上述功能.Private sub command1_click()Text2=text1。
第一题编一程序,程序运行的初始界面,如图1-15所示,当用户在文本框输入姓名,例如输入"张三",单击"确定"按钮,则程序的运行情况如图1-16所示,如果单击"结束"按钮,即结束程序运行。
图1-15 程序运行后初始界面图1-16 单击"确定"按钮后的程序界面第二题:编一程序,在屏幕上显示"你好,Visual Basic系统",字体大小设为三号、颜色为红色,(见图1),单击窗体后,在窗体上显示"初次见面,请多关照!",同时窗体上出现两个命令按钮"继续"和"结束",如图2所示,如果单击"继续"按钮,则又回到初始运行状态;单击"结束"按钮即结束程序运行。
图1 程序运行后初始界面图2 单击窗体后的程序界面1、创建如图所示界面(含一个标签Label1,两个文本框Text1和Text2,两个按钮Command1和Command2)。
要求:在文本框Text1中输入内容,文本框Text2的内容同步改变;若文本框Text2的内容改变,则标签的标题也同步变化;单击“清空”按钮,可以清空两个文本框中的内容,同时将文本框Text1设置为当前对象;单击“结束”按钮可以结束程序。
2、创建如图所示界面:要求:在列表框LIST1中选中一项后,单击按钮“>”可以将此项移到LIST2中,单击按钮“>>”可以将LIST1中的所有项目移到LIST2中;另两个按钮的功能与此相反。
3、创建如图所示界面:在文本框中输入内容后单击“确定”按钮,可以将内容添加到列表框中;双击列表框中的某一项,可以将此列表项移到组合框中;单击“清空”按钮可以清除文本框、列表框与组合框中的内容,并且将焦点设置在文本框上;单击“退出”按钮可以结束程序的运行。
实验三1、 完成一个函数计算器(实验3-1);2、 已知函数|sin 1lg |),,(z y x z y x f +++=,试设计一个界面,输入变量x 、y 、z 的值,计算得到函数的值,界面参考如图所示;3、 字符串S=”xyzanfh123ancrimf ”,请将字符串中的“123”替换成“ABC ”,界面参考如图所示;4、 输入一个整数n (2~6之间),然后随机生成一个n 位整数,界面参考如图所示;5、 输入一个两位正整数,交换个位数与十位数后再输出。
1、界面如图,在文本框Text1中输入一个三位正整数,单击“判断”按钮,结果如图所示,如果此数是一个水仙花数,则显示“XXX是水仙花数”,否则显示“XXX不是水仙花数”。
“清空”按钮可以清空文本框中的内容,并且焦点设置在Text1上。
水仙花数满足这样的条件:各个数位上数字的立方和等于该数本身。
如:153=13+53+33。
2、完成实验指导书中的实验4-1到实验4-4。
3、找出1000以内所有的同构数。
1、完成实验4-6;2、完成实验4-7;3、求两个自然数的最大公约数与最小公倍数,参考界面如图所示。
4、编写一段加密代码以实现对四位数字的加密。
加密的过程如下:输入一个四位整数,将每位替换成该位与7的和对10的余数,然后将第一位与第三位数字位置互换,第二位与第四位位置互换,最后显示加密后的数字。
界面参考如图:5、编写程序求一个字符串中的最长单词。
假设字符串中只有字母与空格,单词之间用空格分隔。
1、百钱百鸡问题。
公鸡三元一只,母鸡两元一只,小鸡一元三只,一百块钱买了一百只鸡,请问公鸡、母鸡、小鸡各买多少只?2、计算圆周率π ,计算精度到第n 项减1的绝对值小于10-5为止。
⨯++⨯+⨯⨯=2222222222π3、生成一个四行五列的两位随机整数的数组,分别输出到图片框与多行文本框中。
4、编程生成如下几个矩阵。
1、随机生成一个一维数组(十个元素),要求其中的数为递增的。
如:11、23、37、43、43、50……。
2、随机生成一个两两位整数的二维数组,输入一个待查找的数,找出其位置,并显示,如果找不到,则输出“未找到!”。
界面如图所示,请完成相关按钮的功能。
3、找出二维数组中的最大值与最小值及其位置,界面自行设计。
4、鞍点问题:实验5-4。
5、随机产生10个数,寻找能被3整除的最大数,如果没有,则显示“无相关的数!”。
界面自行设计。
1、实验5-3:冒泡排序。
2、合并排序。
已知数组A与B均按升序排列,现将A与B数组合并成一个新的数组C,要求数组C中的元素也是按升序排列。
(数组A与B的个数自己定)3、求一个N*N阶的矩阵A的转置矩阵。
4、实验5-6:找指定数对。
1、插入法排序。
2、找出5000以内的所有亲密对数。
所谓亲密对数就是指两个数A与B,其中A的因子和等于B,B的因子和等于A。
3、实验书P.80,第5、6题。
1、找出100以内所有素数添加到列表框中。
程序中至少定义一个用于判断素数的自定义函数。
2、找出所有水仙花数。
程序中至少定义一个用于判断三位整数是否是水仙花数的自定义函数。
3、编写程序,生成n 组22选5的彩票号码组(每组由各不相同的5个数组成,且每个数只能取1~22之间的数字)。
要求:至少包含一个通用过程。
工程文件保存为P2.VBP ,窗体文件保存为:F2.VBP 。
4、编写一个数据转换程序,将一组大小差异很大的数据变换为[0,1]区间的数值。
设这样本数据的最大值为maxa ,最小值为mina ,将第k 个样本值vk 变换为vk ’的变换公式为:),...,3,2,1(min max min 'n k aa a Vk Vk =--= 生成样本数据:利用InputBox 函数输入需要生成的数据个数n ,缺省值为10,再生成n 个1-999之间的随机整数,并在文本框中显示。
【要求】1、程序参考界面如下图所示,不得增加或减少界面对象或改变对象和种类;2、程序中至少包含一个通用过程;3、窗体文件与工程文件分别保存为F2.frm 与P2.vbp 。
1、验证哥德巴赫猜想:任何一个大于等于4的偶数,都可以拆分为两个素数之和。
2、找出所有由四个不同数字组成的素数。
3、编写程序求出所有无重复的三个整数组合,使它们的最小公倍数等于指定数据N(设N 取值范围为[100,150],三个整数的范围为[3,40])。
【要求】1)、程序参考界面如下图所示,不得增加或减少界面对象或改变对象和种类;2)、程序中至少定义一个名为Lcm的函数过程用于求三个整数的最小公倍数;3)、点击“清除”按钮可以清除文本框与列表框中的内容,且焦点设置在文本框上;4、编程找出10000以内所有的回文数的平方仍是回文数的数。
所谓回文数是指左右数字完全对称的自然数,例如:11,121,1221等都是回文数。
【编程要求】1)程序参考界面如图所示,编程时不得增加或减少界面对象或改变对象的种类,但界面元素的大小、位置可随意设置。
2)单击“生成数据”按钮,应将10000以内所有的回文数的平方仍是回文数的数,按图中示意形式存放在列表框List1中。
3)单击“返回”按钮,结束程序运行。
4)程序中定义一个判断回文数的函数过程。
1、【题目】编写程序,生成一个由两位随机整数组成的5×5的数组,并显示在图片框中;再找出该数组的最小元素,并将最小元素所在列删除(将最小元素所在列之后的各列依次前移);将5×5的数组重定义为一个5×4的数组,显示在另一个图片框中。
【编程要求】1)程序参考界面如图所示,编程时不得增加或减少界面对象或改变对象的种类,窗体及界面元素大小适中,且均可见。
2)按“生成数组”按钮,则将生成的数组显示在图片框中;按“删除列”按钮,则将最小元素所在的列删除后的新数组显示在图片框中。
3)在程序中定义一个实现查找最小元素及删除列的通用子过程。
2、【题目】A数组是由随机生成的且均为两位数的元素构成的6×6二维数组,在每一列中选出一个最小数,然后在所选的6个数中挑出最大的一个数,叫做“小数中的最大数”;在每一行中选出一个最大数,然后在所选的6个数中挑出最小的一个,叫做“大数中的最小数”。
在文本框中分别显示这两个数。
【编程要求】1)程序参考界面如下图所示,编程时不得增加或减少界面对象的种类,窗体及界面元素大小适中,且均可见。
2)按“开始”按钮,则生成数组,并将数组元素按行显示在图片框中,调用子程序进行“选数”处理(如图所示);按“清除”按钮,,则将图片框和两个文本框清空;按“结束”按钮,则结束程序运行。
3)在程序中分别定义两个求矩阵每行中的最小数和最大数函数过程。
3、【题目】找出所有三位数的幸运数对。
所谓幸运数对是指差为3,且每个数的各位数字之和都能被6整除的一对数。
例如189,192就是一对幸运数。
【编程要求】1)程序参考界面如右图所示,变成时不得增加或减少界面对象或改变对象的种类,窗体及界面元素大小适中,且均可见。
2)按“查找幸运数”按钮,则运行程序,生成并显示幸运数对;按“清除列表框”按钮,则将列表框清空;按“结束”按钮,则结束程序运行。
3)在程序中定义一个生成幸运数对的通用过程。
实验十三1、编写模拟翻硬币的程序。
设硬币画面为1,字面为0。
10个硬币画面向上围成一圈,按顺时针方向数硬币,凡数到可被3或被7整除的数时,则将该硬币翻转。
从1数到指定的次数,显示这些硬币的状态。
【编程要求】1)程序参考界面如图所示,编程时不得增加或减少界面对象或改变对象的种类,窗体及界面元素大小适中,且均可见。
2)按“翻转硬币”按钮,则将初值显示在“初始状态”文本框中,并按题目要求进行硬币翻转处理,从1数到输入到“次数”文本框中的数字,再将结果显示在“当前状态”文本框中。
3)按“清除”按钮,则将三个文本框清空,并将焦点设在“次数”文本框上;按“结束”按钮,则结束程序运行。
4)程序中至少要包含一个通用过程。
2、教材P.176,第17、18题。