โครงสร้างการทางานแบบทางเลือก อาจารย์สมเกียรติ ช่อเหมือน สาขาวิชาวิศวกรรมซอฟต์แวร์ คณะวิทยาศาสตร์และเทคโนโลยี (tko@webmail.npru.ac.th)
เนื้อหาที่สนใจ • • • • •
โครงสร้างแบบมีทางเลือก (Selection structure) ตัวดาเนินการสัมพันธ์ (Relation operation) ตัดสินใจแบบตาราง (Decision Tables) ต้นไม้การตัดสินใจ (Decision tree) ตัวอย่างการเขียนโปรแกรมแบบมีทางเลือก – – – – – – –
เช่น สมการทางคณิตศาสตร์ ตัวเลือกชัดเจน และการเลือกคาตอบ การคิดผลการเรียน การตรวจสอบผู้ใช้ระบบ เงื่อนไขคูปองส่วนลด การให้ยาลดไข้ในเด็กแต่ละช่วงวัย การใช้เซนเซอร์ควบคุมการทางานอุปกรณ์มอเตอร์
http://1.bp.blogspot.com/-tw1caa8lBus/Vphe8RV3rwI/AAAAAAAAAKM/wAhp-ds7iQM/s1600/8.png
โครงสร้างแบบมีทางเลือก (Selection structure) • ขั้นตอนการทางานบางขั้นตอนต้องมีการตัดสินใจ เพื่อเลือกวิธีการ ประมวลผล • บางขั้นตอนที่ไม่ได้รับการประมวลผล • โครงสร้างที่มีเงื่อนไข และตัวควบคุมการทางาน • การตัดสินใจอาจมีทางเลือก 2 ทางหรือมากกว่าก็ได้ • มีการกาหนดตัวเลือกที่ชัดเจน หรือขึ้นอยู่กับการประมวลผลแบบอัตโนมัติ
การทางานแบบทางเลือกตามเงื่อนไข • • • •
เงื่อนไข (condition) ข้อตกลงที่กาหนดขึ้น ซึ่งทาให้เกิดเหตุการณ์ ตัวแปรควบคุมที่กาหนดขึ้นตามเงื่อนไข เงื่อนไขจะเป็นจริง (True) หรือเป็นเท็จ (False) โปรแกรมจะเลือกทางานอย่างใดอย่างหนึ่ง โดยใช้เงื่อนไขเป็นตัว กาหนดการทางาน
https://www.programiz.com/c-programming/c-if-else-statement
ตัวดาเนินการสัมพันธ์ (Relation operation) • การตรวจสอบเงื่อนไขว่าจริงหรือเท็จ • การควบคุมเงื่อนไขด้วย if-else • การควบคุมเงื่อนไขด้วย switch-case
http://www.phpf1.com/tutorial/php-switch-case.html http://csharp.net-informations.com/statements/csharp-if-else.htm http://www.circuitsgallery.com/2012/07/data-types-operators-and-operations-in.html
ตัดสินใจแบบตาราง (Decision Tables) • ตารางการตัดสินใจ (Decision table) เป็นเครื่องมือที่ใช้แสดงเงื่อนไขการ ตัดสินใจ และการเลือกการทางานหรือกระทากิจกรรมภายใต้เหตุการณ์ ของเงื่อนไขที่ระบุ เช่นเดียวกับต้นไม้การตัดสินใจ score grade >=80 >=75 >=70 >=65 >=60 >=55 >50 <50
A B+ B C+ C D+ D E
เงื่อนไข
กฎสาหรับการตัดสินใจ / การกระทา
การระบุเงื่อนไขสาหรับการพิจารณาการทางาน กฎที่เป็นไปได้ภายใต้เงื่อนไขที่ระบุ การกระทาที่เป็นไปได้ การระบุการเลือกการกระทาภายใต้กฎเกณฑ์
http://bizcom.dusit.ac.th/gallery/document/download/Decision-table.doc
ต้นไม้การตัดสินใจ (Decision tree) • ใช้การวิเคราะห์แบบกิ่งก้านสาขา • ต้นไม้ตัดสินใจเป็นส่วนหนึ่งของทฤษฎีการตัดสินใจ (decision theory) และ ทฤษฎีกราฟ
http://sasdkmitl09.blogspot.com/2009/07/blog-post_23.html https://en.wikipedia.org/wiki/Decision_tree_learning
สมการทางคณิตศาสตร์
สมการทางคณิตศาสตร์
ตัวเลือกชัดเจน • • • • • • •
มีตัวเลือก กขคง 1234 วันจันทร์ อังคาร พุธ พฤหัส ศุกร์ เสาร์ อาทิตย์ ABCDE red green blue มีเมนูมาให้ชัดเจน
http://www.theactkk.net/home/homenew1/DetailsNews.asp?TID=7339
http://www.exportersindia.com/ribsindia/laboratory-glass-tubes-mumbai-india-204817.htm
การเลือกคาตอบ
การคิดผลการเรียน score grade >=80 >=75 >=70 >=65 >=60 >=55 >50 <50
A B+ B C+ C D+ D E
ต้นไม้การตัดสินใจ
การตรวจสอบผู้ใช้ระบบ
เงื่อนไขคูปองส่วนลด
https://www.tescolotus.com/clubcard/coupon
การให้ยาลดไข้ในเด็กแต่ละช่วงวัย • อุณหภูมิปกติ คือ 37 องศาเซลเซียส (℃) หรือ 98.6 องศาฟาเรนไฮต์ (℉) – – – –
ไข้ต่าๆ คือ 37.5 – 38.4 องศาเซลเซียส ไข้ปานกลาง 38.5 – 39.4 องศาเซลเซียส ไข้สูง 39.5 – 40.4 องศาเซลเซียส ไข้สูงมาก 40.5 องศาเซลเซียสขึ้นไป
• วิธีคิดคานวณ ปริมาณยาพาราในเด็กใช้ 10 – 15 มิลลิกรัม ต่อน้าหนักตัว 1 กิโลกรัม • ยาลดไข้ความเข้มข้น 160 มิลลิกรัม / 1 ช้อนชา • ซึง่ 1 ช้อนชา = 5 ml
http://women.thaiza.com/เด็กเล็กควรใช้ยาลดไข้อย่างระวัง/315522/ http://www.mamaexpert.com/posts/content-1079
การคานวณปริมาณยา
การใช้เซนเซอร์ควบคุมการทางานอุปกรณ์มอเตอร์ Sensor -> input ->process -> output -> Device
ตัวดาเนินการ บวก ลบ คณู หาร
https://software.thaiware.com/11995-Arithmetic-App.html
การคานวณราคาบัตรเข้า KidZania
http://gupapai.com/promotions/983
สรุป • ขั้นตอนการทางานบางขั้นตอนต้องมีการตัดสินใจในแต่ละเงื่อนไข • ในภาษาซีใช้ตัวดาเนินการในการประมวลผล เพื่อเลือกวิธีการประมวลผล • การประมวลผลตัวควบคุม มากกว่า 1 ตัว ใช้ตัวเชื่อมทางตรรกะ เช่น &&, || • จะดาเนินการในกรณีที่เงื่อนไข เป็น จริง หรือ เท็จ • สามารถประยุกต์กับโมเดลทางด้านธุรกิจต่างๆ เช่น