循环结构程序设计for

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

是:
C
A
上机练习 下面三题选做一题即可. 求s=2+4+6+8+10+……+n; 求S= 1-1/2 +1/3-1/4+1/5-1/6+ ……(求前N项的和) 求1!+2!+…+10!的值. 统计1到1000之间能够同时被3和7整除的数的个数,并计算他们的和. 求水仙花数.所谓水仙花数,是指一个三位数abc,如果满足 a^3+b^3+c^3=abc,则abc是水仙花数.
江 苏 省 锡 山 高 级 中 学 信 息 技 术 教 研 组
是 值
, 终值
是 ,循环 ord(终值 终值)) 终值 , 1
. .
循环控制变量的 abs(终值 终值 循环 循环. for 的 值) 值
1,abs(ord( 值 , 值)
对循环变量的值 循环 值,终值
循环

控制变量的值. 是顺序类型的 量,变量, .
题4 * *** ***** ******* ********* program ex4; var i,j:integer; begin for i:=1 to 5 do begin write(' ':6-i); for j:=1 to 2*i-1 do write('*'); writeln; end; readln; end.
(2) Uses crt; Var I,j:integer; Begin Clrscr; r I: 1 t egin rite(' :2 rite( ':2 i); r j: 1 t egin rite(' ); rite( '); n ; riteln; n ; n
(3) Uses crt; Var I,j:integer; Begin Clrscr; r I: 1 t egin rite(' :2 rite( ':2 I); r j: 1 t egin rite(' ); rite( '); n ; riteln; n ; n
循环结构程序设计—计数循环for 循环
For描述已知重复次数 已知重复次数的循环结构. 一,For语句基本格式 (1) 递增循环: for 循环变量:=初值 to 终值 do 语句(块)(循环体);
江 苏 省 锡 山 高 级 中 学 信 息 技 术 教 研 组
(2)递减循环: for 循环变量:=初值 downto 终值 do 语句(块)(循环体);
江 苏 省 锡 山 高 级 中 学 信 息 技 术 教 研 组
题2 * ** *** **** ***** program ex2; var i,j:integer; begin for i:=1 to 5 do begin for j:=1 to i do write('*'); writeln; end; readln; end.
江 苏 省 锡 山 高 级 中 学 信 息 技 术 教 研 组
题5 ********* ******* ***** *** * program ex5; var i,j:integer; begin for i:=5 downto 1 do begin write(' ':6-i); for j:=1 to 2*i-1 do write('*'); writeln; end; readln; end.
题3 * ** *** **** ***** program ex3; var i,j:integer; begin for i:=1 to 5 do begin write(' ':6-i); for j:=1 to i do write('*'); writeln; end; readln; end.
江 苏 省 锡 山 高 级 中 学 信 息 技 术 教 研 组
program ex57; var row,col,indent:integer; begin indent:=25; for row:=1 to 9 do{行数} begin write('':indent); for col:=1 to row do write(col:2); for col:=row-1 downto 1 do write(col:2); { writeln; indent:=indent-2; end; readln; end.
江 苏 省 锡 山 高 级 中 学 信 息 技 术 教 研 组
例7_2按正序和反序输出26个英文字母. program ex7_2; var m:integer; zf:char; begin ?换个方法尝试一下. for m:=65 to 90 do begin zf:=chr(m); write(zf:2); end; writeln; for m:=90 downto 65 do begin zf:=chr(m); write(zf:2); end; end.
For i:=1 to 8 do Writeln('*');
江 苏 省 锡 山 高 级 中 学 信 息 技 术 教 研 组
For i:=1 to 8 do Begin for j:=1 to 8 do Write ('*'); writeln; end.;
编程序分别打印以下三图:
(1) Uses crt; Var I,j:integer; Begin Clrscr; r I: 1 t egin 江 苏 省 r j: 1 t 锡 山 egin 高 级 rite(' ); rite( '); 中 学 n ; 信 息 riteln; 技 术 n ; 教 研 组n
5 4 3 2 1
二,For语句执行过程 语句执行过程
①先将初值赋给左边的变量(称为循环控制变量); ②判断循环控制变量的值是否已"超过"终值,如已超过,则 跳到步骤⑥; ③如果没有超过终值,则执行do后面的那个语句(称为循环 体);
江 苏 省 锡 山 高 级 中 学 信 息 技 术 教 研 组
④循环变量递增(对to)或递减(对downt o)1; ⑤返回步骤②; ⑥循环结束,执行 for 循环下面的一个语句.
三,说明 ①循环控制变量必须是顺序类型 顺序类型. 顺序类型 ②循环控制变量的值递增或递减的规律是:选用 则为递增;选用 选用to则为递增 选用 则为递增; downto则递减. 则递减. 则递减 ③循环控制变量的值"超过"终值,对递增型循环,"超过"指大于, 对递减型循环,"超过"指小于. 循环
江 苏 省 锡 山 高 级 中 学 信 息 技 术 教 研 组
例7-6 打印出下列的金字塔 1 1 2 1 1 2 3 2 1 1 2 3 4 3 2 1 1 2 3 4 5 4 3 2 1 …… …… 1 2 3 4 5 6 7 8 9 8 7 6 5 4 3 2 1
分析: 分析:我们用嵌套的二重 循环来实现,外层循环用 来控制行数,内层循环用 来控制每一行的列. 从数字金字塔中我们 可以发现,每一行最大的 数就是该行的行数,且位 于中间.这样,内层循环 先从1递增到最大数,然后 再递减到1.为控制输出格 式,用变量Indent存放每 行前面的空格数,且设定 每个数字以场宽L输出,in dent存放每行的初值至少 应为9,程序中我们设为25.
I=1 I=2 I=3 I=4 I=5 I=6
I<=5 write(i) I<=5 write(i) I<=5 write(i) I<=5 write(i) I<=5 write(i) I>5 退出循环
1 2 3 4 5
I=5 I=4 I=3 I=2 I=1 I=0
I>=1 write(i) I>=1 write(i) I>=1 write(i) I>=1 write(i) I>=1 write(i) I<1 退出循环
Var I:integer; Begin For I:=1 to 5 do begin Write(I); End; End. 运行结果: Var I:integer; Begin For I:=5 downto 1 do begin Write(I); End; End. 运行结果:
江 苏 省 锡 山 高 级 中 学 信 息 技 术 教 研 组
例7_5 编程输出以下形状的字符组合:
题1 ***** ***** ***** ***** ***** program ex1; var i,j:integer; begin for i:=1 to 5do begin for j:=1 to 5 do write('*'); writeln; end; readln; end.
1设有如下程序段: i :=1; repeat C n :=i*i; i :=i+2; until n>2*i; 假设所有变量均已说明,问其中循环体的执行次数是: (A)1 (B)2 (C)3 (D)4
巩固练习
江 苏 省 锡 山 高 级 中 学 信 息 技 术 教 研 组
2设有如下程序段:i :=2.5 while i<=4 do begin D i :=i+0.5; end; 假设所有变量均已说明,问其中循环体的执行次数是: (A)1 (B)2 (C)3 (D)4 4 设有如下程序段: 3 设有如下程序段: n :=19876; s :=100;n :=3; k :=3; for ch :='a' to 'e' do for i:= 1 to k do n :=n mod 10; begin n :=n div 10; if not odd(n) then s :=s-n; 假设所有变量均已说明,程序执行 n的 n:=n+5; (A)0 (B)6 (C)10 (D)1 end; 假设所有变量均已说明,程序执行 s的 是: (A)97 (B)89 (C)74 (D)58
江 苏 省 锡 山 高 级 中 学 信 息 技 术 教 研 组

,是
ຫໍສະໝຸດ Baidu

. 一 ,
他的 他, 他 . 上( 64 上 一 一 , ,……, 面一 的 是前一 数的 , 满整个 , . 一 , , ,如果 时 , ,
Write('*'); For i:=1 to 8 do Write('*'); for循环的嵌套 for循环的嵌套 在一个for循环的 循环体中又包含另一 个for循环,称为for 循环的嵌套.内层for 循环是外层for循环体 中的一个语句.
例7_3 求1+2+3+…+99+100 Program ex; Var i,sum:integer; Begin sum:=0; for i:=1 to 100 do sum:=sum+i;
江 苏 省 锡 山 高 级 中 学 信 息 技 术 教 研 组
Writeln(sum); End.
同类型的题目: 编程计算从1到 每个数的平方值 每个数的平方值; 编程计算从 到20每个数的平方值 求h=1+1/2+1/3+1/4+…+1/n; 求n! 1到1000 3 到 的 的 数 计1到 3 7 计 到1000 同 的数的个数 计算 的
例1.输出1-100之间的所有数字.
江 苏 省 锡 山 高 级 中 学 信 息 技 术 教 研 组
program ex; var i:integer; begin i:=1; while i<=100 do begin write(i:5); i:=i+1; end; end.
program ex; var i:integer; begin for i:=1 to 100 do write(i:5); end.
江 苏 省 锡 山 高 级 中 学 信 息 技 术 教 研 组
while 循环和 repeat-until循环 是可以互相替代的. for 循环在大多数 场合也能用while和 repeat-until循环 来代替. for循环用于有确定 次数循环,而while 和repeat-until循 环用于未确定循环 次数的循环.
For/to/do while/do repeat/until
for 循环变量:=初值 to 终值 do 语句( )(循环体 循环体); 语句(块)(循环体); for 循环变量:=初值 downto 终值 do 语句(块)(循环体); while 布尔表达式 do 语句( )(循环体); 语句(块)( Repeat 语句1; 语句2; 语句3; …… 语句 n; Until 布尔表达式;
相关文档
最新文档