RSS

บทที่6(6.3เครื่ิองมือที่ใช้ในการออกแบบและขั้นตอนวิธีในการกแก้ปัญหา)

29 ก.ค.

เครื่ิองมือที่ใช้ในการออกแบบและขั้นตอนวิธีในการกแก้ปัญหา

การออกแบบวิธีในการแก้ปัญหาเป็นกระบวนการที่ต้องอาศัยประสบการณ์ ความรู้ความเข้าใจในปัญหา และความคิดอย่างมรเหตุผลและเป็นขั้นตอนแล้ว ยังต้องอาศัยเครื่องมือที่จะช่วยถ่ายทอดความคิดออกมาเป็นลายลักษณ์อักษร หรือเป็นแผนภาพซึ้งจะช่วยให้สามารถแก้ปัญหาได้ดีโดยเพาะปัญหาที่ยุ่งยากซับซ้อนอีกทั้งยังเป็นแนวทางให้ผู้ที่เกี่ยวข้องหรือผู้ดำเนินการปรับปรุงในอนาคตเข้าในวิธีแก้ปัญหาที่เราพัฒนาขึ้นได้ง่าย เครื่องมือที่ใช้ในการอกแบบวิธีแก้ปัญหามี 2 ลักษณะคือ

6.3.1 รหัสลำลอง

รหัสลำลองเป็นการใช้คำบรรยายเพื่ออธิบายขั้นตองวิธีในการแก็ปัญหา การเขียนรหังลำลองไม่มีรูปแบบที่แน่นอน ขึ้นอยู่กับประสบการณ์และความถนัดของผู้เขียน ซึ่งอาจจะเขียนอย่างละเอียดหรือย่อ และในบางครั้งที่อาจอธิบายในลักษณะคล้ายคำพูด หรืออาจจะเขียนในรูปแบบคล้ายภาโปรแกรมก็ได้เช่นกัน การใช้รหัสลำลองในการออกแบบวิธีแก้ปัญหามีข้อดีคือ เขียนง่ายผู้เขียนคำนึงถึงเพียงแต่วิธีแก้ปัญหา โดยไม่ต้องกังวลว่าจะเขียนผิดรูปแบบหรือไม่และถ้าผู้เขียนมีความชำนาญแล้ว การเขียนรหัสลำลองในรูปแบบคล้ายกับภาษาโปรแกรมจะทำให้สามารดัดแปลงไปเป็นโปรแกรมคอมพิวเตอร์ได้โดยง่าย ตัวอย่างที่ 6.4 และ 6.5 ต่อไปนี้ แสดงถึงการใช้รหังลำลองในการถ่ายทอดความคิดเพื่อแก้ปัญหาทั่งไป และปัญหาทางคณิตศาสตร์

ให้เขียนรหัสลำลองเพื่อถ่ายทอดความคิดขั้นตอนวิธีในการเปลี่ยนยางรถเมื่อยางแบนในขณะขับรถ

 

ตัวอย่างที่ 6.5

ให้เขียนรหัสลำลองเพื่อถ่ายทอดความคิดขั้นตอนวิธีในการหาค่าเฉลี่ยของเลขจำนวนเต็ม 5 จำนวน โดยกำหนดให้สามารถรับค่าตัวเลขได้เพียงครั้งละหนึ่งจำนวนเท่านั้น


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

ตารางที่ 6.2 สัญลักษณ์และความหมายของผังงาน

http://www.thaigoodview.com/files/u18287/SNAG4-0012.gif

ในการเขียนผังงานมีหลักการ คือ ให้เลือกสัยลักษณ์แทนกนะบวนการที่ถูกต้อง และเขียนข้อความสั้นๆ แทนสิ่งที่ต้องกระทำลงในรูปสัญลักษณ์ แล้วนำมาเรียงต่อกัน เชื่อมแต่ละสัญลักษณ์ด้วยลูกศร โดยทั่วไปแล้ว จะเรียงลำดับของสัญลักษณ์ไว้จากบนลงล่าง ตามลำดับชองการทำงาน หรือ อาจจะใช้หัวลูกศรระบุลำดับก่อนหลังของการทำงานก็ได้

การเชื่อมต่อสัญลักษณ์ต่างๆ ของผังงาน อาจทำให้มีการตัดกันของเส้นลุกศรจนอาจเกิดความสับสนได้ ผู้เขียนจึงควรเลือกใช้สัญลักษณ์จุดเชื่อมต่อในหน้าเดีวกัน โดยระบุตัวอักษรเดียวกันเพื่อหมายถึงการเชื่อมสองจุดของผังงานเข้าด้วยกัน แต่ถ้าผังงานใหญ่เกินหน้ากระดาษ ให้เลือกใช้สัญลักษณ์จุดเชื่อมต่อหน้ากระดาษ เพื่อเชื่อมระหว่างสองจุดของผังงานที่ข้ามไปอยู่คนละหน้ากัน

