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

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

10-1 บทที่ 10 คำสั่งควบคุม OUTLINE 1. คำสั่งแบบเรียงลำดับ (Sequence) 2. คำสั่งแบบทางเลือก (Selection) 3. คำสั่งแบบวนซ้ำ (Repetition)

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


งานนำเสนอเรื่อง: "10-1 บทที่ 10 คำสั่งควบคุม OUTLINE 1. คำสั่งแบบเรียงลำดับ (Sequence) 2. คำสั่งแบบทางเลือก (Selection) 3. คำสั่งแบบวนซ้ำ (Repetition)"— ใบสำเนางานนำเสนอ:

1

2 10-1 บทที่ 10 คำสั่งควบคุม OUTLINE 1. คำสั่งแบบเรียงลำดับ (Sequence) 2. คำสั่งแบบทางเลือก (Selection) 3. คำสั่งแบบวนซ้ำ (Repetition)

3 10-2 คำสั่งเชิงกลุ่ม ปกติรูปแบบคำสั่งมักมีเพียงคำสั่ง เดียวและจบด้วย ; บางครั้งต้องการคำสั่งหลายคำสั่ง สามารถจัดกลุ่มคำสั่งโดยคำสั่งอยู่ ระหว่าง BEGIN และ END เรียกว่า compound statement โครงสร้างมักจะเขียนในรูปของ compound statement เพื่อทำ ให้เห็นกลุ่มคำสั่ง เป็นคำสั่ง เดียวกัน

4 10-3 คำสั่งแบบเรียงลำดับ รูปแบบ BEGIN Statement 1; Statement 2; : Statement n; END เป็นการทำงาน แบบเรียงลำดับ ทำตามคำสั่ง ตั้งแต่ต้นจนถึง คำสั่งสุดท้าย

5 10-4 คำสั่งแบบทางเลือก เป็นคำสั่งควบคุมให้ทำงานใด งานหนึ่งขึ้นอยู่กับเงื่อนไขที่ ทดสอบ คำสั่งแบบทางเลือก มี 3 รูปแบบ –IF ….. THEN –IF …… THEN …..ELSE –CASE ….

6 10-5 IF ….. THEN รูปแบบ IF expression THEN BEGIN statement 1; statement n END; ผลลัพธ์ในการ ทอสอบมีค่า จริง กับเท็จ ถ้าผลทดสอบ เป็นจริง จะ ทำงานตามคำสั่ง หลัง THEN จบด้วย ; แสดง ถึงการจบ เงื่อนไข

7 10-6 ตัวอย่างการใช้เครื่องหมาย ; IF small > big THEN temp := small; small := big; big := temp; Small>big Temp := small Small := big Big := temp; Y N

8 10-7 ตัวอย่างการใช้เครื่องหมาย ; IF small > big THEN begin temp := small; small := big; big := temp end; Small>big Temp := small Small := big Big := temp; Y N

