วันจันทร์ที่ 7 กันยายน พ.ศ. 2563






การนำเสนอและเผยแพร่โครงงาน


 การนำเสนอโครงงาน
การแสดงผลงานจัดได้ว่าเป็นขั้นตอนสำคัญอีกประการหนึ่งของการทำโครงงานเรียกได้ว่าเป็นงานขั้นตอนสุดท้ายของการทำโครงงานวิทยาศาสตร์และเทคโนโลยี เป็นการแสดงผลิตผลของความคิด

 

การดำเนินงาน

วิธีการดำเนินงาน

        1. คัดเลือกหัวข้อโครงงานที่สนใจจะทำ โดยทั่วไปเรื่องที่จะมาพัฒนาเป็นโครงงานคอมพิวเตอร์มักได้จากปัญหา คำถาม หรือความสนใจในเรื่องต่าง ๆ 
จากการสังเกตสิ่งต่าง ๆ 

        2. ศึกษาค้นคว้าและวางแผน การศึกษาค้นคว้าจากเอกสารและแหล่งข้อมูล 


                                                                                               อ่านเพิ่มเติม

 

 การวางแผนและการออกแบบงานในการตัดต่อภาพและเสียง

      ในการตัดต่อภาพและเสียงวิดีโอนั้น จะต้องมีการวางแผนอย่างเป็นขั้นตอน เพื่อให้ชิ้นงานออกมาตรงตามความต้องการ และมีประสิทธิภาพ จะได้ไม่ต้องเสียเวลาแก้ไขภายหลัง โดยดำเนินการตามขั้นตอน ดังนี้ 
      

 

2.2 การกำหนดขอบเขตของปัญหา


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


อ่านเพิ่มเติม


การกำหนดปัญหา


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



 

การจัดเรียงข้อมูล (Sorting)

        การจัดเรียงหรือเรียงลำดับข้อมูล(Sorting) คือ การจัดเรียงข้อมูลให้เรียงลำดับตามเงื่อนไขที่กำหนดไว้ โดยอาจเรียงจากน้อยไปมาก หรือค่ามากไปน้อยก็ได้ การเรียงลำดับข้อมูลในระบบคอมพิวเตอร์ จะแบ่งเป็น 2 ลักษณะใหญ่ ๆ คือ 

1. การจัดเรียงลำดับข้อมูลภายใน (Internal sorting) 
  • ใช้กับข้อมูลที่มีจำนวนไม่ใหญ่กว่าเนื้อที่ในหน่วยความจำ (main memory)
  • ไม่ต้องใช้หน่วยความจำสำรอง เช่น ดิสก์, เทป เป็นต้น
2. การเรียงลำดับข้อมูลภายนอก (External sorting)
  • ใช้กับข้อมูลที่มีจำนวนใหญ่เกินกว่าที่จะเก็บลงในหน่วยความจำได้หมดภายในครั้งเดียว
  • จะใช้หน่วยความจำภายนอก เช่น  ดิสก์, เทป สำหรับเก็บข้อมูลบางส่วนที่ได้รับการเรียงลำดับข้อมูลแล้ว แล้วจึงค่อยจัดการเรียงลำดับข้อมูลในส่วนต่อไป
ประเภทของการเรียงลำดับข้อมูล

อ่านเพิ่มเติม




การทำงานแบบวนซ้ำ


การทำงานแบบวนซ้ำ (Loop)เป็นการนำคำสั่งมาทำงานซ้ำหลายๆ รอบ จะทำงานกี่รอบขึ้นอยู่กับเงื่อนไขที่ผู้เขียนโปรแกรมกำหนดไว้ ซึ่งอาจจะเป็นการกำหนดจำนวนรอบที่แน่นอน เช่น ตั้งใจว่าจะวิ่งรอบสนาม 3 รอบ คือรู้แน่นอนว่าจะทำงานกี่รอบ หรือแบบจำนวนรอบไม่แน่นอน เช่น ตั้งใจว่าจะวิ่งรอบสนามไปเรื่อยๆ เหนื่อยเมื่อไหร่จึงจะหยุดวิ่ง คือไม่แน่ชัดว่าจะทำงานกี่รอบ

