ปัจจุบันคอมพิวเตอร์เข้ามาเกี่ยวข้องและมีบทบาทกับชีวิตประจำวัน แต่คอมพิวเตอร์ไม่สามารถทำงานได้หากไม่มีคำสั่ง ผู้เขียนโปรแกรมจึงต้องเขียนคำสั่งให้คอมพิวเตอร์ทำงาน เพื่อให้ได้ผลลัพท์ตามที่ต้องการ ดังนั้นการเรียนรู้เกี่ยวกับวิธีการเขียนโปรแกรม เพื่อเป็นพื้นฐานที่จะทำความเข้าใจและสามารถเขียนโปรแกรม เพื่อสั่งงานให้คอมพิวเตอร์ทำงานตามต้องการได้ โดยจะต้องมี การวิเคราะห์ผลลัพธ์ การวิเคราะห์ข้อมูล การวิเคราะห์ตัวแปรและการวิเคราะห์วิธีการ
สำหรับแนวคิดในการเขียนโปรแกรมนั้น สามารถแบ่งออกเป็น 2 รูปแบบ คือ
1.การเขียนโปรแกรมเชิงโครงสร้าง
แนวคิดนี้เป็นการจัดการคำสั่งต่างๆ ให้มีรูปแบบและมาตรฐานที่สามารถเขียนโปรแกรมได้ง่าย อีกทั้งยังตรวจสอบการทำงานของโปรแกรมได้โดยไม่ยุ่งยาก และง่ายต่อการปรับปรุงในอนาคต ซึ่งมีโครงสร้างการควบคุม พื้นฐาน 3 รูปแบบ คือ
1.1.โครงสร้างแบบเป็นลำดับขั้นตอน
ประกอบด้วยคำสั่งหรือชุดคำสั่งไม่มีเงื่อนไข ไม่มีการตัดสินใจ มีทางเข้าทางเดียวและมีทางออก ทางเดียว ดำเนินการแบบเรียงลำดับต่อเนื่อง โดยแต่ละขั้นตอนมีการดำเนินงานเพียงครั้งเดียว
![]()
การทำงานแบบลำดับขั้นตอน
1.2.โครงสร้างแบบมีทางเลือกในการตัดสินใจเลือกทางใดทางหนึ่ง
เป็นโครงสร้างที่มีเงื่อนไข และมีการตรวจสอบเงื่อนไข ว่าเป็นค่าจริงหรือค่าเท็จแล้วดำเนินงานตามคำสั่งที่เป็นไปตามเงื่อนไขที่กำหนด
![]()
การทำงานแบบตัดสินใจเลือกทางใดทางหนึ่ง
1.3.โครงสร้างแบบทำซ้ำ
เป็นการทำงานในลักษณะวนซ้ำหลายๆ รอบ โดยจะหลุดออกจากเงื่อนไขก็ต่อเมื่อเงื่อนไขตรงตามกำหนดไว้
![]()
การทำงานแบบทำซ้ำ
2.การเขียนโปรแกรมเชิงวัตถุ
แนวคิดเชิงวัตถุตั้งอยู่บนพื้นฐานการแจกแจงรายละเอียดของปัญหา ในการเขียนโปรแกรมเพื่อให้เป็นไปตามหลักการเชิงวัตถุนั้น ต้องพยายามมองรูปแบบวัตถุให้ออก การทำความเข้าใจถึงหลักการเขียนโปรแกรมเชิงวัตถุต้องอาศัยจินตนาการพอสมควร ซึ่งจะมองวัตถุหนึ่งๆ เป็นแหล่งรวมของข้อมูลและกระบวนการเข้าไว้ด้วยกัน โดยจะมีคลาส เป็นตัวกำหนดคุณสมบัติของวัตถุ และคลาสจะสามารถสืบทอดคุณสมบัติ ไปยังคลาสย่อยต่างๆ ที่เรียกว่า Subclass ได้ด้วยคุณสมบัติดังกล่าวจำทำให้เกิดการนำมาใช้ใหม่ ที่ทำให้ลดขั้นตอนการพัฒนาโปรแกรมลงได้ โดยเฉพาะโปรแกรมขนาดใหญ่ที่มีความซับซ้อนสูง
![]() |
อ้างอิง
https://sites.google.com
| แนวคิดการสอนเขียนโปรแกรม |
| หลายครั้งที่เริ่มสอนเขียนโปรแกรม ให้นักเรียนกลุ่มใหม่ และก็ต้องบอกเล่า ด้วยประโยคเดิมทุกครั้งว่า "การเขียนโปรแกรม ทุกภาษานั้นคล้ายกัน" สิ่งที่แตกต่างกัน ของแต่ละภาษา คือ วากยสัมพันธ์ (Syntax) หรือ โครงสร้างทางไวยกรณ์ หรือ กฎเกณฑ์ของภาษา แต่สิ่งที่เหมือนกันของทุกภาษา คือ โครงสร้าง (Structure) เราสามารถใช้ประสบการณ์จากภาษาหนึ่ง ไปใช้ในอีกภาษาหนึ่งได้ ด้วยการฝึกฝนเรื่องของการโปรแกรมโครงสร้าง (Structure Programming) เพื่อสามารถควบคุมในสิ่งที่คล้ายกัน คือ input, process และ output นั่นหมายความว่า ถ้าเขียนโปรแกรมทำหน้าที่อะไร ในภาษาหนึ่งได้แล้ว การเขียนโปรแกรมแบบนั้น อีกภาษาย่อมไม่ใช่เรื่องยากอีกต่อไป เพียงแต่ต้องศึกษาถึง Syntax ของภาษานั้นเพิ่มเติม แล้วนำประสบการณ์ที่เคยเขียน ไปสั่งกำหนดขั้นตอนการทำงานให้เป็นไปต้องการ จึงมักสนับสนุนให้ผู้เรียนรู้ได้ศึกษาภาษาที่ไม่มีตัวช่วยมาก เพื่อให้เข้าใจในหลักการ และขั้นตอนการทำงานในเบื้องต้นก่อน แล้วขยับขึ้นไปพัฒนาโปรแกรมที่เป็นวิชวลต่อไป |
| ความหมายของ Structure Programming | |||||||||
| การโปรแกรมแบบมีโครงสร้าง หรือ การโปรแกรมโครงสร้าง คือ การโปรแกรมที่ประกอบด้วยกระบวนการ 3 รูปแบบ ได้แก่ การทำงานแบบตามลำดับ(Sequence) การเลือกกระทำตามเงื่อนไข(Decision) และ การทำซ้ำ(Loop) มีตำราหลายเล่มแยกการเลือกตามเงื่อนไขเป็น if กับ select case หรือ การทำซ้ำแยกได้เป็น do while กับ do until แต่ก็ยังนับได้ว่าการเขียนโปรแกรมโครงสร้างมีกระบวนการเพียง 3 รูปแบบ และมีแนวคิดใหม่ว่าการโปรแกรมไม่จำเป็นต้องใช้ Structure Programming หากศึกษาในรายละเอียดก็พบว่าทุกภาษายังจำเป็นต้องมีกระบวนการ 3 รูปแบบนี้อยู่เป็นพื้นฐาน เช่น Microsoft Access ที่มีการใช้งาน Tool หรือ wizard ให้ใช้ แต่ก็ยังต้องมีการลง code ใน module ซึ่งต้องมีประสบการณ์ในการโปรแกรมแบบ Structure Programming เพื่อควบคุม Object ให้ทำงานประสานกันได้ การโปรแกรมแบบมีโครงสร้าง หรือ การโปรแกรมโครงสร้าง คือ การกำหนดขั้นตอนให้เครื่องคอมพิวเตอร์ทำงานโดยมีโครงสร้างการควบคุมพื้นฐาน 3 หลักการ ได้แก่ การทำงานแบบตามลำดับ (Sequence) การเลือกกระทำตามเงื่อนไข (Decision) และ การทำซ้ำ (Loop)
|
อ้างอิง http://www.thaiall.com
การเขียนโปรแกรมเชิงวัตถุ (อังกฤษ: Object-oriented programming, OOP) คือหนึ่งในรูปแบบการเขียนโปรแกรมคอมพิวเตอร์ ที่ให้ความสำคัญกับ วัตถุ ซึ่งสามารถนำมาประกอบกันและนำมาทำงานรวมกันได้ โดยการแลกเปลี่ยนข่าวสารเพื่อนำมาประมวลผลและส่งข่าวสารที่ได้ไปให้ วัตถุ อื่นๆที่เกี่ยวข้องเพื่อให้ทำงานต่อไป
แนวคิดการเขียนโปรแกรมแบบดังเดิมมักนิยมใช้ การเขียนโปรแกรมเชิงกระบวนการ (Procedural Programming) ซึ่งให้ความสำคัญกับขั้นตอนกระบวนการที่ทำ โดยแบ่งโปรแกรมออกเป็นส่วนๆตามลำดับขั้นตอนการทำงาน แต่แนวคิดการเขียนโปรแกรมเชิงวัตถุนั้นให้ความสำคัญกับ ข้อมูล(data) และ พฤติกรรม(behavior) ของวัตถุ และความสัมพันธ์กันระหว่างวัตถุกันมากกว่า
วิธีการคิดแบบการเขียนโปรแกรมเชิงกระบวนการ[แก้]
เมื่อมีการหยอดเหรียญเข้าตู้
- ตรวจสอบจำนวนเหรียญและชนิดของเหรียญ
- แสดงผลชนิดของน้ำที่สามารถเลือกซื้อได้
- ตรวจสอบจำนวนน้ำกระป๋องที่มีอยู่ในตู้
- รับผลการเลือกชนิดน้ำ
- ส่งน้ำที่เลือกออกมาจากช่อง
- จัดเก็บเงินเข้าระบบ
- หากมีเงินทอน ให้ทอนเงินที่เหลือ ที่ช่องรับเงินทอน
วิธีการคิดแบบการเขียนโปรแกรมเชิงวัตถุ[แก้]
ตู้ขายเครื่องดื่มอัตโนมัติ ประกอบด้วยส่วนประกอบต่างๆได้แก่ หน่วยตรวจสอบและจัดการเรื่องเงิน หน่วยจัดการเครื่องดื่ม หน่วยแสดงผลและรอรับคำสั่ง
- หน่วยตรวจสอบและจัดการเรื่องเงิน มีข้อมูลเกี่ยวกับเงินที่ได้รับ และเงินที่มีอยู่ในระบบ สามารถรับและตรวจสอบเงินที่หยอดเข้ามาได้ และทอนเงินได้ - หน่วยจัดการเครื่องดื่ม มีข้อมูลชนิดของเครื่องดื่ม จำนวนเครื่องดื่ม สามารถจัดเตรียมชนิดเครื่องดื่มที่พอกับเงินที่หยอด และสามารถจ่ายเครื่องดื่มออกมาจากตู้ได้ - หน่วยแสดงผลและรอรับคำสั่ง มีหน้าที่รอรับคำสั่ง และแสดงผลเงินที่หยอดเข้ามา
หมายเหตุ ตัวอย่างนี้เป็นเพียงตัวอย่างโดยสังเขป
แนวทางการออกแบบและแก้ปัญหา[แก้]
ความท้าทายในการออกแบบและพัฒนาโปรแกรมเชิงวัตถุมีหลายด้าน โดยแนวทางดังต่อไปนี้ เป็นแนวทางที่ได้รับการยอมรับอย่างกว้างขวางในการใช้เพื่อแก้ไขปัญหา
ดีไซน์แพตเทิร์น - แบบแผนและแนวทางการออกแบบ ดีไซน์[แก้]
ในการออกแบบและการพัฒนาโปรแกรมเชิงวัตถุ ได้มีการรวบรวมบันทึกวิธีการแก้ปัญหาที่ใช้ได้ผลสำหรับปัญหาที่เกิดขึ้นซ้ำๆ เสมอๆ วิธีการแก้ไขเหล่านี้สามารถนำมาใช้ได้บ่อยๆ ในสถานการณ์ที่หลากหลาย บันทึกรวบรวมนี้มีชื่อเรียกเฉพาะว่า ดีไซน์แพตเทิร์น (Design Patterns)
Design Patterns ซึ่งเป็นหนังสือที่ออกจัดจำหน่ายเมื่อปี 2538 โดยผู้แต่งร่วม 4 คนได้แก่ Erich Gamma, Richard Helm, Ralph Johnson และ John Vlissides หรือที่รู้จักในนามของ GoF (Gang of four) ถือว่าเป็น แบบแผนและแนวทางการออกแบบ ที่ได้รับความนิยมและเป็นที่รู้จักอย่างกว้างขวางในการนำมาประยุกต์ใช้งานจริง
การเขียนโปรแกรมเชิงวัตถุและฐานข้อมูล[แก้]
การเขียนโปรแกรมเชิงวัตถุและระบบจัดการฐานข้อมูลเชิงสัมพันธ์ (Relational Database Management Systems) ได้ถูกใช้งานร่วมกันอย่างแพร่หลายในปัจจุบัน แต่เนื่องจากฐานข้อมูลเชิงสัมพันธ์ไม่สามารถเก็บข้อมูลเชิงวัตถุได้โดยตรง จึงมีความจำเป็นที่จะต้องเชื่อมต่อเทคโนโลยีทั้งสองเข้าด้วยกัน การแก้ปัญหาสองแบบที่ได้รับความนิยมแพร่หลายคือการใช้ตัวส่งระหว่างโมเดลเชิงวัตถุและเชิงสัมพันธ์ (Object-Relational Mapping: ORM)
อีกวิธีการคือการใช้งานระบบจัดการฐานข้อมูลเชิงวัตถุ (Object-Relational Database Management Systems) แทนที่ระบบจัดการฐานข้อมูลเชิงสัมพันธ์ แต่วิธีการนี้ก็ยังไม่ได้รับความนิยมมากนัก
โปรแกรมเชิงวัตถุและการเทียบเคียงกับโลกของความเป็นจริง[แก้]
การเขียนโปรแกรมเชิงวัตถุสามารถนำมาใช้จำลองการทำงานตามโลกของความเป็นจริงได้ แต่ไม่ได้เป็นที่นิยมนักเนื่องจากมีนักวิชาการจำนวนหนึ่งที่ไม่เห็นด้วยและมองว่าไม่ใช่วิธีการที่ถูกต้อง
ปัจจุบันวิธีการมาตรฐานที่ใช้ในการเทียบเคียงกับโลกของความเป็นจริง ตามแนวทางของคณิตศาสตร์คือ Circle-ellipse problem ซึ่งก็ถูกต้องบางส่วน แต่แนวคิดการสร้างยังคงต้องให้สอดคล้องกับความเป็นจริงของพื้นฐานธรรมชาติที่เป็นไปได้ผนวกกับคณิตศาสตร์ด้วย เพื่อให้เกิดสมดุล
อ้างอิง th.wikipedia.org






