วันพุธที่ 7 พฤศจิกายน พ.ศ. 2561

หน่วยการเรียนรู้ที่ 1 แนวคิดเชิงคำนวณ



 หน่วยการเรียนรู้ที่ 1 แนวคิดเชิงคำนวณ



  1. บทที่ 1 รู้จักอัลกอริทึ่ม
  2. บทที่ 2 การแยกส่วนประกอบและหารูปแบบ
  3. บทที่ 3 การคิดเชิงนามธรรม








บทที่ 1 รู้จักอัลกอริทึ่ม



บทที่ 1 รู้จักอัลกอริทึ่ม

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



อัลควาริชมี (al-Khwarizmi) คือใคร
            อัลควาริชมี (al-Khwarizmi) หรือ มูฮัมหมัด อิบนุ มูซา (Muhammad Ibn Musa) นักคณิตศาสตร์ นักดาราศาสตร์ชาวเปอร์เซีย เป็นผู้คิดค้นวิชาพีชคณิต (Algebra) และอัลกอริทึม (algorithm) ซึ่งหนังสือของเขาได้รับการแปลเป็นภาษาละตินในคริสตศวรรษที่ 12 และช่วยเชื่อมโยงคณิตศาสตร์ของฮินดู อาหรับและกรีกเข้าด้วยกัน และเป็นพื้นฐานการพัฒนาคณิตศาสตร์ในยุโรปในเวลาต่อมา

ผลงานของอัลควาริชมี (al-Khwarizmi) ได้แก่
1) เขียนตำราชื่อ กิตาบ ซูรอต อัล อัรฎ (Kitab Surat al Aeb) เป็นตำราเกี่ยวกับแผนที่เล่มแรกในคริศตวรรษที่ 9
2) เขียนตำราพีชคณิตที่ชื่อ หิซาบ อัล ญับร วะ อัล มุกอบะละฮ (Hisab al Jabr we al Muqabalah) หรือ (Algebra) ที่หมายถึง การคืนค่า (Restoring) ซึ่งเป็นกระบวนการที่ทำให้ค่าทั้งสองข้างของสมการมีค่าเท่ากัน เป็นต้น
 
คุณสมบัติของอัลกอริทึม
            ในการออกแบบอัลกอริทึมเพื่อใช้แก้ปัญหาจะมีความแตกต่างกันออกไป ขึ้นอยู่กับปัญหาและต้องออกแบบให้มีความยืดหยุ่นตามปัญหานั้น หลักการเขียนอัลกอริทึมที่ดี ต้องมีคุณสมบัติ ดังนี้
            1. เป็นกระบวนวิธีการที่สร้างขึ้นจากกฎเกณฑ์  :  เนื่องจากอัลกอริทึมจัดเป็นรูปแบบหนึ่งของการแก้ปัญหา และกระบวนวิธีการก็คือกลุ่มของขั้นตอนที่อยู่รวมกันเพื่อใช้แก้ปัญหาต่าง ๆ เพื่อให้ได้ผลลัพธ์ที่ถูกต้อง ดังนั้นจึงจำเป็นต้องมีกฎเกณฑ์ที่ใช้ในการสร้างกระบวนวิธีการเหล่านั้น ซึ่งอาจจะอยู่ในรูปแบบประโยคภาษามนุษย์ภาษาใดภาษาหนึ่ง รูปแบบสัญลักษณ์ หรือรูปแบบรหัสจำลองก็ได้
            2. การเขียนอัลกอริทึมต้องไม่คลุมเครือ : รูปแบบของการเขียนอัลกอริทึมจะต้องมีระบบ ระเบียบ อ่านแล้วไม่ทำให้เกิดความ สับสนกล่าวคือ จะต้องเป็นสิ่งที่เข้าใจตรงกัน และควรหลีกเลี่ยงคำที่ทำให้เกิดความเข้าใจผิดหรือ ไม่ควรใช้คำที่มีหลายความหมาย ซึ่งการแสดงขั้นตอนแต่ละขั้นตอนจะต้องอธิบายให้สั้นกะทัดรัด และชัดเจน โดยค่าของการนำข้อมูลเข้าในแต่ละขั้นตอนจะต้องนำไปประมวลผลเพื่อส่งผลทำให้เกิดค่าของผลลัพธ์ที่เหมือนกัน
            3. ต้องมีลำดับขั้นตอนที่ชัดเจน : ในการประมวลผลชุดคำสั่งต่าง ๆ ที่ถูกกำหนดด้วยกฎเกณฑ์ในการแก้ปัญหาของ อัลกอริทึม จะต้องประมวลผลเป็นลำดับตามขั้นตอน เพราะการแก้ปัญหาด้วยคอมพิวเตอร์จะต้อง มีลำดับขั้นตอนที่แน่นอน ซึ่งแต่ละขั้นตอนของอัลกอริทึมจะต้องทำหน้าที่อย่างชัดเจนและต่อเนื่องโดยการเริ่มต้นทำงานแต่ละขั้นตอนมีการรับและส่งข้อมูลต่อเนื่องกันไปจนสิ้นสุดการทำงาน ถ้าขั้นตอนไม่ดีอาจจะทำให้การประมวลผลผิดพลาดได้
            4. กระบวนวิธีการต้องให้ผลลัพธ์ตามที่กำหนดในปัญหา : กระบวนวิธีการต้องให้ผลลัพธ์ตามที่กำหนดในปัญหากล่าวคือ กลุ่มของขั้นตอนต่าง ๆ ที่กำหนดไว้จะต้องใช้งานทั่วไปได้สำหรับทุก ๆ กรณี และจะต้องมีผลลัพธ์ที่ถูกต้องตรงตามที่กำหนดในปัญหานั้น ๆ ถึงแม้บางครั้งอาจจะได้ผลลัพธ์ที่ไม่ตรงกับปัญหากำหนดไว้ จึงถือได้ว่ากระบวนการนั้นเป็นอัลกอริทึมที่ไม่ดีนำไปใช้ไม่ได้
            5. อัลกอริทึมต้องมีจุดสุดท้ายของการทำงาน : คุณสมบัติอีกข้อหนึ่งที่สำคัญคืออัลกอริทึมต้องมีจุดสุดท้ายของการทำงาน เนื่องจากเครื่องคอมพิวเตอร์ไม่สามารถประมวลผลไปเรื่อย ๆ (infinite) โดยต้องมีจุดสุดท้ายของการทำงานเช่น การบวกเลขจำนวนเต็มครั้งละหนึ่งค่าไปเรื่อย ๆ ในที่นี่จะไม่เป็นอัลกอริทึม เนื่องจากไม่ได้ บอกจุดสุดท้ายของตัวเลขจำนวนเต็ม ดังนั้นจึงเป็นขั้นตอนการทำงานที่ไม่มีจุดสิ้นสุด

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