การทำงานซ้ำๆ ในชีวิตประจำวันมีอยู่มากมาย ครูจะขอยกตัวอย่างง่ายๆ ที่นักเรียนทุกๆ คนคงเคยทำมาด้วยตนเองแล้ว เช่น







 

การออกแบบขั้นตอนวิธี 


    ขั้นตอนวิธี หรือ อัลกอริทึม (algorithm) หมายถึงกระบวนการแก้ปัญหาที่สามารถเข้าใจได้ มีลำดับหรือวิธีการในการแก้ไขปัญหาใดปัญหาหนึ่งอย่างเป็นขั้นเป็นตอนและชัดเจน เมื่อนำเข้าอะไร แล้วจะต้องได้ผลลัพธ์เช่นไร ซึ่งแตกต่างจากการแก้ปัญหาแบบสามัญสำนึก หรือฮิวริสติก (heuristic)โดยทั่วไป ขั้นตอนวิธี จะประกอบด้วย วิธีการเป็นขั้นๆ และมีส่วนที่ต้องทำแบบวนซ้ำ (iterate) หรือ เวียนเกิด (recursive) โดยใช้ตรรกะ (logic) และ/หรือ ในการเปรียบเทียบ (comparison) ในขั้นตอนต่างๆ จนกระทั่งเสร็จสิ้นการทำงาน ในการทำงานอย่างเดียวกัน อาจจะเลือกขั้นตอนวิธีที่ต่างกันเพื่อแก้ปัญหาได้ โดยที่ผลลัพธ์ที่ได้ในขั้นสุดท้ายจะออกมาเหมือนกันหรือไม่ก็ได้ และจะมีความแตกต่าง ที่จำนวนและชุดคำสั่งที่ใช้ต่างกันซึ่งส่งผลให้ เวลา (time) , และขนาดหน่วยความจำ (space) ที่ต้องการต่างกัน หรือเรียกได้อีกอย่างว่ามีความซับซ้อน (complexity) ต่างกัน  การนำขั้นตอนวิธีไปใช้ ไม่จำกัดเฉพาะการเขียนโปรแกรมคอมพิวเตอร์ แต่สามารถใช้กับปัญหา
อื่น ๆ ได้เช่น การออกแบบวงจรไฟฟ้า, การทำงานเครื่องจักรกล, หรือแม้กระทั่งปัญหาในธรรมชาติ เช่น วิธีของสมองมนุษย์ในการคิดเลข หรือวิธีการขนอาหารของแมลง 
คำว่า Algorithm มีที่มาจากชื่อของนักคณิตศาสตร์ชาวเปอร์เซียในยุคศตวรรษที่ 9 อะบู อับดิลลาหฺ อิบน มูซา อัลคอวาริซมีย์ (Abu Abdillah Muhammad ibn Musa al-Khawarizmi) คำว่า al-Khawarizmi ได้เพี้ยนเป็น Algoritmi เมื่องานเขียนของเขาได้รับการแปลเป็นภาษาละติน แล้วกลายเป็น Algorithm อัลกอริทึม ซึ่งใช้หมายถึงกฎที่ใช้ในการคิดคำนวณเลขคณิต และได้กลายมาเป็นคำ ขั้นตอนวิธี ในช่วงศตวรรษที่ 18. ในปัจจุบัน คำนี้ได้มีความหมายที่กว้างขึ้น หมายรวมถึง ขั้นตอนวิธีการในการแก้ปัญหาต่างๆ ขั้นตอนวิธีแรกสำหรับคอมพิวเตอร์นั้น เขียนขึ้นในปี ค.ศ. 1842 โดย เอดา ไบรอน ใน notes on the analytical engine ทำให้ถือกันว่า เอดาเป็นนักพัฒนาโปรแกรมหรือนักเขียนโปรแกรมคนแรกของโลก แต่เนื่องจาก ชาร์ลส แบบเบจ ไม่ได้สร้าง analytical engine จนเสร็จ ขั้นตอนวิธีของเอดานั้นจึงไม่ได้มีการใช้จริง