ให้เขียนผังงานเพื่อถ่ายทอดความคิดขั้นตอนวิธีในการเปลี่ยนยางรถเมื่อยางแบนในขณะที่ขับรถ

 

จากผังงานข้างต้นแสดงวิธีการแก้ปัญหาแบบเป็นลำดับตั้งแต่ต้นจนจบ โดยการแก้ปัญหาจะไม่มีการข้ามขั้นตอน

ในการคิดค้นหาวิธีแก้ปัญหาหรือประมวลด้วยคอมพิวเตอร์ อาจมีความจำเป็นต้องบันทึกหรือพักข้อไว้ที่ใดที่หนึ่ง เพื่อให้สามารถใช้อ้างอิงได้ในภายหลัง ตัวอย่างเช่น การนับว่ามีการรับตัวเลขเข้ามาเพื่อคำนวณครบ 5 ตัวหรือยัง  จะต้องมีการเก็บค่าที่ใช้นับจำนวนเอาไว้ ซึ่งจะเก็บอยู่ใน “ตัวแปร” (variable)

ที่มีลักษณะคล้านคลึงกัีบตัวแปรทางคณิตศาสตร์ จะต้องมีการตั้งชื่อให้กับตัวแปร มีการกำเนิดค่าให้กับตัวแปรและค่าของตัวแปรอาจถูกเปลี่ยนแปลงไปได้ระหว่างที่ทำการประมวลผล หรือระหว่างการทำงานของโปรแกรมคอมพิวเตอร์

ในการเขียนรหัสลำลองหรือผังงานเพื่อจำลองความคิดขั้นตอนการแก้ปัญหา เราจะกำหนดชื่อตัวแปรขึ้นมาใช้งานได้อย่างอิสระ เมื่อต้องการกำหนดค่าให้กับตัวแปร ให้ใช้สัญลักษณ์กำหนดค่า ซึ่งเป็นเครื่องหมายลูกศรชี้จากขวามาซ้าย โดยมีรูปแบบดังนี้

เช่น

เป็นการกำหนดตัวแปรชื่อ age ให้มีค่าเป็น 16 ซึ่งถ้าตัวแปร  age เคยถูกกำหนดค่าไว้ก่อนแล้ว ค่าดั้งเดิมจะถูกแทนที่ด้วยค่าที่กำหนดให้ใหม่ทันที และค่านี้จะคงอยู่ไปจนกว่าจะถูกเปลี่ยนแปลงอีกครั้งหนึ่ง

ให้เขียนรหัสลำลองและผังงานเพื่อถ่ายทอดความคิดขั้นตอนวิธีในการหาค่าเฉลี่ยของจำนวนเต็ม 5 จำนวน โดยกำหนดให้สามารถรับค่าตัวเลขได้เพียงครั้งละหนึ่งจำนวนเท่านั้น และให้ใช้สัญลักษณ์กำหนดค่ารวมกับตัวแปรในการทำงานเพื่อให้ได้รหัสลำลองและผังงานที่กะทัดรัด

 

    

ในตัวอย่างนี้ มีการใช้งานตัวแปรหลายตัวเพื่อเก็บค่าที่ค่าแตดต่างกัน ได้แก่ ตัวแปร counter ซึ่งจะใช้เพื่อเป็นตัวนับว่ามีการรับค่าตัวเลขไปกี่ตัวแล้ว ตัวแปร sum ใช้เพื่อเก็บค่าผลรวมของตัวเลขทุกตัว ซึ่งตัวแปรทั้งสองตัวนี้จะต้องกำหนดค่าให้เป็น 0 ก่อนที่จะใช้งาน สำหรับตัวแปร x จะใช้เพื่อรับค่าตัวเลขทีละตัวเมื่อรับค่า จะถูกนำค่าไปรวมกับค่า sum เป็นการเก็บค่าผลรวม แล้วตัวแปร x จะสามารถถูกนำไปใช้ซ้ำเพื่อรับค่าเลขตัวถัดไปได้อีก ตัวแปรสุดท้ายคือ avreage ที่ใช้เพื่อเก็บค่าเฉลี่ยที่ได้แล้วรอการนำไปแสดงผลต่อไป

แหล่งที่มา:http://www.thaigoodview.com/node/75975

 

 

ใส่ความเห็น