SlideShare a Scribd company logo
1 of 12
5.1 หลักการแก้ปัญหา
ในบทนี้ผู้เรียนจะได้ศึกษาเกี่ยวกับหลักและวิธีการแก้ปัญหาด้วยคอมพิวเตอร์ และการนาภาษาโปรแกรมคอมพิวเตอร์และเครื่องมือต่างๆ มาช่วยในการแก้ปัญหา
โดย ทั่งไปการแก้ปัญหาหนึ่งอาจทาได้หลายวิธี ตัวอย่างเช่น ปัญหาจากการเล่นเกมทายใจก็สามารถแก้ได้หลายวิธีเช่นกัน เพียงแต่ว่าแต่ละวิธีที่แตกต่างกัน
จะทาให้ผู้เล่นเกมแก้ปัญหาได้ช้าเร็วไม่ เท่ากัน
ตัวอย่างเกมทายใจ
เกม ทายใจคือเกมที่จะให้ผู้เล่นทายตัวเลข 3 ตัวโดยต้องทายถูกตัวเลขและตาแหน่งซึ่งต้องใช้ผุ้เล่น 2 คน ผู้เล่นคนที่หนึ่งกาหนดตัวเลข 3 ตัวที่ไม่ซ้ากันโดยเลือกจา
ตัวเลข 1-9 และผู้เล่นคนที่หนึ่งต้องแจ้งผลการทายว่าตัวเลขที่ทายมานั้นถูกต้องกี่ตัว และถูกต้องกี่ตาแหน่ง ตัวอย่างเช่น ถ้าตัวเลขที่กาหนดไว้เป็น 8 1 5 และ
ผู้เล่นคนที่สองทายว่า 1 2 3 ผู้เล่นคนที่หนึ่งต้องแจ้งว่าตัวเลขที่ทายนั้นถูกเพียงตัวเดียวและไมามีตัว ใดถูกตาแหน่ง
ตัวอย่างการเล่นเกมทายใจ
จะเห็นได้ว่าในครั้งแรกๆ ของการทาย ผู้ทายจะใช้วิธีลองผิดลองถูกโดยการสุ่มตัวเลข 1-9 สาหรับเลขทั้ง 3 ตัว ดยไม่ให้มีตัวเลขซ้ากัน ซึ้งเมื่อผู้กาหนดให้
รายละเอียดเกี่ยวกับจานวนตัวเลขและจานวนตาแหน่งที่ถูก ต้องแล้ว ผู้ทายก็สามารถแยกตัวเลขที่ไม่ถูกต้องทั้งค่าของตัวเลขและตาแหน่ง ออกจากการทาย
คาตอบของปัญหาในครั้งถัดๆไป การใช้เหตุผลเพื่อแยกตัวเลขที่ไม่ต้องการใรการทายแต่ละครั้งนี้ จะช่วยให้ผู้ทายสามารถค้นพบคาตอบของปัญหาได้ใน
ที่สุด การแก้ปัญหาโดยใช้รูปแบบของการใช้เหตุผลประกอบกับการแยกคาตอบที่ไม่ต้องการ จะขึ้นอยู่กับเงื่อนไขของปัญหา ในบางปัญหาวิธีการนี้อาจไม่
สามารถหาคาตอบสุดท้ายได้แต่อาจช่วยจากัดจานวนคาตอบที่เป็นไปได้ให้น้อยลง นอกจากวิธีการแก้ปัญหาที่ยกตัวอย่างมาซึ่งได้แก่ การลองผิดลองถูก
การใช้เหตุผลและการใช้วิธีแยกคาตอบที่ไม่ต้องการ ยังมีวิธีการแก้ปัญหาอีกมากมายที่สามารถเลือกใช้ให้เหมาะสมกับตัวปัญหาและ ประสบการณ์ของผู้
แก้ปัญหาเอง อย่างไรก็ตาม เมื่อพิจารณาในภาพรวมจะพบว่า วิธีการเหล่านี้ล้วนมีขั้นตอนหลักที่คล้ายคลึงกัน ซึ่งประกอบด้วย 4 ขั้นตอน
5.1.1 การวิเคราะห์และกาหนดรายละเอียดของปัญหา
ขั้นตอนแรกของการแก้ปัญหาใดๆ ก็ตาม จะต้องเริ่มต้นด้วยการทาความเข้าใจกับปัญหาให้ถ่องแท้เพื่อ
วิเคราะห์เงื่อนไขของปัญหาให้ชัดเจน รวมไปถึงข้อมุลที่จาเป็นในการแก้ปัญหาและรูปแบบหรือ
ลักษณะของผลลัพธ์หรือคา ตอบที่ต้องการโดยเหล่านี้จะเป็นประโยชน์ในการเลือกวิธีการแก้ปัญหา
ต่อไป กล่าวโดยสรุป การวิเคราะห์และกาหนดรายละเอียดของปัญหามีองค์ประกอบดังนี้
1. การระบุข้อมูลออก
2. การระบุข้อมูลเข้า
3. ราบละเอียดของปัญหา
1. การระบุข้อมูลออก
ข้อมูล ออกหรือคาตอบ คือสิ่งที่โจทย์ต้องการในการแก้ปัญหาด้วยคอมพิวเตอร์จาเป็นต้องระบุให้ ชัดเจนว่า
สิ่งที่ต้องการให้เป้นผลลัพธ์ของปัญหาคืออะไร และต้องการให้แสดงออกในรูปแบบใด
2. การระบุข้อมูลเข้า
ข้อมูล เข้าคือ ข้อมูลเริ่มต้นหรือเงื่อนไขที่โจทย์กาหนดมาให้ตั้งแต่แรก ในการแก้ปัญหา ผู้แก้ปัญหาจะต้อง
ใช้ข้อมูลเหล่านี้ในการประมวลผู้เพื่อให้ได้ผลลัพธ์ตามที่ต้องการ
3. รายละเอียดของปัญหา
รายละเอียดของปัญหา คือ การพิจารณาความต้องการของปัญหา ให้แสดงการวิเคราะห์และกาหนด
รายละเอียดของการหาค่าเฉลี่ยนของจานวนเต็ม 5 จานวนองค์ประกอบของขั้นตอนการวิเคราะห์และ
กาหนดรายละเอียดของปัญหา
5.1.2 การเลือกเครื่องมือและวิธีออกแบบขั้นตอนวิธีใน
การแก้ปัญหา
สาหรับปัญหาทีมีขั้นตอนในการแก้ปัญหาอย่างซับซ้อน หรือต้องมีการ
แก้ปัญหาในลักษณะเดิมซ้าอีกหลายครั้ง จาเป็นต้องใช้คอมพิวเตอร์
เป็นอุปกรณ์ในการแก้ปัญหา โดยเขียนโปรแกรมเพื่อรับข้อมูลเข้าไป
ประมวลผล
ในการแก้ปัญหาโดยใช้คอมพิวเตอร์นั้น การออกแบบวิธีแก้ปัญหาอย่างเป็น
ขั้นตอนและง่ายต่อการทาความเข้าใจสาคัญมาก เพราะจะทาให้
สามารถเขียนโปรแกรมจากขั้นตอนที่ได้ออกแบบไว้อย่างง่ายดาย
เครื่องมือที่ใช้เพื่อการออกแบบขั้นตอนวิธี เช่น รหัสลาลอง
( pseudocode ) ซึ่งเป็นการจาลองขั้นตอนวิธีแก้ปัญหา โดยการ
อธิบายด้วยคาพูดที่เข้าใจได้ง่ายเป็นขั้นๆหรือผังงาน ( flowchart )
ซึ่งเป็นการใช้สัญลักษณ์ในการแสดงรายละเอียดและลาดับของแต่ละ
ขั้นตอนที่ใช้แก้ปัญหา ข้อดีอีกประการหนึ่งของการใช้เครื่องมือ
เหล่านี้ช่วยในการออกแบบวิแก้ปัญหา คือ จะทาให้สามารถตรวจสอบ
ความถูกต้อง หาจุดผิดพลาด และแก้ไขขั้นตอนในการแก้ปัญหาที่
ซับซ้อนได้รวดเร็ว
5.1.3 การดาเนินการแก้ปัญหา
การดาเนินการแก้ปัญหา เป็นขั้นตอนการใช้
โปรแกรมประยุกต์หรือเขียนโปรแกรมขึ้นเอง
โดยใช้ภาษา คอมพิวเตอร์ ซึ่งต้องอาศัยความ
เชี่ยวชาญเฉพาะในการใช้โปรแกรมหรือภา
คอมพิวเตอร์นั้นๆ ข้นตอนนี้จะเสร็จได้เร็วหรืช้า
ขึ้นอยู่กับหลายปัจจัย เช่น ความชัดเจนและ
ถูกต้องของวิธีแก้ปัญหาที่ได้ออกแบบไว้และ
สามารถในการเขียนหรือใช้งานโปรแกรมหรือ
ภาษาคอมพิวเตอร์ที่เหลือในขั้นตอนนี้ผู้พัฒนา
ควรคานึงถึงความยืดหยุ่นของโปรแกรมที่ได้
ออกแบบขึ้น ด้วย เพื่อให้สามารถรองรับการ
เปลี่ยนแปลงที่อาจเกิดขึ้นในอนาคต เช่น การ
เปลี่ยนแปลงข้อมูลเข้า การเปลี่ยนรูปแบบของ
ข้อมูลออกหรือวิธีการประมวลผลที่เปลี่ยนไป
นอกจากนี้โปรแกรมควรต้องรองรับการ
ขยายตัวในอนาคตได้อีกด้วย
5.1.4 การตรวจสอบและปรับปรุงวิธีการ
ในขั้นตอนเป็นการตรวจสอบเพื่อให้แน่ใจว่าวิธีการ
แก้ปัญหารวมโปรแกรมที่พัฒนา ขึ้นให้ผลลัพธ์
ถูกต้อง โดยต้องตรวจสอบว่าขั้นตอนวิธีที่สร้างขึ้น
สอดคล้องกับรายละเอียดของปัญหา ซึ่งได้แก่ข้อมูล
เข้า และข้อมูลออกที่ได้ระบุไว้อีกทั้งยังสามารถ
รองรับข้อมูลเข้าอื่นๆ ที่มีลักษณะเดียวกันได้
หลังจากที่โปรแกรมทางานได้ผลตามที่ต้องการแล้ว
อาจ ต้องมีการปรับปรุงให้วิธีการในการแก้ปัญหามี
ประสิทธิภาพที่สุด โดยยังคงความถูกต้องของ
ผลลัพธ์เช่นเดิม ในขั้นตอนการปรับปรุงนี้ ควรจะมี
ทั้งการปรับปรุงขั้นตอนการทางานของวิธีแก้ปัญหา
ให้ดีขึ้น และปรับโปรแกรมที่เขียนขึ้นให้มีเทคนิค
การประมวลผลที่มีประสิทธิภาพขึ้น
5.2 เครื่องมือที่ใช้ในการออกแบบและ
ขั้นตอนวิธีในการแก้ปัญหา
การออกแบบวิธีในการแก้ปัญหาเป็นกระบวนการที่
ต้องอาศัยประสบการณ์ ความรู้ความเข้าใจในปัญหา
และความคิดอย่างมีเหตุผลและเป็นขั้นตอนแล้ว ยังต้อง
อาศัยเครื่องมือที่จะช่วยถ่ายทอดความคิดออกมาเป็น
ลายลักษณ์อักษร หรือเป็นแผนภาพซึ้งจะช่วยให้
สามารถแก้ปัญหาได้ดีโดยเฉพาะปัญหาที่ยุ่งยาก
ซับซ้อนอีกทั้งยังเป็นแนวทางให้ผู้ที่เกี่ยวข้องหรือ
ผู้ดาเนินการปรับปรุงในอนาคตเข้าในวิธีแก้ปัญหาที่
เราพัฒนาขึ้นได้ง่าย เครื่องมือที่ใช้ในการอกแบบวิธี
แก้ปัญหามี 2 ลักษณะคือ
5.2.1 รหัสลาลอง
รหัสลาลองเป็นการใช้คาบรรยายเพื่ออธิบายขั้นตองวิธีใน
การแก้ปัญหา การเขียนรหัสลาลองไม่มีรูปแบบที่แน่นอน
ขึ้นอยู่กับประสบการณ์และความถนัดของผู้เขียน ซึ่ง
อาจจะเขียนอย่างละเอียดหรือย่อ และในบางครั้งที่อาจ
อธิบายในลักษณะคล้ายคาพูด หรืออาจจะเขียนในรูปแบบ
คล้ายภาษาโปรแกรมก็ได้เช่นกัน การใช้รหัสลาลองในการ
ออกแบบวิธีแก้ปัญหามีข้อดีคือ เขียนง่ายผู้เขียนคานึงถึง
เพียงแต่วิธีแก้ปัญหา โดยไม่ต้องกังวลว่าจะเขียนผิด
รูปแบบหรือไม่และถ้าผู้เขียนมีความชานาญแล้ว การเขียน
รหัสลาลองในรูปแบบคล้ายกับภาษาโปรแกรมจะทาให้สา
มารดัดแปลงไปเป็น โปรแกรมคอมพิวเตอร์ได้โดยง่าย
แสดงถึงการใช้รหัสลาลองในการถ่ายทอดความคิด เพื่อ
แก้ปัญหาทั่งไป และปัญหาทางคณิตศาสตร์
5.2.2 ผังงาน
ผังงานเป็นการอธิบายขั้นตอนวิธีการแก้ปัญหาโดยใช้รูปสัญลักษณ์มา
เรียงต่อกัน สัญลักษณ์แต่ละแบบจะมีถึงความหมายถึงกระบวนการที่
แตกต่างกัน โดยจะมีคาอธิบายสั้นๆเพิ่มเติมในสัญลักษณ์ ความหมาย
ของสัญลักษณ์ต่างๆ ที่ใช้ในผังงานที่ถูกกาหนดโดยสถาบันมาตรฐาน
แห่งชาติอเมริกา ( The American National Standard Institute :
ANSI)เพื่อให้สามารถสื่อความหมายได้ตรงกัน ซึ่งมีรายละเอียดของ
สัญลักษณ์และความหมายที่ควรทราบสัญลักษณ์และความหมายของผัง
งาน
ในการเขียนผังงานมีหลักการ คือ ให้เลือกสัญลักษณ์แทนกระบวนการที่
ถูกต้อง และเขียนข้อความสั้นๆ แทนสิ่งที่ต้องกระทาลงในรูปสัญลักษณ์
แล้วนามาเรียงต่อกัน เชื่อมแต่ละสัญลักษณ์ด้วยลูกศร โดยทั่วไปแล้ว จะ
เรียงลาดับของสัญลักษณ์ไว้จากบนลงล่าง ตามลาดับชองการทางาน
หรือ อาจจะใช้หัวลูกศรระบุลาดับก่อนหลังของการทางานก็ได้
การเชื่อมต่อสัญลักษณ์ต่างๆ ของผังงาน อาจทาให้มีการตัดกันของเส้นลุก
ศรจนอาจเกิดความสับสนได้ ผู้เขียนจึงควรเลือกใช้สัญลักษณ์จุดเชื่อมต่อ
ในหน้าเดียวกัน โดยระบุตัวอักษรเดียวกันเพื่อหมายถึงการเชื่อมสองจุด
ของผังงานเข้าด้วยกัน แต่ถ้าผังงานใหญ่เกินหน้ากระดาษ ให้เลือกใช้
สัญลักษณ์จุดเชื่อมต่อหน้ากระดาษ เพื่อเชื่อมระหว่างสองจุดของผังงาน
ที่ข้ามไปอยู่คนละหน้ากัน
5.3 โครงสร้างการเขียนโปรแกรม
ก่อนการเขียนโปรแกรม ผู้พัฒนาโปรแกรมจะต้องเลือกภาษา
คอมพิวเตร์ ที่จะนามาใช้ช่วยงานโดยพิจารณาจากปัจจัยต่างๆ
ในการทางาน เช่น ลักษณะของปัญหา ความถนัดของนักเขียนด
โปรแกรม สภาพแวดล้อมในการทางานของระบบคอมพิวเตอร์
เป็นต้น เนื่องจากในปัจจุบันมีภาษาคอมพิวเตอร์ให้เลือกได้หลาย
ภาษา เช่น ภาษาปาสคาล ภาษาซี ภาษาจาวา และภาษาเดลฟาย
ภึงแม้แต่ละภาษาจะมีรูปแบบและหลักการในการสร้างงานที่
แตกต่างกันแต่ทุกภาษา จะต้องมีโครงสร้างควบคุมหลักทั้ง 3
แบบ ได้แก่ โดครงสร้างแบบลาดับ (sequential structure)
โครงสร้างแบบทางเลือก (selection structure) และโครงสร้าง
แบบวนซ้า(repetition structure)
5.3.1 โครงสร้างแบบลาดับ
( sequential structure )
โปรแกรมที่ทางานเป็นขั้นตอนเพื่อแก้ปัญหาจะทางานตามคาสั่งที่เขียนไว้ตามลาดับ ตั้งแต่คาสั่ง
แรกไปจนถึงคาสั่งสุดท้าย โดยที่คาสั่งในที่นี้อาจเป็นคาสั่งเดี่ยวๆ หรือเป็นคาสั่งเชิงซ้อนทีมี
หลายคาสั่งย่อยประกอบกันในลักษณะเป็นโครงสร้าง แบบทางเลือกหรือแบบวนซ้าก็ได้
โครงสร้างแบบเรียงลาดับเมื่อเขียนเป็นผังงาน จะมีลักษณะดังเช่นรูปที่ 6.9 และมีกระบวนการ
ทางานพื้ฐานอยู่3 ชนิด ดังแสดงในรูปที่ 6.10 ได้แก่
-การคานวณ เป็นกระบวนการที่คอมพิเตอร์ทาการคานวณ ประมวลผล ซึ่งจะรวมไปถึงการ
กาหนดค่าให้กับตัวแปร เพื่อให้สามารถนาค่าของตัวแปรนั้นมาใช้ในภายหลังได้
– การรับข้อมูลเข้า เป็นกระบวนการรับข้อมูลจากอุปกรณ์ของหน่วยรับเข้า เช่น คีย์บอร์ด เพื่อนาค่า
ไปกาหนดให้กับตัวแปร และเก็บไว้ในหน่วยความจา
– การส่งข้อมูลออก เป็น กระบวนการนาค่าของข้อมูลไปแสดงผลยังอุปกรณ์ของหน่วยส่งออก เช่น
จอภาพหรือเครื่องพิมพ์ข้อมูลที่จะส่งออกโดยทั่งไปจะเป็นค่าคงที่ หรือค่าของตัวแปร
ใน การดาเนินการเพื่อแก้ปัญหาด้วยคอมพิวเตอร์ กระบวนการเหล่านี้ต้องถูกแปลงให้อยู่รูปของ
คาสั่งหลายคาสั่งประกอบกันเพื่อ ให้ทางานตามขั้นตอนที่ได้ออกแบบไว้เช่น กรบวนการการ
คานวณในการเพิ่มค่าของตัวแปรcounter ขึ้นอีกหนึ่ง จะใช้คาสั่ง ” counter <
counter + 1 ” กระบวนการรับข้อมูลเข้าเพื่อเก็บไว้ในตัวแปร x จะใช้คาสั่ง ” input
x” และกระบวนการส่งข้อมูลออกไปยังจอภาพเพื่อแสดงผลของตัวแปร average จะใช้
คาสั่ง “print avereage” เป็นต้น
5.3.2 โครงสร้างแบบทางเลือก( selection structure )
ปัญหาบางอย่างต้องการการตัดสินใจเพื่อเลือกว่าจะใช้วิธีการใด โดยต้องมี
การตรวจสอบว่าเงื่อนไขที่ใช้ในการตัดสินใจว่าเป็นจริงหรือเท็จ ถ้าเป็นจริง
จะไปเลือกทาคาสั่งชุดหนึ่งแต่ถ้าเป็นเท็จจะไปเลือกทาคาสั่งอีกชุดหนึ่งซึ่ง
ชุดคาสั่งเหล่านี้จะประกอบด้วยโครงสร้างแบบลาดับนั่นเอง
5.3.3 โครงสร้างแบบวนซ้า ( repetition structure )
ในการแก้ปัญหาบางอย่างอาจต้องมีการทางานในบางคาสั่งหรือชุดของคาสั่ง
ซ้ากัน มากกว่าหนึ่งรอบขึ้นไป โครงสร้างแบบมีการวนซ้านี้ต้องมีการ
ตัดสินใจร่วมอยู่ด้วยเสมอ เพื่อเป็นเงื่อนไขที่ตัดสินใจว่าเมื่อใดจะวนซ้า หรือ
เมื่อไรจะถึงเวลาหยุดวนซ้าโดยทั่วไปผังงานของการวนว้าจะมีลักษณะดังรูป
ที่ 6.14 หรือรูปที่ 6.15 โดยมีความแตกต่างกันตือในรูปที่ 6.14 เป็นการวนซ้า
แบบที่ต้องตรวจสอบเงื่อนไขที่จะใช้วนซ้าก่อนที่จะทางานในชุดคา สั่งใน
โครงสร้างแบบวนซ้า เรียกว่า การวนซ้าแบบ while ซึ่งจะสังเกตได้ว่าถ้า
เงื่อนไขไม่เป็นจริงตั้งแต่แรกคาสั่งแบบโครงสร้างในการวนซ้าจะไม่ถูกเรียก
ให้ทางานเลยแต่สาหรับ 6.15 เป็นการวนซ้าแบบมีการตรวจสอบเงื่อนไขที่จะ
ให้วนซ้าหลังจากที่ได้ทางานตามชุดคาสั่ง ในโครงสร้างแบบวนซ้าไปรอบ
หนึ่งแล้วเรียกว่า การวนว้าแบบ until สาหรับตัวอย่างของการวนซ้า เช่น การ
รับค่าตัวเลขเข้ามาหลายค่า ในโครงสร้าเพื่อคานวนหาผลรวม ในตัวอย่างที่
6.7 ถือเป็นการวนซ้าแบบ until