การตัดสินใจรดน้ําต้นไม้ของระบบรดน้ําต้นไม้อัตโนมัติ
ตัวอย่าง การตัดสินใจรดน้ำต้นไม้ของระบบรดนำต้นไม้อัตโนมัติ ระบบจะต้องอ่านข้อมูลความชื้นของดิน แล้วเปรียบเทียบกับค่าที่กำหนดไว้ (สมมติค่าความชื้นที่กำหนดเป็น 0.1 หน่วย) หากค่าความชื้นต่ำกว่าค่าที่กำหนด ระบบจะส่งสัญญาณเปิดน้ำ และหากค่าความชื้นเกินกว่าหรือเท่ากับค่าที่กำหนดไว้ ระบบจะส่งสัญญาณปิดน้ำ มีขั้นตอนวิธีดังนี้

ขั้นตอนวิธี: ควบคุมการเปิดปิดน้ําาของเครื่องรดน้ําาต้นไม้
1. อ่านค่าความชื้นของดิน
2. ให้ H แทนค่าความชื้น
3. ถ้า H < 0.1 แล้ว
    3.1 ส่งสัญญาณเปิดน้ำ
   ถ้าเงื่อนไขไม่เป็นจริง
    3.2 ส่งสัญญาณปิดน้ำ
ขั้นตอนวิธีดังกล่าวเป็นการตัดสินใจเพียงครั้งเดียว เพื่อความสมบูรณ์ของขั้นตอนวิธี จะต้องให้ระบบรดน้ำต้นไม้มีการอ่านค่าและส่งสัญญาณควบคุมสม่ำเสมอ จึงต้องให้มีการทำงานซ้ำๆ ต่อเนื่องกันไป ดังนี้
ขั้นตอนวิธี: ควบคุมการเปิดปิดน้ําาของเครื่องรดน้ําาต้นไม้
ข้อมูลเข้า : ค่าความชื้นของดิน
ข้อมูลออก : สัญญาณเปิดปิดน้ํา
1.  ทำซ้ำทุก ๆ 1 วินาที
     1.1 อ่านค่าความชื้นของดิน
     1.2 ให้ H แทนค่าความชื้น
     1.3 ถ้า H < 0.1 แล้ว
           1.3.1 ส่งสัญญาณเปิดน้ํา
            ถ้าเงื่อนไขไม่เป็นจริง
           1.3.2 ส่งสัญญาณปิดน้ำ

 การระบุข้อมูลเข้า ข้อมูลออก และเงื่อนไขของปัญหา 

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

  1. ข้อมูลเข้า ( input ) เป็นข้อมูลที่ใช้เพื่อประมวลผล
  2. ข้อมูลออก ( output ) เป็นข้อมูลผลลัพธ์ที่ต้องการ

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

ตัวอย่าง 2.1 ปัญหาการหา ห.ร.ม 
พิจารณาตัวอย่างปัญหาการหา ห.ร.ม จากหัวข้อที่ 1.2 ในบทที่ 1 นักเรียนสามารถระบุข้อมูลเข้า ข้อมูลออก รวมทั่งเงื่อนไขได้ดังนี้

  •  ข้อมูลเข้า : จำนวนเต็มบวกหนึ่งจำนวน a และ b
  • ข้อมูลออก : จำนวนเต็มบวกหนึ่งจำนวน c ที่มีคุณสมบัติดังนี้

ตัวอย่างที่ 2.2 คะแนนสอบ 
พิจารณาสถานการณ์สมมติต่อไปนี้ 
ครูได้ตรวจข้อสอบของนักเรียน40คน และได้ประกาศคะแนนไว้หนน้าห้อง หากต้องการหาคะแนนสูงสุด และต่ำสุด และคำนวณคะแนนเฉลี่ยของนักเรียนทุกคน ในกรณีนี้ระบุข้อมูลออกได้ดังนี้

  • ข้อมูลเข้า : รายการคะแนนสอบของนักเรียน 40 คน
  • ข้อมูลออก : คะแนนสูงสุด คะแนนต่ำสุด คะแนนเฉลี่ย

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

