- 1、本文档共17页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
For循环语句.ppt
衡阳市一中信息奥赛培训 For 循环语句 前言 在实际应用中,会经常遇到许多有规律性的重复运算,这就需要掌握本章所介绍的循环结构程序设计。在Pascal语言中,循环结构程序通常由三种的循环语句来实现。它们分别为FOR循环、当循环和直到循环。通常将一组重复执行的语句称为循环体,而控制重复执行或终止执行由重复终止条件决定。因此,重复语句是由循环体及重复终止条件两部分组成。 循环结构的介绍 在实际应用中,会经常遇到许多有规律性的重复运算,这就需要掌握本章所介绍的循环结构程序设计。在Pascal语言中,循环结构程序通常由三种的循环语句来实现。它们分别为FOR循环、当循环和直到循环。通常将一组重复执行的语句称为循环体,而控制重复执行或终止执行由重复终止条件决定。因此,重复语句是由循环体及重复终止条件两部分组成。 右图表示1+2+…+100的循环结构流程图 一、for语句的一般格式 for 控制变量:=表达式1 to 表达式2 do 语句; 递增 for 控制变量:=表达式1 downto 表达式2 do 语句; 递减 EG:(1) num:=0;for i:=1 to 100 do num:=num+I; {i从1递增到100} (2) num:=1;for i:=100 downto 1 do num:=num*i {i从10递减到1} 其中for、to、downto和do是Pascal保留字。表达式1 与表达式2的值也称为初值和终值。 对于for循环有时也称为计数循环 ,因为我们用循环控制变量来控制 循环体执行的次数,循环体执行的次数是(初值和终值之差的绝对值+1),for循环的特点是我们明确知道循环体执行的次数 二、For语句执行过程 SUM:=0;{程序体部分} FOR I:=1 TO 100 DO SUM:=SUM+I; ①先将初值赋给左边的变量(称为循环控制变量) ②判断循环控制变量的值是否已“超过”终值,如已超过,则跳到步骤⑥;考虑 FOR I:=3 TO 2 DO ③如果末超过终值,则执行do后面的那个语句(称为循环体); ④循环变量递增(对to)或递减(对downt o)1; ⑤返回步骤②; ⑥循环结束,执行for循环下面的一个语句。 注意下面几点 (1)循环控制变量必须为顺序型.可以是整型、字符型、布尔型、枚举型、子界型,不能为实型。如:for I:=1.5 to 4.5 do write(I)是错误的。 (2)循环体可以是一个基本语句,也可以是一个复合语句。 例2:for I:=1 to n do begin readln(x); writeln(x+1); end; (3)循环控制变量不得在循环体内再被赋值,如下例是错误的: 例3:for x:=1 to 10 do begin x:=2*x+1; writeln(x) end;//这样循环就会变的很混乱 (4)如果在循环次数没有到就提前退出循环用BREAK; 如果在程序中想终止程序用 exit; 四、应用举例一 例1.输出1-100之间的所有偶数。 Program oushu(input,output); var i:integer; begin for i:=1 to 100 do{用记数形循环来实现穷举1~100之间的偶数} if i mod 2=0 then write(i:5); end.思考:我们还有什么方法来实现这个题目; 输出100-999中所有能被3或被5整除的数字; 应用举例二 例2.求N!=1*2*3*…*N ,这里N不大于10。 分析:程序要先输入N,然后从1累乘到N。 程序如下: var n,i : integer;{i为循环变量} S : longint;{s作为累乘器}//思考:为什么要把S设置成 longint类型 begin write(Enter n=); readln(n);{输入n} s:=1;//赋初值 for i:=2 to n do{从2到n累乘到s中} s:=s*i; writeln(n,!=,s);{输出n!的值} end. 思考:编程完成求输入的10个整数的积和和 例2:求两个整数a与b的最大公约数 var a,b,i,t:integer; begin write(‘a,b:
文档评论(0)