
บทที่ 3 การแก้ปัญหา
บทที่ 3 การแก้ปัญหา
เป็นบทเรียนที่มุ่งเน้นให้ผู้เรียนมีความรู้ความสามารถในการวิเคราะห์ขั้นตอนการแก้ปัญหา กลั่นกรองแนวคิดของตนเอง ออกแบบขั้นตอนวิธี และเขียนโปรแกรมเพื่อช่วยประมวลผล
3.1 ขั้นตอนการแก้ปัญหา
3.2 การเขียนรหัสลําลองและผังงาน
3.3 การกําหนดค่าให้ตัวแปร
3.4 ภาษาโปรแกรม
จุดประสงค์การเรียนรู้
1. อธิบายขั้นตอนการแก้ปัญหา แก้ปัญหาตามขั้นตอนการแก้ปัญหา
2. วางแผนการแก้ปัญหาโดยใช้รหัสลําลองและผังงาน
3. แก้ปัญหาตามขั้นตอนการแก้ปัญหา

3.2 การเขียนรหัสลําลองและผังงาน (Pseudocode and Flowchart)
เมื่อเราทําความเข้าใจกับปัญหาและความต้องการแล้ว สิ่งต่อไปคือการคิดอย่างมีเหตุผลเพื่อหาแนวทาง ในการแก้ปัญหา โดยกระบวนการในการออกแบบแนวทางการแก้ปัญหานั้น จะต้องถ่ายทอดความคิดและความ เข้าใจไปสู่การนําไปปฏิบัติได้ การถ่ายทอดความคิดจะต้องมีจุดเริ่มต้น จุดสิ้นสุด และลําดับก่อนหลังที่ชัดเจน อาจอยู่ในรูปของข้อความที่เรียงกันเป็นลําดับซึ่งเรียกว่ารหัสลําลอง (pseudocode) หรืออยู่ในรูปผังงาน (flowchart) ที่ประกอบไปด้วยสัญลักษณ์ ขอความ และเส้นเชื่อมโยง ทําให้เห็นคําสั่งที่ต้องปฏิบัติ ลักษณะ การทํางาน และลําดับในการปฏิบัติงาน การถ่ายทอดความคิดเป็นเครื่องมือที่จะช่วยให้สามารถวางแผนการแก้ ปัญหา และพัฒนาโปรแกรมได้อย่างถูกต้อง ครบถ้วน และตรวจสอบได้โดยเฉพาะปัญหา หรือโปรแกรมที่ซับซ้อน
3.2.1 รหัสลําลอง (Pseudocode)
การเขียนรหัสลําลองเป็นการใช้คําบรรยายอธิบายขั้นตอนอย่างชัดเจนในการแก้ปัญหา หรือการทํางาน ของโปรแกรมซึ่งรูปแบบการเขียนจะขึ้นอยู่กับประสบการณ์ และความถนัดของผู้เขียน โดยอาจเขียนเป็น ภาษาพูด ทําให้เขียนง่ายไม่ต้องกังวลรูปแบบ
ถ้าผู้เขียนมีความชํานาญแล้ว สามารถเขียนรหัสลําลองในรูปแบบที่คล้ายกับภาษาโปรแกรม ซึ่งจะ สามารถนําไปดัดแปลงเป็นภาษาโปรแกรมได้ง่าย การใช้รหัสลําลองในการถ่ายทอดความคิดแสดง ดังตัวอย่างต่อไปนี้
ตัวอย่างที่ 3.2 รหัสลําลองการคํานวณหาพื้นที่สามเหลี่ยม



3.2.2 ผังงาน (Flowchart)
ผังงานเป็นเครื่องมือหนึ่งที่ใช้ในการวางแผนหรือออกแบบการแก้ปัญหาเพื่อให้สามารถนําไปปฏิบัติตาม หรือเขียนโปรแกรมเพื่อสั่งให้เครื่องคอมพิวเตอร์ทํางานได้ง่าย สถาบันมาตรฐานแห่งชาติอเมริกา (The American National Standard Institute: ANSI) ได้กําหนดสัญลักษณ์ที่เป็นมาตรฐานในการ เขียนผังงานไว้ ซึ่งในที่นี้จะแนะนําการใช้งาน 5 สัญลักษณ์พื้นฐาน ดังตาราง 3.1
ตาราง 3.1 สัญลักษณ์พื้นฐานสําหรับการเขียนผังงาน

สัญลักษณ์เชื่อมต่อผังงานที่อยู่คนละหน้ากระดาษ
ในการเขียนผังงานสําหรับโปรแกรมที่มีความซับซ้อนและต้องการเชื่อมต่อผังงานในหน้าเดียวกัน สามารถใช้สัญลักษณ์ แล้วมีหมายเลขกํากับภายใน หรือถ้ามีการเขียนหลายหน้า สามารถใช้ สัญลักษณ์ เพื่อเชื่อมต่อผังงานที่อยู่คนละหน้ากระดาษ โดยมีหมายเลขหน้ากํากับภายใน สัญลักษณ์



จากตัวอย่างที่ 3.2 สามารถเขียนเป็นผังงานได้ดังนี้
ตัวอย่างที่ 3.3 ผังงานการคํานวณหาพื้นที่สามเหลี่ยม

บางครั้งในการเขียนรหัสลําลอง หรือ ผังงานจะมีชื่อข้อมูลที่ยาวจนทําให้เกิดความ สับสน หรือมีการอ้างถึงชื่อข้อมูลซ้ํากัน หลายครั้ง เพื่อให้เขียนได้ง่ายและกระชับ สามารถแทนชื่อข้อมูลด้วยตัวแปร (variable) ซึ่งอาจเป็นตัวอักษรภาษาอังกฤษ และ ณ ขณะใดขณะหนึ่ง ตัวแปรจะมีค่าได้เพียง ค่าเดียวเท่านั้น อย่างไรก็ตามค่าของตัวแปร สามารถเปลี่ยนแปลงได้ ขึ้นอยู่กับการ ดําเนินการกับตัวแปรนั้น ๆ