ตัวอย่าง ที่ 2.3 แบ่งกลุ่มการทำงาน 
นักเรียนในห้องต้องการจัดกิจกรรมวันภาษาไทย จากการประชุมมีงานที่ต้องทำดังนี้

  1. จัดบอร์ดหน้าห้องเกี่ยวกับภาษาไทย
  2. จัดเตรียมงานโต้วาที
  3. เป็นกลุ่มผู้โต้วาที โดนมาสองกลุ่ม กลุ่มละ 3 คน
  4. อ่านกลอนทำน้องเสนาะ
  5. ร้องเพลงไทยสมัยใหม่

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

  • ข้อมูลเข้า : รายการของงาทั่งหมด ข้อมูลนักเรียนแต่ละคนที่ระบุว่าสามารถทำงานใดได้บ้างและต้องการทำงานใดเป็นพิเศษบ้าง
  • ข้อมูลออก : ข้อมูลที่ระบุว่านักเรียนคนใดทำงานอะไร โดยมีเงื่อนไขดังนี้

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

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

  • ข้อมูลเข้า :  ระดับความชื้นของดิน (ผ่านทางตัวตรวจจับ)
  • ข้อมูลออก : สัญญาณควยคุมการเปิดปิดน้ำ

กิจกรรมที่ 2.3 ข้อมูลเข้าและข้อมูลออก

ให้ระบุข้อมูลเข้า และข้อมูลออก ของรถยนต์อัตโนมัติ และระบบแปลภาษา

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

2.3.1 ตัวอย่างการออกแบบขั้นตอนวิธี 
ตัวอย่างที่ 2.5 การตัดสินใจรดน้ำต้นไม้ของระบบรดน้ำต้นไม้อัตโนมัติ การตัดสินใจรดน้ำต้นไม้ในขั้นตอนวิธีของระบบรดน้ำต้นไม้อัตโนมัติ ระบบจะต้องอ่านข้อมูลความชื้นของดินแล้วเปรียบเที่ยวกับค่าที่กำหนดไว้ ( สมมติค่าความชื้นกำหนดเป็น 0.1 หน่วย) หากค่าความชื้นต่ำกว่าค่าที่กำหนด ให้ระบบส่งสัญญาณเปิดน้ำ และหากมีค่าความชื้นเกินกว่าหรือเท่ากับค่าที่กำหนดไว้ให้ระบบส่งสัญญาณปิดน้ำ

ในส่วนการทำงานหลักของขั้นตอนวิธี คือ การตัดสิ้นใจรดน้ำต้นไม้ มีการทำงานตามลำดับดังนี้

1. อ่านค่าความชื้นของดิน 
2. ให้ H แทนค่าความชื้น 
3. ถ้า H < 0.1 แล้ว 
3.1 ส่งสัญญาณเปิดน้ำ ถ้าเงื่อนไขไม่เป็นจริง 
3.2 ส่งสัญญาณปิดน้ำ

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

  • ขั้นตอนวิธี : ควบคุมการเปิดปิดน้ำของเครื่องรดน้ำต้นไม้
  • ข้อมูลเข้า : ค่าความชื้นของดิน
  • ข้อมูลออก : สัญญาณเปิด ปิดน้ำ

1. ทำซ้ำทุกๆ 1วินาที 
1.1 อ่านค่าความชื้นของดิน 
1.2 ให้ H แทนค่าความชื้นดังกล่าว 
1.3 ถ้า H < 0.1 แล้ว 
1.3.1 ส่งสัญญาณเปิดน้ำ ถ้าเงื่อนไขไม่เป็นจริง
1.3.2 ส่งสัญญาณปิดน้ำ

ขั้นตอนวิธีดังกล่าวเขียนเป็นผังงานได้ดังรูป 2.4

ตัวอย่างที่ 2.6 การคำนวณคะแนนข้อสอบ 
พิจารณาสถานการณ์จากตัวอย่างที่ 2.2 ต้องการคำนวณคะแนนสูงสุด คะแนนต่ำสุด และคะแนนเฉลี่ย ของนักเรียนในห้อง โดยมีข้อมูลเข้าและข้อมูลออก ดังนี้

  • ข้อมูลเข้า : รายการคะแนนสอบของนักเรียน 40 คน
  • ข้อมูลออก : คะแนนสูงสุด คะแนนต่ำสุด คะแนนเฉลี่ย