9 10-8 ตัวอย่างการใช้ IF …… THEN 1. IF (enter 100) THEN BEGIN Writeln( ‘ range is 1 to 100, please re-enter: ’ ; Readln(enter); END;

10 10-9 ตัวอย่างการใช้ IF …… THEN 2. บริษัทมีเงื่อนไขการจ่ายคอมมิส ชันดังนี้ – ถ้าขายไม่เกิน 1000 บาท ได้คอม มิสชัน 5% ของยอดขาย – ถ้าขายระหว่าง 1001 ถึง 5000 บาทได้คอมมิสชัน จะได้ 5% ของ ส่วน 1000 และ 8% ของส่วนที่ เกิน 1000 บาท – ถ้าขายเกิน 5000 บาท ได้ 5% ของ 1000 บาทรวมกับ 8% ของ 4000 และรวมกับ 10% ของส่วน ที่เกิน 5000 บาท

11 10-10 ตัวอย่างการใช้ IF …… THEN IF sale <= 1000 THEN commission := 0.05*sale; IF (sale > 1000) and (sale <= 5000) THEN commission := *(sale ); IF (sale > 5000) THEN commission := * (sale );

12 10-11 IF …… THEN …..ELSE รูปแบบ IF condition THEN begin statement (s); end ELSE begin statement (s); end; ผลการทดสอบ เป็นจริง ทำคำสั่ง หลัง THEN ผลการทดสอบ เป็นเท็จ ทำคำสั่ง หลัง ELSE คำสั่ง END ก่อน ELSE ห้ามมี เครื่องหมาย ; เพราะยังไม่ สิ้นสุดเงื่อนไข

13 10-12 ตัวอย่าง IF ….THEN ….ELSE 1. IF day > 31 THEN writeln ( ‘ error ’ ) ELSE writeln ( ‘ day: ‘, day:2);

14 10-13 ตัวอย่าง IF ….THEN ….ELSE IF (game <= 4) and (score < 100.0) THEN BEGIN game := game + 1; writeln( ‘ new game ’ ) END ELSE writeln ( ‘ game over: ’, ’ score = ‘,score:6:2);

15 10-14 ตัวอย่าง โปรแกรม IF ….THEN ….ELSE Program ifelse; uses wincrt; var mark: integer; begin clrscr; write('Enter mark:'); readln(mark); if mark > 50 then writeln('You are above average') else begin writeln('You are under average'); writeln('Please test again') end; end.

16 10-15 IF ซ้อน IF มีการเช็คเงื่อนไข ภายใต้เงื่อนไข อีกที จะมีการเช็ค กี่ครั้งก็ได้ เรียกว่า Nested if statement IF codition1 THEN statement(s) ElSE IF condition2 THEN statement(s) ELSE statement(s);

17 10-16 ตัวอย่างโปรแกรม IF ซ้อน IF uses wincrt; var sale: integer; com : real; begin clrscr; write('Enter amount sale:'); readln(sale); Program ifelse1; if sale <= 1000 then com := 0.05 * sale else if sale <= 5000 then com := 50 +(sale -1000) * 0.08 else com := 370 +(sale ) * 0.1; writeln('Your commission are: ',com:7:2); readln; end.

18 10-17 คำสั่ง CASE คำสั่ง CASE ทำให้การทำงานของ โปรแกรมที่มีทางเลือกหลายทาง อย่างเช่น IF ซ้อน IF ทำงานง่าย ขึ้น CASE condition OF กรณี 1 : คำสั่งในกรณีที่ 1; กรณี N : คำสั่งในกรณีที่ N; ELSE คำสั่ง ; END;

19 10-18 คำสั่ง CASE กรณี อาจเป็น ค่าคงที่ หรือ ช่วง ข้อมูล Program case1; uses wincrt; var num : integer; begin write('Enter number 1 to 10:'); readln(num); CASE num OF 1,3,5,7,9 : writeln('It is odd number.'); 2,4,6,8,10: writeln('It is even number.'); END; end.

20 10-19 คำสั่ง CASE Program case2; uses wincrt; var key : char; begin clrscr; writeln('Press any key'); Key := readkey; writeln; CASE key OF 'a'..'z': writeln('It is lowercase letter.'); 'A'..'Z': writeln('It is uppercase letter.'); '0'..'9': writeln('It is number key.'); ElSE writeln('It is special character.') END; end.

21 10-20 คำสั่งแบบวนซ้ำ คำสั่ง FOR คำสั่ง WHILE คำสั่ง REPEAT ….UNTIL

22 10-21 คำสั่ง FOR คำสั่ง FOR เป็นคำสั่งควบคุมการ วนซ้ำ มีการกำหนดจำนวนรอบ มีการเพิ่ม / ลด ค่าการเช็ครอบโดย อัตโนมัติ

23 10-22 คำสั่ง FOR รูปแบบ FOR var := start TO end DO FOR var := start DOWNTO end DO VAR ตัวแปรต้องเป็นข้อมูลแบบ ลำดับ คือ integer, byte, char, boolean ห้ามเป็น real start ค่าเริ่มต้น end ค่าสิ้นสุด TO เพิ่มค่า VAR ส่วน DOWNTO ลดค่าของ VAR

24 10-23 คำสั่ง FOR Program for1; uses wincrt; var next : char; begin for next := 'A' TO 'G' DO writeLn(next,'***'); readln; end.

25 10-24 คำสั่ง FOR ซ้อน FOR Program for2; uses wincrt; const row = 5; col = 20; var i,j : byte; begin for i:=1 TO row DO begin for j:= 1 to col do write('*'); writeln end; readln; end.

26 10-25 คำสั่ง FOR DOWNTO Program for3; uses wincrt; const max = 10; min = -5; var i : integer; begin for i:= max DOWNTO min DO write(I:3); readln; end.

27 10-26 คำสั่ง FOR Program for4; uses wincrt var i : char; begin for i:= 'A' TO 'Z' DO write(i:2); readln; end.

28 10-27 คำสั่ง WHILE คำสั่ง WHILE เป็นคำสั่งการ ทำงานแบบวนซ้ำ โดยมีการเซ็คเงื่อนไขก่อนที่จะ ทำงานภายในลูป จะเข้าทำซ้ำเมื่อเงื่อนไขเป็นจริง หยุดทำงานเมื่อเป็นเท็จ ไม่กำหนดจำนวนรอบ แต่ขึ้นอยู่กับ เงื่อนไข ภายในลูปมีคำสั่งที่ทำให้เงื่อนไข เป็นเท็จ เพื่อป้องกัน Infinity loop

29 10-28 คำสั่ง WHILE รูปแบบ WHILE condition DO Statement; คำสั่ง While จะทำการรับค่าข้อมูล มาประมวลผลซ้ำ จนกว่าข้อมูล จะ หมด จึงหยุดการวนซ้ำ

30 10-29 คำสั่ง WHILE เพื่อให้หยุดการรับข้อมูล มี 3 วิธี – รู้จำนวนข้อมูลว่ามีกี่ตัว – ไม่รู้จำนวนข้อมูล จึ่งกำหนดค่า ข้อมูลตัวสุดท้ายไม่ตรงกับข้อมูล อื่นๆ เช่น 999 END ดังนั้นเงื่อนไข ทำการเช็คนี้เสมอก่อนทำงาน – ไม่รู้จำนวนข้อมูล จึงตั้งคำถามให้ ผู้ใช้ตอบ เช่น Y N นิยมใช้กับ REPEAT

31 10-30 คำสั่ง WHILE รู้จำนวนข้อมูล Program while1; uses wincrt; const max = 10; var min : integer; begin min := 1; while min < max do begin write(min:2); min := min + 1 end; end.

32 10-31 คำสั่ง WHILE ใช้ ข้อมูลสุดท้าย เป็นตัวเช็ค จงเขียนโปรแกรมหาค่าเฉลี่ย โปรแกรมมี 999 เป็นข้อมูลตัว สุดท้าย Program while2; uses wincrt; const eof = 999; var score,sum,count : integer; average : real; begin

33 10-32 คำสั่ง WHILE ใช้ ข้อมูลสุดท้าย เป็นตัวเช็ค write('Enter score: '); readln(score); while score <> eof do begin sum := sum + score; count := count + 1; write('Enter score: '); readln(score); end; average := sum / count; writeln('Average is :',average:5:2); readln; end.

34 10-33 คำสั่ง REPEAT คำสั่ง REPEAT เป็นคำสั่งวนซ้ำ เหมือน WHILE แต่มีข้อแตกต่าง คือ –While มีการเช็คเงื่อนไขก่อนด เข้าลูป นั้นหมายถึงอาจจะไม่มีการ เข้าลูปก็ได้ แต่ Repeat ต้องเข้า ลูปอย่างน้อย 1 ครั้ง –While ทำซ้ำเมื่อเงื่อนไขเป็นจริง แต่ Repeat ทำซ้ำเมื่อเงื่อนไขเป็น เท็จ

35 10-34 คำสั่ง REPEAT รูปแบบ REPEAT STATEMENT(S); UNTIL CONDITION;

36 10-35 คำสั่ง REPEAT Program Repeat1; uses wincrt; const password = ’ pascal'; var pass: string; begin Repeat write('Enter password: '); readln(pass); Until pass = password; readln; end.

37 10-36 คำสั่ง REPEAT Program Repeat2; uses wincrt; const star = '*'; var ch: char; a,e,i,o,u : byte; begin Repeat write('Enter vowel(a,e,i,o,u) or * to end: '); ch := readkey; case ch of 'a','A' : a := a+1; 'e','E' : e := e+1;

38 10-37 คำสั่ง REPEAT writeln('A =',a:3); writeln('E =',e:3); writeln('I =',i:3); writeln('O =',o:3); writeln('U =',u:3); readln; end. 'i','I' : i := i+1; 'o','O' : o := o+1; 'u','U' : u := u+1; end; writeln; Until ch = star;


ดาวน์โหลด ppt 10-1 บทที่ 10 คำสั่งควบคุม OUTLINE 1. คำสั่งแบบเรียงลำดับ (Sequence) 2. คำสั่งแบบทางเลือก (Selection) 3. คำสั่งแบบวนซ้ำ (Repetition)

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


Ads by Google