第八课 循环结构一.docVIP

  1. 1、本文档共3页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第八课 循环结构一 问题: 如果计算机在运行如图1所示的流程所描述的算法时,若n的输入值为100,分析变量i,s 的变化,说出s的最后的输出值。 分析:只是一个循环结构的算法,这个问题的关键在于理解这个循环结构,这个循环由i=n 组成了循环的条件,由s←s+i和 i←i+1两个操作组成了循环体,分析循环结构的算法或程序,关键在于分析循环体内的变量变化情况,很显然,这个循环中的规律是这样的:每进入一次循环体,就会将i的值累加到S变量中,而后i变量的值自身增加1,通常我们将s=s+i这样的语句称为累加器,而把i=i+1这样的语句称为计数器。 用于累加的变量s的初始值是0,第一次进入循环体的i是1,自然满足循环条件,进入循环,循环体中把1加到s中去,然后i增1变成2,也满足循环条件,进入循环,然后将2加入到s中… i s 1 0+1=1 2 1+2=3 3 1+2+3=6 4 1+2+3+4=10 …. ….. 99 1+2+…+99=4950 100 1+2+…+100=5050 表1 这样每次进入循环中的i分别是1、2、3、…100,每次进入的i都被加到S里面去,当i的值为101的时候不符合循环条件,退出循环。那么这个时候i的数值当然是101,而s的数值是1+2+…+100的累加和,即5050。 数据的变化如表1所示。 由于N的任意性,上述的算法的能完成计算1+2+3+…+n的和。 二、算法的实现 界面设计如图2所示 我们容易实现红框外的流程图代码: private Sub command1_click() Dim s, i, n As Long n = Val(Text1.Text) s = 0 ‘图1的红框流程实现代码 Text2.Text = Str(s) End Sub 那么图1红框代码怎样实现呢?这就要用到VB的循环语句 VB中最常见的循环语句有两种: 1.Do 语句  Do 语句的执行过程是:先计算条件表达式的值,如果值为True,则执行一次循环体中的语句块,遇到loop后再次计算条件表达式的值,若仍true,继续执行循环体中的语句块,如此不断重复,知道条件表达式的值为False时,才终止Do语句的执行,具体执行的流程参见图3。 针对于本课的问题中红框内的流程,用Do 语句实现的代码就是: i=1 Do while i=n s=s+i i=i+1 Loop 2.For 语句 For循环语句的执行过程是:首先把“初值”赋给“循环变量”,接着判断循环变量的值是否在终值限定的范围内(这个范围有两个含义:当步长是正值的时候,循环变量大于终值就是超范围,而当步长是负值的时候,循环变量小于终值才是超范围),如果循环在允许范围内,则执行一次循环体语句块,然后循环变量自身增加一个步长的值,而后进入循环判断,当循环变量还在范围内,则继续执行上述过程,否则就结束循环。具体的执行流程参见图4。 针对于本课的问题中红框内的流程,用For 语句实现的代码就是: for i=1 to n s=s+i next i 由于For语句比Do语句多了循环变量赋初值功能和循环变量自增功能,图4中蓝色框中的操作是For语句特有的,因而用For语句实现实现循环的代码量往往比Do语句少,但Do语句也有它的特点,由于语句中模式限制,因而应用更灵活。 三、课堂练习 读程序,写答案 北仑中学 算法与程序设计 自编教材 输出s s←0 i←1 n y 结束 图1 图2 i=n? 输入n 开始 i←i+1 s←s+i Text1 Command1 Text2 图3 循环体的语句块 Do语句格式: Do While 条件表达式        语句块Loop (2) S=0 For i=5 to -3 step -6 S=s+i Next i S= i= (1) K=0 i=-3 Do while i3 K=k+1 i=i+2 Loop K= i= () s=1 For i=10 to 8 step -1 S=s*i Next i 这段代码运行后 s=______ 。 T For语句的格式: For 循环变量 = 初值 To 终值Step 步长?step 步长)    语句块Next 循环变量 实践2:用For语句完成连加和的程序设计工作。 实践1:用do语句完成连加和的程序设计工作。 图4 F T 循环变量加步长 循环体的语句块 循环变量是否在初值到终值的范围内? 循环变量赋初值 () dim s,I,n AS Integer s=2 For i=1 t

文档评论(0)

82393aa + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档