VB实验任务9答案

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

实验任务九参考答案

课程名称:程序设计基础VB

实验名称——八、循环结构程序设计(2)

一、实验目的:

1.进一步掌握循环语句的基本结构

2.清楚循环流程,掌握循环语句的描述

4.掌握多重循环结构程序的设计方法

二、实验内容(包括实验要求(题目)、实验步骤、程序清单、运行情况):

程序完善题的做题技巧和方法

建议,先根据程序运行的参考界面和题目要求,分析代码中变量和对象各自的作用(一般从输入或输出方面着手推导和分析),然后填充程序[希望同学们通过实践掌握]

实验1 阅读程序,人工列表写出下列循环的运行次数和执行结果(注意输出格式),并上机验证结果,并充分使用单步

实验2实验书103页实验5-11 改错题。窗体如图所示。要求程序运行时,在文本框text1中输入一个姓氏,单击“删除”按钮(名称为Command1),则可删除列表框List1中所有该姓氏的项目。编程以下程序实现此功能。 在调试时发现,如输入“陈”,可以正确删除所有“陈”的项目,但输入“刘”,但输入“刘”,则只删除了“刘邦”,如图b 所示,这说明程序不能适应所有情况,需要修改。

Private Sub Command1_Click() Dim n%, k%

n = Len(Text1.Text)

For k = List1.ListCount - 1 To 0 Step -1

If Left(List1.List(k), n) = Text1.Text Then List1.RemoveItem k End If Next k End Sub

实验3 实验书实验6-5 编程实现求Armstrong 数,Armstrong 数具有如下特征:一个n 位数等于其各位数的n 次方之和。例如,153=13+53+33

1634=14+64+34+44

提示:把数值转换成字符串后,利用Mid 函数取每一位上的数。

法一:

Private Sub Command1_Click()

Dim i As Integer, a As Integer, j%, b As Integer, k%, c%, h As Long, d As Long For i = 10 To 99

a = Val(Left(a, 1)) ^ 2 + Val(Right(a, 1)) ^ 2 If a = i Then Print i Next i

For j = 100 To 999

b = Val(Left(j, 1)) ^ 3 + Val(Mid(j, 2, 1)) ^ 3 + Val(Right(j, 1)) ^ 3 If b = j Then Print b Next j

For k = 1000 To 9999

c = Val(Left(k, 1)) ^ 4 + Val(Mid(k, 2, 1)) ^ 4 + Val(Mid(k, 3, 1)) ^ 4 + Val(Right(k, 1)) ^ 4

If k = c Then Print c

法二:

Dim n%, k%

n = Len(Text1.Text)

For k = 0 To List1.ListCount - 1

If Left(List1.List(k), n) = Text1.Text Then List1.RemoveItem k k = k - 1 End If Next k

For h = 10000 To 99999

d = Val(Left(h, 1)) ^ 5 + Val(Mid(h, 2, 1)) ^ 5 + Val(Mid(h, 3, 1)) ^ 5 + Val(Mid(h, 4, 1))

^ 5 + Val(Right(h, 1)) ^ 5

If d = h Then Print d

Next h

End Sub

法二:

Private Sub Command2_Click()

Dim i&, n%, s&, m%

For i = 1 To 99999

n = Len(CStr(i))

s = 0

For j = 1 To n

s = s + Mid(CStr(i), j, 1) ^ n

Next j

If s = i Then Print i

Next i

End Sub

法三:

Private Sub Command3_Click()

Dim i As Long, a As Long, b As Integer, c As Integer, d As Integer, e As Integer, f As Integer For i = 1 To 99999

a = i \ 10000

b = (i - 10000 * a) \ 1000

c = (i - 10000 * a - 1000 * b) \ 100

d = (i - 10000 * a - 1000 * b - 100 * c) \ 10

e = i - 10000 * a - 1000 * b - 100 * c - 10 * d

n = Len(CStr(i))

If i = a ^ n + b ^ n + c ^ n + d ^ n + e ^ n Then

Print i

End If

Next i

End Sub

实验4 实验书105页实验5-15在界面上放三个按钮,分别打出下面三幅图。

数字三角形字母倒三角图形数字菱形图形

Private Sub Command1_Click()

Cls

For i = 1 To 9

Print Spc(9 - i);

For j = 1 To 2 * i - 1

Print CStr(i);

Next j

Print

Next i

相关文档
最新文档