คำสั่งแบบเลือกทำ Week 6
เนื้อหาสาระ คำสั่งเลือกทำแบบทางเดียว คำสั่งเลือกทำอย่างใดอย่างหนึ่ง การกระทำแบบตรรกะและตัวดำเนินการ
Intro โปรแกรมเลือกทำเพื่อจะทำงานอย่างใดอย่างหนึ่ง โดยถ้าเงื่อนไขเป็นจริงจะทำ ถ้าเงื่อนไขเป็นเท็จจะไม่ทำ ตัวอย่างเช่น คำเตือนให้เก็บข้อมูลลงดิสก์ Save (Y/N) ถ้ากดคีย์ Y จะเก็บข้อมูลลงดิสก์ ถ้ากดคีย์ N จะไม่เก็บข้อมูล
คำสั่งเลือกทำแบบทางเดียว if-then เงื่อนไข ประโยคงาน งานลำดับถัดไป จริง เท็จ คำสั่งเลือกทำแบบทางเดียว if-then การทำงานของคำสั่งคอมพิวเตอร์จะตรวจสอบ เงื่อนไขก่อน ถ้าเงื่อนไขเป็นจริงจะทำตามคำสั่งหรือสเตตเมนต์ที่ตามหลัง then แต่ถ้าเงื่อนไขเป็นเท็จ คอมพิวเตอร์จะทำคำสั่งหรือสเตตเมนต์ต่อไป รูปแบบ if {condition} then {action statement}
ตัวอย่าง age=25 age=14 age=18 If age>18 then writeln(‘of age’); writeln(‘good luck’); ถ้าหากตัวแปร age เป็นค่าต่าง ๆ จะทำให้คอมพิวเตอร์แสดงผลลัพธ์ ดังนี้ Of age Good luck age=25 age=14 age=18 เงื่อนไขเป็นจริง เงื่อนไขเป็นเท็จ เงื่อนไขเป็นจริง
คำสั่งเลือกทำอย่างใดอย่างหนึ่ง if-then-else รูปแบบ if {condition} then {statement1} else {statement2}; โดยหลังสเตตเมนต์ที่ 1 จะไม่มีเครื่องหมาย ; เนื่องจากยังไม่จบคำสั่ง if
ตัวอยาง ถ้าหากต้องการให้คอมพิวเตอร์รับค่าคะแนนไปเก็บไว้ใน ตัวแปร Score โดยมีเงื่อนไข ถ้าคะแนนมากกว่าหรือเท่ากับ 60 ให้แสดงข้อความว่า ผ่าน แต่ถ้าน้อยกว่า 60 ให้แสดงข้อความว่า ไม่ผ่าน
ตัวอย่าง score=54 score=73 If score>=60 then writeln(‘You Pass’) else writeln(‘You Fail’); Writeln(‘Have a nice day’); ถ้าในตัวแปร score เป็นค่าต่าง ๆ เอาท์พุตที่ได้จะเป็น ดังนี้ You Fail Have a nice day You Pass score=54 score=73 เงื่อนไขเป็นเท็จ เงื่อนไขเป็นจริง
ตัวอย่าง ผลลัพธ์จากการรัน Enter number : 5 Cost = 35.00 โปรแกรมต่อไปนี้เป็นโปรแกรมคำนวณราคาต้นทุนสินค้า ถ้าหากผลิตมากกว่า 10 ชิ้น ราคาชิ้นละ 6.5 บาท ถ้าไม่เกิน 10 ชิ้น ราคาชิ้นละ 7 บาท ผลลัพธ์จากการรัน Enter number : 5 Cost = 35.00
ขอความสั่ง if/else แบบซอนกัน (nested if) ขอความสั่ง /* ทํ าเมื่อเงื่อนไข 1 เปนจริง */ . . . . . . . . . else if (เงื่อนไขที่ 2) /* ทําเมื่อเงื่อนไข 1 เปนเท็จ */ ขอความสั่ง /* ทําเมื่อเงื่อนไข 2 เปนจริง */ else ขอความสั่ง; /* ทําเมื่อเงื่อนไข 2 เปนเท็จ */
แบบฝึกหัด โปรแกรมการตัดเกรด แสดงการใชขอความสั่ง if/else ซอนกันหลายชั้น โดยให้ใส่ค่าคะแนนระหว่าง 0-100 คะแนน เกณฑการตัดเกรด ถ้า คะแนนตั้งแต่ 90 ขึ้นไป ได้ผลสอบเป็น EXCELLENT ถ้า คะแนนตั้งแต่ 80 ขึ้นไป ได้ผลสอบเป็น GOOD ถ้า คะแนนตั้งแต่ 70 ขึ้นไป ได้ผลสอบเป็น FAIR ถ้า คะแนนน้อยกว่า 70 ได้ผลสอบเป็น FAIL
แบบฝึกหัด แบบทางเลือกเดียว แบบฝึกหัด แบบทางเลือกเดียว ข้อ 1 บริษัทแห่งหนึ่งต้องการเพิ่มเงินเดือนให้พนักงานที่มีเงินเดือนต่ำกว่า 5000 อีกคนละ 10% และให้พนักงานทุกคนได้รับโบนัสคนละ 3 เท่าของเงินเดือน ขั้นตอนการประมวลผล รับค่าชื่อพนักงาน . เงินเดือน เปรียบเทียบค่า เงินเดือน - ถ้าน้อยกว่า 5000 ให้เงินเดือน = เงินเดือน + (เงินเดือน * 10/100) คำนวณโบนัส = เงินเดือน * 3 แสดงผลลัพธ์ จบการทำงาน
แบบฝึกหัด แบบ 2 ทางเลือก แบบฝึกหัด แบบ 2 ทางเลือก บริษัทแห่งหนึ่งต้องการเพิ่มเงินเดือนให้พนักงานที่มีเงินเดือนต่ำกว่า 5000 อีกคนละ 10% และพนักงานที่มีเงินเดือนตั้งแต่ 5000 เพิ่ม 5% ให้พนักงานทุกคนได้รับโบนัสคนละ 3 เท่าของเงินเดือน ขั้นตอนการประมวลผล รับค่าชื่อพนักงาน . เงินเดือน เปรียบเทียบค่า เงินเดือน < 5000 ถ้าเป็นจริง ให้อัตราเพิ่มเงินเดือน = 10/100 ถ้าเป็นเท็จให้อัตราเพิ่มเงินเดือน = 5/100 คำนวณเงินเดือน = เงินเดือน + (เงินเดือน * อัตราเพิ่มเงินเดือน) โบนัส = เงินเดือน * 3 แสดงผลลัพธ์ จบการทำงาน
End Week 10