More Related Content

What's hot (8)

ความหมายของผังงาน
ความหมายของผังงานความหมายของผังงาน
ความหมายของผังงาน
 
บทที่ 1
บทที่ 1บทที่ 1
บทที่ 1
 
การเขียนโปรแกรมภาษา
การเขียนโปรแกรมภาษาการเขียนโปรแกรมภาษา
การเขียนโปรแกรมภาษา
 
งานนำเสนอ1 คอม
งานนำเสนอ1 คอมงานนำเสนอ1 คอม
งานนำเสนอ1 คอม
 
03activity1
03activity103activity1
03activity1
 
Introduction to problem_solving
Introduction to problem_solvingIntroduction to problem_solving
Introduction to problem_solving
 
บทที่ 1
บทที่ 1บทที่ 1
บทที่ 1
 
ภาษาคอมพิวเตอร์
ภาษาคอมพิวเตอร์ภาษาคอมพิวเตอร์
ภาษาคอมพิวเตอร์
 

Similar to บทที่ 5 : หลักการแก้ปัญหาด้วยคอมพิวเตอร์

งานคอม อลิตา
งานคอม  อลิตางานคอม  อลิตา
งานคอม อลิตา
alita122
 
โปรแกรมคอมพิวเตอร
โปรแกรมคอมพิวเตอรโปรแกรมคอมพิวเตอร
โปรแกรมคอมพิวเตอร
Tay Atcharawan
 
