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

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

บทที่ 4 คำสั่งเงื่อนไขและ การควบคุม คำสั่งเงื่อนไข แบ่งออกเป็น  1. คำสั่ง IF เป็นคำสั่งที่ระบุว่า จะทำงานก็ต่อเมื่อเงื่อนไขเป็น จริง ถ้าเงื่อนไขเป็นเท็จอาจ.

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


งานนำเสนอเรื่อง: "บทที่ 4 คำสั่งเงื่อนไขและ การควบคุม คำสั่งเงื่อนไข แบ่งออกเป็น  1. คำสั่ง IF เป็นคำสั่งที่ระบุว่า จะทำงานก็ต่อเมื่อเงื่อนไขเป็น จริง ถ้าเงื่อนไขเป็นเท็จอาจ."— ใบสำเนางานนำเสนอ:

1

2 บทที่ 4 คำสั่งเงื่อนไขและ การควบคุม

3 คำสั่งเงื่อนไข แบ่งออกเป็น  1. คำสั่ง IF เป็นคำสั่งที่ระบุว่า จะทำงานก็ต่อเมื่อเงื่อนไขเป็น จริง ถ้าเงื่อนไขเป็นเท็จอาจ ทำงานตามหลัง ' ELSE ' หรือไม่ ก็ได้  Syntax : Expression ifif then Statement 1 Statement 2 els e

4 u เงื่อนไข Statements 2Statements 1 จริง (Yes or True) เท็จ (No or False) คำสั่ง if แสดงใน รูปผังงาน (Flowchart) ได้ดังนี้ คำสั่ง if แสดงใน รูปผังงาน (Flowchart) ได้ดังนี้

5  1. IF Expression THEN  Statement 1  ELSE  Statement 2;  2. IF Expression THEN  Statement 1; โครงสร้างของคำสั่ง IF ใน รูปของโปรแกรม โครงสร้างของคำสั่ง IF ใน รูปของโปรแกรม

6 ตัวอย่าง  PROGRAM Demo_IF_Condition_1;  USES CRT;  VAR score : REAL;  count : INTEGER;  BEGIN  READLN(score);  IF score >= THEN  WRITELN('PASS')  ELSE  WRITELN('FAIL');  END.

7 ตัวอย่าง ตัวอย่าง  PROGRAM Demo_IF_Condition_2;  USES CRT;  LABEL Looping;  VAR score : REAL;  count : INTEGER;  BEGIN  count := 0;  Looping:  READLN (score);  IF score >= THEN  BEGIN  WRITELN('Score = ',score);  WRITELN(' ','PASS')  END  ELSE  BEGIN  WRITELN('Score = ',score);  WRITELN(' ','FAIL');  END;  count := count + 1;  IF count <= 80 THEN  GOTO Looping;  WRITELN('Total Student =',count);  END.

8 โจทย์การบ้าน ข้อที่ 1. จงเขียนโปรแกรมเพื่อเอา วัน - เดือน - ปี ปัจจุบันไปตรวจสอบกับบัตร ประจำตัวประชาชนว่า “ อายุของเจ้าของ บัตรประจำตัวประชาชน ” มีสิทธิ์เข้าไปใช้ บริการสถานบรรเทิงหลังเวลา น. หรือไม่ ถ้ามีสิทธิ์ก็ให้แสดงข้อความในเชิง อนุญาต ถ้าไม่มีสิทธิ์ก็ให้แสดงข้อความใน เชิงปฏิเสธ ข้อที่ 2. จงเขียนโปรแกรมเพื่อคำนวณ ดอกเบี้ย ณ. วันครบหนึ่งปี ของเงินฝาก จำนวนหนึ่งโดยที่ธนาคาร เสนอเงื่อนไขว่า ถ้าฝากเงินตั้งแต่ 1,000,000 บาทขึ้นไปจะ เพิ่มดอกเบี้ยจากอัตราดอกเบี้ยปกติ 3% ขึ้น ไปอีก 1.5 %

9 Nesting or Nested IF คำสั่ง IF … IF สามารถใช้ซ้อนๆ กันได้มากกว่าหนึ่งชั้น เรียกว่า “Nesting หรือ Nested IF” เช่น Nesting or Nested IF คำสั่ง IF … IF สามารถใช้ซ้อนๆ กันได้มากกว่าหนึ่งชั้น เรียกว่า “Nesting หรือ Nested IF” เช่น  …..  IF ( condition 1 ) THEN  IF ( condition 2 ) THEN  IF ( condition 3 ) THEN  Statement 4  ELSE  Statement 3  ELSE  Statement 2   ELSE  Statement 1 ;  …..

10 u cond 1 Yes cond 2 cond 3 Yes No Statem ent 1 Statem ent 2 Statem ent 3 Statem ent 4 คำสั่ง Nested IF แสดงใน รูปผัง งาน (Flowchart) ได้ดังนี้ คำสั่ง Nested IF แสดงใน รูปผัง งาน (Flowchart) ได้ดังนี้

