บทที่ 6 ( 6.1 หลักการแก้ปัญหา )
ในชีวิตประจำวันทุกคนต้องเคยพบกับปัญหาต่างๆ ไม่ว่าจะเป็นปัญหาด้านการเรียน การงานการเงิน หรือแม้แต่ในการเล่นเกม จนอาจกล่าวได้ว่าการแก้ปัญหาเป็นกิจกรรมพื้นฐานอย่างหนึ่งของมนุษย์ เมื่อพบกับปัญหาแต่ละคนมีวิธีที่จะจัดการหรือแก้ปัญหาเหล่านั้นแตกต่างกันไป ซึ่งแตละวิธีการอาจเหมือนหรือแตกต่างกัน ทั้งนี้ขึ้นอยู้กับความรู้ ความสามารถ และประสบการณ์ของแต่ละบุคคลอย่างไรก็ตาม เมื่อได้มีการนำวิธีการแก้ปัญหาต่างๆ มาวิเคราะห์ จะพบว่าวิธีการเหล่านี้สามารถสรุปเป็นทฤษฎีซึ่งมีรูปแบบที่แน่นอนได้ และปัญหาบางลักษณะอาจต้องอาศัยความรู้ในระดับสูงเพื่อแก็ไขได้อย่างสมบูรณ์แบบ ในบทนี้ผู้เรียนจะได้ศ฿กษาเกี่ยวกับหลักและวิธีการแก้ปัญหาด้วยคอมพิวเตอร์ และการนำภาษาโปรแกรมคอมพิวเตอร์และเครื่องมือต่างๆ มาช่วยในการแก้ปัญหา
โดยทั่งไปการแก้ปัญหาหนึ่งอาจทำได้หลายวิธี ตัวอย่างเช่น ปัญหาจากการเล่นเกมทายใจก็สามารถแก้ได้หลายวิธีเช่นกัน เพียงแต่ว่าแต่ละวิธีที่แตกต่างกันจะทำให้ผู้เล่นเกมแก้ปัญหาได้ช้าเร็วไม่เท่ากัน
ตัวอย่างเกมทายใจ
เกมทายใจคือเกมที่จะให้ผู้เล่นทายตัวเลข 3 ตัวโดยต้องทายถูกตัวเลขและตำแหน่งซึ่งต้องใช้ผุ้เล่น 2 คน ผู้เล่นคนที่หน฿่งกำหนดตัวเลข 3 ตัวที่ไม่ซ้ำกันโดยเลือกจาตัวเลข 1-9 และผู้เล่นคนที่หนึ่งต้องแจ้งผลการทายว่าตัวเลขที่ทายมานั้นถูกต้องกี่ตัว และถูกต้องกี่ตำแหน่ง ตัวอย่างเช่น ถ้าตัวเลขที่กำหนดไว้เป็น 8 1 5 และผู้เล่นคนที่สองทายว่า 1 2 3 ผู้เล่นคนที่หนึ่งต้องแจ้งว่าตัวเลขที่ทายนั้นถูกเพียงตัวเดียวและไมามีตัวใดถูกตำแหน่ง
ตัวอย่างการเล่นเกมทายใจ
จะเห็นได้ว่าในครั้งแรกๆ ของการทาย ผู้ทายจะใช้วิธีลองผิดลองถูกโดยการสุ่มตัวเลข 1-9 สำหรับเลขทั้ง 3 ตัว ดยไม่ให้มีตัวเลขซ้ำกัน ซึ้งเมื่อผู้กำหนดให้รายละเอียดเกี่ยวกับจำนวนตัวเลขและจำนวนตำแหน่งที่ถูกต้องแล้ว ผู้ทายก็สามารถแยกตัวเลขที่ไม่ถูกต้องทั้งค่าของตัวเลขและตำแหน่ง ออกจากการทายคำตอบของปัญหาในครั้งถัดๆไป การใช้เหตุผลเพื่อแยกตัวเลขที่ไม่ต้องการใรการทายแต่ละครั้งนี้ จะช่วยให้ผู้ทายสามารถค้นพบคำตอบของปัญหาได้ในที่สุด
การแก้ปัญหาโดยใช้รูปแบบของการใช้เหตุผลประกอบกับการแยกคำตอบที่ไม่ต้องการ จะขึ้นอยู่กับเงื่อนไขของปัญหา ในบางปัญหาวิธีการนี้อาจไม่สามารถหาคำตอบสุดท้ายได้ แต่อาจช่วยจำกัดจำนวนคำตอบที่เป็นไปได้ให้น้อยลง นอกจากวิธีการแก้ปัญหาที่ยกตัวอย่างมาซึ่งได้แก่ การลองผิดลองถูก การใช้เหตุผลและการใช้วิธีแยกคำตอบที่ไม่ต้องการ ยังมีวิธีการแก้ปัญหาอีกมากมายที่สามารถเลือกใช้ให้เหมาะสมกับตัวปัญหาและประสบการณ์ของผู้แก้ปัญหาเอง อย่างไรก็ตาม เมื่อพิจารณาในภาพรวมจะพบว่า วิธีการเหล่านี้ล้วนมีขั้นตอนหลักที่คล้ายคลึงกัน ซึ่งประกอบด้วย 4 ขั้นตอน
ขั้นตอนการแก้ปัญหา
1.การวิเคราะห์และกำหนดรายละเอียดของปัญหา
ขั้นตอนแรกของการแก้ปัญหาใดๆ ก็ตาม จะต้องเริ่มต้นด้วยการทำความเข้าใจกับปัญหาให้ถ่องแท้ เพื่อวิเคราะห์เงื่อนไขของปัญหาให้ชัดเจน รวมไปถึงข้อมุลที่จำเป็นในการแก้ปัญหาและรูปแบบหรือลักษณะของผลลัพะหรือคำตอบที่ต้องการโดยเหล่านี้จะเป็นประโยชน์ในการเลือกวิธีการแก้ปัญหาต่อไปกล่าวดดยสรุป การวิเคราะห์และกำหนดรายละเอียดของปัญหามีองค์ประกอบดังนี้
1.1 การระบุข้อมูลออก
1.2 การระบุข้อมูลเข้า
1.3 ราบละเอียดของปัญหา
1.1 การระบุข้อมูลออก
1.2 การระบุข้อมูลเข้า
1.3 ราบละเอียดของปัญหา
1.1 การระบุข้อมูลออก
ข้อมูลออกหรือคำตอบ คือสิ่งที่โจทย์ต้องการในการแก้ปัญหาด้วยคอมพิวเตอร์จำเป็นต้องระบุให้ชัดเจนว่าสิ่งที่ต้องการให้เป้นผลลัพธ์ของปัญหาคืออะไร และต้องการให้แสดงออกในรูปแบบใด เช่น การประมวลผลข้อมูลการเบิกถอนเงินจากเครื่องเอทีเอ็ม ต้อมีการแสดงข้อมูลออกเป็นจำนวนเงินที่ถอนไป และจำนวนเงินคงเหลือในบัญชี อีกทั้งยังต้องออกแบบการจัดวางข้อมูลเหล่านี้เพื่อพิมพ์ลงในใบบันทึกรายการด้วย
ข้อมูลออกหรือคำตอบ คือสิ่งที่โจทย์ต้องการในการแก้ปัญหาด้วยคอมพิวเตอร์จำเป็นต้องระบุให้ชัดเจนว่าสิ่งที่ต้องการให้เป้นผลลัพธ์ของปัญหาคืออะไร และต้องการให้แสดงออกในรูปแบบใด เช่น การประมวลผลข้อมูลการเบิกถอนเงินจากเครื่องเอทีเอ็ม ต้อมีการแสดงข้อมูลออกเป็นจำนวนเงินที่ถอนไป และจำนวนเงินคงเหลือในบัญชี อีกทั้งยังต้องออกแบบการจัดวางข้อมูลเหล่านี้เพื่อพิมพ์ลงในใบบันทึกรายการด้วย
ตัวอย่างข้อมูลออก
1.2 การระบุข้อมูลเข้า
ข้อมูลเข้าคือ ข้อมูลเริ่มต้นหรือเงื่อนไขที่โจทย์กำหนดมาให้ตั้งแต่แรก ในการแก้ปัญหา ผู้แก้ปัญหาจะต้องใช้ข้อมูลเหล่านี้ในการประมวลผู้เพื่อให้ได้ผลลัพธ์ตามที่ต้องการ ตัวอย่างเช่น การเบิกถอนเงินด้วยบัตรเอทีเอ็มข้างต้น ผู้ถอนเงินต้องมีข้อมูลระบุตัวตนว่าเป็นเจ้าของบัญชีตัวจริง ได้แก่ บัตรเอทีเอ็ม และรหัสประจะตัว 4 หลักและยังต้องระบุข้อมูลให้ครบถ้วนว่าต้องการเบิกถอนจากบัญชีใดเป็นจำนวนเงินเท่าใด เป็นต้น
ตัวอย่างข้อมูลเข้า
1.3 รายละเอียดของปัญหา
รายละเอียดของปัญหา คือ การพิจารณาความต้องการของปัญหา ให้แสดงการวิเคราะห์และกำหนดรายละเอียดของการหาค่าเฉลี่ยนของจำนวนเต็ม 5 จำนวนองค์ประกอบของขั้นตอนการวิเคราะห์และกำหนดรายละเอียดของปัญหาสามารถแสดงได้ดังนี้
2. การเลือกเครื่องมือและวิธีออกแบบขั้นตอนวิธีในการแก้ปัญหา
เมื่อได้รายละเอียดเบื้องหลังของปัญหา รามทั้งวิธีการประมวลผลแล้ว ขั้นตอนต่อไปเป็นการตัดสินใจว่าจะใช้เครื่องมือใดในการแก้ปัญหา ถ้าหากเป็นปัญหาทั่งไปในชีวิตประจะวันหรือปัญหาทางคณิตศาสตร์ง่ายๆ อาจไม่ต้องใช้เครื่องมือพิเศษในการแก้ปัญหา แต่ใช้เพียงการคำนวนด้วยกระดาษทด หรือเครื่องคิดเลขก็สามารหาคำตอบได้แล้ว
ตัวอย่างเครื่องมือในการแก้ปัญหา
สำหรับปัญหาทีมีขั้นตอนในการแก้ปัญหาอย่างซับซ้อน หรือต้องมีการแก้ปัญหาในลักษณะเดิซ้ำอีกหลายครั้ง จำเป็นต้องใช้คอมพิวเตอร์เป็นอุปกรณ์ในการแก้ปัญหา โดยเขียนโปรแกรมเพื่อรับข้อมูลเข้าไปประมวลผล และยังต้องเลือกว่าจะใช้ดปรแกรมคอมพิวเตอร์ภาษาใด ซึ้งขึ้นอยู่กับความคุ้นเคยในการใช้งานของผู้เขียนโปรแกรม และลักษณะเฉพาะของแต่ละภาษาที่เหมาะสมกับปัญหานั้นๆ
ในการแก้ปัญหาดดยใช้คอมพิวเตอร์นั้น การออกแบบวิธีแก้ปัญหาอย่างเป็นขั้นตอนและง่ายต่อการทำความเข้าใจสำคัญมาก เพราะจะทำให้สามารถเขียนโปรแกรมจากขั้นตอนที่ได้ออกแบบไว้อย่างง่ายดาย เครื่องมือที่ใช้เพื่อการออกแบบขั้นตอนวิธี เช่น รหัสลำลอง (pseudocode) ซึ่งเป็นการจำลองขั้นตอนวิธีแก้ปัญหา โดยการอธิบายด้วยคำพูดที่เข้าใจได้ง่ายเป็นขั้นๆหรือผังงาน (flowchart) ซึ่งเป็นการใช้สัญลักษณ์ในการแสดงรายละเอียดและลำดับของแต่ละขั้นตอนที่ใช้แก้ปัญหา ข้อดีอีกประการหนึ่งของการใช้เครื่องมือเหล่านี้ช่วยในการออกแบบวิแก้ปัญหาคือ จะทำให้สามารถตรวจสอบความถูกต้อง หาจุดผิดพลาด และแก้ไขขั้นตอนในการแก้ปัญหาที่ซับซ้อนได้รวดเร็ว นักเขียนโปรแกรมจึงควรฝึกฝนการใช้งานเครื่องมือเหล่านี้ให้เชี่ยวชาญ
ตัวอย่างผังงาน
ตัวอย่างรหัสลำลอง
3. การดำเนินการแก้ปัญหา
การดำเนินการแก้ปัญหา เป็นขั้นตอนการใช้โปรแกรมประยุกต์หรือเขียนโปรแกรมขึ้นเองโดยใช้ภาษาคอมพิวเตอร์ ซึ่งต้องอาศัยความเชี่ยวชาญเฉพาะในการใช้โปรแกรมหรือภาคอมพิวเตอร์นั้นๆ ข้นตอนนี้จะเสร็จได้เร็วหรืช้าขึ้นอยู่กับหลายปัจจัย เช่น ความชัดเจนและถูกต้องของวิธีแก้ปัญหาที่ได้ออกแบบไว้ และสามารถในการเขียนหรือใช้งานโปรแกรมหรือภาษาคอมพิวเตอร์ที่เลือ ในขั้นตอนนี้ผู้พัฒนาควรคำนึงถึงความยืดหยุ่นของดปรแกรมที่ได้ออกแบบขึ้นด้วย เพื่อให้สามารถรองรับการเปลี่ยนแปลงที่อาจเกิดขึ้นในอนาคต เช่น การเปลี่ยนแปลงข้อมูลเข้า การเปลี่ยนรูปแบบของข้อมูลออกหรือวิธีการประมวลผลที่เปลี่ยนไป นอกจากนี้โปรแกรมควรต้องรองรับการขยายตัวในอนาคตได้อีกด้วย
การดำเนินการแก้ปัญหาโดยการเขียนโปรแกรม
4. การตรวจสอบและปรับปรุงวิธีการ
ในขั้นตอนเป็นการตรวจสอบเพื่อให้แน่นใจว่าวิธีการแก้ปัญหารวมโปรแกรมที่พัฒนาขึ้นให้ผลลัพธ์ถูกต้อง โดยต้องตรวจสอบว่าขั้นตอนวิธีที่สร้างขึ้นสอดคล้องกับรายละเอียดของปัญหาวึ่งได้แก่ข้อมูลเข้า และข้อมูลออกที่ได้ระบุไว้ อีกทั้งยังสามารถรองรับข้อมูลเข้าอื่นๆ ที่มีลักษณะเดียวกันได้หลังจากที่ดปรอกรมทำงานได้ผลตามที่ต้องการแล้วอาจต้องมีการปรับปรุงให้วิธีการในการแก้ปัญหามีประสิทธิภาพที่สุด โดยยังคงความถูกต้องของผลลัพธ์เช่นเดิม ในขั้นตอนการปรับปรุงนี้ ควรจะมีทั้งการปรับปรุงขั้นตอนการทำงานของวิธีแก้ปัญหาให้ดีขึ้น และปรับโปรแกรมที่เขียนขึ้นให้มีเทคนิคการประมวลผลที่มีประสิทธิภาพขึ้น
บทที่ 6 ( 6.2 เครื่องมือที่ใช้ในการออกแบบและขั้นตอนวิธีในการแก้ปัญหา )
การออกแบบวิธีในการแก้ปัญหาเป็นกระบวนการที่ต้องอาศัยประสบการณ์ ความรู้ความเข้าใจในปัญหา และความคิดอย่างมรเหตุผลและเป็นขั้นตอนแล้ว ยังต้องอาศัยเครื่องมือที่จะช่วยถ่ายทอดความคิดออกมาเป็นลายลักษณ์อักษร หรือเป็นแผนภาพซึ้งจะช่วยให้สามารถแก้ปัญหาได้ดีโดยเพาะปัญหาที่ยุ่งยากซับซ้อนอีกทั้งยังเป็นแนวทางให้ผู้ที่เกี่ยวข้องหรือผู้ดำเนินการปรับปรุงในอนาคตเข้าในวิธีแก้ปัญหาที่เราพัฒนาขึ้นได้ง่าย เครื่องมือที่ใช้ในการอกแบบวิธีแก้ปัญหามี 2 ลักษณะคือ
6.2.1 รหัสลำลอง
รหัสลำลองเป็นการใช้คำบรรยายเพื่ออธิบายขั้นตองวิธีในการแก็ปัญหา การเขียนรหังลำลองไม่มีรูปแบบที่แน่นอน ขึ้นอยู่กับประสบการณ์และความถนัดของผู้เขียน ซึ่งอาจจะเขียนอย่างละเอียดหรือย่อ และในบางครั้งที่อาจอธิบายในลักษณะคล้ายคำพูด หรืออาจจะเขียนในรูปแบบคล้ายภาโปรแกรมก็ได้เช่นกัน การใช้รหัสลำลองในการออกแบบวิธีแก้ปัญหามีข้อดีคือ เขียนง่ายผู้เขียนคำนึงถึงเพียงแต่วิธีแก้ปัญหา โดยไม่ต้องกังวลว่าจะเขียนผิดรูปแบบหรือไม่และถ้าผู้เขียนมีความชำนาญแล้ว การเขียนรหัสลำลองในรูปแบบคล้ายกับภาษาโปรแกรมจะทำให้สามารดัดแปลงไปเป็นโปรแกรมคอมพิวเตอร์ได้โดยง่าย แสดงถึงการใช้รหังลำลองในการถ่ายทอดความคิดเพื่อแก้ปัญหาทั่งไป และปัญหาทางคณิตศาสตร์
6.2.2 ผังงาน
ผังงานเป็นการอธิบายขั้นตอนวิธีการแก้ปัญหาโดยใช้รูปสัญลักษณ์มาเรียงต่อกันสัญลักษณ์แต่ละแบบจะมีถึงความหมายถึงกระบวนการที่แตกต่างกัน โดยจะมีคำอธิบายสั้นๆเพิ่มเติมในสัญลักษณ์ ความหมายของสัญลักษณ์ต่างๆ ที่ใช้ในผังงานที่ถูกกำหนดโดยสถาบันมาตรฐานแห่งชาติอเมริกา (The American National Standard Institute : ANSI)เพื่อให้สามารถสื่อความหมายได้ตรงกัน ซึ่งมีรายละเอียดของสัญลักษณ์และความหมายที่ควรทราบ
สัญลักษณ์และความหมายของผังงาน
ในการเขียนผังงานมีหลักการ คือ ให้เลือกสัยลักษณ์แทนกนะบวนการที่ถูกต้อง และเขียนข้อความสั้นๆ แทนสิ่งที่ต้องกระทำลงในรูปสัญลักษณ์ แล้วนำมาเรียงต่อกัน เชื่อมแต่ละสัญลักษณ์ด้วยลูกศร โดยทั่วไปแล้ว จะเรียงลำดับของสัญลักษณ์ไว้จากบนลงล่าง ตามลำดับชองการทำงาน หรือ อาจจะใช้หัวลูกศรระบุลำดับก่อนหลังของการทำงานก็ได้
การเชื่อมต่อสัญลักษณ์ต่างๆ ของผังงาน อาจทำให้มีการตัดกันของเส้นลุกศรจนอาจเกิดความสับสนได้ ผู้เขียนจึงควรเลือกใช้สัญลักษณ์จุดเชื่อมต่อในหน้าเดีวกัน โดยระบุตัวอักษรเดียวกันเพื่อหมายถึงการเชื่อมสองจุดของผังงานเข้าด้วยกัน แต่ถ้าผังงานใหญ่เกินหน้ากระดาษ ให้เลือกใช้สัญลักษณ์จุดเชื่อมต่อหน้ากระดาษ เพื่อเชื่อมระหว่างสองจุดของผังงานที่ข้ามไปอยู่คนละหน้ากัน
บทที่ 6 ( 6.3 โครงสร้างการโปรแกรม )
ก่อนการเขียนโปรแกรม ผู้พัฒนาโปรแกรมจะต้องเลือกภาษาคอมพิวเตร์ ที่จะนำมาใช้ช่วยงานโดยพิจารณาจากปัจจัยต่างๆ ในการทำงาน เช่น ลักษณะของปัญหา ความถนัดของนักเขียนดโปรแกรม สภาพแวดล้อมในการทำงานของระบบคอมพิวเตอร์ เป็นต้น เนื่องจากในปัจจุบันมีภาษาคอมพิวเตอร์ให้เลือกได้หลายภาษา เช่น ภาษาปาสคาล ภาษาซี ภาษาจาวา และภาษาเดลฟาย ภึงแม้แต่ละภาษาจะมีรูปแบบและหลักการในการสร้างงานที่แตกต่างกันแต่ทุกภาษาจะต้องมีโครงสร้างควบคุมหลักทั้ง 3 แบบ ได้แก่ โดครงสร้างแบบลำดับ (sequential structure) โครงสร้างแบบทางเลือก (selection structure) และโครงสร้างแบบวนซ้ำ(repetition structure)
6.3.1 โครงสร้างแบบลำดับ ( sequential structure )
โปรแกรมที่ทำงานเป็นขั้นตอนเพื่อแก้ปัญหาจะทำงานตามคำสั่งที่เขียนไว้ตามลำดับ ตั้งแต่คำสั่งแรกไปจนถึงคำสั่งสุดท้าย โดยที่คำสั่งในที่นี้อาจเป็นคำสั่งเดี่ยวๆ หรือเป็นคำสั่งเชิงซ้อนทีมีหลายคำสั่งย่อยประกอบกันในลักษณะเป็นโครงสร้างแบบทางเลือกหรือแบบวนซ้ำก็ได้
โครงสร้างแบบเรียงลำดับเมื่อเขียนเป็นผังงาน จะมีลักษณะดังเช่นรูปที่ 6.9 และมีกระบวนการทำงานพื้ฐานอยู่ 3 ชนิด ดังแสดงในรูปที่ 6.10 ได้แก่
-การคำนวณ เป็นกระบวนการที่คอมพิเตอร์ทำการคำนวณ ประมวลผล ซึ่งจะรวมไปถึงการกำหนดค่าให้กับตัวแปร เพื่อให้สามารถนำค่าของตัวแปรนั้นมาใช้ในภายหลังได้
- การรับข้อมูลเข้า เป็นกระบวนการรับข้อมูลจากอุปกรณ์ของหน่วยรับเข้า เช่น คีย์บอร์ด เพื่อนำค่าไปกำหนดให้กับตัวแปร และเก็บไว้ในหน่วยความจำ
- การส่งข้อมูลออก เป็นกระบวนการนำค่าของข้อมูลไปแสดงผลยังอุปกรณ์ของหน่วยส่งออก เช่น จอภาพหรือเครื่องพิมพ์ ข้อมูลที่จะส่งออกโดยทั่งไปจะเป็นค่าคงที่ หรือค่าของตัวแปร
ในการดำเนินการเพื่อแก้ปัญหาด้วยคอมพิวเตอร์ กระบวนการเหล่านี้ต้องถูกแปลงให้อยู่รูปของคำสั่งหลายคำสั่งประกอบกันเพื่อให้ทำงานตามขั้นตอนที่ได้ออกแบบไว้ เช่น กรบวนการการคำนวณในการเพิ่มค่าของตัวแปร counter ขึ้นอีกหนึ่ง จะใช้คำสั่ง ” counter < counter + 1 ” กระบวนการรับข้อมูลเข้าเพื่อเก็บไว้ในตัวแปร x จะใช้คำสั่ง ” input x” และกระบวนการส่งข้อมูลออกไปยังจอภาพเพื่อแสดงผลของตัวแปร average จะใช้คำสั่ง “print avereage” เป็นต้น
6.3.2 โครงสร้างแบบทางเลือก (selection structure)
ปัญหาบางอย่างต้องการการตัดสินใจ เพื่อเลือกว่าจะใช้วิธีการใด โดยต้องมีการตรวจสอบว่าเงื่อนไขที่ใช้ในการตัดสินใจว่าเป็นจริงหรือเท็จ ถ้าเป็นจริงจะไปเลือกทำคำสั่งชุดหนึ่ง แต่ถ้าเป็นเท็จจะไปเลือกทำคำสั่งอีกชุดหนึ่ง ซึ่งชุดคำสั่งเหล่านี้จะประกอบด้วยโครงสร้างแบบลำดับนั่นเอง
6.3.3 โครงสร้างแบบวนซ้ำ (repetition structure)
ในการแก้ปัญหาบางอย่างอาจต้องมีการทำงานในบางคำสั่งหรือชุดของคำสั่งซ้ำกันมากกว่าหนึ่งรอบขึ้นไป โครงสร้างแบบมีการวนซ้ำนี้ต้องมีการตัดสินใจร่วมอยู่ด้วยเสมอ เพื่อเป็นเงื่อนไขที่ตัดสินใจว่าเมื่อใดจะวนซ้ำ หรือเมื่อไรจะถึงเวลาหยุดวนซ้ำโดยทั่วไปผังงานของการวนว้ำจะมีลักษณะดังรูปที่ 6.14 หรือรูปที่ 6.15 โดยมีความแตกต่างกันตือ ในรูปที่ 6.14 เป็นการวนซ้ำแบบที่ต้องตรวจสอบเงื่อนไขที่จะใช้วนซ้ำก่อนที่จะทำงานในชุดคำสั่งในโครงสร้างแบบวนซ้ำ เรียกว่า การวนซ้ำแบบ while ซึ่งจะสังเกตได้ว่าถ้าเงื่อนไขไม่เป็นจริงตั้งแต่แรก คำสั่งแบบโครงสร้างในการวนซ้ำจะไม่ถูกเรียกให้ทำงานเลยแต่สำหรับ 6.15 เป็นการวนซ้ำแบบมีการตรวจสอบเงื่อนไขที่จะให้วนซ้ำหลังจากที่ได้ทำงานตามชุดคำสั่ง ในโครงสร้างแบบวนซ้ำไปรอบหนึ่งแล้วเรียกว่า การวนว้ำแบบ until สำหรับตัวอย่างของการวนซ้ำ เช่น การรับค่าตัวเลขเข้ามาหลายค่า ในโครงสร้าเพื่อคำนวนหาผลรวม ในตัวอย่างที่ 6.7 ถือเป็นการวนซ้ำแบบ until
สิ่งที่ควรระวังในการใช้งานขั้นตอนวิธีแบบมีการวนซ้ำคือ ต้องตรวจสอบว่าได้กำหนดเงื่อนไขอย่างรัดกุมและถูกต้อง มิเช่นนั้นแล้วอาจเกิดกรณีแบบวนซ้ำไม่รู้จบ (infinte loop) หรือกรณีที่วนซ้ำไม่ไ้ด้ตามจำนวนรอบที่ต้องการ
1. ทันสมัย / ทันเหตุการณ์ / ทันข้อมูลข่าวสาร / ทันโลก ช่วยให้เราสามารถติดต่อสื่อสารกันได้ทั่วโลก2. ช่วยให้การเรียน การทำงาน ทันสมัยและไรับความสะดวกมากยิ่งขึ้น เช่น ได้เรียนรู้จากสื่อที่ทันสมัยที่สร้างด้วยคอมพิวเตอร์ ที่เรียกว่า โปรแกรม CAI3. เป็นแหล่งการเรียนรู้ที่ดีเยี่ยม ช่วยในการค้นคว้าหาความรู้เป็นห้องสมุดขนาดใหญ่4. ช่วยรับ - ส่งข่าวสารได้อย่างรวดเร็ว5. ช่วยผ่อนคลายความตึงเครียด เช่น เกม ดูภาพยนตร์ ฟังเพลง ร้องเพลง6. ช่วยสร้างงานศิลปะ ออกแบบชิ้นงานได้อย่างสร้างสรรค์ สวยงาม ประโยชน์ของคอมพิวเตอร์แบ่งเป็น 2 ประเภท คือ1. ประโยชน์ทางตรง ช่วยให้มนุษย์ทำงานได้โดยตรงคือคอมพิวเตอร์ทำงานได้เที่ยงตรง รวดเร็ว ไม่เหน็ดเหนื่อย ช่วยผ่อนแรงมนุษย์ ในด้านต่าง ๆเช่น ด้านการคำนวณ พิมพ์งาน บันทึกข้อมูล ประมวลผล ไม่ว่าจะเป็นหน่วยงานในแวดวงใน หากนำคอมพิวเตอร์เข้าช่วยงาน จะช่วยแบ่งเบาภาระงานได้เป็นอย่างดีและมีประสิทธิภาพ2. ประโยชน์ทางอ้อม คอมพิวเตอร์ช่วยพัฒนาคุณภาพชีวิต เช่น ช่วยในการเรียนรู้ให้ความปันเทิงความรู้ ช่วยงานบันเทิงพัฒนางานด้านต่าง ๆ เพื่อพัฒนาเทคโนโลยีอันส่งผลให้ความเป็นอยู่ของมนุษย์ดีขึ้น เป็นต้น
ประวัติคอมพิวเตอร์ (Computer the series)
ยุคปัจจุบัน ( Present Computer)
ผลที่คาดว่าจะได้รับ (ผลลัพธ์ที่ต้องการให้เกิดขึ้นเมื่อสิ้นสุดการทำโครงงาน)………………..แหล่งอ้างอิง (เอกสารหรือแหล่งข้อมูลต่าง ๆ ที่นำมาใช้ในการทำโครงงาน)…………………………๒.๔ การจัดทำโครงงาน ในขั้นตอนนี้มีการเตรียมคอมพิวเตอร์ ซอฟต์แวร์ และวัสดุอุปกรณ์ให้ครบถ้วน โดยต้องคำนึงถึงความประหยัด คุ้มค่า และมีจิตสำนึกรับผิดชอบต่อสังคม เช่น ถ้าใช้ซอฟต์แวร์ฟรีต้องศึกษาถึงข้อกำหนดในการใช้ซอฟต์แวร์นั้นแล้วปฏิบัติตามให้ถูกต้อง แต่ถ้าใช้ซอฟต์แวร์เชิงพาณิชย์ก็จัดหาให้ถูกต้องตามกฎหมาย เพื่อไม่ทำให้เกิดผลเสียกับตนเองและผู้อื่นหลังจากจัดเตรียมวัสดุอุปกรณ์เรียบร้อยแล้ว ให้ดำเนินการตามตารางเวลาการทำงานอย่างเคร่งครัด ระหว่างทำโครงงานต้องบันทึกผลการทำงานเพื่อติดตามความก้าวหน้า ปัญหา อุปสรรค รวมถึงวิธีแก้ไข และควบคุมการปฏิบัติงานให้เป็นไปตามระยะเวลาที่กำหนด มีการตรวจสอบความถูกต้องของโครงงานตามแผนการดำเนินงานอย่างสม่ำเสมอ๒.๕ การเขียนรายงาน ในขั้นตอนนี้เป็นการจัดทำเอกสาร รายละเอียดทั้งหมดในการพัฒนา และคู่มือการใช้งาน เพื่อเผยแพร่และใช้ในการพัฒนาโครงงานต่อไป เป็นประโยชน์สำหรับผู้ที่ต้องการศึกษาหาความรู้หรือต้องการทำโครงงานที่คล้ายกัน สามารถเรียนรู้จากประสบการณ์ที่ได้บันทึกไว้ การเขียนรายงานต้องใช้ภาษาที่อ่านง่าย ชัดเจน กระชับ ตรงประเด็น ใช้ถ้อยคำสุภาพ และมีสร้างความเสียหายให้กับผู้อื่นหัวข้อในการเขียนรายงาน มีดังต่อไปนี้ชื่อโครงงาน (ภาษาไทย)………………ชื่อโครงงาน (ภาษาอังกฤษ)………………ประเภทโครงงาน………..ชื่อผู้ทำโครงงาน
๑. …………………….
๒. ……………………
ชื่อที่ปรึกษาโครงงาน…………ชื่อที่ปรึกษาโครงงานร่วม…………กิตติกรรมประกาศ………………..บทคัดย่อ………………บทที่ ๑ บทนำ
……………………………..
…………………………..
…………………………..
|
3. การรู้จำเสียงพูด (Speech Recognition System)
คือ การพัฒนาให้ระบบคอมพิวเตอร์เข้าใจภาษามนุษย์ และสามารถจดจำคำพูดของมนุษย์ได้อย่างต่อเนื่อง กล่าวคือเป็นการพัฒนาให้เครื่องคอมพิวเตอร์ทำงานได้ด้วยภาษาพูด เช่น งานระบบรักษาความปลอดภัย งานพิมพ์เอกสารสำหรับผู้พิการ เป็นต้น
4. ระบบผู้เชี่ยวชาญ (Expert System)
คือ การพัฒนาให้ระบบคอมพิวเตอร์มีความรู้ รู้จักใช้เหตุผลในการวิเคราะห์ปัญหา โดยใช้ความรู้ที่มี หรือจากประสบการณ์ในการแก้ปัญหาหนึ่ง ไปแก้ไขปัญหาอื่นอย่างมีเหตุผล ระบบนี้จำเป็นต้องอาศัยฐานข้อมูล (Database) ซึ่งมนุษย์ผู้มีความรู้ความสามารถเป็นผู้กำหนดองค์ความรู้ไว้ในฐานข้อมูลดังกล่าว เพื่อให้ระบบคอมพิวเตอร์สามารถวิเคราะห์ปัญหาต่างๆ ได้จากฐานความรู้นั้น เช่น เครื่องคอมพิวเตอร์วิเคราะห์โรค หรือเครื่องคอมพิวเตอร์ทำนายโชคชะตา เป็นต้น
|