Repetitive Statements (Looping)
-
Upload
kareem-livingston -
Category
Documents
-
view
19 -
download
0
description
Transcript of Repetitive Statements (Looping)
Repetitive Statem ents (Looping)
• เป็�นคำ��สั่�งที่��สั่ �งให้�ที่��ง�นซ้ำ��� (loop)ใน ขอบข��ยที่��กำ��ห้นด จนกำระที่�งได�เง��อนไขที่��
ต้�องกำ�ร ซ้ำ!�งมี�อย#�ด�วยกำน 3 คำ��สั่�ง ดงน�� :-
• 1. คำ��สั่�ง FOR• 2 . คำ��สั่�ง WHILE• 3. คำ��สั่�ง REPEAT
1. คำ��สั่�ง FOR เป็�นคำ�� สั่�งให้�ที่��ซ้ำ���ห้ร�อวนรอบ เมี��อเง��อนไข
สั่อดคำล้�องห้ร�อ เง��อนไขเป็�นจร&ง จะ ที่��ง�นในขอบข��ย ( คำ��สั่�ง ห้ร�อ
กำล้'�มีของคำ��สั่�ง ) ที่��กำ��ห้นดไว� แล้ะจะ เล้&กำกำระที่��ซ้ำ���ห้ร�อวนรอบ เมี��อ เง��อนไขไมี�สั่อดคำล้�องห้ร�อ เง��อนไข
เป็�นเที่)จ
FOR
DOW N TO
DO
Control Var
Statements
TO
:=
Synt ax :
Expression1
Expression2
Expression1 = Initial Value
= ===== =====2
เช่�น ต้�องกำ�รให้�ที่��ซ้ำ���จ��นวน 20
คำร�ง
== = = == 1 TO 20 DOห้ร�อ
FOR j := 20 DOWN TO1 DO
Statements
Increase i 1by
2i <=0===
= =
FOR i := 1 T O 20 DO
FOR j := 20 D OWN TO 1 DO
Statements
Decrease bb b1
1i >====
= =
คำ��สั่��ง FOR แสั่ดงใน รู�ปผั�งง�น (Flowchart) ได�ด�งน��
ต้วอย��ง• PROGRAM Demo_ASCII_by_FOR_Statement;
• USES CRT;• VAR count : INTEGER;• BEGIN• FOR count := 32 to 255 DO• BEGIN• WRITE(’ ', count:3);• ======= == ============• END;• END.
ต้วอย��ง โป็รแกำรมีเพื่��อห้�ผล้รวมี ของเล้ข 10 จ��นวน• === =;
• ====;• VAR ===== : INTEGER;• ===== , : ;• BEGIN• 0total := ;• FOR count := 1 TO 10
DO• BEGIN• READLN(num);• total := total + num ;• END;• ( = , );• END.
ต้วอย��ง เข�ยนโป็รแกำรมีเพื่��อห้�คำ��ผล้รวมีแล้ะคำ��เฉล้��ยของคำะแนนสั่อบ
ของนกำ ศึ!กำษ� 20 คำนโดยอ��นคำะแนนจ�กำคำ�ย2บอร2ด• PROGRAM
Compute_Mean_by_FOR_Statement;• USES CRT;• VAR count,amount :
INTEGER;• total, mean, num : REAL;• BEGIN• total := 0;• WRITE('How many data to be
- input : ');• READLN(amount);
• 1FOR count := to amount D=
• BEGIN•
WRITE('DATA(',count,')=');•
WRITE(LST,'DATA(',count,')=');
• READLN(num);• WRITE(LST,num:4:2);• total := total + num;• END;
• WRITELN;• WRITELN(LST);• mean := total / amount;• WRITELN('Total =',total);• WRITELN(LST,'Total
=',total);• WRITELN('Mean =', mean);•
WRITELN(LST,'Mean =', mean);• END.
2 คำ��สั่�ง WHILE คำ��สั่�ง while เป็�นคำ��สั่�งให้�ที่��ซ้ำ���ห้ร�อ
วนรอบ เมี��อ เง��อนไขสั่อดคำล้�องห้ร�อ เง��อนไขเป็�นจร&ง จะที่��ง�นในขอบข��ย ( คำ��
สั่�ง ห้ร�อกำล้'�มีของคำ��สั่�ง ) ที่��กำ��ห้นด แล้ะจะ เล้&กำที่��ง�นในขอบข��ย เมี��อเง��อนไขไมี�
สั่อดคำล้�องห้ร�อ เง��อนไขเป็�นเที่)จ
Synt ax :
WHILE
Expr essi on
DO Statement(s)
Statement(s)
Is condition true ?
===
= =
คำ��สั่��ง WHILE แสั่ดงใน รู�ปผั�งง�น(Flowchart) ได�ด�งน��
ต้วอย��ง• PROGRAM Demo_looping_by_WHILE_
Statement;• USES CRT;• VAR count : INTEGER;• BEGIN• count := 32;• WHILE count < 255 DO• BEGIN•
WRITE(count:3, ' ',CHR(count),' ');• count := count + 1;• END;• END.
ต้วอย��ง• PROGRAM Sum;• USES CRT;• VAR total : REAL;• count : INTEGER;• BEGIN• total := 0;• count := 1;• WHILE count <= 10 DO• BEGIN• total := total + count;• count := count + 1;• END;• WRITELN('Total = ', total );• END.
3. คำ��สั่�ง REPEAT เป็�นคำ��สั่�งให้�ที่��ซ้ำ���ห้ร�อวนรอบ เมี��อ
เง��อนไขไมี�สั่อดคำล้�องห้ร�อเง��อนไขเป็�น เที่)จ จะที่��ง�นในขอบข��ย ( คำ��สั่�ง ห้ร�อ
กำล้'�มีของคำ��สั่�ง ) ที่��กำ��ห้นด แล้ะจะเล้&กำ ที่��ง�นในขอบข��ย เมี��อเง��อนไข
สั่อดคำล้�องห้ร�อ เง��อนไขเป็�นจร&ง คำ��สั่�ง REPEAT แต้กำต้��งจ�กำคำ��
สั่�ง WHILE ต้รงที่�� คำ��สั่�ง REPEAT ต้�องที่��กำ�อนอย��งน�อยห้น!�งรอบแล้�ว จ!ง
มี�ที่��กำ�รต้รวจสั่อบเง��อนไขที่�ห้ล้ง
Synt ax :REP
EATExpr essi on
UNTIL
;
Statement
Statement(s)
Is condition true ?
===
= =
คำ��สั่��ง REPEAT แสั่ดงใน รู�ปผั�งง�น(Flowchart) ได�ด�งน��
ต้วอย��ง• PROGRAM Demo_Looping_by_REEPEAT_Statement;
• USES CRT;• VAR count : INTEGER;• BEGIN• count := 32;• REPEAT• WRITE(' ',count :3); • = ====== ==== ==========• : = + 1 ;• UNTIL 255count > ;• END.
ต้วอย��ง จงเข�ยนโป็รแกำรมี เพื่��อห้�ผล้ รวมีของเล้ข 10 จ��นวน• === =;
• ====;• VAR count : INTEGER;• total, num : REAL;• BEGIN• 0total := ;• count := 0;• REPEAT• READLN(num);• total := total + num;• count := count + 1;• UNTIL count > 1 0 ;• WRITELN('Total = ', total);• END.
• ก�รูบ้��น จงเข�ยนโป็รแกำรมีโดยใช่�คำ�� สั่�ง For คำ��สั่�งWhile แล้ะคำ��สั่�ง
Repeat ในโจที่ย2กำ�รบ��นข�อที่�� 3 , 4 แล้ะข�อที่�� 5 ในกำรณี�ที่��มี�จ��นวนร�ยกำ�ร
ห้ร�อจ��นวนคำร�งที่��วนซ้ำ���เที่��กำบ N• ห้มี�ยเห้ต้' N เป�นเลขจำ��นวนเต็�มใด ๆ