VB实验二 实验答案

  • 格式:pdf
  • 大小:428.95 KB
  • 文档页数:10

下载文档原格式

  / 10
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

实验报告二

实验目的

(1)掌握分支结构(if、if else、select case)语句

(2)掌握基本循环控制结构(For-Next、While-Wend、Do-Loop)语句

(3)掌握循环嵌套结构

(4)掌握素数算法

(5)能综合运用循环控制结构解决较复杂的问题

实验内容

一、选择结构程序设计

【实验3-1】编写一个“系统登录”程序,对用户输入的账号和密码进行检验。(10分)要求:

①账号不超过6位数,密码为4位字符,本题的密码假设为“majq”。

②账号中不能有非数字字符,可以通过IsNumeric函数对文本框中的输入内容进行测试。

③密码输入时,屏幕上不能显示输入字符,以“*”代替。

④当输入不正确时,显示提示信息。若单击“重试”按钮,则清除原输入内容,焦点定位在原输入的文本框中,重新输入;若单击“取消”按钮,则停止程序的运行。

⑤密码检验运行界面和输入密码错误显示的信息分别如图3-2和图3-3所示。

图3-2 密码检验运行界面图3-3 输入密码错误显示信息掌握简单if语句的使用

实验结果:

【请将你的代码粘贴到下面】

【请将你的典型结果的截图粘贴到下面】

【实验3-2】税务部门征收所得税,规定如下(用IF语句实现)(10分)

①当收入为200 元以内(含200元)时,免征;

②当收入为200 ~ 400 元(含400元)时,将超过200 元的部分纳税3% ;

③当收入为400 ~ 5000元(不含5000元)时,将超过400 元的部分纳税4% ;

④当收入为5000 元或5000元以上时,将超过400元的部分纳税5% 。

程序运行后,单击窗体,在输人对话框中输入收入数,程序将输出纳税金额,运行情况如下图所示,要求

纳税程序界面

掌握多分支if语句的使用,可自行用select语句改写。

实验结果:

【请将你的代码粘贴到下面】

【请将你的典型结果的截图粘贴到下面】

【实验3-3】猜数游戏

程序自动产生一个[1,100]内的正整数,要用户猜,用户猜的值与被猜值的差距用“*”号个数表示,“*”越少表示差得越远,“*”越多表示相差越近。(用select case语句实现)

(10分)

界面设计参见下图:。

猜数游戏界面

掌握select case语句的使用,可自行用if语句改写。

实验结果:

【请将你的代码粘贴到下面】

【请将你的典型结果的截图粘贴到下面】

二、循环结构程序设计

【实验3-4】求自然数N 的阶乘N!,运行结果如下图所示(10分)

求阶乘界面

掌握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分)

打印菱形界面

掌握多重循环程序设计,可自行扩展称为等边三角形、直角三角形。实验结果:

【请将你的代码粘贴到下面】

Private Sub Command1_Click()

Dim n As Integer

Dim i As Integer, j As Integer

n = InputBox("输入图案偶数行")

For i = 1 To n / 2

For j = 1 To 2 * i - 1

Print Tab(10 - i + j); "*";

Next j

Print

Next i

For i = n / 2 To 1 Step -1

For j = 1 To 2 * i - 1

Print Tab(10 - i + j); "*";

Next j

Print

Next i

End Sub

方法2:

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个素数之和。(10分)掌握素数算法,可用其它循环语句编写、对比。

实验结果:

【请将你的代码粘贴到下面】

Private Sub Form_Click()

Dim i As Integer, j As Integer, Nums As Integer, Total As Integer

Dim Flag As Boolean

i = 1000

Print "这10个素数分别是:"

While Nums < 10

Flag = True '假设i是素数

For j = 2 To Sqr(i) '验证以上假设是否正确

If i Mod j = 0 Then '发现i能被因子j整除,即i不是素数