บทที่ 2 การแยกส่วนประกอบและการหารูปแบบ



บทที่ 2 การแยกส่วนประกอบและการหารูปแบบ


การแยกส่วนประกอบและการย่อยปัญหา (Decomposition)


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

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



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

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





บทที่ 3 การคิดเชิงนามธรรม


บทที่ 3 การคิดเชิงนามธรรม (Abstraction)

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



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

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

























แบบทดสอบหลังเรียน หน่วยการเรียนรู้ที่ 1

ใบงาน หน่วยการเรียนรู้ที่ 1



ส่งงาน  หน่วยการเรียนรู้ที่ 1 















แบบทดสอบก่อนเรียน หน่วยการเรียนรู้ที่ 2

หน่วยที่ 2 การแก้ปัญหา


หน่วยที่ 2 การแก้ปัญหา


  • บทที่ 4 การแก้ปัญหาด้วยคอมพิวเตอร์
  • บทที่ 5 เงื่อนไขของปัญหาและการออกแบบขั้นตอน
  • บทที่ 6 การทำซ้ำ
  • บทที่ 7 การจัดเรียงและค้นหาข้อมูล

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



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

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

การแก้ปัญหา
 1. สร้างตารางกำหนดเงื่อนไขการเลือกขนมหวาน
2. แยกส่วนประกอบและย่อยปัญหา นอกจากข้อมูลและเงื่อนไขที่ชัดเจนแล้ว การจะพัฒนาโปรแกรม
จำเป็นต้องมีขั้นตอนในการแก้ปัญหาที่ชัดเจนด้วย

3. หารูปแบบ ถ้านักเรียนต้องการค้นหารายการขนมหวาน โดยเลือกที่มีคะแนนที่คำนวณจาก (0.6 x คะแนน
คุณภาพ) + (0.4 x คะแนนความนิยม) สูงที่สุด สามารถแบ่งขั้นตอนการทำงานได้ดังนี้ 1) เลือกรายการ
อาหารทั้งหมดที่เป็นขนมหวาน, 2) จากรายการขนมหวาน คำนวณคะแนนของอาหารแต่ละชนิดตาม
เงื่อนไข, 3) จากรายการขนมหวานที่ได้คำนวณคะแนนของอาหารแล้ว เลือกอาหารที่มีคะแนนสูงสุด

4. คำนวณคะแนนของอาหารแต่ละชนิดตามเงื่อนไข

