VB 郭贤海 实验报告及答案.doc_第1页
VB 郭贤海 实验报告及答案.doc_第2页
VB 郭贤海 实验报告及答案.doc_第3页
VB 郭贤海 实验报告及答案.doc_第4页
VB 郭贤海 实验报告及答案.doc_第5页
已阅读5页,还剩45页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

实验1.1 设计一个程序,程序运行的初始界面如图1-1所示。当单击“显示”按钮时,在文本框中显示“欢迎使用VB!”(图1-1);当单击“清除”按钮时,清除文本框内的文本;当单击“退出”按钮时,结束程序运行。图1-1 程序运行初始界面图1-2 单击“显示”按钮后的程序界面实验1.2 设计一个程序,程序运行的初始界面如图1-3所示,其中“显示”按钮为不可用。同时要求:(1)当单击“改变文字”按钮时,在左边标签文字内容改为“你好,张三!”,同时“改变文字”按钮变为不可用(图1-4);(2)当单击“隐藏”按钮时,将左边标签设为不可见,同时“隐藏”按钮变为不可用,“显示”按钮变为可用(图1-5); (3)当单击“显示”按钮时,重新显示左边标签,同时“隐藏”按钮变为可用,“显示”按钮变为不可用(图1-4)。图1-3 第1题的程序运行初始界面图1-4 单击“改变文字”按钮后的程序界面图1-5 单击“隐藏”按钮后的程序界面四、实验原始记录实验1.1程序的界面设计。(可以是多张主要的图。下面的图要替换成你们自己设计的图。如何取图?设计好界面,按“Print Screen SysRq”键,打开画图软件,单击“编辑|粘贴”命令,利用菜单栏下方的“选定”功能,选中窗体,按“Ctrl + C”键,然后选中下面的实验样例图,按“Ctrl + V”键,替换掉)程序代码。 Private Sub Command1_Click() Text1.Text = 欢迎使用VB!End SubPrivate Sub Command2_Click() Text1.Text = End SubPrivate Sub Command3_Click() EndEnd Sub实验1.2程序的界面设计。(可以是多张主要的图。下面的图要替换成你们自己设计的图)程序代码。Private Sub Command1_Click() Label1.Visible = True Command2.Enabled = True Command1.Enabled = FalseEnd SubPrivate Sub Command2_Click() Label1.Visible = False Command2.Enabled = False Command1.Enabled = TrueEnd SubPrivate Sub Command3_Click() Label1.Caption = 你好,张三! Command3.Enabled = FalseEnd Sub五、实验结果及分析实验1.1运行结果。(可以是多张主要的图。输入数据,显示结果。下面的图要替换成你们自己的图。如何取图?运行程序,按“Alt + Print Screen SysRq”键,选中下面这张图,按“Ctrl + V”键,替换掉)实验1.2运行结果。(可以是多张主要的图。输入数据,显示结果。下面的图要替换成你们自己的图)实验2.1 设计一个程序,运行时界面如图2-1所示。当单击“左”、“右”、“上”、“下”按钮时,标签分别向左、右、上、下移动。图2-1 程序运行时的界面实验2.2 设计一个程序,在文本框中输入一个3位整数,单击按钮后,在标签上输出该数的百位数、十位数和个位数,运行界面如图2-2所示。图2-2 程序运行时的界面实验2.3 设计一个程序,实现简单计算的功能,运行界面如图2-3所示。图2-3 程序运行时的界面实验2.4 设计一个程序,单击“输入”按钮可弹出一个输入对话框,提示用户输入带区号的电话号码,区号为4为,号码为8位,比如输入,然后将区号和电话号码在消息对话框中显示出来,运行界面如图2-4所示。 图2-4 程序运行时的界面四、实验原始记录实验2.1程序的界面设计。程序代码。 Private Sub Command1_Click() Label1.Left = Label1.Left - 100End SubPrivate Sub Command2_Click() Label1.Left = Label1.Left + 100End SubPrivate Sub Command3_Click() Label1.Top = Label1.Top - 100End SubPrivate Sub Command4_Click() Label1.Top = Label1.Top + 100End Sub实验2.2程序的界面设计。程序代码。Private Sub Command1_Click() Dim a As Integer, b As Integer, c As Integer a = Left(Text1.Text, 1) b = Mid(Text1.Text, 2, 1) c = Right(Text1.Text, 1) Label1.Caption = 百位数: & a & 十位数: & b & 个位数: & cEnd Sub实验2.3程序的界面设计。程序代码。Private Sub Command1_Click() Dim a As Single, b As Single a = Text1.Text b = Text2.Text Text3.Text = a + bEnd SubPrivate Sub Command2_Click() Dim a As Single, b As Single a = Text1.Text b = Text2.Text Label1.Caption = - Text3.Text = a - bEnd SubPrivate Sub Command3_Click() Dim a As Single, b As Single a = Text1.Text b = Text2.Text Label1.Caption = * Text3.Text = a * bEnd SubPrivate Sub Command4_Click() Dim a As Single, b As Single a = Text1.Text b = Text2.Text Label1.Caption = / Text3.Text = a / bEnd SubPrivate Sub Command5_Click() Text1.Text = Text2.Text = Text3.Text = End SubPrivate Sub Command6_Click() EndEnd Sub实验2.4程序的界面设计。程序代码。Dim a As String a = InputBox() MsgBox (区号: + Left(a, 4) + Chr(13) + Chr(10) + 号码: + Right(a, 8)五、实验结果及分析实验2.1运行结果。实验2.2运行结果。实验2.3运行结果。实验2.4运行结果。实验3.1 在两个文本框中输入实数,单击按钮,显示“较小值是xxx”。实验3.2 输入三个实数,计算其中的最大值,运行界面如图3-1所示。图3-1 程序运行时的界面实验3.3 用输入对话框输入x,根据下式计算对应的y,并在窗体上输出y的值。实验3.4 由键盘输入(17)范围内的整数,试编程将其转换为中文表示的星期几,运行界面如图3-2所示。图3-2 程序运行时的界面实验3.5(选做)由键盘输入3个数,试编程将它们的中间数打印出来。四、实验原始记录实验3.1程序的界面设计。程序代码。 Private Sub Command1_Click() Dim a As Single, b As Single, m As Single a = Text1.Text b = Text2.Text If a b Then m = b Else m = a End If MsgBox (较小值是) & mEnd Sub实验3.2程序的界面设计。程序代码。Private Sub Command1_Click() Dim a As Single, b As Single, c As Single, m As Single a = Text1.Text b = Text2.Text c = Text3.Text If a b Then m = a Else m = b End If If m 10 Then y = Sqr(x) + Sin(x) ElseIf x = b And b = c Then m = b ElseIf a = c And c = b Then m = c ElseIf b = a And a = c Then m = a ElseIf b = c And c = a Then m = c ElseIf c = a And a = b Then m = a ElseIf c = b And b = a Then m = b End If MsgBox (中间数是: + m) End Sub五、实验结果及分析实验3.1运行结果。实验3.2运行结果。实验3.3运行结果。实验3.4运行结果。实验3.5运行结果。(选做)实验4.1 编写过程Commandl_Click,显示对话框输入n(n0),循环n次,每次随机产生一个两位数,求出其中的偶数之和,并在标签框Label1上显示。实验4.2 编写过程Commandl_Click,用InputBox函数输入10个学生的成绩,统计后依次用标签控件LabellLabe13显示优秀(85-100)、通过(60-84)和未通过(小于60)的人数。实验4.3 编制事件程序 Command1_Click,执行该过程时输入n,并计算下列表达式的值,然后将计算结果在文本框控件Text1中显示。实验4.4 打印出所有的水仙花数,所谓水仙花数是指一个三位数,其各位数字立方和等于该数。例如,153是一水仙花数,因为。实验4.5 用近似公式求值,当时不再累加。实验4.6一个两位数的正整数,如果将其个位数与十位数对调所生成的数称为对调数,如28是82的对调数。现给定一个两位的正整数,请找到另一个两位的正整数,使这两个数之和等于它们各自的对调数之和,如56+32=65+23。四、实验原始纪录实验4.1程序的界面设计。程序代码。 Private Sub Command1_Click() Dim n As Integer, i As Integer, a As Integer, s As Integer Randomize n = InputBox(n = ) For i = 1 To n a = Int(Rnd * (90) + 10) Print a; If a Mod 2 = 0 Then s = s + a End If Next i Label1.Caption = sEnd Sub实验4.2程序的界面设计。程序代码。Private Sub Command1_Click() Dim i As Integer, s As Integer, a As Integer, b As Integer, c As Integer For i = 1 To 10 s = InputBox(成绩是:) Print s; If s = 85 And s = 60 And s = 84 Then b = b + 1 ElseIf s 60 Then c = c + 1 End If Next i Label1.Caption = 优秀人数: & a Label2.Caption = 通过人数: & b Label3.Caption = 未通过人数: & cEnd Sub实验4.3程序的界面设计。程序代码。Private Sub Command1_Click() Dim n As Integer, i As Integer, s As Single n = InputBox(n = ) s = 1 For i = 2 To n s = s + i / (i + 1) * (i + 2) Next i Text1.Text = sEnd Sub实验4.4程序的界面设计。程序代码。Private Sub Form_Click() Dim a As Integer, b As Integer, c As Integer, s As Integer For a = 1 To 9 For b = 0 To 9 For c = 0 To 9 s = 100 * a + 10 * b + c If s = a 3 + b 3 + c 3 Then Print s; End If Next c Next b Next aEnd Sub实验4.5程序的界面设计。程序代码。Private Sub Command1_Click() Dim x As Single, i As Integer, n As Single, m As Single Do i = i + 1 n = i 2 x = x + 1 / n Loop Until (1 / n) 10 (-5) m = Sqr(6 * x) Print mEnd Sub实验4.6程序的界面设计。程序代码。Private Sub Command1_Click() Dim a As Integer, b As Integer, c As Integer, d As Integer, s1 As Integer a = InputBox(十位:) b = InputBox(个位:) For c = 1 To 9 For d = 1 To 9 s1 = (10 * c + d) If (10 * a + b) + s1 = (10 * b + a) + (10 * d + c) Then Print s1; End If Next d Next cEnd Sub五、实验结果及分析实验4.1运行结果。实验4.2运行结果。实验4.3运行结果。实验4.4运行结果。实验4.5运行结果。实验4.6运行结果。(选做)实验5.1 输入10个数给x数组,找出其中值为最大的元素并将其与第一个元素互换,找出值最小的元素并将其与最后一个元素互换,其他元素不动。如原来:8,7,9,15,0,3,-8,19,31,5输出:31,7,9,15,0,3,5,19,8,-8实验5.2 编写事件过程Command1_Click,完成下列运算:(1)输入10个数到整型数组a;(2)将a(1)各位数字和赋值到b(1)、a(2)各位数字和赋值到b(2)、.、a(10)各位数字和赋值到b(10);(3)在窗体上以一行输出a数组各元素值(保持原输入值不变);(4)在窗体上以一行输出b数组各元素值。实验5.3 利用随机函数产生30个不同的三位正整数,打印出这30个数,然后将它们按从大到小的次序排序,并打印出排序后的结果。实验5.4(选做)输入n后,再输入n个数a1,a2,,an,按照下列公式计算s的值并显示。四、实验原始纪录实验5.1程序的界面设计。程序代码。 Dim x(10) As Integer, i As Integer, max As Integer, min As Integer Dim max_pos As Integer, min_pos As Integer For i = 1 To 10 x(i) = InputBox() Print x(i); Next i Print min = x(1) max = x(1) min_pos = 1 max_pos = 1 For i = 1 To 10 If max x(i) Then min = x(i) min_pos = i End If Next i If max_pos 1 Then x(max_pos) = x(1) x(1) = max End If If min_pos 10 Then x(min_pos) = x(10) x(10) = min End If For i = 1 To 10 Print x(i); Next i实验5.2程序的界面设计。程序代码。Dim a(10) As Integer, b(10) As Integer, i As Integer For i = 1 To 10 a(i) = InputBox() Print a(i); Next i Print For i = 1 To 10 Do b(i) = b(i) + a(i) Mod 10 a(i) = a(i) 10 Loop Until a(i) = 0 Print b(i); Next i Print实验5.3程序的界面设计。程序代码。Dim i As Integer, j As Integer, a(30) As Integer, t As Integer Randomize For i = 1 To 30 a(i) = Int(Rnd * 1000) Print a(i); Next i Print For i = 1 To 29 For j = 1 To 30 - i If a(j) a(j + 1) Then t = a(j) a(j) = a(j + 1) a(j + 1) = t End If Next j Next i For i = 1 To 30 Print a(i); Next i实验5.6(选做)程序的界面设计。程序代码。Dim n As Integer, a() As Single, i As Integer Dim sum As Single, v As Single, s As Single, k As Single n = InputBox(n =) ReDim a(n) For i = 1 To n a(i) = InputBox() Print a(i); Next i Print For i = 1 To n sum = sum + a(i) Next i v = sum / n k = 0 For i = 1 To n k = k + (a(i) - v) 2 Next i s = Sqr(k) / n Print s; Print五、实验结果及分析实验5.1运行结果。实验5.2运行结果。实验5.3运行结果。实验5.4运行结果。(选做)实验6.1 编写一个求三个数最大值的函数max(x,y,z),然后调用此函数求下列表达式的值,首先在文本框中输入a,b,c三个数,然后单击“计算”按钮,在文本框中输出表达式的值m。表达式为:运行界面如图6-1所示。图6-1 程序运行时的界面实验6.2 编一求素数的函数过程Prime(x),若x是素数返回True,否则返回False。主调程序调用Prime(x)函数输出100之内的所有素数。实验6.3(选做)编一过程Find(S1,S2),用于在字符串S1中查找子串S2,并用消息框输出结果:未找到或找到的个数。(提示:利用Mid函数反复在字符串S1找S2子串。)四、实验原始纪录实验6.1程序的界面设计。程序代码。 Private Sub Command1_Click() Dim a As Single, b As Single, c As Single, m As Single a = Text1.Text b = Text2.Text c = Text3.Text m = max(a, b, c) / (max(a + b, b, c) * max(a, b, b + c) Text4.Text = mEnd SubFunction max(ByVal x As Single, ByVal y As Single, ByVal z As Single) As Single max = x If max y Then max = y If max z Then max = zEnd Function实验6.2程序的界面设计。程序代码。Private Sub Form_Click()Dim i As IntegerFor i = 1 To 100 If prime(i) Then Print i;Next iEnd SubFunction prime(ByVal x As Integer) As Boolean Dim i As Integer If x 2 Then Exit Function For i = 2 To Sqr(x) If x Mod i = 0 Then Exit Function Next i prime = TrueEnd Function实验6.3(选做)程序的界面设计。程序代码。Private Sub Form_Load() Dim s1 As String, s2 As String s1 = acaca s2 = aca Call find(s1, s2)End SubPrivate Sub find(s1 As String, s2 As String) Dim i As Integer, n As Integer i = InStr(s1, s2) Do While i 0 n = n + 1 s1 = Right(s1, Len(s1) - i) i = InStr(s1, s2) Loop If n = 0 Then MsgBox (未找到) Else MsgBox (找到 & n & 个) End If End Sub五、实验结果及分析实验6.1运行结果。实验6.2运行结果。实验6.3运行结果。(选做)实验7.1 设计一个字体修饰的程序,界面如图7-1所示。要求:框架1中有两个复选框,可以选择粗体和斜体对标签中的文字进行修饰;框架2中有两个单选按钮,可以选择宋体或楷体对标签中的文字进行修饰;标签Label1的文字内容为“Visual Basic 程序设计”,宋体,常规,三号;文字对齐方式为居中。图7-1 字体修饰实验7.2 设计一个点菜的程序,界面如图7-2所示。要求:框架中的复选框提供可选择的三种套餐,右边的文本框中可以输入数量;输入时文本框只接受数字键;并且只有选取了相应的套餐后才可以进行输入;如果没有选取套餐,那么文本框不能编辑并清空;单击“确定”按钮,统计点餐的金额,并用消息框显示出来;图7-2 点菜实验7.3 设计一密码修改程序,要求。1) 当单击“确定”按钮后,首先比较“用户名”和“原密码”是否一致,若一致且都为“admin”,则继续执行步骤2;否则弹出消息框,提示用户出错,并让用户重新输入。2) 比较“新密码(N) ”和“新密码(S) ”,若两者一致,弹出密码修改成功消息框,程序终止执行。否则弹出错误消息,并让用户重新输入。3) 当单击“取消”按钮后,程序终止执行。图7-3 密码修改实验7.4(选做)设计一个拨号盘的程序。界面如图7-4所示。要求:命令按钮数组构成数字键,单击数字键按钮,将拨号的内容显示在文本框Text1中;单击“重拨”按钮,再现原来的拨号过程;(提示:再现过程由定时器实现)定时器的时间间隔为0.5秒;设置文本框最多接受10个字符。图7-4 拨号盘四、实验原始纪录实验7.1程序的界面设计。程序代码。 Private Sub Check1_Click() If Check1.Value = 1 Then Label1.FontBold = True Else Label1.FontBold = False End IfEnd SubPrivate Sub Check2_Click() If Check2.Value = 1 Then Label1.FontItalic = True Else Label1.FontItalic = False End IfEnd SubPrivate Sub Option1_Click() Label1.FontName = Option1.Caption End SubPrivate Sub Option2_Click() Label1.FontName = Option2.CaptionEnd Sub实验7.2程序的界面设计。程序代码。Private Sub Check1_Click() If Check1.Value = 0 Then Text1.Text = Text1.Enabled = False Else Text1.Enabled = True End IfEnd SubPrivate Sub Check2_Click() If Check2.Value = 0 Then Text2.Text = Text2.Enabled = False Else Text2.Enabled = True End IfEnd SubPrivate Sub Check3_Click() If Check3.Value = 0 Then Text3.Text = Text3.Enabled = False Else Text3.Enabled = True End IfEnd SubPrivate Sub Command1_Click() Dim sum As Single If Check1.Value = 1 Then sum = 13 * Val(Text1.Text) End If If Check2.Value = 1 Then sum = sum + 18 * Val(Text2.Text) End If If Check3.Value = 1 Then sum = sum + 25 * Val(Text3.Text) End If MsgBox (总价 & sum & 元)End SubPrivate Sub Form_Load() Text1.Text = Text1.Enabled = False Text2.Text = Text2.Enabled = False Text3.Text = Text3.Enabled = FalseEnd SubPrivate Sub Text1_KeyPress(KeyAscii As Integer) If (KeyAscii 57) Then KeyAscii = 0 End IfEnd SubPrivate Sub Text2_KeyPress(KeyAscii As Integer) If (KeyAscii 57) Then KeyAscii = 0 End IfEnd SubPrivate Sub Text3_KeyPress(KeyAscii As Integer) If (KeyAscii 57) Then KeyAscii = 0 End IfEnd Sub实验7.3程序的界面设计。程序代码。Private Sub Command1_Click() If Text1.Text = admin And Text2.Text = admin Then If Text3.Text = Text4.Text Then MsgBox (密码修改成功) End Else MsgBox (密码不一致,请重新输入) End If Else MsgBox (用户名或密码错误,请重新输入) End IfEnd SubPrivate Sub Command2_Click() EndEnd Sub实验7.4(选做)程序的界面设计。程序代码。Dim s As StringDim step As IntegerPrivate Sub Command1_Click(Index As Integer) Text1.Text = Text1.Text + Command1(Index).CaptionEnd SubPrivate Sub Command2_Click() s = Text1.Text Text1.Text = step = 0 Timer1.Enabled = TrueEnd SubPrivate Sub Timer1_Timer() step = step + 1 If step Len(s) Then Timer1.Enabled = False Else Text1.Text = Text1.Text + Mid(s, step, 1) End IfEnd Sub五、实验结果及分析实验7.1运行结果。实验7.2运行结果。实验7.3运行结果。实验7.4运行结果。(选做)实验8.1 下列程序运行时,先输入各公司月销售额,然后单击命令按钮,图片框中将显示各公司销售额的圆饼图(如图8-1所示)。要求:在文本框中只能输入数字字符;在圆饼图中分别用红、绿、篮色显示A、B、C公司的扇区填充色。图8-1 程序运行时的界面实验8.2(选做)坐标系作图:设置如图8-2所示的运行界面,单击“坐标系”按钮,将图片框的坐标系设置为原点在中央,x轴-10,10,y轴-10,10,并画出该坐标系;单击“扇形”按钮,在图片框中画出一个圆心在原点,半径为5,圆周为红色,线宽为2,内部为绿色,起始角为30度,终止角为150度的扇形;单击“退出”按钮,结束程序运行。图8-2 “作图”运行界面四、实验原始纪录实验8.1程序的界面设计。程序代码。 Const pi = 3.1415926Private Sub Command1_Click() Dim a As Integer, b As Integer, c As Integer, d As Integer a = Text1.Text b = Text2.Text c = Text3.Text d = a + b + c Picture1.FillStyle = 0 Picture1.FillColor = vbRed Picture1.Circle (2000, 2000), 1000, vbBlack, -2 * pi, -(a / d) * pi * 2 Picture1.FillColor = vbGreen Picture1.Circle (2000, 2000), 1000, vbBlack, -(a / d) * pi * 2, -(a + b) / d) * pi * 2 Picture1.FillColor = vbBlue Picture1.Circle (2000, 2000), 1000, vbBlack, -(a + b) / d) * pi * 2, -pi * 2End SubPrivate Sub Text1_KeyPress(KeyAscii As Integer) If KeyAscii 57 Then KeyAscii = 0 End IfEnd SubPrivate Sub Text2_KeyPress(KeyAscii As Integer) If KeyAscii 57Then KeyAscii = 0 End IfEnd SubPrivate Sub Text3_KeyPress(KeyAscii As Integer) If KeyAscii 57Then KeyAscii = 0 End IfEnd Sub实验8.2(选做)程序的界面设计。程序代码。Const pi = 3.1415926Privat

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论