1、VB实验2实 验 报 告 二实验目的(1)掌握分支结构(if、if else、select case)语句(2)掌握基本循环控制结构(For-Next、While-Wend、Do-Loop)语句(3)掌握循环嵌套结构(4)掌握素数算法(5)能综合运用循环控制结构解决较复杂的问题实验内容一、选择结构程序设计【实验3-1】编写一个“系统登录”程序,对用户输入的账号和密码进行检验。(10分)要求: 账号不超过6位数,密码为4位字符,本题的密码假设为“majq”。 账号中不能有非数字字符,可以通过IsNumeric函数对文本框中的输入内容进行测试。 密码输入时,屏幕上不能显示输入字符,以“*”代替。
2、当输入不正确时,显示提示信息。若单击“重试”按钮,则清除原输入内容,焦点定位在原输入的文本框中,重新输入;若单击“取消”按钮,则停止程序的运行。 密码检验运行界面和输入密码错误显示的信息分别如图3-2和图3-3所示。 图3-2 密码检验运行界面 图3-3 输入密码错误显示信息掌握简单if语句的使用实验结果:【请将你的代码粘贴到下面】Private Sub cmdClear_Click() txtNo.Text = txtNo.Text = End SubPrivate Sub cmdExit_Click() EndEnd SubPrivate Sub cmdOK_Click() Dim i A
3、s Integer If txtPas.Text = majq Then MsgBox 输入正确 Else i = MsgBox(密码错误, 5 + vbExclamation, 输入密码) If i 4 Then End Else txtPas.Text = txtPas.SetFocus End If End IfEnd SubPrivate Sub Form_Load() txtNo.Text = txtNo.Text = End SubPrivate Sub txtNo_LostFocus() If Not IsNumeric(txtNo) Then MsgBox 账号有非数字字符,
4、vbExclamation, 输入账号 txtNo.Text = 清空 txtNo.SetFocus txtno获得焦点 上面两步是文本框重新输入的惯用操作End IfEnd Sub【请将你的典型结果的截图粘贴到下面】【实验3-2】税务部门征收所得税,规定如下(用IF语句实现)(10分)当收入为200 元以内(含200元)时,免征; 当收入为 200 400 元(含400元)时,将超过 200 元的部分纳税 3% ; 当收入为 400 5000元(不含5000元)时,将超过 400 元的部分纳税 4% ;当收入为 5000 元或5000元以上时,将超过400元的部分纳税5% 。程序运行后,单击
5、窗体,在输人对话框中输入收入数,程序将输出纳税金额,运行情况如下图所示 ,要求纳税程序界面掌握多分支if语句的使用,可自行用select语句改写。实验结果:【请将你的代码粘贴到下面】Private Sub Form_click() Dim x As Integer Dim y As Single x = Val(InputBox(输入收入) If x = 200 Then y = 0 ElseIf x = 400 Then y = (x - 200) * 0.03 ElseIf x =5000 Then y = (x - 400) * 0.04 Else y = (x - 400) * 0.0
6、5 End If Print 收入为; x; 应纳税为:; yEnd Sub【请将你的典型结果的截图粘贴到下面】【实验3-3】猜数游戏程序自动产生一个1,100内的正整数,要用户猜,用户猜的值与被猜值的差距用“*”号个数表示,“*”越少表示差得越远,“*”越多表示相差越近。(用select case语句实现)(10分)界面设计参见下图:。猜数游戏界面掌握select case语句的使用,可自行用if语句改写。实验结果:【请将你的代码粘贴到下面】 Dim N As IntegerPrivate Sub Command1_Click() Dim d As Integer d = Abs(Val(T
7、ext1.Text) - N) Select Case d Case Is = 0 ds = 你猜对了!真聪明! Case 1 To 2 ds = * * * * * * Case 3 To 5 ds = * * * * * Case 6 To 10 ds = * * * * Case 11 To 20 ds = * * * Case 21 To 50 ds = * * Case Else ds = * End Select MsgBox dsEnd Sub【请将你的典型结果的截图粘贴到下面】二、循环结构程序设计【实验3-4】求自然数 N 的阶乘 N!,运行结果如下图所示(10分)求阶乘界面掌
8、握for语句的使用方法,可用其它循环语句编写、对比。实验结果:【请将你的代码粘贴到下面】Private Sub Command1_Click() Dim n As Integer Dim i As Integer Dim s As Double n = Val(Text1.Text) s = 1 For i = 1 To n s = s * i Next i Text2.Text = s End Sub 【请将你的典型结果的截图粘贴到下面】【实验3-5】编程实现如图5-2所示的打印效果(10分)打印菱形界面掌握多重循环程序设计,可自行扩展称为等边三角形、直角三角形。实验结果:【请将你的代码粘贴
9、到下面】Private Sub Command1_Click() Dim n As Integer Dim i As Integer, j As Integer n = InputBox(输入图案偶数行) For i = 1 To n / 2 Print Tab(10 - i); string(2*i-1,*); Next i For i = n / 2 To 1 Step -1 Print Tab(10 - i); string(2*i-1,*); Next i End Sub 【请将你的典型结果的截图粘贴到下面】【实验3-6】素数问题:计算小于1000且最靠近1000的10个素数之和。(1
10、0分)掌握素数算法,可用其它循环语句编写、对比。实验结果:【请将你的代码粘贴到下面】Private Sub Command1_Click() Dim n%, sum#, k% n = 999 Do While k 10 判断n是否是素数 For j = 2 To n - 1 If n Mod j = o Then Exit For Next j If j n - 1 Then k = k + 1 sum = sum + n End If n = n - 1 Loop Print sumEnd Sub 【请将你的典型结果的截图粘贴到下面】三、常见程序设计【实验3-7】编写一个简易计算器编写程序计
11、算S=1+1/2+1/4+1/7+1/11+1/16+1/22+当第i项的值= 0.00001 MsgBox s End Sub 【请将你的典型结果的截图粘贴到下面】【实验3-8】将200300之间的素数输出到列表框中。(10分)掌握素数算法实验结果:【请将你的代码粘贴到下面】Private Sub Command1_Click() For i = 200 To 300 判断I是否是素数 For J = 2 To i - 1 If i Mod J = 0 Then Exit For Next J If J i - 1 Then List1.AddItem i End If Next iEnd
12、Sub 【请将你的典型结果的截图粘贴到下面】【实验3-9】编写程序,在窗体上输出上三角形式的九九乘法表。(10分)掌握多重For循环程序设计实验结果:【请将你的代码粘贴到下面】Private Sub Form_Click() Dim a As Integer Dim b As Integer For a = 1 To 9 For b = 1 To a Print CStr(b) & * & CStr(a) & = & CStr(a * b); Spc(2); Next b Print Next aEnd Sub【请将你的典型结果的截图粘贴到下面】【实验3-10】任意输入一个或者多个英文句子,统
13、计这些句子中的单词数量。(10分)根据实际问题,找出解决方案,结合循环和分支结构语句,解决问题。提示:有很多种方法可以解决这个问题,注意特殊情况。实验结果:【请将你的代码粘贴到下面】Private Sub Command1_Click() Dim BufStr As String, LS As Long, LE As Long, V() As String BufStr = Text1.Text BufStr = Replace(BufStr, , ) BufStr = Replace(BufStr, vbCrLf, ) BufStr = Replace(BufStr, vbCr, ) Buf
14、Str = Replace(BufStr, vbLf, ) BufStr = Trim(BufStr) Do LS = Len(BufStr) BufStr = Replace(BufStr, , ) LE = Len(BufStr) Loop Until LS = LE V = Split(BufStr, ) Text2.Text = Trim(UBound(V) - LBound(V) + 1)End Sub【请将你的典型结果的截图粘贴到下面】【加分1】百钱买百鸡问题,一百个钱买了一百只鸡,其中公鸡一只5钱、母鸡一只3钱,小鸡一钱3只,问一百只鸡中公鸡、母鸡、小鸡各多少) (加分10分,最
15、高100分)实验结果:【请将你的代码粘贴到下面】Private Sub Command1_Click()For i = 0 To 100 For j = 0 To 100 For k = 0 To 100 If i * 5 + j * 3 + k / 3 = 100 And i + j + k = 100 Then Print i, j, k End If Next k Next j Next iEnd Sub【请将你的典型结果的截图粘贴到下面】【加分2】完成超级玛丽的子弹消灭怪兽、跳跃、碰撞、吃蘑菇功能 (加分20分,最高100分)实验结果:【请将你的代码粘贴到下面】【请将你的典型结果的截图粘贴到下面】实验小结1. 遇到的问题:2. 对课程的建议:
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1