งานคอมพิวเตอร์
งานคอมพิวเตอร์งานคอมพิวเตอร์
งานคอมพิวเตอร์
prang00
 
การเขียนผังงาน
การเขียนผังงานการเขียนผังงาน
การเขียนผังงาน
ThaNit YiamRam
 
โปรแกรมคอมพิวเตอร์
โปรแกรมคอมพิวเตอร์โปรแกรมคอมพิวเตอร์
โปรแกรมคอมพิวเตอร์
Sarocha Makranit
 
ขอบข่ายของโครงงาน
ขอบข่ายของโครงงานขอบข่ายของโครงงาน
ขอบข่ายของโครงงาน
Ratanamon Suriya
 
3 software deverlop
3 software deverlop3 software deverlop
3 software deverlop
Por Kung
 
โปรแกรม
โปรแกรมโปรแกรม
โปรแกรม
thanapon51105
 
Projectm6 2-2556
Projectm6 2-2556Projectm6 2-2556
Projectm6 2-2556
Nop Man
 
07 ใบเนื้อหา หน่วยที่ 1
07 ใบเนื้อหา หน่วยที่ 107 ใบเนื้อหา หน่วยที่ 1
07 ใบเนื้อหา หน่วยที่ 1
Natchanon Srinuan
 
งานนำเสนอ1 คอม
งานนำเสนอ1 คอมงานนำเสนอ1 คอม
งานนำเสนอ1 คอม
nuknook
 

