实验五_循环结构程序设计1_答案1103
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验五循环结构程序设计1
实验目标
1.理解并掌握循环的基本作用。
2.掌握FOR/NEXT语句的使用。
3.掌握While/Wend,DO/Loop语句的形式和使用。
4.掌握如何控制循环条件,防止死循环或不循环。
实验内容
1)将窗体文件“5-2.Frm” 和工程文件“5-2.Vbp”上传到老师的ftp服务器上的”周三下午”或”周四下午”或”周五下午”你的文件夹中。
如:“31008888传媒1001张三”.
2)练习5-3,5-4,5-5 也同样将窗体文件和工程文件上传到老师的ftp 服务器上。
【练习5-1】判断下面两个循环语句的循环体分别被执行了多少次,程序执行完毕后变量s,i的值为多少?
程序1
s=0
for i=1 to 10 step 1
s=s+1 next i
print s,i
程序2
s=0
for i=1 to 10 step -1
s=s+1
next i
print s,i
循环体执行了多少次?10 循环体执行了多少次?0
变量s的值:10 变量s的值:0
变量i的值:11 变量i的值: 1
上机实践:用form_click()事件过程来运行调试以上程序。
【练习5-2】阅读以下程序,回答问题。
Private Sub Form_Click()
Dim Str1 As String, str2 As String, str3 As String
Str1 = Text1.Text …str1为原字符串,str2存放临时字符,str3为目标字符串str2 = ""
str3 = ""
n = Len(Str1)
For i = 1 To n
str2 = Mid(Str1, i, 1)
If str2 >= "0" And str2 <= "9" Then
str3 = str3 + str2…注○1
End If
Next i
Form1.Print str3 End Sub
问:若在文本框中输入字符串“A123b45C _de”,窗体中显示什么结果?。
54321
str3 = str3 + str2 End If
上机实践:调试运行以上程序,采用断点调试的方法查看程序执行的中间变量值,进一步加深对循环结构的理解。
【练习5-4】计算下列表达式的值并打印,修改程序中所标识语句处的错误。
100
199
131211-
+
-+-
= s
程序
Public Sub form_click() Dim i As Integer
'****** 错误1 *******
Dim k As Integer ‘修改为:Dim k As Single Dim s As Single
s = 0
'******* 错误2 *******
For i = 1 To 100 ‘修改为: For i = 1 T o 100 Step 2 k = 1 / i
s = s + k
'******* 错误3 *******
k = 1 / i + 1 ‘修改为: k = 1 / (i + 1) s = s - k Next I
Form1.Print "s="; s End Sub
上机实践:运用调试工具调试运行以上程序。 s= .6881719
【练习5-4】command1_click()过程用于判断一个字符串是否“回文”,所谓“回文”是指字符串顺读与倒读都是一样的,如“潮起潮落,落潮起潮”,运行界面如图5-4 所示。请编程实现。
图5-4 运行界面
分析
解题的步骤是:先求原字符串的逆串,再判断原字符串和逆串是否完全相同,若相同则结论为“是回文”否则“不是回文”。
上机实践
编写、运行、调试以上程序。
Private Sub Form_Load()
Label1.Caption = "源字符串:"
Label2.Caption = "结论:"
Command1.Caption = "判断"
Command2.Caption = "结束"
End Sub
Private Sub Command1_Click()
Dim s As String, t As String
Dim i As Integer, k As Integer
s = Text1.Text
k = Len(s)
For i = 1 To k
t = Mid(s, i, 1) + t
Next i
For i = 1 To k \ 2
If Mid(s, i, 1) <> Mid(t, i, 1) Then Exit For
Next i
If i > k \ 2 Then
Label3.Caption = "是回文!"
Else
Label3.Caption = "不是回文!"
End If
End Sub
Private Sub Command2_Click()
End
End Sub
【练习5-5】编程,求下述表达式的值,用Form_Click()事件过程来实现。
Private Sub Form_Click()
Dim i As Integer, w As Double, y As Double
w = 0
y = 0
n = InputBox("输入n:")
For i = 1 To n
y = 1 / i / (i + 1)
w = w + y
Next i
Print “w=”;w
End Sub
上机实践:用form_click事件过程来实现,调试运行以上程序。
w= 0.999900009999001 (n=10000)
三. 讨论、心得(必须做)