งานนำเสนอกำลังจะดาวน์โหลด โปรดรอ

งานนำเสนอกำลังจะดาวน์โหลด โปรดรอ

Repetitive Instruction

งานนำเสนอที่คล้ายกัน


งานนำเสนอเรื่อง: "Repetitive Instruction"— ใบสำเนางานนำเสนอ:

1 Repetitive Instruction
Pascal Language

2 คำสั่งวนลูป เป็นคำสั่งเพื่อบอกให้ทำการทำงานใด ๆ ซ้ำ ๆ กันโดยมีเงื่อนไข หรือการกำหนดจำนวนรอบการวนซ้ำ ประกอบด้วย 3 คำสั่งด้วยกัน While Repeat For

3 WHILE STATEMENT ลักษณะการดำเนินงานเขียนเป็น flow chart ได้ดังนี้
condition Statements; Other Statements yes no

4 WHILE STATEMENT มีรูปแบบของคำสั่งดังนี้ WHILE <condition> DO
begin Statements; end;

5 WHILE STATEMENT PROGRAM WHILEPROG; VAR a:integer; BEGIN a := 1;
WHILE a<10 DO a := 2*a; WRITELN(“Your number is ”,a); END. Your number is 16

6 WHILE STATEMENT PROGRAM WHILEPROG; number 2 VAR a:integer; number 4
BEGIN a := 1; WHILE a<10 DO a := 2*a; WRITELN(“number: ”,a); END; END. number 2 number 4 number 8 number 16

7 REPEAT STATEMENT ลักษณะการดำเนินงานเขียนเป็น flow chart ได้ดังนี้
Statements; condition no yes Other Statements

8 REPEAT STATEMENT มีรูปแบบของคำสั่งดังนี้ REPEAT Statements;
UNTIL <condition>;

9 REPEAT STATEMENT PROGRAM REPEATPROG; VAR a:integer; BEGIN a := 1;
a := 2*a; UNTIL a>10; WRITELN(“Your number is ”,a); END. Your number is 16

10 REPEAT STATEMENT PROGRAM REPEATPROG; number 2 VAR a:integer; number 4
BEGIN a := 1; REPEAT a := 2*a; WRITELN(“number: ”,a); UNTIL a>10; END. number 2 number 4 number 8 number 16

11 WHILE & REPEAT ทำซ้ำเมื่อเงื่อนไขเป็นจริง true
ตรวจสอบเงื่อนไขก่อนทำ statement ออกจากลูปเมื่อเงื่อนไขเป็นเท็จ ทำเพียง 1 คำสั่งหลัง Do เท่านั้น ถ้าต้องการทำมากกว่า 1 คำสั่งต้องมี begin-end คล่อม ทำซ้ำเมื่อเงื่อนไขเป็นเท็จ false ทำ statement ก่อนตรวจสอบเงื่อนไข ออกจากลูปเมื่อเงื่อนไขเป็นจริง ทำทุกคำสั่งที่อยู่ระหว่าง repeat-until จำนวนเท่าใดก็ได้

12 Assignment จงเขียนโปรแกรมทำการคำนวณสมการต่อไปนี้
วิธีหาค่าตัวหารร่วมมาก (Greatest Common Divisor) ของ Euclid กล่าวไว้ดังนี้ มีอินพุตเป็น m และ n เป็นจำนวนเต็มที่มากกว่าศูนย์ 1 ให้ r เป็นเศษที่เหลือจากการหาร m ด้วย n 2 ถ้า r เป็นศูนย์ n คือ คำตอบ 3 กำหนดค่า m=n และ n=r แล้วกลับไปทำซ้ำในขั้นที่ 1

13 Question 1 (While Statement)
Read N X = 0; I = 0; I<=N No yes Display X X = X + I; I = I+1;

14 Question2(Repeat Statement)
R = M % N; R=0 Read M,N M = N; N = R; Display Answer Answer = N; No yes

15 FOR STATEMENT ผังงาน รูปแบบ Var = init  final Statements do all value
no yes For var := init to/downto final do begin Statement1; statement2; statementN; End;

16 FOR STATEMENT Variable = initial no Variable != final and init ~ final
statements Variable = variable +1 or variable = variable - 1 no yes Other statements

17 FOR STATEMENT a number is 1 a number is 2 PROGRAM FORPROG;
VAR a,b:integer; BEGIN b := 0; FOR a :=1 TO 4 DO WRITELN(“a number is ”,a); END.

18 FOR STATEMENT a number is 4 a number is 3 a number is 2 a number is 1
PROGRAM FORPROG; VAR a,b:integer; BEGIN b := 0; FOR a :=4 DOWNTO 1 DO WRITELN(“a number is ”,a); END.

19 FOR STATEMENT PROGRAM FORPROG; VAR a,b:integer; BEGIN b := 0; 1! = 1
FOR a :=1 TO 4 DO begin b := b+a; WRITELN(a, “ =”,b); end; END. 1! = 1 2! = 3 3! = 6 4! = 10

20 FOR STATEMENT List : 1a List : 1b PROGRAM REPEATPROG; List : 1c
List : 1d List : 2a List : 2b List : 2c List : 2d List : 3a List : 3b List : 3c List : 3d PROGRAM REPEATPROG; VAR a:integer; c:char; BEGIN FOR a :=1 TO 3 DO FOR c := ‘a’ TO ‘d’ DO WRITELN(“List : ”,a,c); END.

21 Factorial using for loop
ข้อสังเกต 1! = 1 2! = 1*2 = 1!*2 = 2 3! = 1*2*3 = 2!*3 = 6 4! = 1*2*3*4 = 3!*4 = 24

22 Factorial using for loop
Program factorialN; Var I,fac:integer; Begin write(“Enter number for factorial: ”); readln(n); fac := 1; for I:=1 to n do begin fac := fac * I; end; writeln(“factorial of ”,n,” is ”, fac); End; start Read n Fac = 1 I=1 to n Fac = fac *1 display n completed stop I fac 1 1*1:1 2 1*2:2 3 2*3:6 4 6*4:24

23 Extend Statement for Loop
มีคำสั่งที่ใช้งานร่วมกับคำสั่งลูป อีก 2 คำสั่งคือ BREAK จะทำการออกจากลูปโดยไม่มีเงื่อนไข CONTINUE จะทำการขึ้นลูปใหม่โดยไม่มีเงื่อนไข

24 BREAK STATEMENT Program BREAKP; var I:integer; begin for I:= 1 to 5 do
writeln(“I is ”, i); if I mod 4 = 0 then break; end; writeln(“break I = ”, i);

25 continue STATEMENT Program CONTP; var I:integer; begin
for I:= 1 to 5 do if I mod 2 = 0 then continue; writeln(“I is ”, i); end; writeln(“break I = ”, i);

26 ASSIGNMENT จงเขียนโปรแกรมแสดงสูตรคูณแม่ 2
จงเขียนโปรแกรม แปลงเลขฐานสิบเป็นเลขฐานสอง

27 Read N I = 2 to N J = 2 to I yes I % J = 0 Break; no All J no J = I yes Display I All I


ดาวน์โหลด ppt Repetitive Instruction

งานนำเสนอที่คล้ายกัน


Ads by Google