Similar to บทที่ 5 : หลักการแก้ปัญหาด้วยคอมพิวเตอร์ (20)

งานคอม อลิตา
งานคอม  อลิตางานคอม  อลิตา
งานคอม อลิตา
 
2558 project rattanaporn(2)
2558 project rattanaporn(2)2558 project rattanaporn(2)
2558 project rattanaporn(2)
 
โปรแกรมคอมพิวเตอร
โปรแกรมคอมพิวเตอรโปรแกรมคอมพิวเตอร
โปรแกรมคอมพิวเตอร
 
คู่มือ Kodu Game Lab (ภาษาไทย)
คู่มือ Kodu Game Lab (ภาษาไทย)คู่มือ Kodu Game Lab (ภาษาไทย)
คู่มือ Kodu Game Lab (ภาษาไทย)
 
Kodu game
Kodu game Kodu game
Kodu game
 
ใบงานที่3
ใบงานที่3ใบงานที่3
ใบงานที่3
 
งานคอมพิวเตอร์
งานคอมพิวเตอร์งานคอมพิวเตอร์
งานคอมพิวเตอร์
 
การเขียนผังงาน
การเขียนผังงานการเขียนผังงาน
การเขียนผังงาน
 
โปรแกรมคอมพิวเตอร์
โปรแกรมคอมพิวเตอร์โปรแกรมคอมพิวเตอร์
โปรแกรมคอมพิวเตอร์
 