5. สรุปนักเรียนจะได้รับประทานขนมหวานคือ ไอศกรีม

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












บทที่ 5 เงื่อนไขของปัญหาและการออกแบบขั้นตอน


บทที่ 5 เงื่อนไขของปัญหาและการออกแบบขั้นตอน

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

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


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

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

การระบุข้อมูลเข้า และข้อมูลออก
 ข้อมูลเข้า : คะแนนสอบของนักเรียนชั้นมัธยมศึกษาปีที่ 4 จำนวน 40 คน
 ข้อมูลออก : คะแนนสูงสุด ต่ำสุด และคะแนนเฉลี่ย

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

ขั้นตอนวิธี : หาค่าสูงสุดของข้อมูล
ข้อมูลเข้า : คะแนนสอบของนักเรียนชั้นมัธยมศึกษาปีที่ 4 จำนวน 40 คน
ข้อมูลออก : คะแนนสูงสุด

การสร้างเงื่อนไขอย่างง่าย
      การออกแบบเงื่อนไขที่ถูกต้องและชัดเจน จะเป็นปัจจัยสำคัญของการออกแบบขั้นตอนวิธี ซึ่งเงื่อนไขที่กำหนดอาจเป็น
เงื่อนไขอย่างง่ายหรือเงื่อนไขที่ซับซ้อน โดยเงื่อนไขอย่างง่าย มักจะเป็นการเปรียบเทียบ มากกว่า
น้อยกว่าหรือ ไม่เท่ากัน
 
การสร้างเงื่อนไขด้วยตัวดำเนินการตรรกะ
        เงื่อนไขบางเงื่อนไขอาจประกอบด้วยเงื่อนไขย่อยหลายเงื่อนไข และแต่ละเงื่อนไขมักเชื่อมด้วยตัวดำเนินการ
ตรรกะ “และ : AND” , “หรือ : OR” แล้วก็ นิเสธ : NOT” ดังตารางต่อไปนี้










บทที่ 6 การทำซ้ำ


บทที่ 6 การทำซ้ำ

การทำซ้ำ
การแก้ปัญหาอาจต้องมีการทำงานลักษณะเดียวกันซ้ำหลายรอบ ในหัวข้อนี้ นักเรียนจะได้เรียนรู้รูปแบบการทำซ้ำในรายการและการทำซ้ำด้วยเงื่อนไข

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

ตัวอย่างสถานการณ์
สถานการณ์
ถ้านักเรียนมีเงิน X บาท และมีรายการราคาสินค้า A ให้นักเรียนเขียนขั้นตอนวิธีนับจำนวนสินค้าที่มาราคาไม่เกิน X บาท

การเขียนขั้นตอนวิธี
ขั้นตอนวิธี : หาจำนวนสินค้าที่มีราคาไม่เกิน X บาท
ข้อมูลเข้า : ราคาสินค้าในรายการ A
ข้อมูลออก : จำนวนสินค้าที่มีราคาไม่เกิน X บาท

1) ให้ตัวแปร count <– 0
2) พิจารณาข้อมูลราคาสินค้าในรายการ A ทีละจำนวนจนครบ
2.1) ให้ y แทนข้อมูลราคาสินค้าที่พิจารณาอยู่
2.2) ถ้า y น้อยกว่าหรือเท่ากับ X แล้ว
ให้ count <– count+1
3) คือค่าจำนวนสินค้าเท่ากับ count

การทำซ้ำด้วยเงื่อนไข
การทำซ้ำด้วยเงื่อนไข เป็นการทำซ้ำในขั้นตอนใดขั้นตอนหนึ่ง ตามที่มีการกำหนดไว้
  
ตัวอย่างสถานการณ์
สถานการณ์
ถ้าต้องการประมาณค่าของรากที่สองของ 10 ที่เป็นเลขทศนิยม 3 ตำแหน่ง นักเรียนจะมีการเขียนขั้นตอนวิธีอย่างไร

การเขียนขั้นตอนวิธี
ขั้นตอนวิธี : ประมาณค่าของรากที่สองของ 10 ที่เป็นเลขทศนิยม 3 ตำแหน่ง
ข้อมูลเข้า :
ข้อมูลออก :ค่าประมาณค่าของรากที่สองของ 10 ที่เป็นเลขทศนิยม 3 ตำแหน่ง

1) ให้ X <– 0
2) ให้ Y <– 0 (เก็บค่าประมาณที่ดีที่สุด)
3) ทำซ้ำเมื่อ X <= 10
3.1) ถ้า |X2 – 10| < |Y2 – 10| แล้ว Y <– X
3.2) X <– X + 0.001
4) คืนค่า Y และจบการทำงาน