Repetitive Statements (Looping)

16
Repetitive Statements (Looping) • เเเเเเเเเเเเเเเเเเเเเเเเเเเเเเเ (loop)เเเเเเเเเเเเเเเเเเ เเ เเเเเเเเเเเเเเเเเเเเเเเเเเเเ เเเเเเเเเเเเเเเเเ 3 เเเเเเเ เเเเเเ :- 1. เเเเเเเ FOR 2. เเเเเเเ WHILE 3. เเเเเเเ REPEAT

description

Repetitive Statements (Looping). เป็นคำสั่งที่สั่งให้ทำงานซ้ำ (loop)ในขอบข่ายที่กำหนด จนกระทั่งได้เงื่อนไขที่ต้องการ ซึ่งมีอยู่ด้วยกัน 3 คำสั่งดังนี้ :- 1. คำสั่ง FOR 2. คำสั่ง WHILE 3. คำสั่ง REPEAT. - PowerPoint PPT Presentation

Transcript of Repetitive Statements (Looping)

Page 1: Repetitive Statements (Looping)

Repetitive Statem ents (Looping)

• เป็�นคำ��สั่�งที่��สั่ �งให้�ที่��ง�นซ้ำ��� (loop)ใน ขอบข��ยที่��กำ��ห้นด จนกำระที่�งได�เง��อนไขที่��

ต้�องกำ�ร ซ้ำ!�งมี�อย#�ด�วยกำน 3 คำ��สั่�ง ดงน�� :-

• 1. คำ��สั่�ง FOR• 2 . คำ��สั่�ง WHILE• 3. คำ��สั่�ง REPEAT

Page 2: Repetitive Statements (Looping)

1. คำ��สั่�ง FOR เป็�นคำ�� สั่�งให้�ที่��ซ้ำ���ห้ร�อวนรอบ เมี��อเง��อนไข

สั่อดคำล้�องห้ร�อ เง��อนไขเป็�นจร&ง จะ ที่��ง�นในขอบข��ย ( คำ��สั่�ง ห้ร�อ

กำล้'�มีของคำ��สั่�ง ) ที่��กำ��ห้นดไว� แล้ะจะ เล้&กำกำระที่��ซ้ำ���ห้ร�อวนรอบ เมี��อ เง��อนไขไมี�สั่อดคำล้�องห้ร�อ เง��อนไข

เป็�นเที่)จ

Page 3: Repetitive Statements (Looping)

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

Page 4: Repetitive Statements (Looping)

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) ได�ด�งน��

Page 5: Repetitive Statements (Looping)

ต้วอย��ง• PROGRAM Demo_ASCII_by_FOR_Statement;

• USES CRT;• VAR count : INTEGER;• BEGIN• FOR count := 32 to 255 DO• BEGIN• WRITE(’ ', count:3);• ======= == ============• END;• END.

Page 6: Repetitive Statements (Looping)

ต้วอย��ง โป็รแกำรมีเพื่��อห้�ผล้รวมี ของเล้ข 10 จ��นวน• === =;

• ====;• VAR ===== : INTEGER;• ===== , : ;• BEGIN• 0total := ;• FOR count := 1 TO 10

DO• BEGIN• READLN(num);• total := total + num ;• END;• ( = , );• END.

Page 7: Repetitive Statements (Looping)

ต้วอย��ง เข�ยนโป็รแกำรมีเพื่��อห้�คำ��ผล้รวมีแล้ะคำ��เฉล้��ยของคำะแนนสั่อบ

ของนกำ ศึ!กำษ� 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.

Page 8: Repetitive Statements (Looping)

2 คำ��สั่�ง WHILE คำ��สั่�ง while เป็�นคำ��สั่�งให้�ที่��ซ้ำ���ห้ร�อ

วนรอบ เมี��อ เง��อนไขสั่อดคำล้�องห้ร�อ เง��อนไขเป็�นจร&ง จะที่��ง�นในขอบข��ย ( คำ��

สั่�ง ห้ร�อกำล้'�มีของคำ��สั่�ง ) ที่��กำ��ห้นด แล้ะจะ เล้&กำที่��ง�นในขอบข��ย เมี��อเง��อนไขไมี�

สั่อดคำล้�องห้ร�อ เง��อนไขเป็�นเที่)จ

Page 9: Repetitive Statements (Looping)

Synt ax :

WHILE

Expr essi on

DO Statement(s)

Statement(s)

Is condition true ?

===

= =

คำ��สั่��ง WHILE แสั่ดงใน รู�ปผั�งง�น(Flowchart) ได�ด�งน��

Page 10: Repetitive Statements (Looping)

ต้วอย��ง• 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.

Page 11: Repetitive Statements (Looping)

ต้วอย��ง• 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.

Page 12: Repetitive Statements (Looping)

3. คำ��สั่�ง REPEAT เป็�นคำ��สั่�งให้�ที่��ซ้ำ���ห้ร�อวนรอบ เมี��อ

เง��อนไขไมี�สั่อดคำล้�องห้ร�อเง��อนไขเป็�น เที่)จ จะที่��ง�นในขอบข��ย ( คำ��สั่�ง ห้ร�อ

กำล้'�มีของคำ��สั่�ง ) ที่��กำ��ห้นด แล้ะจะเล้&กำ ที่��ง�นในขอบข��ย เมี��อเง��อนไข

สั่อดคำล้�องห้ร�อ เง��อนไขเป็�นจร&ง คำ��สั่�ง REPEAT แต้กำต้��งจ�กำคำ��

สั่�ง WHILE ต้รงที่�� คำ��สั่�ง REPEAT ต้�องที่��กำ�อนอย��งน�อยห้น!�งรอบแล้�ว จ!ง

มี�ที่��กำ�รต้รวจสั่อบเง��อนไขที่�ห้ล้ง

Page 13: Repetitive Statements (Looping)

Synt ax :REP

EATExpr essi on

UNTIL

;

Statement

Statement(s)

Is condition true ?

===

= =

คำ��สั่��ง REPEAT แสั่ดงใน รู�ปผั�งง�น(Flowchart) ได�ด�งน��

Page 14: Repetitive Statements (Looping)

ต้วอย��ง• PROGRAM Demo_Looping_by_REEPEAT_Statement;

• USES CRT;• VAR count : INTEGER;• BEGIN• count := 32;• REPEAT• WRITE(' ',count :3); • = ====== ==== ==========• : = + 1 ;• UNTIL 255count > ;• END.

Page 15: Repetitive Statements (Looping)

ต้วอย��ง จงเข�ยนโป็รแกำรมี เพื่��อห้�ผล้ รวมีของเล้ข 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.

Page 16: Repetitive Statements (Looping)

• ก�รูบ้��น จงเข�ยนโป็รแกำรมีโดยใช่�คำ�� สั่�ง For คำ��สั่�งWhile แล้ะคำ��สั่�ง

Repeat ในโจที่ย2กำ�รบ��นข�อที่�� 3 , 4 แล้ะข�อที่�� 5 ในกำรณี�ที่��มี�จ��นวนร�ยกำ�ร

ห้ร�อจ��นวนคำร�งที่��วนซ้ำ���เที่��กำบ N• ห้มี�ยเห้ต้' N เป�นเลขจำ��นวนเต็�มใด ๆ