ขอบข่ายของโครงงาน
ขอบข่ายของโครงงานขอบข่ายของโครงงาน
ขอบข่ายของโครงงาน
 
3 software deverlop
3 software deverlop3 software deverlop
3 software deverlop
 
โปรแกรม
โปรแกรมโปรแกรม
โปรแกรม
 
Projectm6 2-2556
Projectm6 2-2556Projectm6 2-2556
Projectm6 2-2556
 
07 ใบเนื้อหา หน่วยที่ 1
07 ใบเนื้อหา หน่วยที่ 107 ใบเนื้อหา หน่วยที่ 1
07 ใบเนื้อหา หน่วยที่ 1
 
Kodu game
Kodu gameKodu game
Kodu game
 
Pbl3
Pbl3 Pbl3
Pbl3
 
Pbl 3
Pbl 3Pbl 3
Pbl 3
 
Pbl 3
Pbl 3Pbl 3
Pbl 3
 
การสร้างงานโปรแกรม
การสร้างงานโปรแกรมการสร้างงานโปรแกรม
การสร้างงานโปรแกรม
 
งานนำเสนอ1 คอม
งานนำเสนอ1 คอมงานนำเสนอ1 คอม
งานนำเสนอ1 คอม
 

More from Todsapol Aryuyune

More from Todsapol Aryuyune (7)

เทคโนโลยีสารสนเทศและการสื่อสาร
เทคโนโลยีสารสนเทศและการสื่อสารเทคโนโลยีสารสนเทศและการสื่อสาร
เทคโนโลยีสารสนเทศและการสื่อสาร
 
Test1
Test1Test1
Test1
 
บทที่ 5 : หลักการแก้ปัญหาด้วยคอมพิวเตอร์
บทที่ 5 : หลักการแก้ปัญหาด้วยคอมพิวเตอร์บทที่ 5 : หลักการแก้ปัญหาด้วยคอมพิวเตอร์
บทที่ 5 : หลักการแก้ปัญหาด้วยคอมพิวเตอร์
 
บทที่ 5 : หลักการแก้ปัญหาด้วยคอมพิวเตอร์
บทที่ 5 : หลักการแก้ปัญหาด้วยคอมพิวเตอร์บทที่ 5 : หลักการแก้ปัญหาด้วยคอมพิวเตอร์
บทที่ 5 : หลักการแก้ปัญหาด้วยคอมพิวเตอร์
 
บทที่ 4 : วิวัฒนาการของอินเตอร์เน็ต
บทที่ 4 : วิวัฒนาการของอินเตอร์เน็ตบทที่ 4 : วิวัฒนาการของอินเตอร์เน็ต
บทที่ 4 : วิวัฒนาการของอินเตอร์เน็ต
 
บทที่ 3 : ระบบเครือข่ายและการสื่อสาร
บทที่ 3 : ระบบเครือข่ายและการสื่อสารบทที่ 3 : ระบบเครือข่ายและการสื่อสาร
บทที่ 3 : ระบบเครือข่ายและการสื่อสาร
 
บทที่ 2 : คอมพิวเตอร์ส่วนบุคคล
บทที่ 2 : คอมพิวเตอร์ส่วนบุคคลบทที่ 2 : คอมพิวเตอร์ส่วนบุคคล
บทที่ 2 : คอมพิวเตอร์ส่วนบุคคล
 

