- 1、本文档共5页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
《Visual Basic语言》上机实验八
实验名称:循环结构程序设计(2学时)
一、实验目的
1. 掌握While…Wend和For语句的使用。
2. 掌握Do While/Until…Loop与Do…loop While/Until两种循环语句的使用。
3. 加深理解循环的概念,掌握循环的规则及其执行过程。
4. 学会如何控制循环条件,防止死循环或不循环。
二、背景知识
如果在指定的条件下多次重复执行一组相同的语句可以通过循环来实现,VB提供了下面几种形式的循环语句:
1.For循环语句
For 循环变量 = 初值 To 终值 [Step步长]
语句块
[Exit For]
语句块
Next 循环变量
说明:在使用这种循环语句时,要求循环执行的次数预先可以确定。循环次数由初值、终值和步长值3个因素确定,计算公式为:
循环次数 = Int((终值–初值)/步长 + 1)
2.Do…Loop循环语句
说明:
(1)在循环次数不能确定的情况下,就需要用到Do…Loop循环语句。
(2)格式1是先判断循环条件是否成立,然后决定是否执行循环体;格式2是先执行循环体,再判断循环条件是否成立,也就是说,不管循环条件是否成立,格式2都至少执行一次循环体。
(3)在格式1和格式2中使用关键字While实现的循环称为“当型循环”,即当循环条件成立时,反复执行循环体,直到循环条件不成立时为止;使用关键字Until实现的循环称为“直到型循环”,即当循环条件不成立时,反复执行循环体,直到循环条件成立时为止。
3. While…Wend语句
While 条件
语句块
Wend
说明:此语句是为了保持与低版本Visual Basic兼容而保留的。在实际应用中,它与Do While…Loop结构非常相似。
三、实验举例
注:实验举例的内容不需要再上交作业。
实例1 求自然对数的底?e的近似值,要求其误差小于10-6,求e近似值的公式为:
e =
分析:本实例涉及到程序设计中的两个重要的运算:累加和连乘。累加是在原有和的基础上逐次地加上一个数;连乘则是在原有积的基础上逐次地乘以一个数。
在本题中可以定义三个变量,s用来表示累加和,初值为0;i用来计数,表示第几项,初值为0(表示第1项,即加数“1”),编程时可先根据上一个加数计算出下一个加数,然后进行累加,循环次数事先不能确定,可以采用Do…Loop循环语句来实现,将题目规定的误差范围作为循环条件。据此编写程序代码如下:
Private Sub Form_Click()
Dim s As Single, i As Integer, t As Double
s = 0: i = 0: t = 1
Do While t 0.000001
s = s + t 累加和
i = i + 1 为下一项作准备
t = t / i 计算出下一项的值
Loop
MsgBox 共计算了 i 项的和是 s
End Sub
程序运行时,单击窗体,运行结果如图8.1所示。
当然,本题也可以使用For循环语句来编程。但由于循环次数事先不能确定,因此需预设一个较大的循环次数(可以根据题目合理选择),然后在循环体内判断是否达到规定的误差,如果达到了可采用Exit For语句立即终止循环。据此编写程序如下:
Private Sub Form_Click()
Dim s As Single, i As Integer, t As Double
s = 0: t = 1
For i = 1 To 100
If t 0.000001 Then
Exit For 达到规定的误差就退出循环
End If
s = s + t
t = t / i
Next
MsgBox 共计算了 i - 1 项的和是 s
End Sub
思考:比较用Do…Loop语句和For语句解决上面的问题在程序实现上有什么不同?
实例2 找出1000以下的能被13和7整除的最大的10个数并将它们输出。
分析:从1000开始,循环的找满足条件的整数,直到找到10个为止,因此应专门设一个变量found来记录当前找到的数的个数,只要found的值小于10,说明还没有找够所有的数,循环就要继续进行。据此编写程序如下:
Private Sub Form_Click()
Dim a As Integer, found As Integer
a = 1000: found = 0
While fo
您可能关注的文档
- VB期末练习.doc
- vb期末上机题整理结果.doc
- vb期末试卷B.doc
- vb期末理论复习资料.doc
- vb期末试题.doc
- vb期末试题1.doc
- VB期末综合练习.doc
- VB期中考试卷(2009-2010-1).doc
- VB期中考试试卷(Visual Basic).doc
- vb期中考题举例.doc
- 趣味科学实验在提升小学生动手能力中的应用研究论文.docx
- 高中艺术教育对学生情感认知发展的长期影响研究论文.docx
- 小学地理教学实践,空间思维培养与地理知识迁移能力的培养研究论文.docx
- 小学道德与法治教学中的故事讲述与价值观教育论文.docx
- 初中生物理实验探究活动中的科学方法训练论文.docx
- 小学美术教学中创意表现力培养与评价体系构建研究论文.docx
- 小学语文整本书阅读在提高学生语文素养中的作用研究论文.docx
- 高中生在节日商业化中的文化自觉与教育引导策略研究论文.docx
- 初中生艺术社团活动对学生团队协作能力培养的实践研究论文.docx
- 高中历史教学中历史文献阅读与解读能力的培养研究论文.docx
文档评论(0)