แบบสองทางเลือก(4/6)
เร่ิม เร่ิมการทางาน
พิมพ์ Do you like Pascal แสดงข้อความ Do you like Pascal
รับค่า ans รับค่าใส่ตัวแปร ans
เทจ็ จริง เปรียบเทยี บค่า ans เท่ากับ y หรือ Y
ans = ‘y’ OR ans=‘Y’
พิมพ์ Thank You - ถ้าเป็ นจริง พมิ พ์
พิมพ์ I’m sorry to hear that
Thank you
พิมพ์ Good Bye -ถ้าเป็ นเทจ็ พมิ พ์
I’m sorry to hear that
พมิ พ์คาว่า Goodbye
จบ จบการทางาน
แบบสองทางเลือก(5/6)
• บริษัทแห่งหน่ึงต้องการเพ่มิ เงนิ เดือนให้พนักงานท่มี ีเงินเดอื นต่ากว่า
5000 อกี คนละ 10% และพนักงานท่มี ีเงนิ เดอื นตงั้ แต่ 5000 เพ่มิ 5%
ให้พนักงานทกุ คนได้รับโบนัสคนละ 3 เท่าของเงนิ เดอื น
• ขัน้ ตอนการประมวลผล
1. รับค่าช่ือพนักงาน . เงนิ เดือน
2. เปรียบเทียบค่า เงนิ เดือน < 5000
- ถ้าเป็ นจริง ให้อัตราเพ่มิ เงนิ เดือน = 10/100
- ถ้าเป็ นเทจ็ ให้อัตราเพ่มิ เงนิ เดือน = 5/100
3. คานวณเงนิ เดอื น = เงนิ เดือน + (เงนิ เดอื น * อัตราเพ่มิ เงนิ เดือน)
4. โบนัส = เงนิ เดือน * 3
5. แสดงผลลัพธ์
6. จบการทางาน
แบบทางเลือกเดียว(6/6)
START A
read salary = salary+(salary * rate)
name ,salary
bonus = salary * 3
false salary < 5000 true
Name , salary ,
rate = 5 / 100 rate = 10 / 100 bonus
A STOP
แต่ ไม่ ต้ องเขียนเส้ นเช่ือมนี ้
การเลือกหลายทาง(แบบ IF)
• เป็ นรูปแบบการเลือกการ
ทางานท่มี ที างเลือกมากกว่า False เงอื่ นไข 1 True
คำสงั่ ท่ี 1
2 ทางขนึ้ ไป False เงอ่ื นไข 2 True
False เงอื่ นไข 3 True คำสง่ั ท่ี 2
คำสงั่ ที่ 4 คำสง่ั ที่ 3
การเลือกหลายทาง(แบบ IF)
Score = mid + final
false Score >=80 true
false Score >=70 true Grade = ‘A’
false Score >=60 true Grade = ‘B’
false Score >=50 true Grade = ‘C’
Grade = ‘F’ Grade = ‘D’
การเลือกหลายทาง(แบบ CASE)
• เป็ นรูปแบบการเลือกการทางานท่มี ีทางเลือกมากกว่า 2 ทาง
ขนึ้ ไป
เงอื่ นไข
กรณี 1 กรณี 2 กรณี 3 กรณี 4
คำสงั่ ที่ 1 คำสง่ั ท่ี 2 คำสงั่ ท่ี 3 คำสงั่ ที่ 4
การเลือกหลายทาง(แบบ CASE)
Score = mid + final
score
80..100 70..79 60..69 50..59 0..49
Grade = ‘A’ Grade = ‘B’ Grade = ‘C’ Grade = ‘D’ Grade = ‘F’
แบบวนซา้
• แบบกาหนดรอบไว้ล่วงหน้า(Controlled Loop)
• แบบตรวจสอบเง่อื นไขก่อน(Pre-Test Condition)
• แบบตรวจสอบเง่อื นไขทีหลัง(Post-Test Condition)
แบบกาหนดรอบการทางานเอาไว้ล่วงหน้า
• มีการกาหนดรอบการทางานซา้ ไว้ล่วงหน้า เม่อื ครบตาม
จานวนรอบจงึ หยุดทางานซา้ แล้วทาคาส่ังต่อไป
กาหนดรอบการทางาน
คำสงั่ ทำซำ้ 1
คำสงั่ ทำซำ้ 2
Next
แบบกาหนดรอบการทางานเอาไว้ล่วงหน้า
• ค่า N จะเร่ิมต้นท่ี 1 และเพ่มิ ค่าทลี ะ 1 จนกระท่งั มากกว่า 5
จงึ หยุดการทางานซา้ และทาคาส่ังถดั จาก Next ในแต่ละรอบ
ของงานท่ใี ห้ทาซา้ คือ พมิ พ์ค่าในตวั แปร N ทลี ะรอบ
For N =1 , 5
Print N
Next
แบบตรวจสอบเง่อื นไขก่อนถ้าเป็ นจริงแล้วค่อยทาซา้
• แบบตรวจสอบเง่อื นไขก่อน ถ้าเง่อื นไขยังเป็ นจริงให้ทางานซา้
จนกระท่งั เง่อื นไขเป็ นเทจ็ จงึ หยุดทางานซา้ แล้วไปทางาน
คาส่ังอ่นื ถดั ไป
เงอื่ นไข False
True
คาสง่ั งานซา้ 1
คาสง่ั งานซา้ 2
แบบตรวจสอบเง่อื นไขก่อนถ้าเป็ นจริงแล้วค่อยทาซา้
• ตรวจสอบเง่อื นไขถ้า N <= 5 N=1
– ให้พมิ พ์ ค่า N N <=5 False
– เพ่มิ ค่า N อีก 1 (N=N+1)
True
• กลับไปตรวจสอบเง่อื นไขอีก
จนกว่าเง่อื นจะเป็ นเทจ็ จึง Print N
หยุดทางานซา้ แล้วไปทางาน
คาส่ังอ่นื N = N+1
แบบทาซา้ ก่อนแล้วค่อยตรวจเง่อื นไข
• แบบให้ทางานในคาส่ังทาซา้ ก่อน คาสง่ั งานซา้ 1
แล้วค่อยตรวจสอบเง่อื นไข ถ้า
เง่อื นไขยังเป็ นเทจ็ ให้กลับไปทางาน คาสง่ั งานซา้ 2
ในคาส่ังทาซา้ อกี จนกระท่งั
ตรวจสอบแล้วเง่อื นเป็ นจริง จงึ หยุด
แล้วไปทางานคาส่ังอ่นื
False เงอื่ นไข
True
แบบทาซา้ ก่อนแล้วค่อยตรวจเง่อื นไข
– ให้พมิ พ์ค่าในตวั แปร N N=1
– เพ่มิ ค่าให้ตวั แปร N อกี 1
• ตรวจสอบเง่อื นไข ถ้า N > Print N
5 เป็ นจริงให้หยุดทางานซา้
ถ้าเป็ นเทจ็ ให้กลับไป N = N+1
ทางานคาส่ังซา้ อกี รอบ
False
N>5
True