วันจันทร์ที่ 8 กรกฎาคม พ.ศ. 2556

การถ่ายทอดความคิดในการแก้ไขปัญหาด้วยอัลกอริทึม


1.การเขียนรหัสจำลอง (Pseudo Code)  
       หมายถึง  การเขียนอัลกอริทึมโดยใช้ประโยคภาษาอังกฤษที่สื่อความหมายง่าย ๆ  สามารถอ่านแล้วเข้าใจได้โดยทันที  แต่ก็สามารถใช้รูปแบบที่เป็นภาษาพูดด้วยภาษาไทยและภาษาอังกฤษก็ได้

        โครงสร้างของรหัสจำลองเริ่มต้นด้วยข้อความ Begin   แล้วอธิบายขั้นตอนการทำงานโดยใช้คำสั่งต่าง ๆ ที่ใกล้เคียงกับภาษาคอมพิวเตอร์ในการเขียนโปรแกรม เช่น

        คำสั่ง  read    หมายถึง  การอ่านค่าหรือรับค่าข้อมูลตัวแปรตามที่กำหนดไว้
        คำสั่ง  print    หมายถึง  การแสดงผลลัพธ์ที่ได้จากการคำนวณ

        และพิมพ์ข้อความ End  เมื่อจบการทำงาน


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

ตัวอย่าง   

กำหนดให้มีการรับคะแนนเก็บ  คะแนนสอบกลางภาค  และคะแนนสอบปลายภาค แล้วแสดงผลรวมของคะแนนทั้งหมด

ผลลัพธ์ที่ต้องการ

Input collect score  : …………….
Input mid score :  …………….
Input final score :  …………….
Total score   :  …………….
    

การวิเคราะห์ปัญหา

1. การระบุข้อมูลนำเข้า จากโจทย์ข้อมูลเข้าได้แก่   1.1 คะแนนเก็บ
                                                          1.2 คะแนนสอบกลางภาค
                                                          1.3 คะแนนสอบปลายภาค

2. การระบุข้อมูลออก  - คะแนนรวม

3. การกำหนดการประมวลผล  

คะแนนรวม = คะแนนเก็บ + คะแนนสอบกลางภาค+คะแนนสอบปลายภาค

การเขียนรหัสจำลอง

กำหนดตัวแปร    collect =  คะแนนเก็บ
                        mid =   คะแนนสอบกลางภาค
                       final =   คะแนนสอบปลายภาค
                       total =   คะแนนรวม

รหัสจำลอง

        Begin 
              read  collect,  mid,  final
              total  =  collect + mid  + final
              print  total
        End

2.การเขียนผังงาน (Flowchart) หมายถึง

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


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

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

1.ผังงานระบบ (System Flowchart)
             จะแสดงภาพรวมของระบบ เน้นแสดงเฉพาะสื่อที่ทำหน้าที่นำข้อมูลเข้าและออก โดยจะไม่แสดงถึงรายละเอียดวิธีการประมวลผล ซึ่งจะนำไปแสดงไว้ในส่วนของผังงานโปรแกรมแทน

2.ผังงานโปรแกรม ( Program Flowchart )
             การเขียนผังโปรแกรมจะประกอบไปด้วยการใช้สัญลักษณ์มาตรฐานต่าง ๆ ที่เรียกว่า สัญลักษณ์ ANSI ( American National Standards Institute ) ในการสร้างผังงาน

สัญลักษณ์






วันพฤหัสบดีที่ 4 กรกฎาคม พ.ศ. 2556

กระบวนการเทคโนโลยีสารสนเทศ

กระบวนการเทคโนโลยีสารสนเทศ 





ประกอบด้วย 4 ขั้นตอน คือ

1. การวิเคราะห์และกำหนดรายละเอียดของปัญหา  (State The Problem)

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


2. การเลือกเครื่องมือและออกแบบขั้นตอน (Tools And Algorithm Development)
   ขั้นตอนนี้เป็นขั้นตอนของการวางแผนในการแก้ปัญหาอย่างละเอียดถี่ถ้วน หลังจากที่เราทำความเข้าใจกับปัญหา พิจารณาเงื่อนไขและข้อมูลที่มีอยู่และสิ่งที่ต้องการหาในการแก้ปัญหาอย่างละเอียดถี่ถ้วน หลังจากที่เราทำความเข้าใจกับปัญหา พิจารณาเงื่อนไขและข้อมูลที่มีอยู่ และสิ่งที่ต้องการหาในขั้นตอนที่ 1 แล้วเราสามารถคาดคะเนวิธีการที่จะใช้ในการแก้ปัญหาขั้นตอนนี้จำเป็นต้องอาศัยประสบการณ์ของผู้แก้ปัญหาเป็นหลัก หากผู้แก้ปัญหาเคยพบกับปัญหาทำนองนี้มาแล้วก็สามารถดำเนินการตามแนวทางที่เคยปฏิบัติมา
   ขั้นตอนนี้จะเริ่มจากการเลือกเครื่องมือที่ใช้ในการแก้ปัญหา โดยพิจารณาความเหมาะสมระหว่างเครื่องมือกับเงื่อนไขต่างๆ ของปัญหา  ซึ่งหมายรวมถึงความสามารถของเครื่องมือในการแก้ปัญหาดังกล่าว และสิ่งที่สำคัญที่สุดคือความคุ้นเคยในการใช้งานเครื่องมือนั้นๆ ของผู้แก้ปัญหาอีกสิ่งหนึ่งที่ สำคัญในการแก้ปัญหา คือ ยุทธวิธีที่ใช้ในการแก้ปัญหา หรือที่เราเรียกว่า ขั้นตอนวิธี” (Algorithm) ในการแก้ปัญหา
   หลังจากที่เราได้เครื่องมือช่วยแก้ปัญหาแล้ว ผู้แก้ปัญหาต้องวางแผนว่าจะใช้เครื่องมือดังกล่าวเพื่อให้ได้ผลลัพธ์ที่ถูกต้องที่สุด การออกแบบขั้นตอนวิธีในการแก้ปัญหา  ผู้แก้ปัญหาควรใช้แผนภาพหรือเครื่องมือในการแสดงขั้นตอนการทำงาน เพื่อให้ง่ายต่อความเข้าใจ เช่น ผังงาน (Flowchart) ที่จำลองวิธีขั้นตอนการแก้ปัญหาในรูปแบบสัญลักษณ์ รหัสจำลอง (Pseudo Code) ซึ่งเป็นการจำลองขั้นตอนวิธีการปัญหาในรูปแบบคำบรรยาย การใช้เครื่องมือช่วยออกแบบดังกล่าว  นอกจากแสดงกระบวนการที่ชัดเจนแล้วยังช่วยให้ผู้แก้ปัญหาสามารถหาข้อผิดพลาดของวิธีการที่ใช้ได้ง่ายและแก้ไขได้อย่างรวดเร็ว


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


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