15循环语句.ppt.ppt

  1. 1、本文档共15页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
循环语句 1 在实际应用中,会经常遇到许多有规律性的重复运算,这就需要掌握本章所介绍的循环结构程序设计。 在Pascal语言中,循环结构程序通常由三种的循环语句来实现。它们分别为FOR循环、当循环和直到循环。通常将一组重复执行的语句称为循环体,而控制重复执行或终止执行由重复终止条件决定。重复语句是由循环体及重复终止条件两部分组成。 [例1]体育彩票。体育彩票的号码由7位数字组成,现用电脑帮你编一程序产生随机数。 重复7次,可以使用循环语句来实现。 Var a, I :integer; Begin randomize; {初始化程序的随机数开关} For i:=1 to 7 do Begin a:=random(10); {a取一个小于10的整数,但不取负数,可以取0} write (a); end; End. 计数循环语句格式:for语句 FOR 控制变量:=初值 TO 终值 DO 语句 或复合语句 递增型:初值=终值 循环体 FOR 控制变量:=初值 DOWNTO 终值 DO 语句 或复合语句 递减型:初值=终值 循环体 循环的次数如何计算? Abs(终值-初值)+1 [例2] 计算 1+2+3+4的和 改变一下上面的例子:编写程序 计算 1+2+3+4…+100之和 Var I ,s: integer; Begin s:=0; for i:=1 to 100 do s:=s+ I; writeln (’s=’,s); end. I S=0 1 S=0+1 2 S=1+2=3 3 S=3+3=6 …… 100 S=1到99的和+100=5050 Var I ,s: integer; Begin s:=0; for i:=100 downto 1 do s:=s+ I; writeln (’s=’,s); end. I S 100 S=0+100 99 S=100+99=199 98 S=199+98=297 … 1 S=100到2的和+1=5050 语句的执行过程是什么? 先将初值赋值给控制变量 比较控制变量与终值,如果超过则不执行循环体中的语句,结束循环(递增型超过指大于终值,递减型超过指小于终值) 否则执行循环体中的语句 将控制变量的后继(前趋值)赋值给控制变量 从2开始重复 思考1:下列for循环语句循环体执行多少次? for i:=100 to 1 do s:=s+i; for i:= -5 to 5 do s:=s+i; 思考2:循环变量取什么类型的数? var i: char; s: integer; Begin for i:=’a’ to ‘z’ do s:=s+1; Writeln (s); End; 程序的输出结果是:__________ 使用for语句的注意事项 初值和终值可以是表达式,必须是顺序类型 控制变量递增递减的规律用succ和pred函数取前驱和后继,如整型,在原值基础上加1或减1;字符型,则按ASCII码表的顺序计算 初值和终值在循环前计算,在重复执行过程中,其值不受影响 控制变量在循环体内一般情况下不要再有任何赋值的操作 当初值超过终值,不执行循环,循环次数为0 循环次数计算:abs(终值-初值)+1 循环语句 2 课后练习题: 请编写程序计算如下算式: 1-1/2+1/3-1/4+……-1/100 请你考虑应该定义数据类型的变量。 知识点回顾 FOR 控制变量:=初值 TO 终值 DO 语句 FOR 控制变量:=初值 DOWNTO 终值 DO 语句 循环的次数: Abs(终值-初值)+1 Program jisuan; Var I,j:integer; s:real; begin s:=0; j:=-1 for i:=1 to100 do begin j:=j*(-1); s:=s+j*(1/i); end; Writeln(‘s=‘,s) end. Program jisuan; Var I,j:integer; s:real; begin s:=0; for i:=1 to100 do If i mod 2=0 then s:=s-1/I else s:=s+1/i ; Writeln(‘s=‘,s) end. 1、下列程序段是计算_______ 公式的。 S:=0; t:=1; for i:=1 to 10 do Begin t:=

文档评论(0)

youbika + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档