预览加载中,请您耐心等待几秒...
1/4
2/4
3/4
4/4

在线预览结束,喜欢就下载吧,查找使用更方便

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

FOR循环语句 使用for语句解决1+2+3+4+……100问题 Programleijia; Vari:integer;{i为循环变量}{sum为累加器} Sum:integer; Begin Sum:=0; Fori:=1to100Do(step1) sum:=sum+i; Writeln(sum); End.5050一、FOR语句格式for控制变量:=初值to终值do语句;(适用于递增形式的数列)for控制变量:=初值downto终值do语句;(适用于递减形式的数列)For语句执行过程:1、先将初值赋给左边的变量(称为循环控制变量);2、判断循环控制变量的值是否已“超过”终值,如已超过,则跳到步骤5;3、超过终值,则执行do后面的那个语句(称为循环体);4、控制变量返回步骤2;5、循环结束,执行for循环后语句。说明:循环控制变量必须是顺序类型。例如,可以是整型、字符型等,但不能为实型。循环控制变量的值选用to则为递增;选用downto则递减。循环控制变量的值“超过”终值,对递增型循环,“超过”指大于,对递减型循环,“超过”指小于。循环控制变量的初值和终值一经确定,循环次数就确定了。但是在循环体内对循环变量的值进行修改,常常会使得循环提前结束或进入死环。建议不要在循环体中随意修改控制变量的值。for语句中的初值、终值都可以是顺序类型的常量、变量、表达式。 例5_1、求S=1+2+3+…+100 Programleijia;vari:integer;{i为循环变量}sum:longint;{sum为累加器}beginsum:=0;fori:=1to100dos:=s+i;{从1到100n累加到s中}writeln('1+2+3+…+100=',s);end. 思考:求解求s=1+4+7+10+13的值 分析数列规律:an=an-1+3 Programleijia; vari:integer;{i为循环变量}sum:longint;b:integer;{sum为累加器} begin b:=1; fori:=1to4do/*4为项数减1*/ begin sum:=sum+b;b:=b+3;/*b为公差*/ end; writeln(sum); end. 求s=1+4+7+…+298的值 例5_2、输出斐波那契数列的前20项。规律:F1=0(n=1)F2=1(n=2)Fn=Fn-1+Fn-2(n>=3)即0,1,1,2,3,5,8,13,21,……分析:由公式Fn=Fn-1+Fn-2,采用递推算法求解。方法一vara,b,i:longint;begina:=0;b:=1; write(a,',',b);fori=2to10dobegina:=a+b;b:=a+b; write(','a,',',b); end; end. 方法二vara,b,c,i:integer;begina:=0;b:=1;write(a,',',b);fori=3to20dobeginc:=a+b;a:=b;b:=c;write(',',c);end;end. 自学拓展: HYPERLINK"http://hi.baidu.com/258chengma/blog/item/eccdbc5c16b6414ffaf2c0e6.html"http://hi.baidu.com/258chengma/blog/item/eccdbc5c16b6414ffaf2c0e6.html 补充:清屏语句clrscr;在使用前要声明usescrt;