การเขียนโปรแกรมแบบมีโครงสร้าง หรือการเขียนโปรแกรมโครงสร้าง คือ การกำหนดขั้นตอนให้เครื่องคอมพิวเตอร์ทำงาน โดยมีโครงสร้างการควบคุมพื้นฐาน 3 หลักการ ได้แก่ การทำงานแบบลำดับ ( Sequence ) การเลือกกระทำตามเงื่อนไข ( Decision ) และการทำซ้ำ ( Loop ) ดังนี้
1. การทำงานตามลำดับ ( Sequence )
คือ การเขียนให้ทำงานจากบนลงล่าง เขียนคำสั่งเป็นบรรทัดโปรแกรมเขียนแผ่นและทำทีละบรรทัดจากบรรทัดบนสุดลงไปจนถึงบรรทัดล่างสุด สมมติให้มีการทำงาน 3 กระบวนการ ได้แก่ อ่านข้อมูล คำนวณ และพิมพ์ โดยเขียนเป็นผังงาน ( Flowchart ) ได้ดังภาพ
การทำงานตามลำดับ ( Sequence )
ตัวอย่างการทำงานตามลำดับ ( Sequence )
ตัวอย่าง ผังงานการเดินทางจากบ้านไปยังโรงเรียน
ตัวอย่างการทำงานตามลำดับ ( Sequence )
2. การเลือกกระทำตามเงื่อนไข ( Decision )
คือ การเขียนโปรแกรมเพื่อนำค่าไปเลือกกระทำ โดยปกติมีเหตุการณ์ให้ทำ 2 กระบวนการ ได้แก่ เงื่อนไขเป็นจริงจะกระทำกระบวนการหนึ่ง และเป็นเท็จจากกระทำอีกกระบวนการหนึ่ง แต่ถ้าซับซ้อนมากขึ้น จะต้องใช้เงื่อนไขหลายชั่น เช่น การตัดเกรดนักเรียน เป็นต้น ตัวอย่างผังงานนี้ จะแสดงผลการเลือกอย่างง่าย เพื่อกระทำกระบวนการเพียงกระบวนการเดียว
การเลือกกระทำตามเงื่อนไข ( Decision )
ตัวอย่างการเลือกกระทำตามเงื่อนไข ( Decision )
ตัวอย่าง ผังงานการแก้ปัญหาโปรแกรมตัดสินคะแนน
ตัวอย่างการเลือกกระทำตามเงื่อนไข ( Decision )
3. การทำซ้ำ ( Repeation or Loop )
คือ การทำกระบวนการหนึ่งหลายครั้ง โดยมีเงื่อนไขในการควบคุม การทำซ้ำเป็นหลักการที่ทำความเข้าใจได้ยากกว่า 2 รูปแบบแรก เพราะการเขียนโปรแกรมแต่ละภาษา จะไม่แสดงภาพอย่างชัดเจนเหมือนการเขียนผังงาน ( Flowchart ) ผู้เขียนโปรแกรมต้องจินตนาการถึงรูปแบบการทำงานและใช้คำสั่งควบคุมด้วยตนเอง ตัวอย่างทำงานที่นำมาแสดงนี้เป็นการเขียนคำสั่งซ้ำซึ่งหมายถึงการทำซ้ำในขณะที่เป็นจริง และเลิกการทำซ้ำเมื่อเงื่อนไขเป็นดัง ภาพ
�����¹���������������ء���� �е�ͧ���ç���ҧ�Ǻ�����ѡ 3 Ẻ�ѧ���
1. �ç���ҧẺ�ӴѺ (Sequential Structure) ���¶֧ �ç���ҧ����ʴ���鹵��÷ӧҹ��仵���ӴѺ����ѧ
2. �ç���ҧẺ�շҧ���͡ (Selection Structure) ���¶֧ �ç���ҧ��������� ��鹵��÷ӧҹ�ҧ��鹵 ��ͧ�ա�õѴ�Թ�
3. �ç���ҧẺ�ӫ�� (Repetition Structure) ���¶֧ �ç���ҧ����鹵��÷ӧҹ�ҧ��鹵���Ѻ��û����ż��ҡ���� 1 ����
- การเขียนโปรแกรมแบบโครงสร้าง (Structured Programmimg)
การเขียนโปรแกรม มี 2 แบบ คือ
-การเขียนโปรแกรมแบบโมดูลาร์
-การเขียนโปรแกรมแบบบนลงล่าง
โครงสร้างพื้นฐานที่ใช้ในการเขียนโปรแกรม
อัลกอริธึม
รหัสเทียม (Pseudo Code)
โครงสร้างแบบเลือก (Selection Structure)
ประเภทของโครงสร้างแบบเลือก
ตัวอย่าง โปรแกรมแสดงผลการสอบทางหน้าจอ
อัลกอริธึม
รหัสเทียม (Pseudo Code)
2.เลือกทำงานอย่างใดอย่างหนึ่งระหว่างเงื่อนไขจริงและเท็จ
3.คำสั่งเลือกแบบซ้อนกัน
อัลกอริธึม
รหัสเทียม (Pseudo Code)
4.คำสั่งแบบหลายทางเลือก เมื่อมีทางเลือกมากกว่า 2 ทาง
รหัสเทียม (Pseudo Code)
2. การเขียนโปรแกรมในเชิงวัตถุ (OOP : Object-Oriented Programmimg)
เป็นเทคนิคการเขียนโปรแกรม ที่ส่งเสริม และสนับสนุน ให้การโปรแกรม มีโครงสร้างที่ดี มีความน่าเชื่อถือ เป็นแนวความคิดใหม่ ในการพัฒนาระบบงาน และโปรแกรมคอมพิวเตอร์ โดยพิจารณากลุ่มคำสั่งต่างๆ เป็นวัตถุ และการเขียนโปรแกรมเชิงวัตถุ ก็คือ การนำวัตถุต่างๆ มาเรียงต่อกัน โดยที่ผู้ใช้ ไม่ต้องเข้าใจลักษณะภายในของวัตถุนั้นๆ เพียงแต่ทราบว่า วิธีการที่จะเรียกใช้วัตถุแต่ละชิ้น เป็นอย่างไรก็พอแล้ว เทคโนโลยีนี้ กำลังได้รับความนิยม และความสนใจเป็นอย่างมาก และคาดว่า จะเป็นแนวทางในการพัฒนาระบบงานคอมพิวเตอร์ในอนาคต
ซึ่งค่อนข้างซับซ้อน และมีขนาดใหญ่ ตัวอย่างเช่น ฐานข้อมูลเก็บภาพลักษณ์ (Image) หรือภาพกราฟิกส์ (Graphics) ฐานข้อมูลเก็บข้อมูลการทดลอง
วิทยาศาสตร์ ที่ต้องเก็บตัวเลขทศนิยมเป็นจำนวนมาก ฐานข้อมูลของข้อมูลทางภูมิศาสตร์ หรือฐานข้อมูลมัลติมีเดีย เป็นต้น ดังนั้น การโปรแกรมเชิงวัตถุ จึงมี
ความเหมาะสม ที่จะนำมาใช้ในการพัฒนาฐานข้อมูลเหล่านี้ เนื่องจากคุณสมบัติต่างๆ ของโปรแกรมเชิงวัตถุ เช่น วัตถุ คลาส ตัวสร้างชนิด (Type
Constructors) หลักนามธรรมของข้อมูล (Encapsulation) ลำดับชั้น และกรรมพันธุ์ของชนิดข้อมูล (Type hierarchies and inheritance) วัตถุที่มีโครงสร้าง
ซับซ้อน (Complex Object) และตัวดำเนินการ ที่ทำงานได้กับข้อมูลหลายชนิด (Overloading Operator) เป็นต้น
ระบบจัดการฐานข้อมูลเชิงวัตถุได้รับการพัฒนามากขึ้นเรื่อยๆ ตัวอย่างของซอฟต์แวร์ในท้องตลาด ได้แก่ โอทู ของบริษัทโอทูเทคโนโลยี (O2 of O2
Technology) อ็อบเจกต์สโตร์ ของบริษัทอ็อบเจกต์ดีไซน์ (ObjectStore of Object Design) เจ็มสโตน/โอพัล ของบริษัทเซอร์วิโอโลจิก
(GEMSTONE/OPAL of ServioLogic) ออนโทส ของบริษัทออนโตลอจิก (ONTOS of Ontologic) อ็อบเจกทิวิตี ของบริษัทอ็อบเจกทิวิตี (OBJECTIVITY of
Objectivity Inc.) และ เวอร์แซนต์ ของบริษัทเวอร์แซนต์เทคโนโลยี (VERSANT of Versant Technology) เป็นต้น นอกจากนี้ ยังมีหน่วยงาน และ
มหาวิทยาลัยต่างๆ ที่พัฒนาระบบจัดการฐานข้อมูลเชิงวัตถุ เพื่อการทดลอง และการศึกษาอยู่หลายแห่ง ตัวอย่างเช่น ระบบโอเรียน (Orion) พัฒนาที่หน่วยงาน
ไมโครอิเล็กทรอนิกส์ และเทคโนโลยีคอมพิวเตอร์ (Microeletronics and Computer Technology Corporation) รัฐเทกซัส ประเทศสหรัฐอเมริกา ซอฟต์แวร์
โอเพน โอโอ- ดีบี (Open OODB) พัฒนาขึ้นที่บริษัทเทกซัส ระบบไออาร์ไอเอส (IRIS) พัฒนาขึ้นที่หน่วย ปฏิบัติการฮิวเลตต์ แพกการ์ด ระบบโอดีอี (ODE)
พัฒนาขึ้นที่หน่วยหน่วยปฏิบัติการเอทีแอนที เบลล์ และ ซอฟต์แวร์เอนคอร์/อ็อบเซิร์ฟเวอร์ (ENCORE/ ObServer) พัฒนาขึ้นที่มหาวิทยาลัยบราวน์ เป็นต้น
ระบบฐานข้อมูลเชิงสัมพันธ์ ได้รับความนิยมในการใช้งานเป็นอย่างมาก แต่ยังมีข้อจำกัด เมื่อนำไปใช้งานกับข้อมูลที่มีความซับซ้อนมาก จึงได้มีการพัฒนา
เทคโนโลยีของแบบจำลองนี้ให้ดีขึ้น โดยนำเทคโนโลยีการโปรแกรมเชิงวัตถุ (Object-Oriented Programming Technique) มาใช้ร่วมด้วย และเรียกระบบฐาน
ข้อมูลแบบใหม่นี้ว่า ระบบจัดการฐานข้อมูลเชิงวัตถุ-สัมพันธ์ (Object- Relational Database Management System : ORDB) ซึ่งถูกพัฒนาขึ้นมา เพื่อตอบ
สนองต่อความต้องการของผู้ใช้ ซึ่งต้องการที่จะจัดเก็บข้อมูล ที่ซับซ้อนมากยิ่งขึ้น เช่น งานสื่อประสม ข้อมูลทางการแพทย์ [เช่น ฟิล์มเอกซเรย์ (X - rays)
ภาพลักษณ์เอ็มอาร์ไอ (MRI Imaging)] งานแผนที่ ข้อมูลเกี่ยวกับอวกาศ และข้อมูลด้านการเงิน ซึ่งนับวัน จะมีความซับซ้อนขึ้นเป็นอย่างมาก เป็นต้น ผู้ผลิต
ระบบจัดการฐานข้อมูลเชิงสัมพันธ์ตระหนักดีว่า ลักษณะของข้อมูล ที่ผู้ใช้ต้องการจัดเก็บลงในฐานข้อมูลนั้น มีความหลากหลายมาก การพัฒนาระบบให้สามารถ
ทำงานได้กับ ชนิดของข้อมูลเพิ่มมากขึ้นนั้น เป็นการแก้ปัญหา ระยะสั้น เพราะจะมีชนิดของข้อมูลแบบใหม่ๆ เกิดขึ้นมาเรื่อยๆ ดังนั้น วิธีการที่เหมาะสมที่สุดก็
คือ พัฒนาระบบจัดการฐานข้อมูล ให้มีศักยภาพในการขยายความสามารถ ในการใช้งานกับชนิดของข้อมูล ที่ผู้ใช้ต้องการ ซึ่งการขยายประสิทธิภาพตรงจุดนี้
ควรที่จะนำเทคโนโลยีการโปรแกรมเชิงวัตถุ มาใช้ด้วยเป็นอย่างยิ่ง เพราะมีข้อได้เปรียบในหลายๆ ประการ ได้แก่ สภาพเป็นส่วนจำเพาะมากยิ่งขึ้น (Greater
Modularity) คุณภาพที่ดีขึ้น (Quality) การนำกลับมาใช้ใหม่ได้อีก (Reusability) และการขยายความสามารถได้ (Extensibility) ตัวอย่างของระบบจัดการฐาน
ข้อมูลที่ขยายจากเชิง สัมพันธ์เป็นเชิงวัตถุ-สัมพันธ์ ได้แก่ ดีบีทู รีเลชันแนล เอกซ์เทนเดอรส์ (DB2 Relational Extenders) อินฟอร์มิกซ์ เดทาเบลดส์