บทที่ 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