实验五_循环结构程序设计1_答案1103

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 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)

三. 讨论、心得(必须做)

相关文档
最新文档