วันอังคารที่ 8 มีนาคม พ.ศ. 2559

บทที่ 1

โครงสร้างข้อมูลและขั้นตอนเพื่องานธุรกิจ


บทที่ 1
โครงสร้างข้อมูลและอัลกอริทึม


ความหมายของโครงสร้างข้อมูล

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

                      1.โครงสร้างข้อมูลเชิงเส้น (Linear  Lists)
               โครงสร้างข้อมูลชนิดนี้มีรูปแบบเป็นรายการต่อเนื่องมีข้อมูลที่จัดเก็บจะมีลักษณะเป็นแถวต่อเนื่องกันไป  ซึ่งเป็นไปตามลักษณะแนวเส้นตรง  ตัวอย่างโครงสร้างข้อมูลแบบเส้นประกอบด้วย  อาเรย์(Array)  สแต็ก(Stacks)  และคิว (Queues)

           2.โครงสร้างข้อมูลแบบไม่เป็นเชิงเส้น (Non-Linear  Lists) 
               โครงสร้างข้อมูลชนิดนี้จะตรงกันข้ามกับแบบแรก  โดยตัวอย่างข้อมูลแบบไม่เป็นเชิงเส้น  เช่น    ทรี(Trees)  และกราฟ (Graphs)

ความหมายของข้อมูล


        ข้อมูล หมายถึง ข้อเท็จจริงที่มีอยู่ในชีวิตประจำวันเกี่ยวกับบุคคล สิ่งของ หรือ เหตุการณ์ที่สนใจศึกษา ข้อมูลอาจเป็นตัวเลข(numeric)  หรืออาจเป็นตัวอักษรหรือข้อความ (alphabetic)  และข้อความที่เป็นตัวเลขผสมข้อความ (alphanumeric)นอกจาก นี้ข้อมูลอาจเป็นภาพ (image) หรือ เสียง(sound) ก็ได้ป็นต้น

ประโยชน์ของโครงสร้างข้อมูลและอัลกอริทึม

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


คุณสมบัติของอัลกอริทึม


     1.การเขียนอัลกอริทึมต้องไม่คลุมเครือ

     2.ต้องมีลำดับขั้นตอนที่ชัดเจน
     3.กระบวนวิธีการต้องให้ผลลัพธ์ตามที่กำหนดในปัญหา
     4.อัลกอริทึมต้องมีจุดสุดท้ายของการทำงาน

ข้อมูลและรูปแบบของข้อมูล


     ข้อมูลชนิดจำนวนเต็ม (integer)
     ข้อมูลชนิดจำนวนจริง (real หรือ floating point)
     ข้อมูลชนิดตัวอักขระ (character)

โครงสร้างการควบคุมพื้นฐาน 3 รูปแบบ (The Three Basic Control Structure)

         ในการเขียนโปรแกรมคอมพิวเตอร์ ส่วนใหญ่มักใช้โครงสร้างควบคุมพื้นฐาน(Control Structures)ซึ่งมีอยู่ 3 รูปแบบพื้นฐานดังนี้คือ แบบเรียงลำดับ(Sequence)แบบกำหนดทางเลือก(Selection) และแบบทำซ้ำ (Repetition)


โครงสร้างข้อมูลในภาษาคอมพิวเตอร์


         แบ่งเป็น 2 ประเภท คือ

        1.โครงสร้างข้อมูลทางกายภาพ (physical data structures)

        2.โครงสร้างข้อมูลทางตรรกะ  (logical data structures)


 โครงสร้างข้อมูลที่ทางกายภาพ


        เป็นโครงสร้างข้อมูลที่ใช้โดยทั่วไปในภาษาคอมพิวเตอร์ แบ่งออกเป็น 2 ประเภท ตามลักษณะข้อมูล

        คือ    1. ชนิดข้อมูลพื้นฐาน (Primitive Data Type) ใช้เก็บค่าพื้นฐานต่าง ๆ เช่น เลขจำนวนเต็ม                                      เลขทศนิยม  อักขระ และ ข้อมูลตรรกกะ 

                 2 ข้อมูลโครงสร้าง (Structured Data Types) ได้แก่ แถวลำดับ ระเบียนข้อมูล และ แฟ้มข้อมูล


โครงสร้างข้อมูลทางตรรกะ  Logical Data Structure) 


        จะมีลักษณะเป็นข้อมูลเชิงจำนวน และได้มีการประมวลมาแล้ว

        1.ข้อมูลแบบเชิงเส้น บอกความสัมพันธ์ บอกความเกี่ยวโยง ได้แก่ ลิสต์ แสตก คิว สตริง

        2 .ข้อมูลแบบไม่เชิงเส้น ได้แก่ ทรี กราฟ


โครงสร้างข้อมูลทางครรกะ


ขั้นตอนวิธี Algorithm


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

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

รูปที่ 1.1 รูปแบบโครงสร้างการควบคุมแบบเรียงลำดับ

2แบบเลือกการทำงาน (Selection)
           โครงสร้างการควบคุมแบบเลือกการทำงานจะเกี่ยวข้องกับการเปรียบเทียบ
เงื่อนไขเพื่อให้เกิดทางเลือกสองแนวทางด้วยกันเช่น ถ้าเงื่อนไขเป็นจริง ก็จะไป
ทำงานในโมดูลหนึ่ง หรือในกรณีที่เงื่อนไขเป็นเท็จ ก็จะไปทำงานอีกโมดูลหนึ่งหรือ
อาจทำการเปรียบเทียบเงื่อนไขในลำดับขั้นตอนต่อไปก็ได้ ในซูโดโค้ดการกำหนด
เงื่อนไขจะใช้คำเฉพาะคือif …then …else และ end ifประเภทของโครงสร้างแบบ
เลือก
  • เลือกทำงานเฉพาะเมื่อเงื่อนไขเป็นจริง




รูปที่ 1.2 รูปแบบโครงสร้างการควบคุมแบบเลือกการทำงาน
  • เลือกทำงานอย่างใดอย่างหนึ่งระหว่างเงื่อนไขจริงและเท็จ


รูปที่ 1.3 รูปแบบโครงสร้างการควบคุมแบบเลือกทำงานอย่างใดอย่างหนึ่งระหว่างเงื่อนไข
                    จริงและเท็จ

  • คำสั่งเลือกแบบซ้อนกัน




รูปที่ 1.4 รูปแบบโครงสร้างการควบคุมแบบเลือกแบบซ้อนกัน

  • คำสั่งแบบหลายทางเลือก เมื่อมีทางเลือกมากกว่า 2 ทาง




รูปที่ 1.5 รูปแบบโครงสร้างการควบคุมแบบหลายทางเลือก

3.แบบทำซ้ำ (Repetition)
        โครงสร้างการทำงานแบบทำงานซ้ำ กลุ่มของชุดคำสั่งที่อยู่ภายในบล็อกของวงจร

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

รหัสจำลองที่เรียกว่า การเขียนซูโดโค้ด (Pseudo Code) 

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










ไม่มีความคิดเห็น:

แสดงความคิดเห็น