11  …….  IF ( Condition 1 ) THEN  Statement 1  ELSE IF ( Condition 2 ) THEN  Statement 2  ELSE IF ( Condition 3 ) THEN  Statement 3  ELSE  Statement 4;  …….

12 ตัวอย่ าง ตัวอย่ าง  PROGRAM Demo_Nested_IF_1 ;  USES CRT;  VARGPA : REAL;  count : INTEGER;  BEGIN  CLRSCR;  WRITE('Input GPA');  READLN(GPA);  IF GPA > 2.00 THEN  IF GPA > 3.25 THEN  IF GPA > 3.50 THEN  WRITELN(' เกียรติ นิยมอันดับ 1')  ELSE  WRITELN(' เกียรติ นิยมอันดับ 2')  ELSE  WRITELN(' จบ ')  ELSE  WRITELN( ' ซ้ำชั้น ’ );  END.

13 ตัวอย่ าง  ให้เขียนโปรแกรม เพื่อทำการอ่านค่า ใดๆ จากคีย์บอร์ดจำนวน 20 ตัวให้นับ จำนวนตัวอักษรภาษาอังกฤษ ตัวเลข และ ตัว Special Characters พร้อมทั้ง แสดงผลลัพท์ออกทางจอภาพ  PROGRAM Demo_Characters_count;  USES CRT;  LABEL Looping;  CONST amount = 20;  VARch : CHAR;  count, letters, digits, special_char : INTEGER;

14  BEGIN  count := 0;  letters := 0;  digits := 0;  special_cha r := 0;  Looping:  READ(ch);  WRITE(ch);  count := count + 1;  IF ((ch >= 'A') AND (ch <= 'Z')) OR  ((ch >= 'a') AND (ch <= 'z')) THEN  letters := letters + 1  ELSE IF (ch >= '0') AND (ch <= '9') THEN  digits := digits + 1  ELSE  special_char := special_char + 1;  IF count < amount THEN  GOTO Looping;  WRITELN('Amount of Characters = ',count);  WRITELN('Amount of Letters = ',letters);  WRITELN('Amount of Digits = ',digits);  WRITELN('Amount of Special Characters = ',special_char);  END.

15 โจทย์การบ้าน ข้อที่ 3 จงเขียน โปรแกรมเพื่อ ทำการตัด grade ตาม ช่วงของคะแนนข้างล่าง โดยรับข้อมูล รหัสชื่อ - สกุล และ คะแนนสอบของ นศ. ที่ ลงเรียนวิชา Pascal ของ นศ. แต่ละคน ดังนี้ :-  คะแนน Grade  0-59 F  D  C  B  A

16 ๏ 2 Case Statement ๏ คำสั่ง CASE เป็นคำสั่งเงื่อนไขคล้ายกับ คำสั่ง IF แต่สามารถ มีทางเลือก มากกว่า 2 ทางเลือกได้ซึ่งประกอบด้วย ๏ 1. Expression (the selector) ๏ 2. รายการของทางเลือก (Case Labels) ซึ่งมี Type เช่นเดียวกับ selector คำสั่ง ต่างๆ ที่ตามหลังทางเลือกจะถูกทำงานถ้า ทางเลือกนั้นเป็นจริงเมื่อเทียบกับ Expression ถ้าเป็นเท็จแล้วจะทำงาน ตามหลัง ELSE หรือไม่ทำงานเลย ๏ ทางเลือก (Case Labels) ประกอบด้วย ค่าคงที่ใดๆ แยกด้วย “, ” หรือ Sub range หรือ Boolean ตามด้วย colon(:)

17 Synta x : Synta x : CAS E ELSE END Expression Case Labels Statements OF ; ; Case Labels :- Constant.. Constant Expression :,

18 โครงสร้างของคำสั่ง CASE ในรูปของโปรแกรม  CASE Expression of  CASE Label1 : Statement1;  CASE Label2 : Statement2; .  CASE Label_n : Statement_n  [ ELSE  Statement_n+1; ]  END;

19 Expression Statement 2Statement 1 Statement n Statement n+1 คำสั่ง CASE แสดงใน รูปผังงาน (Flowchart) ได้ดังนี้

20 ตัวอย่าง เช่น .....  CASE number MOD 2 of  0 : WRITELN(number :2, ’ is EVEN number ');  1 : WRITELN(number :2, ’ is ODD number ');  END; .....  CASE month of  1, 2, 3 : WRITELN( 'First Quarter’ );  4, 5, 6 : WRITELN( 'Second Quarter’ );  7, 8, 9 : WRITELN( 'Third Quarter’ );  10,11,12 : WRITELN( 'Fourth Quarter’ );  END; .....  CASE code of  true : WRITELN('True and Good');  false : BEGIN  WRITELN('False');  WRITELN('I am Sorry');  END; .....

21 ตัวอย่ าง .....  CASE year of  min : BEGIN  time := per_world_war_2;  WRITELN('The world at peace.');  END;  max : BEGIN  END  ELSE .....  END; .....

22 ตัวอย่า ง  เขียนโปรแกรมให้อ่านเลข 2 จำนวนจาก คีย์บอร์ดเพื่อทำการบวก หรือคูณหรือหารอัน ใดอันหนึ่ง ตามแต่จะเลือกแล้วแสดงผลลัพธ์ ด้วย  PROGRAM Demo_CASE_Statement;  USES CRT;  VAR first, second, result : REAL;  choice : CHAR;  BEGIN  WRITE('Enter two Numbers separated by space');  READLN( first, second );  WRITE('Enter Operation ( +, -, *, /)’ );  READLN( choice );  CASE choice of  '+' : result := first + second;  '-' : result := first - second;  '*' : result := first * second;  '/' : result := first / second  ELSE  BEGIN  result := 0;  WRITELN('Invalid Operation Retry again');  END;  WRITELN(first:4:2, choice, second:4:2, '=', result:8:2 );  END.

23 ตัวอย่า ง  จงเขียนโปรแกรมเพื่อแสดงรายการเป็น ข้อๆ (Menu) และสามารถให้เลือกข้อที่ ต้องการได้  PROGRAM DemoCaseStatement2;  USES CRT;  LABEL top, last;  VAR number : INTEGER;  Area, r : REAL;  BEGIN  top:  WRITELN(' 1. คำนวณหาพื้นที่ วงกลม ');  WRITELN(' 2. คำนวณดอกเบี้ย เงินฝาก ');  WRITELN(' 3. คำนวณหา grade โดยใช้คำสั่ง if ');  WRITELN(' 4. คำนวณหา grade โดยใช้คำสั่ง case ');  WRITELN(' 9. ออกจาก Menu ');  WRITE(' คุณเลือกหมายเลข : ');  READLN( number );

24  CASE number of  1 : BEGIN  WRITE(' รัศมีวงกลม = ');  READLN(r);  Area := 3.14 * r * r;  WRITELN(' พื้นที่วงกลม = ', Area:3:2 ); READLN;  END;  2 : BEGIN  WRITELN(' คำนวณ ดอกเบี้ยเงินฝาก ' ); READLN;  END;  9 : GOTO last; (* ส่วนข้ออื่นๆ ให้คิดทำเอง *)  ELSE  BEGIN  WRITELN(' สามารถเลือกได้ เฉพาะที่มีราการ '); READLN;  END;  GOTO top;  last:  END.

25 โจทย์ ข้อที่ 4 จงเขียนโปรแกรมโดย ใช้คำสั่ง case พื่อ ทำการตัด grade ตามช่วงของคะแนนข้างล่าง โดยรับ ข้อมูล รหัสชื่อ - สกุล และ คะแนนสอบ ของ นศ. ที่ลงเรียนวิชา Pascal ของ นศ. แต่ละคนดังนี้ :-  คะแนน Grade  0-59 F  D  C  B  A

26  โจทย์ ข้อที่ 5 จงเขียนโปรแกรม เพื่อทำการคำนวณภาษีเงินได้ ( อัตรา ก้าวหน้า ) ตามช่วงของภาษีดังนี้ :-  รายได้ / ปี อัตราภาษี  < 50,001 0%  50, ,00010%  200, ,00020%  > 500,00030%

27 GOTO Statement เป็น คำสั่งที่ให้กระโดดข้ามไปทำ คำสั่งในบรรทัดที่ระบุ โดยไม่มี เงื่อนไข GOTO Statement เป็น คำสั่งที่ให้กระโดดข้ามไปทำ คำสั่งในบรรทัดที่ระบุ โดยไม่มี เงื่อนไข  รูปแบบ GOTO label;  เช่น GOTO start_point;  GOTO end_point;

28  PROGRAM Demo_GOTO_statement;  USES CRT;  LABEL start_p, end_p;  VAR id, cnt : INTEGER;  BEGIN  start_p: READLN(id);  IF id > 0 THEN  GOTO end_p  ELSE  writeln(‘ The number must be > 0 ’);  writeln( ‘ Re-enter please ! ‘ );  GOTO start_p;  end_p: writeln( ‘ The number = ‘, id);  END.


ดาวน์โหลด ppt บทที่ 4 คำสั่งเงื่อนไขและ การควบคุม คำสั่งเงื่อนไข แบ่งออกเป็น  1. คำสั่ง IF เป็นคำสั่งที่ระบุว่า จะทำงานก็ต่อเมื่อเงื่อนไขเป็น จริง ถ้าเงื่อนไขเป็นเท็จอาจ.

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


Ads by Google