บทที่ 5 : หลักการแก้ปัญหาด้วยคอมพิวเตอร์

  • 1.
  • 2. 5.1 หลักการแก้ปัญหา ในบทนี้ผู้เรียนจะได้ศึกษาเกี่ยวกับหลักและวิธีการแก้ปัญหาด้วยคอมพิวเตอร์ และการนาภาษาโปรแกรมคอมพิวเตอร์และเครื่องมือต่างๆ มาช่วยในการแก้ปัญหา โดย ทั่งไปการแก้ปัญหาหนึ่งอาจทาได้หลายวิธี ตัวอย่างเช่น ปัญหาจากการเล่นเกมทายใจก็สามารถแก้ได้หลายวิธีเช่นกัน เพียงแต่ว่าแต่ละวิธีที่แตกต่างกัน จะทาให้ผู้เล่นเกมแก้ปัญหาได้ช้าเร็วไม่ เท่ากัน ตัวอย่างเกมทายใจ เกม ทายใจคือเกมที่จะให้ผู้เล่นทายตัวเลข 3 ตัวโดยต้องทายถูกตัวเลขและตาแหน่งซึ่งต้องใช้ผุ้เล่น 2 คน ผู้เล่นคนที่หนึ่งกาหนดตัวเลข 3 ตัวที่ไม่ซ้ากันโดยเลือกจา ตัวเลข 1-9 และผู้เล่นคนที่หนึ่งต้องแจ้งผลการทายว่าตัวเลขที่ทายมานั้นถูกต้องกี่ตัว และถูกต้องกี่ตาแหน่ง ตัวอย่างเช่น ถ้าตัวเลขที่กาหนดไว้เป็น 8 1 5 และ ผู้เล่นคนที่สองทายว่า 1 2 3 ผู้เล่นคนที่หนึ่งต้องแจ้งว่าตัวเลขที่ทายนั้นถูกเพียงตัวเดียวและไมามีตัว ใดถูกตาแหน่ง ตัวอย่างการเล่นเกมทายใจ จะเห็นได้ว่าในครั้งแรกๆ ของการทาย ผู้ทายจะใช้วิธีลองผิดลองถูกโดยการสุ่มตัวเลข 1-9 สาหรับเลขทั้ง 3 ตัว ดยไม่ให้มีตัวเลขซ้ากัน ซึ้งเมื่อผู้กาหนดให้ รายละเอียดเกี่ยวกับจานวนตัวเลขและจานวนตาแหน่งที่ถูก ต้องแล้ว ผู้ทายก็สามารถแยกตัวเลขที่ไม่ถูกต้องทั้งค่าของตัวเลขและตาแหน่ง ออกจากการทาย คาตอบของปัญหาในครั้งถัดๆไป การใช้เหตุผลเพื่อแยกตัวเลขที่ไม่ต้องการใรการทายแต่ละครั้งนี้ จะช่วยให้ผู้ทายสามารถค้นพบคาตอบของปัญหาได้ใน ที่สุด การแก้ปัญหาโดยใช้รูปแบบของการใช้เหตุผลประกอบกับการแยกคาตอบที่ไม่ต้องการ จะขึ้นอยู่กับเงื่อนไขของปัญหา ในบางปัญหาวิธีการนี้อาจไม่ สามารถหาคาตอบสุดท้ายได้แต่อาจช่วยจากัดจานวนคาตอบที่เป็นไปได้ให้น้อยลง นอกจากวิธีการแก้ปัญหาที่ยกตัวอย่างมาซึ่งได้แก่ การลองผิดลองถูก การใช้เหตุผลและการใช้วิธีแยกคาตอบที่ไม่ต้องการ ยังมีวิธีการแก้ปัญหาอีกมากมายที่สามารถเลือกใช้ให้เหมาะสมกับตัวปัญหาและ ประสบการณ์ของผู้ แก้ปัญหาเอง อย่างไรก็ตาม เมื่อพิจารณาในภาพรวมจะพบว่า วิธีการเหล่านี้ล้วนมีขั้นตอนหลักที่คล้ายคลึงกัน ซึ่งประกอบด้วย 4 ขั้นตอน
  • 3. 5.1.1 การวิเคราะห์และกาหนดรายละเอียดของปัญหา ขั้นตอนแรกของการแก้ปัญหาใดๆ ก็ตาม จะต้องเริ่มต้นด้วยการทาความเข้าใจกับปัญหาให้ถ่องแท้เพื่อ วิเคราะห์เงื่อนไขของปัญหาให้ชัดเจน รวมไปถึงข้อมุลที่จาเป็นในการแก้ปัญหาและรูปแบบหรือ ลักษณะของผลลัพธ์หรือคา ตอบที่ต้องการโดยเหล่านี้จะเป็นประโยชน์ในการเลือกวิธีการแก้ปัญหา ต่อไป กล่าวโดยสรุป การวิเคราะห์และกาหนดรายละเอียดของปัญหามีองค์ประกอบดังนี้ 1. การระบุข้อมูลออก 2. การระบุข้อมูลเข้า 3. ราบละเอียดของปัญหา 1. การระบุข้อมูลออก ข้อมูล ออกหรือคาตอบ คือสิ่งที่โจทย์ต้องการในการแก้ปัญหาด้วยคอมพิวเตอร์จาเป็นต้องระบุให้ ชัดเจนว่า สิ่งที่ต้องการให้เป้นผลลัพธ์ของปัญหาคืออะไร และต้องการให้แสดงออกในรูปแบบใด 2. การระบุข้อมูลเข้า ข้อมูล เข้าคือ ข้อมูลเริ่มต้นหรือเงื่อนไขที่โจทย์กาหนดมาให้ตั้งแต่แรก ในการแก้ปัญหา ผู้แก้ปัญหาจะต้อง ใช้ข้อมูลเหล่านี้ในการประมวลผู้เพื่อให้ได้ผลลัพธ์ตามที่ต้องการ 3. รายละเอียดของปัญหา รายละเอียดของปัญหา คือ การพิจารณาความต้องการของปัญหา ให้แสดงการวิเคราะห์และกาหนด รายละเอียดของการหาค่าเฉลี่ยนของจานวนเต็ม 5 จานวนองค์ประกอบของขั้นตอนการวิเคราะห์และ กาหนดรายละเอียดของปัญหา
  • 4. 5.1.2 การเลือกเครื่องมือและวิธีออกแบบขั้นตอนวิธีใน การแก้ปัญหา สาหรับปัญหาทีมีขั้นตอนในการแก้ปัญหาอย่างซับซ้อน หรือต้องมีการ แก้ปัญหาในลักษณะเดิมซ้าอีกหลายครั้ง จาเป็นต้องใช้คอมพิวเตอร์ เป็นอุปกรณ์ในการแก้ปัญหา โดยเขียนโปรแกรมเพื่อรับข้อมูลเข้าไป ประมวลผล ในการแก้ปัญหาโดยใช้คอมพิวเตอร์นั้น การออกแบบวิธีแก้ปัญหาอย่างเป็น ขั้นตอนและง่ายต่อการทาความเข้าใจสาคัญมาก เพราะจะทาให้ สามารถเขียนโปรแกรมจากขั้นตอนที่ได้ออกแบบไว้อย่างง่ายดาย เครื่องมือที่ใช้เพื่อการออกแบบขั้นตอนวิธี เช่น รหัสลาลอง ( pseudocode ) ซึ่งเป็นการจาลองขั้นตอนวิธีแก้ปัญหา โดยการ อธิบายด้วยคาพูดที่เข้าใจได้ง่ายเป็นขั้นๆหรือผังงาน ( flowchart ) ซึ่งเป็นการใช้สัญลักษณ์ในการแสดงรายละเอียดและลาดับของแต่ละ ขั้นตอนที่ใช้แก้ปัญหา ข้อดีอีกประการหนึ่งของการใช้เครื่องมือ เหล่านี้ช่วยในการออกแบบวิแก้ปัญหา คือ จะทาให้สามารถตรวจสอบ ความถูกต้อง หาจุดผิดพลาด และแก้ไขขั้นตอนในการแก้ปัญหาที่ ซับซ้อนได้รวดเร็ว
  • 5. 5.1.3 การดาเนินการแก้ปัญหา การดาเนินการแก้ปัญหา เป็นขั้นตอนการใช้ โปรแกรมประยุกต์หรือเขียนโปรแกรมขึ้นเอง โดยใช้ภาษา คอมพิวเตอร์ ซึ่งต้องอาศัยความ เชี่ยวชาญเฉพาะในการใช้โปรแกรมหรือภา คอมพิวเตอร์นั้นๆ ข้นตอนนี้จะเสร็จได้เร็วหรืช้า ขึ้นอยู่กับหลายปัจจัย เช่น ความชัดเจนและ ถูกต้องของวิธีแก้ปัญหาที่ได้ออกแบบไว้และ สามารถในการเขียนหรือใช้งานโปรแกรมหรือ ภาษาคอมพิวเตอร์ที่เหลือในขั้นตอนนี้ผู้พัฒนา ควรคานึงถึงความยืดหยุ่นของโปรแกรมที่ได้ ออกแบบขึ้น ด้วย เพื่อให้สามารถรองรับการ เปลี่ยนแปลงที่อาจเกิดขึ้นในอนาคต เช่น การ เปลี่ยนแปลงข้อมูลเข้า การเปลี่ยนรูปแบบของ ข้อมูลออกหรือวิธีการประมวลผลที่เปลี่ยนไป นอกจากนี้โปรแกรมควรต้องรองรับการ ขยายตัวในอนาคตได้อีกด้วย
  • 6. 5.1.4 การตรวจสอบและปรับปรุงวิธีการ ในขั้นตอนเป็นการตรวจสอบเพื่อให้แน่ใจว่าวิธีการ แก้ปัญหารวมโปรแกรมที่พัฒนา ขึ้นให้ผลลัพธ์ ถูกต้อง โดยต้องตรวจสอบว่าขั้นตอนวิธีที่สร้างขึ้น สอดคล้องกับรายละเอียดของปัญหา ซึ่งได้แก่ข้อมูล เข้า และข้อมูลออกที่ได้ระบุไว้อีกทั้งยังสามารถ รองรับข้อมูลเข้าอื่นๆ ที่มีลักษณะเดียวกันได้ หลังจากที่โปรแกรมทางานได้ผลตามที่ต้องการแล้ว อาจ ต้องมีการปรับปรุงให้วิธีการในการแก้ปัญหามี ประสิทธิภาพที่สุด โดยยังคงความถูกต้องของ ผลลัพธ์เช่นเดิม ในขั้นตอนการปรับปรุงนี้ ควรจะมี ทั้งการปรับปรุงขั้นตอนการทางานของวิธีแก้ปัญหา ให้ดีขึ้น และปรับโปรแกรมที่เขียนขึ้นให้มีเทคนิค การประมวลผลที่มีประสิทธิภาพขึ้น
  • 7. 5.2 เครื่องมือที่ใช้ในการออกแบบและ ขั้นตอนวิธีในการแก้ปัญหา การออกแบบวิธีในการแก้ปัญหาเป็นกระบวนการที่ ต้องอาศัยประสบการณ์ ความรู้ความเข้าใจในปัญหา และความคิดอย่างมีเหตุผลและเป็นขั้นตอนแล้ว ยังต้อง อาศัยเครื่องมือที่จะช่วยถ่ายทอดความคิดออกมาเป็น ลายลักษณ์อักษร หรือเป็นแผนภาพซึ้งจะช่วยให้ สามารถแก้ปัญหาได้ดีโดยเฉพาะปัญหาที่ยุ่งยาก ซับซ้อนอีกทั้งยังเป็นแนวทางให้ผู้ที่เกี่ยวข้องหรือ ผู้ดาเนินการปรับปรุงในอนาคตเข้าในวิธีแก้ปัญหาที่ เราพัฒนาขึ้นได้ง่าย เครื่องมือที่ใช้ในการอกแบบวิธี แก้ปัญหามี 2 ลักษณะคือ
  • 8. 5.2.1 รหัสลาลอง รหัสลาลองเป็นการใช้คาบรรยายเพื่ออธิบายขั้นตองวิธีใน การแก้ปัญหา การเขียนรหัสลาลองไม่มีรูปแบบที่แน่นอน ขึ้นอยู่กับประสบการณ์และความถนัดของผู้เขียน ซึ่ง อาจจะเขียนอย่างละเอียดหรือย่อ และในบางครั้งที่อาจ อธิบายในลักษณะคล้ายคาพูด หรืออาจจะเขียนในรูปแบบ คล้ายภาษาโปรแกรมก็ได้เช่นกัน การใช้รหัสลาลองในการ ออกแบบวิธีแก้ปัญหามีข้อดีคือ เขียนง่ายผู้เขียนคานึงถึง เพียงแต่วิธีแก้ปัญหา โดยไม่ต้องกังวลว่าจะเขียนผิด รูปแบบหรือไม่และถ้าผู้เขียนมีความชานาญแล้ว การเขียน รหัสลาลองในรูปแบบคล้ายกับภาษาโปรแกรมจะทาให้สา มารดัดแปลงไปเป็น โปรแกรมคอมพิวเตอร์ได้โดยง่าย แสดงถึงการใช้รหัสลาลองในการถ่ายทอดความคิด เพื่อ แก้ปัญหาทั่งไป และปัญหาทางคณิตศาสตร์
  • 9. 5.2.2 ผังงาน ผังงานเป็นการอธิบายขั้นตอนวิธีการแก้ปัญหาโดยใช้รูปสัญลักษณ์มา เรียงต่อกัน สัญลักษณ์แต่ละแบบจะมีถึงความหมายถึงกระบวนการที่ แตกต่างกัน โดยจะมีคาอธิบายสั้นๆเพิ่มเติมในสัญลักษณ์ ความหมาย ของสัญลักษณ์ต่างๆ ที่ใช้ในผังงานที่ถูกกาหนดโดยสถาบันมาตรฐาน แห่งชาติอเมริกา ( The American National Standard Institute : ANSI)เพื่อให้สามารถสื่อความหมายได้ตรงกัน ซึ่งมีรายละเอียดของ สัญลักษณ์และความหมายที่ควรทราบสัญลักษณ์และความหมายของผัง งาน ในการเขียนผังงานมีหลักการ คือ ให้เลือกสัญลักษณ์แทนกระบวนการที่ ถูกต้อง และเขียนข้อความสั้นๆ แทนสิ่งที่ต้องกระทาลงในรูปสัญลักษณ์ แล้วนามาเรียงต่อกัน เชื่อมแต่ละสัญลักษณ์ด้วยลูกศร โดยทั่วไปแล้ว จะ เรียงลาดับของสัญลักษณ์ไว้จากบนลงล่าง ตามลาดับชองการทางาน หรือ อาจจะใช้หัวลูกศรระบุลาดับก่อนหลังของการทางานก็ได้ การเชื่อมต่อสัญลักษณ์ต่างๆ ของผังงาน อาจทาให้มีการตัดกันของเส้นลุก ศรจนอาจเกิดความสับสนได้ ผู้เขียนจึงควรเลือกใช้สัญลักษณ์จุดเชื่อมต่อ ในหน้าเดียวกัน โดยระบุตัวอักษรเดียวกันเพื่อหมายถึงการเชื่อมสองจุด ของผังงานเข้าด้วยกัน แต่ถ้าผังงานใหญ่เกินหน้ากระดาษ ให้เลือกใช้ สัญลักษณ์จุดเชื่อมต่อหน้ากระดาษ เพื่อเชื่อมระหว่างสองจุดของผังงาน ที่ข้ามไปอยู่คนละหน้ากัน
  • 10. 5.3 โครงสร้างการเขียนโปรแกรม ก่อนการเขียนโปรแกรม ผู้พัฒนาโปรแกรมจะต้องเลือกภาษา คอมพิวเตร์ ที่จะนามาใช้ช่วยงานโดยพิจารณาจากปัจจัยต่างๆ ในการทางาน เช่น ลักษณะของปัญหา ความถนัดของนักเขียนด โปรแกรม สภาพแวดล้อมในการทางานของระบบคอมพิวเตอร์ เป็นต้น เนื่องจากในปัจจุบันมีภาษาคอมพิวเตอร์ให้เลือกได้หลาย ภาษา เช่น ภาษาปาสคาล ภาษาซี ภาษาจาวา และภาษาเดลฟาย ภึงแม้แต่ละภาษาจะมีรูปแบบและหลักการในการสร้างงานที่ แตกต่างกันแต่ทุกภาษา จะต้องมีโครงสร้างควบคุมหลักทั้ง 3 แบบ ได้แก่ โดครงสร้างแบบลาดับ (sequential structure) โครงสร้างแบบทางเลือก (selection structure) และโครงสร้าง แบบวนซ้า(repetition structure)
  • 11. 5.3.1 โครงสร้างแบบลาดับ ( sequential structure ) โปรแกรมที่ทางานเป็นขั้นตอนเพื่อแก้ปัญหาจะทางานตามคาสั่งที่เขียนไว้ตามลาดับ ตั้งแต่คาสั่ง แรกไปจนถึงคาสั่งสุดท้าย โดยที่คาสั่งในที่นี้อาจเป็นคาสั่งเดี่ยวๆ หรือเป็นคาสั่งเชิงซ้อนทีมี หลายคาสั่งย่อยประกอบกันในลักษณะเป็นโครงสร้าง แบบทางเลือกหรือแบบวนซ้าก็ได้ โครงสร้างแบบเรียงลาดับเมื่อเขียนเป็นผังงาน จะมีลักษณะดังเช่นรูปที่ 6.9 และมีกระบวนการ ทางานพื้ฐานอยู่3 ชนิด ดังแสดงในรูปที่ 6.10 ได้แก่ -การคานวณ เป็นกระบวนการที่คอมพิเตอร์ทาการคานวณ ประมวลผล ซึ่งจะรวมไปถึงการ กาหนดค่าให้กับตัวแปร เพื่อให้สามารถนาค่าของตัวแปรนั้นมาใช้ในภายหลังได้ – การรับข้อมูลเข้า เป็นกระบวนการรับข้อมูลจากอุปกรณ์ของหน่วยรับเข้า เช่น คีย์บอร์ด เพื่อนาค่า ไปกาหนดให้กับตัวแปร และเก็บไว้ในหน่วยความจา – การส่งข้อมูลออก เป็น กระบวนการนาค่าของข้อมูลไปแสดงผลยังอุปกรณ์ของหน่วยส่งออก เช่น จอภาพหรือเครื่องพิมพ์ข้อมูลที่จะส่งออกโดยทั่งไปจะเป็นค่าคงที่ หรือค่าของตัวแปร ใน การดาเนินการเพื่อแก้ปัญหาด้วยคอมพิวเตอร์ กระบวนการเหล่านี้ต้องถูกแปลงให้อยู่รูปของ คาสั่งหลายคาสั่งประกอบกันเพื่อ ให้ทางานตามขั้นตอนที่ได้ออกแบบไว้เช่น กรบวนการการ คานวณในการเพิ่มค่าของตัวแปรcounter ขึ้นอีกหนึ่ง จะใช้คาสั่ง ” counter < counter + 1 ” กระบวนการรับข้อมูลเข้าเพื่อเก็บไว้ในตัวแปร x จะใช้คาสั่ง ” input x” และกระบวนการส่งข้อมูลออกไปยังจอภาพเพื่อแสดงผลของตัวแปร average จะใช้ คาสั่ง “print avereage” เป็นต้น
  • 12. 5.3.2 โครงสร้างแบบทางเลือก( selection structure ) ปัญหาบางอย่างต้องการการตัดสินใจเพื่อเลือกว่าจะใช้วิธีการใด โดยต้องมี การตรวจสอบว่าเงื่อนไขที่ใช้ในการตัดสินใจว่าเป็นจริงหรือเท็จ ถ้าเป็นจริง จะไปเลือกทาคาสั่งชุดหนึ่งแต่ถ้าเป็นเท็จจะไปเลือกทาคาสั่งอีกชุดหนึ่งซึ่ง ชุดคาสั่งเหล่านี้จะประกอบด้วยโครงสร้างแบบลาดับนั่นเอง 5.3.3 โครงสร้างแบบวนซ้า ( repetition structure ) ในการแก้ปัญหาบางอย่างอาจต้องมีการทางานในบางคาสั่งหรือชุดของคาสั่ง ซ้ากัน มากกว่าหนึ่งรอบขึ้นไป โครงสร้างแบบมีการวนซ้านี้ต้องมีการ ตัดสินใจร่วมอยู่ด้วยเสมอ เพื่อเป็นเงื่อนไขที่ตัดสินใจว่าเมื่อใดจะวนซ้า หรือ เมื่อไรจะถึงเวลาหยุดวนซ้าโดยทั่วไปผังงานของการวนว้าจะมีลักษณะดังรูป ที่ 6.14 หรือรูปที่ 6.15 โดยมีความแตกต่างกันตือในรูปที่ 6.14 เป็นการวนซ้า แบบที่ต้องตรวจสอบเงื่อนไขที่จะใช้วนซ้าก่อนที่จะทางานในชุดคา สั่งใน โครงสร้างแบบวนซ้า เรียกว่า การวนซ้าแบบ while ซึ่งจะสังเกตได้ว่าถ้า เงื่อนไขไม่เป็นจริงตั้งแต่แรกคาสั่งแบบโครงสร้างในการวนซ้าจะไม่ถูกเรียก ให้ทางานเลยแต่สาหรับ 6.15 เป็นการวนซ้าแบบมีการตรวจสอบเงื่อนไขที่จะ ให้วนซ้าหลังจากที่ได้ทางานตามชุดคาสั่ง ในโครงสร้างแบบวนซ้าไปรอบ หนึ่งแล้วเรียกว่า การวนว้าแบบ until สาหรับตัวอย่างของการวนซ้า เช่น การ รับค่าตัวเลขเข้ามาหลายค่า ในโครงสร้าเพื่อคานวนหาผลรวม ในตัวอย่างที่ 6.7 ถือเป็นการวนซ้าแบบ until