บทที่ 2 ออกแบบอัลกอรึทึมและการเขียนผังงานโปรแกรม
จุดประสงค์การเรียนรู้
1. มีความรู้ความเข้าใจเกี่ยวกับการออกแบบอัลกอรึทึม
2. มีความรู้ความเข้าใจเกี่ยวกับโปรแกรม Flowgorithm
3. สามารถเขียนผังงาน (flowchart) โดยใช้โปรแกรม Flowgorithm ได้
1. การออกแบบขั้นตอนการทำงานของโปรแกรม
การออกแบบขั้นตอนการทำงานของโปรแกรมหรือการออกแบบอัลกอริทึม เป็นการออกแบบลำดับขั้นตอนการทำงานของโปรแกรม สามารถแบ่งออกได้ 3 ลักษณะ คือ การใช้ภาษาธรรมชาติ การใช้รหัสจำลอง และการใช้ผังงาน
ตัวอย่าง
การออกแบบขั้นตอนการทำงานของโปรแกรม
สถานการณ์ : ถ้านักเรียนต้องการออกแบบขั้นตอนการทำงานของโปรแกรมคำนวณพื้นที่รูปสี่เหลี่ยม โดยให้แสดงผลลัพธ์ที่ได้จากการคำนวณทางหน้าจอ นักเรียนสามารถออกแบบขั้นตอนการทำงานของโปรแกรมได้ ดังนี้
1. การออกแบบขั้นตอนการทำงานโดยใช้ภาษาธรรมชาติ (Natural Language) เป็นการบรรยายขั้นตอนการทำงานของโปรแกรมใด ๆ โดยใช้ภาษามนุษย์ที่เข้าใจง่าย เพื่ออธิบายลำดับขั้นตอนการทำงานของโปรแกรมตามลำดับการทำงานก่อนหลัง
ภาษาธรรมชาติ
1. เริ่มการทำงาน
2. นำเข้าข้อมูลความกว้างของรูปสี่เหลี่ยม
3. นำเข้าข้อมูลความยาวของรูปสี่เหลี่ยม
4. คำนวณพื้นที่รูปสี่เหลี่ยม = ความกว้าง x ความยาว
5. แสดงผลพื้นที่ของรูปสี่เหลี่ยม
6. จบการทำงาน
2. การออกแบบขั้นตอนการทำงานโดยใช้รหัสจำลอง (Pseudo Code) เป็นรูปแบบภาษาที่มีโครงสร้างที่ชัดเจนและกระชับ เพื่อใช้อธิบายขั้นตอนการทำงานของโปรแกรมใด ๆ โดยไม่ขึ้นกับภาษาของโปรแกรมใดโปรแกรมหนึ่ง และสามารถแปลงรหัสจำลองเป็นภาษาคอมพิวเตอร์ได้ง่าย
รหัสจำลอง
1. START
2. INPUT width
3. INPUT length
4. COMPUTE area = width * length
5. OUTPUT area
6. STOP
3. การออกแบบขั้นตอนการทำงานโดยใช้ผังงาน (Flowchart) เป็นการใช้แผนภาพสัญลักษณ์เพื่อแสดงลำดับขั้นตอนการทำงานของโปรแกรม ซึ่งเป็นวิธีที่นิยมใช้ เพราะทำให้เห็นภาพในการทำงานของโปรแกรมได้ง่าย และเมื่อมีข้อผิดพลาดสามารถตรวจสอบจากผังงานได้ ซึ่งทำให้การแก้ไขหรือปรับปรุงโปรแกรมทำได้ง่ายขึ้น โดยสัญลักษณ์ที่ใช้ในการออกแบบขั้นตอนการทำงานโดยใช้ผังงาน มีดังนี้
ดังนั้น เมื่อนำสัญลักษณ์มาเขียนผังงานแสดงขั้นตอนการทำงานจะได้ ดังรูป
ในคณิตศาสตร์และคณิตตรรกศาสตร์ พีชคณิตแบบบูล (หรือเรียกชื่ออื่นว่า พีชคณิตบูลเลียน หรือ แลตทิซแบบบูล) (อังกฤษ: Boolean algebra) คือโครงสร้างเชิงพีชคณิตซึ่งเป็นการรวบรวมแก่นความหมายของการดำเนินการทางตรรกศาสตร์และทฤษฎีเซต โดยชื่อพีชคณิตแบบบูลนั้นตั้งตามจอร์จ บูล ผู้พัฒนาพีชคณิตแบบนี้
พีชคณิตบูลีนเป็นสาขาของพีชคณิตซึ่งค่าของตัวแปรคือค่าความจริง จริงและเท็จ โดยปกติจะแสดงเป็น 1 และ 0 ตามลำดับ แต่ต่างจากพีชคณิตขั้นพื้นฐาน ที่ค่าของตัวแปรเป็นตัวเลขและการดำเนินการเฉพาะคือการบวกและการคูณ การดำเนินการหลักของพีชคณิตบูลีน (ตัวดำเนินการตรรกะ) คือ
การรวม (และ) แสดงเป็น ∧ การไม่แยก (หรือ) แสดงเป็น ∨ และการปฏิเสธ (ไม่) แสดงเป็น ¬ เป็นวิธีการทางคณิตศาสตร์สำหรับอธิบายการดำเนินการเชิงตรรกะ ในลักษณะเดียวกับที่พีชคณิตขั้นพื้นฐานที่ใช้อธิบายการดำเนินการเชิงตัวเลข
ให้นักเรียนไปที่เว็บ http://www.flowgorithm.org/ เพื่อโหลดโปรแกรมมาติดตั้งในเครื่องคอมพิวเตอร์
Flowgorithm เป็น ภาษาการเขียนโปรแกรมสำหรับผู้เริ่มต้นใช้งานฟรีซึ่งอิงตามผังงานกราฟิกอย่างง่ายโดยปกติ เมื่อนักเรียนเรียนรู้การเขียนโปรแกรมครั้งแรก พวกเขามักจะใช้ภาษาการเขียนโปรแกรมแบบข้อความภาษาใดภาษาหนึ่ง ขึ้นอยู่กับภาษา สิ่งนี้อาจง่ายหรือยากอย่างน่าผิดหวัง หลายภาษาต้องการให้คุณเขียนโค้ดที่สับสนเพื่อแสดงข้อความ "สวัสดี โลก!"
ด้วยการใช้ผังงาน คุณสามารถมุ่งความสนใจไปที่แนวคิดการเขียนโปรแกรมมากกว่าที่จะสนใจความแตกต่างของภาษาโปรแกรมทั่วไปทั้งหมด คุณยังสามารถเรียกใช้โปรแกรมของคุณได้โดยตรงใน Flowgorithm
เมื่อคุณเข้าใจตรรกะการเขียนโปรแกรมแล้ว คุณจะเรียนรู้ภาษาหลักภาษาใดภาษาหนึ่งได้อย่างง่ายดาย โฟลว์กอริธึมสามารถแปลงผังงานของคุณเป็นมากกว่า 18 ภาษาแบบโต้ตอบได้ ซึ่งรวมถึง: C#, C++, Java, JavaScript, Lua, Perl, Python, Ruby, Swift, Visual Basic .NET และ VBA (ใช้ใน Office)
1. ทำการเปิดโปรแกรมโดยการดับเบิ้ลคลิกที่ icon
2 . หน้าจอโปรแกรม Flowgorithm เริ่มต้นจะสร้างจุด Main และ End ให้โดยอัตโนมัติ
3. ทดสอบการเขียนผังงาน โปรแกรมหาผลบวกของตัวเลขสองจำนวนเริ่มคลิกที่ปลายลูกศรสีแดง จะปรากฏหน้าต่างดังภาพ
4. สร้าง Declare แล้วทำการดับเบิ้ลคลิกที่กล่อง Declare จะปรากฏหน้าต่างตามภาพ ให้ใส่ค่า a ในช่องVariable Names เลือก Type เป็น Integer (ตัวเลขจำนวนเต็ม)
*อธิบายเพิ่ม ชนิดของข้อมูล (Type)
Integer = จำนวนเต็ม (ตัวอย่าง 0, 1, 2, 3)
Real = จำนวนจริง (ตัวอย่าง 0.1, 5.2, 6.3, 5.5)
String = อักขระ (ตัวอย่าง ชื่อ นามสกุล ที่อยู่)
Boolean = จริง เท็จ
5. สร้างกล่อง Declare เพิ่ม โดยกำหนดเป็นค่า b และ result ตามภาพ
6. สร้าง Output แจ้งผู้ใช้ให้กรอกตัวเลขสองตัว คือ a และ b
7. สร้าง Input เพื่อรับค่า a และ b จากผู้ใช้
8. สร้าง Assign เพื่อคำนวณ โดยช่อง Variable ให้กรอก result ช่อง Expression ให้กรอก a + b
9. สร้าง Output เพื่อแสดงการคำนวณ โดยใช้ Code ดังนี้
"ผลบวกของตัวเลข "& a &" และ "& b &" คือ "& result
10. ทำการรันโปรแกรม โดยกดปุ่ม สามเเหลี่ยม ที่แถบเมนู และทดสอบการกรอกข้อมูล และแสดงผลลัพธ์
นอกจากนี้แล้ว โปรแกรม Flowgorithm ยังมีความสามารถในการแปลง Flowchart เป็น Code ได้อีกด้วยโดยเข้าไปที่เมนู Tools เลือก Source Code Viewer
โดยระบบจะแปลงเป็น Code ภาษา Pseudocode (ซูโดโค้ด) ให้อัตโนมัติ
นอกจากนี้ยังสามารถเลือกให้แปลงเป็นภาษาโปรแกรมอื่นๆ ได้อีกหลายภาษา โดยคลิกที่
กิจกรรมท้ายบทที่ 2
1.หาค่า ดัชนีมวลกาย จากสูตรคำนวณหาดัชนีมวลกาย
2. ออกแบบอัลกอริทึม แปรงค่าดัชนีมวลกาย ตามเกณ์
3. ออกแบบอังกอริทึม สูตรคุณ
Enter multiple number : 5 (ผู้ใช้งานกรอกหมายเลข 5 เข้ามาในระบบ)
5 x 1 = 5
5 x 2 = 10
5 x 3 = 15
5 x 4 = 20
5 x 5 = 25
5 x 6 = 30
5 x 7 = 35
5 x 8 = 40
5 x 9 = 45
5 x 10 = 50
5 x 11 = 55
5 x 12 = 60