ชวนคิด 
นักเรียนคิดว่าปัญหาการคำนวณคะแนนสอบมีลักษณะคล้ายคลึงกับปัญหาใดต่อไปนี้มากที่สุด 
1 ปัญหาการวางแผนการเดินทางเพื่อไปให้ครบทุกที่ 
2 ปัญหาการหา ห.ร.ม 
3 ปัญหาการเลือกรายการอาหารที่เหมาะสมที่สุด

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

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

  • ขั้นตอนวิธี : หาค่าสูงที่สุดของข้อมูลในรายการ
  • ข้อมูลเข้า : รายการข้อมูล
  • ข้อมูลออก : ค่าสูงสุดของข้อมูล

1. พิจารณาข้อมูลตัวแรกให้ MAX มีค่าเป็นข้อมูลดังกล่าว 
2. พิจารณาข้อมูลตัวถัดไป ทีละจำนวน 
2.1 เรียกข้อมูลที่กำลังพิจารณาว่า X 
2.2 ถ้า X > MAX ให้ MAX ← X 
3. ตอบว่าค่าที่สูงที่สุดคือ MAX

กิจกรรมที่ 2.4 ค่าต่ำสุด 
เนื่องจากคะแนนเฉลี่ยคือคะแนนรวมหารด้วยจำนวนนักเรียนในห้องซึ่งในที่นี้ มีค่าเท่ากับ 40 คน ดังนั้นในการคำนวณคะแนนเฉลี่ยจะสนใจเฉพาะคะแนนรวม นักเรียนสามารถคำนวณคะแนนรวมด้วยวิธีการใกล้เคียงกับการหาคะแนนสูงสุด โดยจะใช้ตัวแปร Total เก็บค่าผลรวมของคะแนนทั่งหมด เมื่อเริ่มต้นจะให้ Total มีค่าเป็น 0 ขั้นตอนวิธีดังกล่าวแสดงได้ดังนี้

  • ขั้นตอนวิธี : หาค่าเฉลี่ยของข้อมูลในรายการ
  • ข้อมูลเข้า : รายการข้อมูล
  • ข้อมูลออก : ผลรวมของข้อมูล

1. ให้ Total มีค่าเป็น 0 
2. พิจารณาข้อมูล ทีละจำนวนจนครบทุกจำนวน 
2.1 เรียกข้อมูลตัวที่กำลังพิจารณาว่า X 
2.2 ให้ Total ← Total + X 
3. ตอบว่าผลรวมคือ Total

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

  • ขั้นตอนวิธี : หาค่าเฉลี่ยของจ้อมูลในรายการ
  • ข้อมูลเข้า : รายการข้อมูล
  • ข้อมูลออก : ค่าเฉลี่ยของข้อมูล
  1. ให้ Total มีค่าเป็น 0
  2. ให้ Count มีค่าเป็น 0
  3. พิจารณาข้อมูล ทีละจำนวน
    1. เรียกข้อมูลตัวที่กำลังพิจารณาว่า X
    2. ให้ Total ← Total + X
    3. ให้ Count ← Count + X
  4. ตอบว่าค่าเฉลี่ยคือ Total  Count

ขั้นตอนในจ้อ 3.2 และ 3.3 มีการกำหยดให้ Total และมีการกำหยดให้ Count มีค่าเป็น Count + 1 เพื่อเพิ่มค่าให้ตัวแปร Count การเขียนลักษณะนี้จะพบได้บ่อยครั้งในการเขียนโปรแกรม ซึ่งแตกต่างจากการเขียนสมการทางคณิตศาสตร์

2.3.2 การออกแบบและพิจารณาเงื่อนไข 
1. การสร้างเงื่อนไขอย่างง่าย การออกแบบเงื่อนไขที่ถูกต้องและชัดเจนจะเป็นปัจจัยสำคัญของการออกแบบขั้นตอนวิธี ซึ่งเงื่อนไขที่กำหนดอาจจะเป็นเงื่อนไขอย่างง่าย มักจะเป็นการเปรียบเทียบ มากกว่า น้อยกว่า หรือไม่เท่ากัน เช่น การหาค่าสูงสุด มีการใช้เงื่อนไข

ถ้า x > Max แล้วให้ Max ← x
ขั้นตอนวิธีดังกล่าว มีการกำหนดให้การทำงานขึ้นกับเงื่อนไข “x > Max” ซึ่งเป็นรูปแบบที่ง่ายที่สุดโดยเปรียบเทียบกับค่าของตัวแปร x และค่าของตัวแปร Max

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

