欢迎来到天天文库
浏览记录
ID:59017667
大小:205.00 KB
页数:44页
时间:2020-09-26
《第4章 循环结构的程序设计Pascalppt课件.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第四章循环结构第一节循环语句(FOR语句)第二节当语句(WHILE语句)第三节直到循环(REPEAT语句)第四节多重循环结构在实际应用中,会经常遇到许多有规律性的重复运算,这就需要掌握本章所介绍的循环结构程序设计。在Pascal语言中,循环结构程序通常由三种的循环语句来实现。它们分别为FOR循环、当循环和直到循环。通常将一组重复执行的语句称为循环体,而控制重复执行或终止执行由重复终止条件决定。重复语句是由循环体及重复终止条件两部分组成。第一节循环语句(FOR语句)for语句的一般格式for<控制变量>:=<表达式1>to<表达式2>do<语句>;//递增型循环for<控制
2、变量>:=<表达式1>downto<表达式2>do<语句>;//递减型循环其中for、to、downto和do是Pascal保留字。表达式1与表达式2的值称为初值和终值。循环的语句格式:FOR变量名:=初值TO终值DO语句;求1+2+3+……+N的和。如何编程呢?【例】S:=0;FORI:=1TO10DOS:=S+I;Writeln(‘S=’,S);For语句执行过程①先将初值赋给左边的变量(称为循环变量);②判断循环变量的值是否“等于”终值,如已等于终值,则下次不再执行(本次是最后一次执行,循环变量的值也不更改),则跳到步骤⑥;③如果小于等于终值,则执行do后面的那个语
3、句(称为循环体);④循环变量递增(对to)或递减(对downto)1;⑤返回步骤②;⑥循环结束,执行for循环下面的一个语句。说明①循环变量必须是顺序类型。可以是整型、字符型、枚举型等,但不能为实型。②循环变量的值递增或递减的规律是:选用to则为递增;选用downto则递减。③循环体可以是一个基本语句,也可以是一个复合语句。④循环变量的初值和终值一经确定,循环次数就确定了。但是在循环体内对循环变量的值进行修改,常常会使得循环提前结束或进入死环。所以禁止在循环体中随意修改控制变量的值。如:fori:=1to10dobegini:=2*i+1;//禁止类似的修改,FreePa
4、scal中会提示语法错误writeln(i);end;以上for循环是一个死循环,i永远等于2,不可能达到终止值10。⑤for语句中的初值、终值都可以是顺序类型的常量、变量、表达式。应用举例例4.1输出1-100之间的所有偶数。程序如下:Programex4_1;vari:integer;beginfori:=1to100doifimod2=0thenwrite(i:5);end.例4.2编程计算1到100的累加和:s=1+2+3+…+100。【分析】设i为循环控制变量,累加和放在s中,利用循环变量i的值从1变化到100的规律,不需要另外引进从1变化到100的其它变量,程
5、序的流程图如4-2所示。程序如下:Programex4_2;vars,i:integer;begins:=0;fori:=1to100dos:=s+i;writeln(s);end.运行结果:5050只要对程序稍加修改就可以计算出以下算式的值:s=1+1/2+1/3+…+1/100s=12+22+32+…+1002s=2+4+6+…+100等等。例4.3将顺序打印出26个小写英文字母:"abc…zz…cba"。程序如下:Programex4_3;vark:char;beginfork:='a'to'z'dowrite(k);fork:='z'downto'a'dowrit
6、e(k);writeln;end.例4.4N的阶乘是指1到N的累乘,即N!=1*2*3*…*N,输入一个数,求这个数的阶乘?程序如下:Programex4_4;varn,i:integer;//i为循环变量s:longint;//s存放阶乘的结果,类型为长整型,防止结果太大beginreadln(n);s:=1;//这条语句少了,选手们思考一下,会出现什么现象?fori:=2tondo//从2到n累乘到s中s:=s*i;writeln(s);//输出n!的值end.虽然s定义成longint,但输入12以上的数时,还是会出现错误的结果,说明结果超出了longint能够储存
7、的范围,这时需要定义更大的类型,如int64,或干脆定义成实型变量用科学计数法来近似表示这个数,如real、extended。上例中用到了“递推”算法。所谓递推算法是指在一个数的序列值中,下一项的值在前一项的值的基础上推算出来的,即下一项对前一项有某种依赖关系。例如,为求5!,应先知道4!的值,然后再乘以5;为求6!必先求出5!。也就是说,从1!可以推出2!,从2!可以推出3!,从3!可以推出4!,以此类推。求n!的递推公式为:a1=1(n=1)an=n*an-1(n>1)a1=1是“初始条件”或“边界条件”。只要找出递推关系
此文档下载收益归作者所有