ตัวอย่างที่ 2.7 ตรวจสอบพิกัด 
แผนที่ฉบับหนึ่ง มีอัตราส่วน 1 เซนติเมตร ต่อ 1กิโลเมตร และมีกี่ตีตารางพิกัดทุกๆ หนึ่งเซนติเมตร ถ้าพิกัดของโรงเรียนอยู่ที่ตำแหน่ง (2.3) พิกัดของร้านอาหารอยู่ที่ตำแหน่ง (x,y) ในแผนที่ ถ้าต้องการตรวจสอบว่าร้านอาหารมีระยะห่างจากโรงเรียนไม่เกิน 1 กิโลเมตรหรือไม่ จะระบุเงื่อนไขได้ดังนี้

  • เงื่อนไข : จุด (x,y) ห่างจากจุด (2,3) ในแผนที่ไม่เกิน 1 เซนติเมตร

ในการตรวจสอบเงื่อนไขดังกล่าว อาจต้องใช้ไม้บรรทัดวัดระยะห่างในแผนที่ หรือใช้ทฤษฎีบทพีทาโกรัส คำนวณระยะห่างของพิกัดของร้านอาหาร (x,y)กับจัด (2.3) ได้เท่ากับ 

  • เงื่อนไข : 

ให้เขียนเงื่อนไขต่อไปนี้ให้ชัดเจน

2. การสร้างเงื่อนไขด้วยตัวดำเนินการตรรกะ

เงื่อนไขบางเงื่อนไข เช่น “รถประจำทางถึงโรงเรียนแล้ว” หรือ “รถยนต์มีความเร็วที่เหมาะสม” เป็นเงื่อนไขที่ระบุด้วยประโยคที่ชัดเจน ในการออกแบบขั้นตอนวิธีเราสามารถใช้เงื่อนไขเช่นนี้ได้  อย่างไรก็ตามระหว่างที่เราวิเคราะห์บางครั้งจะพบว่าเงื่อนไขที่ระบุด้วยประโยคลักษณะนี้ 
ถ้าพิจารณาด้วยแนวคิดการแยกส่วยประกอบและการย่อยปัญหาอาจจะประกอบด้วยเงื่อนไขย่อยๆ อีกก็ได้เช่น เงื่อนไข “รถยนต์มีความเร็วที่เหมาะสม” อาจมีความหมายว่า รถยนต์มีความเร็วมากกว่า 40 กิโลเมตรต่อชั่วโมง และไม่เกิน 90 กิโลเมตรต่อชั่วโมง สังเกตว่าเงื่อนไขนี้ประกอบด้วยเงื่อนไขย่อยสองเงื่อนไข และเชื่อมกันด้วยตัวดำเนินการตรรกะ “และ” (AND) นอกจากตัวดำเนินการ “และ” แล้วตัวดำเนินการที่พบบ่อยในการออกแบบขั้นตอนวิธี คือ “หรือ” (OR) และ “นิเสธ” (NOT) ดังตารางที่ 2.3 แสดงตารางค่าความจริงของเงื่อนไขที่ใช้ตัวดำเนินการตรรกะทั่งสามแบบ

ตัวอย่างที่ 2.8 ตรวจสอบพิกัดโรงเรียน 
จากตัวอย่างที่ 2.7 สมมติว่าพื้นที่โรงเรียนเป็นรูปสี่เหลี่ยมมุมฉากที่มีด้วยขนานกับแกนตั้งและแกนนอน โดยมีพิกัดมุมล่างซ้ายอยู่ที่ตำแหน่ง (1,1) และมุมบนขวาในแผนที่อยู่ที่ (4,3) นักเรียนคนหนึ่งอยู่ที่ตำแหน่ง (X,Y) เงื่อนไขที่ระบุว่านักเรียนสามารถเขียนได้หลานแบบ เช่น

อ่านเพิ่มเติม

 

การนำเสนอและเผยแพร่โครงงาน  การนำเสนอโครงงาน การแสดงผลงานจัดได้ว่าเป็นขั้นตอนสำคัญอีกประการหนึ่งของการทำโครงงานเรียกได้ว่าเป็นงานขั้นตอนสุ...