บทที่ 0 (Zero — Hero) เริ่มต้นโปรแกรมคอมพิวเตอร์ Program ( โครงสร้างของภาษาโปรแกรม) เบื้องต้น ที่เหมาะสำคัญผู้เริ่มต้น
บทที่ 0 (Zero — Hero) เริ่มต้นโปรแกรมคอมพิวเตอร์ Program ( โครงสร้างของภาษาโปรแกรม) เบื้องต้น ที่เหมาะสำคัญผู้เริ่มต้น
คอมพิวเตอร์ (Computer) คือ อุปกรณ์อิเล็กทรอนิกส์ที่สามารถประมวลผลข้อมูลให้ได้โดย อัตโนมัติตามโปรแกรมที่มนุษย์ได้ป้อนเข้าไปเพื่อสั่งให้ทางาน (สมโภชน์ ชื่นเอี่ยม, 2553, หน้า 11) องค์ประกอบที่ทาให้คอมพิวเตอร์ประมวลผลดังกล่าวได้นั้น ได้แก่ ฮาร์ดแวร์ (Hardware) และซอฟต์แวร์ (Software) ฮาร์ดแวร์ คือ ตัวเครื่องคอมพิวเตอร์และอุปกรณ์รายรอบ (Peripheral Devices) ซึ่งสามารถสัมผัสได้จับต้องได้ ส่วนซอฟต์แวร์ คือ โปรแกรมที่ใช้สั่งงานเครื่อง (วัชราภรณ์ สุริยาภิวัฒน์, 2553, หน้า 57) เรียกว่า โปรแกรมคอมพิวเตอร์ซึ่งไม่สามารถสัมผัสได้จับ ต้องได้ การพัฒนาซอฟต์แวร์ต้องอาศัยโปรแกรมภาษาคอมพิวเตอร์เป็นเครื่องมือ ดังนั้นจาเป็นอย่าง ยิ่งที่ต้องเรียนรู้การเขียนโปรแกรมเพื่อสั่งให้คอมพิวเตอร์ทางานตามความต้องการ รายละเอียดของ บทนี้กล่าวถึง โปรแกรมคอมพิวเตอร์ โปรแกรมภาษาคอมพิวเตอร์ การพัฒนาโปรแกรมโดยใช้ โปรแกรมภาษาคอมพิวเตอร์ ขั้นตอนการพัฒนาโปรแกรมด้วยภาษาคอมพิวเตอร์และการวิเคราะห์ ปัญหาก่อนการเขียนโปรแกรม
Augusta Lovelace Ada คือ โปรแกรมเมอร์คนแรกของโลก
และ Edsger Wybe Dijkstra ใช้คำว่า โปรแกรมเมอร์ (Programmer) กับโลกของคอมพิวเตอร์เป็นคนแรก [ อ้างอิง ]
ออกัสตา เลิฟเลซ เอด้า (Augusta Lovelace Ada)
ออกัสตา เลิฟเลซ เอด้า หรือที่รู้จักกันในชื่อ Ada Lovelace (1815–1852) เป็นผู้หญิงที่ได้รับการยกย่องว่าเป็นโปรแกรมเมอร์คนแรกของโลก โดยมีบทบาทสำคัญในการพัฒนา อัลกอริธึม ที่สามารถใช้ในการคำนวณได้โดยเครื่องคำนวณเชิงกลของชาร์ลส์ แบบเบจ (Charles Babbage) ซึ่งถือเป็นแนวคิดเบื้องต้นของคอมพิวเตอร์ในยุคสมัยก่อนที่ยังไม่มีเครื่องคอมพิวเตอร์ในความหมายปัจจุบัน
- อัลกอริธึมที่เธอเขียน: Ada Lovelace เขียนอัลกอริธึมที่ใช้ในการคำนวณจำนวนที่เรียกว่า เบอร์นูลลี (Bernoulli numbers) ซึ่งถือเป็นโปรแกรมแรกที่สามารถสั่งให้เครื่องคำนวณเชิงกลทำงานตามลำดับขั้นตอนที่กำหนดได้
- เครื่องคำนวณของชาร์ลส์ แบบเบจ: ชาร์ลส์ แบบเบจเป็นผู้คิดค้นเครื่องคำนวณเชิงกลที่เรียกว่า เครื่องวิเคราะห์ (Analytical Engine) ซึ่งมีลักษณะคล้ายกับคอมพิวเตอร์สมัยใหม่ แต่ในขณะนั้นยังไม่สามารถสร้างขึ้นมาได้จริง เครื่องวิเคราะห์นี้สามารถทำงานได้ตามโปรแกรมที่มีการเขียนขึ้น ซึ่ง Ada Lovelace เป็นผู้เขียนโปรแกรมนี้
- การยกย่องจากการเขียนโปรแกรม: การที่เธอเขียนอัลกอริธึมที่สามารถทำงานกับเครื่องวิเคราะห์ได้ ถือเป็นการสร้างโปรแกรมคอมพิวเตอร์ในช่วงเวลาที่เครื่องคำนวณยังไม่เป็นที่นิยมและยังไม่มีคอมพิวเตอร์ในลักษณะปัจจุบัน
2. เอ็ดส์เกอร์ ไวบ์ ไดจ์คสตรา (Edsger Wybe Dijkstra)
เอ็ดส์เกอร์ ไวบ์ ไดจ์คสตรา (1930–2002) เป็นนักวิทยาการคอมพิวเตอร์ชาวดัตช์ที่มีบทบาทสำคัญในการพัฒนาความเข้าใจในด้านอัลกอริธึมและทฤษฎีการเขียนโปรแกรมในยุคหลัง และเขายังเป็นผู้ที่ใช้คำว่า “โปรแกรมเมอร์” (Programmer) เป็นครั้งแรกในบริบทของการพัฒนาโปรแกรมคอมพิวเตอร์
- บทบาทในวงการคอมพิวเตอร์: Dijkstra มีบทบาทสำคัญในการพัฒนา ทฤษฎีอัลกอริธึม โดยเฉพาะในเรื่องของการค้นหาทางที่ดีที่สุดในกราฟ (Shortest Path Algorithm) ซึ่งเป็นที่รู้จักในชื่อ Dijkstra’s Algorithm ที่ใช้ในการค้นหาเส้นทางที่สั้นที่สุดในกราฟที่เชื่อมโยงระหว่างจุดต่าง ๆ
- การใช้คำว่า “โปรแกรมเมอร์”: Dijkstra เป็นผู้ใช้คำว่า “โปรแกรมเมอร์” ในบริบทของการพัฒนาโปรแกรมคอมพิวเตอร์ โดยเขามักจะพูดถึงความสำคัญของการเขียนโปรแกรมที่ถูกต้องและมีประสิทธิภาพ ในการสัมมนาและงานเขียนของเขา
- การส่งเสริมการเขียนโปรแกรม: Dijkstra ได้ให้ความสำคัญกับการเขียนโปรแกรมที่เข้าใจง่ายและมีการจัดระเบียบอย่างเป็นระบบ เขาเป็นผู้รณรงค์ในการใช้ การเขียนโปรแกรมเชิงโครงสร้าง (Structured Programming) ซึ่งช่วยให้การเขียนโปรแกรมมีความเรียบร้อยและง่ายต่อการดูแลรักษา
ทั้งสองบุคคลนี้มีบทบาทสำคัญในการพัฒนาวงการคอมพิวเตอร์:
- Ada Lovelace ถือเป็นผู้หญิงคนแรกที่ทำให้การเขียนโปรแกรมคอมพิวเตอร์มีความเป็นรูปธรรม
- Edsger Dijkstra เป็นผู้ที่ทำให้การเขียนโปรแกรมกลายเป็นอาชีพที่มีมาตรฐานและถูกยอมรับในสังคม โดยการใช้คำว่า “โปรแกรมเมอร์” ในเชิงวิทยาการคอมพิวเตอร์
Do not try to change the world. Give the world the opportunity to change itself
Edsger Wybe Dijkstra เป็น theoretical physicist และเสียชีวิตด้วยโรคมะเร็ง 6 ส.ค. 2002 (อายุ 72 ปี) wikipedia.org/wiki/Edsger_W._Dijkstra
Article : p341-dijkstra.pdf
ก่อนที่เราจะไปทำความเข้าใจภาษาโปรแกรม แนะนำให้ลองศึกษาจาก video นี้มาก่อนนะครับ เพราะใน video จะเป็นการสรุปคร่าวๆ นะครับผม สามารถรับชมได้ link นี้เลย
เรื่องนี้มันต้องรู้ !! ก่อนเริ่มเขียนโปรแกรม
https://www.youtube.com/watch?v=25lhcyMDAsA
วิดีโอนี้สอนหลักการเขียนโปรแกรมเบื้องต้น เช่น การวิเคราะห์ ออกแบบโฟลว์ชาร์ต และการเขียนโปรแกรม พร้อมอธิบายการทำงานของคอมพิวเตอร์และการแปลภาษาคอมพิวเตอร์เพื่อสร้างโปรแกรม.
Detailed Summary for [สรุป บทที่ 1 หลักการเขียนโปรแกรม]
— แนะนำเกี่ยวกับหลักการเขียนโปรแกรมที่ผู้เรียนจะได้เรียนรู้ในบทนี้}
- วัตถุประสงค์ของวิชานี้คือการทำความเข้าใจหลักการเขียนโปรแกรมและการวิเคราะห์ปัญหา}
- นักเรียนจะได้เรียนรู้การออกแบบและเขียนโค้ดเพื่อควบคุมการทำงานพื้นฐานของคอมพิวเตอร์}
- การมีทัศนคติที่ดีและการใช้โปรแกรมคอมพิวเตอร์อย่างมีประสิทธิภาพในอนาคต}
- เริ่มเรียนรู้เนื้อหาของบทแรกซึ่งเกี่ยวกับหลักการเขียนโปรแกรม}
ในบทนี้เราจะเรียนรู้เกี่ยวกับหลักการพื้นฐานของการเขียนโปรแกรมและการทำงานของคอมพิวเตอร์ โดยเน้นที่ขั้นตอนการรับข้อมูล การประมวลผล การแสดงผล และการเก็บข้อมูล
— เริ่มต้นที่วัตถุประสงค์ของการเรียนรู้และการทำความเข้าใจร่วมกัน}
- เรียนรู้เกี่ยวกับกระบวนการทำงานของคอมพิวเตอร์และการเขียนโปรแกรม}
- อธิบายขั้นตอนการทำงานของคอมพิวเตอร์ที่มี 4 ส่วนหลัก คือ รับข้อมูล ประมวลผล แสดงผล และเก็บข้อมูล}
- เริ่มต้นด้วยการรับข้อมูลหรือการป้อนข้อมูลเข้าสู่โปรแกรม}
- ขั้นตอนการประมวลผลข้อมูลเพื่อจัดระเบียบข้อมูล เช่น การคำนวณ}
บทที่ 1 นี้เน้นอธิบายเกี่ยวกับหน่วยความจำในระบบคอมพิวเตอร์ โดยแบ่งออกเป็นประเภทต่าง ๆ และการทำงานของแต่ละประเภท
— หน่วยความจำ RAM เป็นข้อมูลภายในที่หายไปเมื่อปิดเครื่อง}
- หน่วยความจำแบ่งออกเป็น 2 ประเภทหลัก ได้แก่ RAM และ Cache Memory}
- Cache Memory มีความเร็วสูงและทำงานใกล้ชิดกับ CPU เพื่อเพิ่มประสิทธิภาพ}
- RAM มีทั้งแบบ static และ dynamic ขณะที่ ROM มีหลายประเภท เช่น EPROM และ EEPROM}
- Gallery เป็นหน่วยความจำสำรองที่มีการใช้งานน้อย}
บทเรียนเกี่ยวกับหลักการเขียนโปรแกรมและความสำคัญของภาษาเครื่อง
— การใช้ตัวเลข 0 และ 1 เป็นพื้นฐานในการเขียนโปรแกรม}
- การสั่งให้คอมพิวเตอร์ทำงานในยุคแรกเริ่ม}
- การสื่อสารระหว่างคอมพิวเตอร์ผ่านภาษาเครื่อง}
- การแบ่งระดับของภาษาโปรแกรมและความสำคัญของแต่ละระดับ}
- ภาษาเครื่องเป็นพื้นฐานของภาษาโปรแกรมในปัจจุบัน}
การเขียนโปรแกรมและความสำคัญของตัวแปลภาษาในการสื่อสารระหว่างมนุษย์กับคอมพิวเตอร์ โดยเน้นถึงบทบาทของคอมไพเลอร์และวิธีการแปลงภาษาต่างๆ ให้เป็นภาษาที่เครื่องเข้าใจได้
— การสื่อสารกับคอมพิวเตอร์ต้องการตัวแปลภาษา เนื่องจากคอมพิวเตอร์ไม่สามารถเข้าใจภาษามนุษย์ได้}
- คอมไพเลอร์เป็นตัวแปลภาษาที่สำคัญในการแปลงโค้ดจากภาษาโปรแกรมเป็นภาษาที่เครื่องสามารถทำงานได้}
- การแปลงภาษาของโค้ด SM เป็นภาษาเครื่อง ซึ่งเป็นกระบวนการที่จำเป็นในการเขียนโปรแกรม}
- การใช้คำสั่งในการสื่อสารกับคอมพิวเตอร์ โดยมีการอธิบายถึงกลุ่มคำสั่งที่ใช้ในการควบคุมการทำงาน}
เน้นการเข้าใจหลักการสั่งงานและการโต้ตอบกับเครื่องคอมพิวเตอร์ รวมถึงความสำคัญของการมีความรู้พื้นฐานในการสั่งงาน
— การสั่งงานให้กับเครื่องคอมพิวเตอร์เพื่อให้ทำตามคำสั่งที่เราต้องการ}
- การยืนยันคำสั่งและการโต้ตอบเมื่อเครื่องไม่เข้าใจคำสั่ง}
- การพัฒนา AI และการเรียนรู้จากการสื่อสารกับผู้ใช้}
- ความสำคัญของการมีความรู้พื้นฐานก่อนที่จะสามารถสั่งงานเครื่องได้}
หลักการเขียนโปรแกรมที่สำคัญและวิธีการจัดการกับโปรแกรมที่เราเขียน
— เริ่มต้นด้วยการออกแบบโปรแกรมให้ครบถ้วนก่อนที่จะเขียนโปรแกรมจริง}
- การใส่คำอธิบายลงในโปรแกรมเพื่อช่วยในการแก้ไขและตรวจสอบโปรแกรมในอนาคต}
- ขั้นตอนการทดสอบโปรแกรมเพื่อให้แน่ใจว่าทำงานได้ถูกต้อง}
- การเตรียมเอกสารและคู่มือผู้ใช้งานเพื่อความสะดวกในการใช้งานโปรแกรม}
การเขียนโปรแกรมและการทำงานของคอมไพเลอร์เป็นกระบวนการที่สำคัญ โดยคอมไพเลอร์จะทำการแปลคำสั่งทั้งหมดในโปรแกรมก่อนที่จะสร้างเป็นโค้ดภาษาเครื่อง ซึ่งช่วยให้โปรแกรมสามารถทำงานได้อย่างมีประสิทธิภาพ.
— การใช้คอมพิวเตอร์ในการเขียนโปรแกรมสามารถทำได้โดยไม่ต้องนั่งเขียนด้วยมือ}
- คอมไพเลอร์สามารถสร้างโปรแกรมที่ใช้ได้กับเครื่องต่างๆ และสามารถขายได้}
- การแปลโปรแกรมต้องทำทั้งหมดในครั้งเดียว ไม่ใช่แปลทีละบรรทัด}
- คอมพิวเตอร์จะเข้าใจคำสั่งที่เราเขียนและสร้างโค้ดภาษาเครื่องที่พร้อมใช้งาน}
- การประมวลผลโปรแกรมที่มีหลายบรรทัดอาจใช้เวลานาน แต่เป็นกระบวนการที่จำเป็น}
โปรแกรมคอมพิวเตอร์
โปรแกรมคอมพิวเตอร์ (ซอฟต์แวร์) คือ ชุดคาสั่งที่สั่งให้คอมพิวเตอร์สามารถทางานตามที่ ต้องการ โดยแปลงคาสั่งให้เป็นสัญญาณทางอิเล็กทรอนิกส์ไปควบคุมฮาร์ดแวร์ โปรแกรม คอมพิวเตอร์แบ่งออกเป็น 2 ประเภท คือ โปรแกรมระบบและโปรแกรมประยุกต์ ( โปรแกรมระบบทาหน้าที่ควบคุมการทางานของคอมพิวเตอร์รวมถึง อุปกรณ์ โปรแกรมเหล่านี้ได้แก่ ระบบปฏิบัติการ (Operating system) โปรแกรมอรรถประโยชน์ (Utility program) โปรแกรมภาษาคอมพิวเตอร์ (Programming languages) เป็นต้น ส่วนโปรแกรม ประยุกต์ คือ โปรแกรมที่เขียนขึ้นเพื่อสั่งให้คอมพิวเตอร์ทางานเฉพาะอย่าง (วัชราภรณ์ สุริยา ภิวัฒน์, 2553, หน้า 143) เช่น โปรแกรมที่ใช้ในการจัดการกราฟิก โปรแกรมเกม โปรแกรมสาหรับ สานักงาน เป็นต้น ผู้ที่มีบทบาทสาคัญที่สุดต่อการเขียนโปรแกรม คือ โปรแกรมเมอร์ (Programmer) ซึ่งเป็นผู้เขียนชุดคาสั่งต่าง ๆ เพื่อทาให้คอมพิวเตอร์ทางานได้ตามที่ผู้ใช้ต้องการโปรแกรมภาษาคอมพิวเตอร์อยู่ในกลุ่มของโปรแกรมระบบ มีหน้าที่ การพัฒนาโปรแกรมอื่น ๆ ผู้ที่ใช้ภาษาคอมพิวเตอร์คือโปรแกรมเมอร์ พิจารณาตามภาพที่ 1.1 แสดงตาแหน่งของโปรแกรมภาษาคอมพิวเตอร์ในโครงสร้างของซอฟต์แวร์ ซึ่งจะพบตาแหน่งของโปรแกรมที่ใช้ใน การศึกษาในตารานี้
โปรแกรมระบบ คือ โปรแกรมที่สร้างขึ้นมาเพื่อควบคุมฮาร์ดแวร์ต่าง ๆ ของคอมพิวเตอร์ โดยเฉพาะ ซึ่งโปรแกรมถูกแบ่งออกเป็น ระบบปฏิบัติการ โปรแกรมอรรถประโยชน์ และ โปรแกรมภาษาคอมพิวเตอร์
- โปรแกรมระบบปฏิบัติการ เป็นโปรแกรมที่เขียนขึ้นมาเพื่อควบคุมให้คอมพิวเตอร์สามารถติดต่อสื่อสารกับมนุษย์ได้ โดยโปรแกรมจะจัดเตรียมคาสั่งต่าง ๆ เพื่อสื่อสารกับมนุษย์ โดยผ่านทั้งส่วนของข้อความ และกราฟิก และในปัจจุบันจะเน้นการติดต่อกับผู้ใช้ด้วยกราฟิกทั้งหมด โปรแกรมกลุ่มนี้ได้แก่ ระบบปฏิบัติการไมโครซอฟต์วินโดว์ (Microsoft Windows) ลีนุกซ์ (Linux) บีโอเอส (BeOS) เป็นต้น
- โปรแกรมอรรถประโยชน์ คือ โปรแกรม ที่ใช้สาหรับจัดการระบบคอมพิวเตอร์เพื่อ อานวยความสะดวก และการจัดการปัญหาบางอย่างในการใช้คอมพิวเตอร์ เช่น โปรแกรมช่วยใน การจัดการโปรแกรมไวรัส (Anti-Virus Program) โปรแกรมจัดการระบบของฮาร์ดดิสก์ เช่น นอร์ตันยูทิลิที (Norton Utility) โปรแกรมช่วยในการดาวน์โหลดข้อมูล เป็นต้น
- โปรแกรมภาษาคอมพิวเตอร์ เป็นโปรแกรมที่ใช้สาหรับนามาเขียนโปรแกรมให้เกิด ซอฟต์แวร์อื่น ๆ หรือใช้สาหรับเขียนโปรแกรมใช้งานตามความต้องการของผู้เขียน โปรแกรม ภาษาคอมพิวเตอร์ เช่น แอสเซมลี (Assembly) ซี©, ปาสคาล (Pascal), เบสิค (Basic),
ไมโครซอฟต์วิสชวลซีพลัสพลัส(Microsoft Visual C++), จาวา (Java), ไมโครซอฟต์วิสชวล เบสิคดอทเน็ต (Microsoft Visual Basic .NET), โปรล็อก 2 (Prolog 2), เอดา (Ada) เป็นต้น ซึ่ง โปรแกรมภาษาที่จะใช้สาหรับตาราเล่มนี้คือโปรแกรมภาษาจาวา โดยรายละเอียดเกี่ยวภาษาจาวาจะ นาเสนอตั้งแต่บทที่ 2 เป็นต้นไป
โปรแกรมประยุกต์ คือ โปรแกรมที่สร้างขึ้นมาเพื่อใช้งานเฉพาะด้านอย่างใดอย่างหนึ่ง ดัง ตัวอย่างในภาพที่ 1.1 ที่แสดงงานของโปรแกรมประยุกต์บางส่วน ซึ่งอาจแบ่งออกเป็นโปรแกรม กราฟิก โปรแกรมทางานเกี่ยวกับมัลติมีเดีย โปรแกรมสาหรับงานสานักงาน และนอกจากนั้นใน ปัจจุบันยังมีโปรแกรมที่ทางานเฉพาะด้านอื่น ๆ อีกมากมาย
สามารถดู video youtube ได้ที่
ภาษาคอมพิวเตอร์ คือ ภาษาที่ใช้สื่อสารกันระหว่างคอมพิวเตอร์กับมนุษย์กล่าวว่า ภาษาคอมพิวเตอร์ เป็นการนาชุดคาสั่งแต่ละคาสั่งมาต่อกันเพื่อสั่งให้คอมพิวเตอร์ทางาน การเขียนชุดคาสั่งนี้ไม่ว่าจะ เขียนด้วยภาษาอะไรจะเรียกว่าโปรแกรมต้นฉบับ (Source program) หรือ รหัสต้นฉบับ (Source code)กล่าวว่า ภาษาการโปรแกรมคอมพิวเตอร์(Computer Programming Language) เป็นภาษาที่โปรแกรมเมอร์ใช้ในการเขียนชุดคาสั่งหรือเขียน โปรแกรมคอมพิวเตอร์เพื่อสั่งให้คอมพิวเตอร์ทางานวิกีพีเดีย (Wikipedia, 2007) สารานุกรมออนไลน์ได้ให้ความหมายภาษาคอมพิวเตอร์เอาไว้ ว่า ภาษาคอมพิวเตอร์ หมายถึง ภาษาใด ๆ ที่ผู้ใช้งานใช้สื่อสารกับคอมพิวเตอร์หรือคอมพิวเตอร์ ด้วยกัน แล้วคอมพิวเตอร์สามารถทางานตามคาสั่งนั้นได้ คานี้มักใช้เรียกแทนภาษาโปรแกรม
ระดับของภาษาคอมพิวเตอร์แบ่งได้ดังนี้
1. ภาษาระดับต่า ได้แก่ ภาษาเครื่องและภาษาแอสเซมบลี
2. ภาษาระดับสูง ได้แก่ ภาษาที่ใช้อักขระหรือสัญลักษณ์ (Mnemonic) ที่ใกล้เคียงกับ
ภาษามนุษย์ในการสื่อสารกับคอมพิวเตอร์
3. ภาษาสคริปต์ ได้แก่ ภาษายุคใหม่ที่ใช้สาหรับการเขียนโปรแกรมเพื่อนาเสนอข้อมูล ผ่านระบบอินเทอร์เน็ต โดยเขียนคล้ายกับภาษาระดับสูงทั่วไป แต่จะเขียนรหัสต้นฉบับแทรกเข้าไป ในภาษาเอชทีเอ็มแอล (HTML) โดยมุ่งเน้นสาหรับจัดการข้อมูลผ่านระบบเครือข่าย และเรียกใช้ งานผ่านโปรแกรมบราวเซอร์ (Browser software)
โดยปกติแล้วแต่ละภาษาคอมพิวเตอร์จะมีรูปแบบเฉพาะของตนเอง ซึ่งหน้าที่หลักของ ภาษาคอมพิวเตอร์ คือ การสั่งการให้คอมพิวเตอร์ทางานตามที่มนุษย์ต้องการ ดังนั้นในการที่สื่อสาร กับคอมพิวเตอร์ด้วยภาษาใด ๆ นั้นผู้สั่งต้องเรียนรู้ภาษานั้น ๆ ก่อน และการที่จะควบคุมการสื่อสาร ดังกล่าวจะต้องผ่านเครื่องมือที่ใช้สั่งคอมพิวเตอร์ได้ ได้แก่โปรแกรมคอมพิวเตอร์หรือซอฟต์แวร์ นั่นเอง
ดังนั้น โปรแกรมภาษาคอมพิวเตอร์ คือ โปรแกรมที่ใช้เพื่อการพัฒนาหรือสร้างโปรแกรม อื่น ๆ โดยแบ่งออกเป็นหลายระดับ เช่น ระดับภาษาระดับต่า ภาษาระดับสูง และภาษาธรรมชาติ เป็นต้น ผู้ใช้ภาษาคอมพิวเตอร์ คือ โปรแกรมเมอร์ ซึ่งเป็นผู้ออกแบบและเขียนโปรแกรมให้ผู้อื่นใช้ งาน โดยโปรแกรมเมอร์จะเขียนโปรแกรมด้วยภาษาคอมพิวเตอร์ตามความถนัดและเหมาะสม หลังจากนั้นจะแปลคาสั่งของโปรแกรมที่เขียนขึ้นด้วยคอมไพเลอร์ (Compiler) หรืออินเทอร์พรี เตอร์ (Interpreter) ให้เป็นคาสั่งที่ติดต่อกับคอมพิวเตอร์ได้ ซึ่งอยู่ในรูปแบบของภาษาเครื่อง เพื่อ ควบคุมให้คอมพิวเตอร์ทางานได้ตามที่ต้องการ
ภาพที่ 1.2 แสดงแนวคิดของการเขียนโปรแกรม ซึ่งโปรแกรมเมอร์จะออกแบบและเขียน โปรแกรมด้วยโปรแกรมภาษาที่แตกต่างกันตามความถนัดและเหมาะสมกับแต่ละงาน หลังจากนั้น จะแปลคาสั่งของโปรแกรมที่เขียนขึ้นด้วยคอมไพเลอร์ (Compiler) หรืออินเทอร์พรีเตอร์ (Interpreter) ให้เป็นคาสั่งที่ติดต่อกับคอมพิวเตอร์ได้ในลักษณะของภาษาเครื่องด้วยรหัส
เลขฐานสอง เพื่อควบคุมให้คอมพิวเตอร์ทางานได้ตามที่ต้องการ
จากภาพที่ อธิบายว่าได้เมื่อโปรแกรมเรียนรู้รูปแบบก็นาสิ่งที่ต้องการแก้ไขปัญหามา เขียนด้วยคาสั่งตามรูปแบบของภาษานั้น ๆ หลังจากนั้นตัวแปลภาษาซึ่งเป็นโปรแกรมที่เขียนขึ้นมา โดยบริษัทผู้ผลิตคอมพิวเตอร์หรือบริษัทผู้ผลิตซอฟต์แวร์ (พนิดา พานิชกุล, 2554, หน้า 2) มาแปล ให้เป็นภาษาเครื่องโดยรูปแบบการแปลนั้นเป็นแบบอินเทอร์พรีเตอร์หรือคอมไพเลอร์ ซึ่งจะ ตรวจสอบคาสั่งแล้วแสดงผลหรือดาเนินการให้ได้ดังที่ผู้เขียนต้องการให้คอมพิวเตอร์ดาเนินการ
ยุคของโปรแกรมภาษาคอมพิวเตอร์
พนิดา พานิชกุล (2554, หน้า 3–5) ได้แบ่งยุคของภาษาคอมพิวเตอร์ไว้ 5 ยุค คือ ยุคที่หนึ่ง เป็นภาษาระดับล่างหรือภาษาเลขฐานสองเท่านั้นสาหรับสั่งให้คอมพิวเตอร์ทางาน ยุคที่สองเป็นยุค ของภาษาสัญลักษณ์ที่เขียนคาสั่งให้เข้าใจง่าย และสั้นลงด้วยภาษาอังกฤษ ภาษายุคนี้ได้แก่ภาษา แอสเซมบลี (Assembly) ยุคที่สาม เป็นภาษาระดับสูงซึ่งใกล้เคียงภาษามนุษย์มากขึ้น ภาษายุคนี้ ได้แก่ ซี © ปาสคาล (Pascal) โคบอล (COBOL) เป็นต้น ภาษายุคที่สี่ เป็นภาษาระดับสูงแต่มีความ สะดวกรวดเร็วในการพัฒนาโปรแกรม และมีส่วนการติดต่อที่สวยงาม ตัวอย่างของภาษายุคนี้ได้แก่ ภาษาจาวา ภาษาวิชวลเบสิค เป็นต้น ส่วนภาษายุคที่ห้า คือภาษาที่ใช้พัฒนาซอฟต์แวร์สาหรับระบบ ผู้เชี่ยวชาญเน้นการใช้งานแบบปัญญาประดิษฐ์
ส่วน วัชราภรณ์ สุริยาภิวัฒน์ (2553, หน้า 149–153) แบ่งกลุ่มภาษาออกเป็นกลุ่มภาษาเชิง โพรซีเดอรัล (Procedural Programming Language) และโปรแกรมภาษาเชิงวัตถุ (OOP) โดยที่ โปรแกรมเชิงโครงสร้างถูกแบ่งออกเป็นภาษาเครื่องจักร ภาษาสัญลักษณ์ และภาษาระดับสูง
วิวัฒนาการของภาษาคอมพิวเตอร์จะถูกแบ่งออกเป็นยุค และถูกแบ่งออกเป็นระดับต่างกัน โดยแบ่งระดับของภาษาคอมพิวเตอร์ออกเป็น 5 ระดับ ได้แก่ ภาษาเครื่อง ภาษาแอสเซมบลี ภาษา ระดับสูง ภาษาระดับสูงมาก และภาษาธรรมชาติ สาหรับใน ตาราเล่มนี้จะแบ่งโดยเน้นด้านการ
6พัฒนาโปรแกรมภาษาตามการเขียนโปรแกรมโดยแบ่งดังเป็นยุคที่ 1 ถึงยุคที่ 5 โดยเน้นยุคที่ 4
พัฒนาโปรแกรมภาษาตามการเขียนโปรแกรมโดยแบ่งดังเป็นยุคที่ 1 ถึงยุคที่ 5 โดยเน้นยุคที่ 4
(Fourth Generation Language: 4GL) ที่มีบทบาทในปัจจุบันและยุคที่ 5 (Fifth Generation
Language: 5GL) ซึ่งจะมีความสาคัญมากในอนาคต รวมถึงแนวคิดการพัฒนาโปรแกรม
คอมพิวเตอร์ในยุคที่ N ซึ่งการเขียนโปรแกรมอาจมิใช่เพียงโปรแกรมเมอร์เท่านั้น แต่มนุษย์ทุกคน จาเป็นต้องเขียนโปรแกรมด้วย รายละเอียดของแต่ละยุคแสดงได้พอสังเขป ดังนี้
ยุคที่ 1 ภาษาเครื่อง
การพัฒนาโปรแกรมคอมพิวเตอร์ในยุคแรก เรียกว่า ภาษาเครื่อง หรือรหัสเครื่อง (Machine language or Machine code) การเขียนโปรแกรมใช้การป้อนชุดคาสั่งโดยใช้รหัสเลขฐานสองคือ 0 กับ 1 ให้คอมพิวเตอร์โดยตรง ทาให้การเขียนโปรแกรมเป็นภาระหนักมากของโปรแกรมเมอร์ เนื่องจากไม่มีเครื่องมือที่ช่วยพัฒนาโปรแกรม ภาพที่ 1.3 แสดงแนวคิดของการเขียนโปรแกรมใน ยุคดังกล่าวนี้
ข้อดีของโปรแกรมภาษายุคนี้ คือ เครื่องคอมพิวเตอร์ไม่ต้องแปลรหัสต้นฉบับ (Source code) สามารถนาไปใช้สั่งงานคอมพิวเตอร์ได้ทันที ทาให้การทางานเร็วมาก แต่ข้อเสีย คือ การเขียน โปรแกรมทาได้ยาก เพราะต้องจดจาคาสั่งและข้อมูลต่าง ๆ เป็นรหัสเลขฐานสอง จึงทาให้ต้อง พัฒนาโปรแกรมภาษาในระดับที่สูงขึ้น
ยุคที่ 2 ภาษาแอสเซมบลี
ยุคที่ 2 เริ่มขึ้นเมื่อประมาณต้นของช่วง 1950 ยุคนี้มีแนวคิดที่จะทาให้ภาษาคอมพิวเตอร์มี ความใกล้เคียงภาษามนุษย์มากขึ้น โดยนาเอาภาษาอังกฤษมาสร้างเป็นคาสั่ง ภาษาในยุคนี้คือ ภาษาแอสเซมบลี (Assembly language) มีคาสั่งซึ่งเป็นคาภาษาอังกฤษง่าย ๆ เช่น ADD,
SUB,MUL,DIV แทนการบวก ลบ คูณ และหาร เป็นต้น การเขียนโปรแกรมในยุคนี้ตัวแปลภาษาจะ แปลจากภาษาอังกฤษมาเป็นภาษาเครื่องโดยใช้ตัวแปลภาษาที่เรียกว่า แอสเซมเบลอร์ (Assembler)
7
โปรแกรมเมอร์จะต้องมีความรู้ทั้งรูปแบบการใช้คาสั่งและระบบของฮาร์ดแวร์เป็นอย่างดี จึงจะ สามารถเขียนโปรแกรมได้ดี แนวคิดในการเขียนโปรแกรมในยุคนี้แสดงดังภาพที่ 1.4
เครื่องมือที่ใช้ในการพัฒนาโปรแกรมภาษาในยุคนี้มีให้เลือกมากขึ้น เช่นโปรแกรมเทอร์โบ
แอสเซมบลี (Turbo Assembly) แมโครแอสเซมลบลี (Macro Assembly) เป็นต้น
ข้อดีของการพัฒนาโปรแกรมแบบนี้ คือ การทางานของโปรแกรมจะทางานเร็วมาก แต่ ข้อเสีย คือ โปรแกรมเมอร์ต้องเรียนรู้สถาปัตยกรรมของคอมพิวเตอร์ โดยเฉพาะเครื่องคอมพิวเตอร์ แต่ละยี่ห้อ แต่ละรุ่นต่างมีสถาปัตยกรรมที่แตกต่างกันไป ทาให้แทนที่โปรแกรมเมอร์จะทุ่มเท ให้กับการเขียนโปรแกรมอย่างเดียวกลับต้องศึกษาสถาปัตยกรรมคอมพิวเตอร์อีก จึงจาเป็นต้อง พัฒนาโปรแกรมภาษาให้ง่ายต่อการเขียนโปรแกรมให้มากขึ้น
ยุคที่ 3 ภาษาระดับสูง
ยุคนี้เริ่มขึ้นเมื่อประมาณช่วงกลาง ค.ศ. 1950 ซึ่งถือว่าเป็นยุคแรกของภาษาระดับสูง (High level language) เพราะยุคที่ 1 และ 2 ถือว่าเป็นยุคของภาษาระดับต่า (Low level language) ที่ยังไม่ เหมือนภาษามนุษย์เท่าใดนัก แต่ยุคนี้ภาษาคอมพิวเตอร์ใกล้เคียงกับภาษาของมนุษย์มากขึ้นอีก โดย ใช้ประโยคหรือวลีในภาษาอังกฤษเพื่อเขียนโปรแกรม ข้อดีของภาษาในยุคนี้คือ
- การเขียนโปรแกรมใช้เวลาน้อยและต้นทุนต่าลง
- โปรแกรมเมอร์ไม่จาเป็นต้องเรียนรู้สถาปัตยกรรมของคอมพิวเตอร์ ทาให้การเขียน
โปรแกรมทาได้กว้างขวางมากขึ้น
การเขียนโปรแกรมยุคนี้มีชื่อเรียกหลากหลาย เช่นโปรแกรมแบบโครงสร้าง (Structure program) โปรแกรมแบบโมดูลหรือแบบโพรซีเดอรอล (Modular program or procedural program) มีหลายภาษาที่เกิดขึ้นในยุคนี้ การเขียนโปรแกรมยุคนี้โปรแกรมเมอร์ต้องเขียนรหัสต้นฉบับของ คาสั่งทั้งหมดด้วยตนเอง
เครื่องมือช่วยพัฒนา ได้แก่โปรแกรมอิดิเตอร์ (Editor) ที่ติดมากับตัวแปรภาษาแต่ละภาษาโปรแกรมเมอร์จะเขียนรหัสต้นฉบับทั้งหมด จากนั้นใช้ตัวแปลภาษาซึ่งอาจเป็นคอมไพเลอร์หรืออินเตอร์พรีเตอร์ เพื่อแปลรหัสต้นฉบับให้เป็นภาษาเครื่อง สาหรับสั่งให้คอมพิวเตอร์ทางาน ภาษาคอมพิวเตอร์ยุคนี้มีหลากหลายโปรแกรมที่เหมาะกับงานที่แตกต่างกัน เช่น ฟอร์แทรน (FORTRAN) เหมาะกับงานคานวณทางด้านวิทยาศาสตร์ ซี ปาสคาล เบสิค เหมาะกับงานทั่วไป ภาษาโคบอลเหมาะกับงานทางด้านธุรกิจ เป็นต้น ภาพที่ 1.5 แสดงแนวคิดของการพัฒนาโปรแกรม ภาษาในยุคนี้
อย่างไรก็ตาม ถึงแม้ว่าภาษายุคนี้มีความใกล้เคียงกับภาษามนุษย์มากแล้วก็ตาม แต่ปัจจัย ทางด้านธุรกิจและความต้องการให้โปรแกรมทางานมีความยืดหยุ่นเพื่อให้รองรับการทางานได้ กว้างขวางและสามารถเข้ากันได้กับโปรแกรมอื่น ๆ ได้ดีมากยิ่งขึ้น อีกทั้งแนวคิดในการนากลับมา ใช้ใหม่ (Reuse) มีความจาเป็นมากยิ่งขึ้น ดังนั้นจึงเป็นตัวผลักดันให้มีการพัฒนาโปรแกรมภาษาที่ ง่ายขึ้นไปอีก จึงเกิดโปรแกรมภาษาในยุคที่ 4 ขึ้นในเวลาต่อมา
ยุคที่ 4 ภาษาระดับสูงมาก
จากความจาเป็นในยุคที่ 3 ที่กล่าวมาแล้วนั้น จึงพัฒนาโปรแกรมภาษาแนวใหม่เพื่อสนอง ความต้องการด้านต่าง ๆ เหล่านั้น ซึ่งเกิดขึ้นเมื่อประมาณช่วง ค.ศ. 1970 ยุคนี้อาจกล่าวได้ว่าเป็นยุค นอนโพรซีเดอรัล (Non-procedural) การพัฒนาเน้นให้ได้ผลลัพธ์ตามความต้องการอย่างรวดเร็ว มากกว่าที่จะเน้นว่าจะต้องเขียนอย่างไร ในยุคก่อนหน้านี้โปรแกรมเมอร์ต้องรู้คาสั่งและวิธีการ เขียนทุกสิ่งทุกอย่างด้วยตนเอง แต่ยุคนี้มีเครื่องมือช่วยพัฒนาได้รวดเร็วขึ้นกว่าเดิมมาก หากเปรียบ การเขียนโปรแกรมเป็นการประกอบรถยนต์ 1 คัน ในยุคที่ผ่านมาผู้ประกอบต้องสร้างชิ้นส่วนทุก อย่างด้วยตนเองก่อนจึงประกอบเป็นรถยนต์ได้ แต่ยุคนี้การประกอบรถยนต์ทาได้ในเวลา อันรวดเร็ว เนื่องจากมีผู้ผลิตชิ้นส่วนทั้งหมดไว้แล้ว ผู้สร้างมีหน้าที่ประกอบเลือกเอาชิ้นส่วนมา ประกอบกันให้เหมาะสมเท่านั้น
การเขียนโปรแกรมยุคนี้เรียกว่าการเขียนโปรแกรมเชิงวัตถุ (Object Oriented
Programming: OOP) ซึ่งมองการเขียนโปรแกรมเหมือนการสร้างวัตถุเป็นชิ้น ๆ โดยมีเครื่องมือ
9
ช่วยเขียนโปรแกรม เรียกว่า ตัวสร้าง (Generator) ที่ติดมากับแต่ละภาษา ทาหน้าที่ติดต่อกับ
โปรแกรมเมอร์แบบกราฟิกอินเตอร์เฟส (Graphic interface) บางทีอาจเรียกว่าเป็นการเขียน
โปรแกรมแบบวิสชวล (Visual programming) โปรแกรมเมอร์ใช้วิธีแดร็กแอนด์ดร็อพ (Drag and Drop) คือ การคลิกเอาวัตถุที่ใช้เป็นส่วนประกอบต่าง ๆ ของโปรแกรม เช่น ปุ่ม ฟอร์ม ไอคอน มา วางในพื้นที่เขียนโปรแกรม หลังจากนั้นกาหนดคุณสมบัติและหน้าที่การทางานที่ควบคุมด้วย เหตุการณ์ที่เข้ามากระทาต่อวัตถุที่สร้างขึ้น หลังจากนั้นตัวสร้างจะแปลงส่วนการเขียนโปรแกรมให้ เป็นรหัสต้นฉบับแล้วแปลด้วยคอมไพเลอร์หรืออินเตอร์พรีเตอร์ที่ติดมา เพื่อให้สามารถสั่ง คอมพิวเตอร์ได้ ตัวอย่างภาษายุคนี้ เช่น วิสชวลเบสิค วิสชวลซีพลัสพลัส บอร์แลนเดลไฟ (Borland Delphi) บอร์แลนซีพลัสพลัสบิวเดอร์ (Borland C++ Builder) จาวา วิสชวลสตูดิโอดอทเน็ต (VisualStudio.NET) เป็นต้น ภาพที่ 1.6 แสดงแนวคิดของโปรแกรมภาษาในยุคนี้
ข้อดีของโปรแกรมภาษาในยุคนี้ คือ การเขียนโปรแกรมทาได้รวดเร็วมาก ส่วนการติดต่อ กับผู้ใช้มีความสวยงาม น่าใช้มากขึ้น การใช้งานง่ายกว่าภาษายุคที่ 3 มาก แต่ข้อเสีย คือ โปรแกรมเมอร์ไม่สามารถรู้รายละเอียดบางอย่างที่ซ่อนเอาไว้โดยเครื่องมือช่วยพัฒนาเหล่านั้น โปรแกรมจะมีขนาดใหญ่มากขึ้น ฮาร์ดแวร์ที่ใช้จะต้องมีประสิทธิภาพสูงมากขึ้นด้วย เนื่องจากต้อง มีการแปลคาสั่งหลายขั้นตอน
ยุคที่ 5 ภาษาธรรมชาติ
ปัจจุบันเริ่มเข้าสู่ต้นยุคที่ 5 แล้ว ยุคนี้จะเน้นการนาปัญญาประดิษฐ์ (Artificial Intelligent: AI) มาใช้เป็นแนวคิดหลักของการเขียนโปรแกรม โดยเริ่มใช้ภาษาธรรมชาติของมนุษย์ (Natural language) ในแนวการเขียนโปรแกรมแบบตรรกะและโมเดล ภายใต้สภาวะแวดล้อมของโลก ของ ความจริง สนับสนุนและยืดหยุ่นต่อพฤติกรรมที่เปลี่ยนไปภายใต้การจัดการของคอมพิวเตอร์ ปัจจุบันเราเริ่มเห็นหุ่นยนต์และซอฟต์แวร์ที่สามารถโต้ตอบกับมนุษย์ได้ ตัวอย่างภาษาช่วงเริ่มต้น ของยุคนี้ เช่น ภาษาโปรลอก 2 (Prolog 2) เป็นโปรแกรมที่สามารถสอบถามข้อมูลด้วยประโยคที่เรา ใช้สื่อสารกัน ระบบผู้เชี่ยวชาญ (Expert System) ที่สามารถวินิจฉัยในเรื่องที่ระบบเชี่ยวชาญได้
ระบบฐานความรู้ (Knowledge Base System) ที่เก็บรวบรวมและประมวลผลข้อมูลอย่างชาญฉลาด เมื่อถึงยุคปลายของ ยุคนี้ทั้งฮาร์ดแวร์และซอฟต์แวร์จะเป็นยุคเอไอ (AI) อย่างสมบูรณ์ การเขียน โปรแกรมจะใช้ภาษาธรรมชาติ มนุษย์สามารถเขียนโปรแกรมคอมพิวเตอร์โดยภาษาที่ใช้สื่อสารกัน ภาพที่ 1.7 แสดงแนวคิดของโปรแกรมภาษาในยุคนี้
ข้อดีของภาษายุคนี้ คือ การเขียนโปรแกรมทาได้โดยไม่ต้องเรียนรู้ภาษาคอมพิวเตอร์ให้ ยุ่งยาก แต่ข้อเสีย คือ โปรแกรมเมอร์อาจถูกจากัดความสามารถ เนื่องจากมีเครื่องมือช่วยในการ เขียนโปรแกรมที่ฉลาดมากเกินไป ทาให้ไม่สามารถจัดการบางสิ่งบางอย่างตามที่ต้องการได้ กล่าวคือในระบบต่าง ๆ เหล่านั้นจะต้องทาการแปลคาสั่งเช่นเดียวกับยุคที่ผ่าน ๆ มา แต่ผู้เขียน โปรแกรมจะไม่รู้สึกว่าต้องทาเหมือนที่ผ่านมา เพราะระบบเหล่านั้นมีความฉลาด สามารถรับ ภาษาธรรมชาติแล้วแปลจนกระทั่งเป็นภาษาเครื่องได้
โปรแกรมภาษาคอมพิวเตอร์แบ่งเป็น ภาษาเครื่อง ภาษาระดับต่า ภาษาระดับสูง และ
ภาษาธรรมชาติ ซึ่งต่างก็เป็นเครื่องมือสาหรับการเขียนโปรแกรมคอมพิวเตอร์ทั้งสิ้น ในหัวข้อ ถัดไปจะกล่าวแนวคิดในการเขียนโปรแกรมแบบโครงสร้างที่จะใช้งานในตาราเล่มนี้
การเขียนโปรแกรมคอมพิวเตอร์
การเขียนโปรแกรมคอมพิวเตอร์ คือ การสร้างกลุ่มคาสั่งเพื่อควบคุมให้คอมพิวเตอร์ ประมวลผลตามที่ต้องการโดยอาศัยโปรแกรมภาษาคอมพิ วเตอร์เป็นเครื่องมือสร้างกลุ่มคาสั่ง ดังกล่าว สิ่งแรกที่โปรแกรมเมอร์ต้องทา คือ ต้องเลือกโปรแกรมภาษาคอมพิวเตอร์ที่ต้องการใช้เป็น เครื่องมือ นามาติดตั้งบนระบบปฏิบัติการที่มีอยู่ในเครื่องคอมพิวเตอร์ นอกจากนั้นโปรแกรมเมอร์ จะต้องทาความเข้าใจกับขั้นตอนการเขียนโปรแกรมของแต่ละภาษาคอมพิวเตอร์ ในขณะเดียวกัน จะต้องมีความรู้เกี่ยวกับรูปแบบของการเขียนโปรแกรม ส่วนนี้จะแสดงรายละเอียดดังกล่าวดังนี้
ต่างกล่าวตรงกันว่าขั้นตอนการเขียนโปรแกรมมีดังนี้
(1) การกาหนดและวิเคราะห์ปัญหา (Problem definition and problem analysis) ด้วยการ
กาหนดขอบเขตของปัญหา
(2) การเขียนผังงาน (Flow chart) และซูโดโค้ด (Pseudo coding) เป็นการแทนขั้นตอนต่าง ๆ ด้วยสัญลักษณ์
(3) การเขียนโปรแกรม (Programming) ด้วยการเขียนโปรแกรมตามรูปแบบของไวยากรณ์
ตามรูปแบบของภาษาที่เลือกใช้
(4) การทดสอบและแก้ไขโปรแกรม (Program testing and debugging) เป็นการทดสอบว่า โปรแกรมที่เขียนขึ้นมานั้นถูกต้องตามรูปแบบที่เขียนหรือไม่ และทดสอบว่าโปรแกรมที่เขียนขึ้น เป็นไปตามที่วิเคราะห์ไว้หรือไม่
(5) การทาเอกสารและการบารุงรักษาเป็นขั้นตอนของการทาเอกสารคู่มือ ทั้งคู่มือการใช้
งานและคู่มือสาหรับโปรแกรมเมอร์
ขณะที่ กระทรวงศึกษาธิการ ได้กล่าวไว้ใน หลักการเขียนโปรแกรม คพ. ทป. 014 (2533,
หน้า 46) ระบุขั้นตอนการเขียนโปรแกรมดังนี้
(1) การวิเคราะห์ปัญหา
(2) การออกแบบขั้นตอนการทางานของโปรแกรม
(3) การลงรหัสโปรแกรม
(4) การทดสอบและแก้ไขโปรแกรม
(5) การทาเอกสารประกอบโปรแกรม
พนิดา พานิชกุล (2554, หน้า 9–10) ระบุว่าขั้นตอนการพัฒนาโปรแกรมคอมพิวเตอร์มีดังนี้
(1) การวิเคราะห์ปัญหา
(2) การออกโปรแกรม กาหนดส่วนนาเข้า ประมวลผล และส่วนการแสดงผล
(3) เขียนโปรแกรมโดยใช้ภาษาคอมพิวเตอร์
(4) การทดสอบและแก้ไขโปรแกรมเพื่อความถูกต้องก่อนนาไปใช้งานจริง
(5) การทาเอกสารและดูแลรักษาโปรแกรม
จากที่กล่าวมาข้างต้น ดังนั้นจึงสรุปขั้นตอนของการเขียนโปรแกรมได้ดังนี้
1. ศึกษาปัญหาและทาความเข้าใจสิ่งที่ต้องการของผู้ใช้
ขั้นตอนนี้เป็นขั้นตอนแรกสุด เพราะหากมองปัญหา ไม่ออกก็ไม่สามารถที่จะเขียน โปรแกรมหรือสร้างงานออกมาได้อย่างถูกต้องตามความต้องการ ในขั้นตอนนี้สิ่งที่ต้องพิจารณา และทาความเข้าใจมีดังนี้
1.1 สิ่งที่โจทย์หรือผู้ใช้ต้องการ (Output) ของงาน ผู้เขียนจะต้องรู้อย่างชัดแจ้งว่าผู้ใช้ ต้องการผลการทางานอย่างไร แนวปฏิบัติของขั้นตอนนี้คือศึกษาจากโจทย์ที่ได้รับ หรือสอบถาม รวบรวมข้อมูลจากผู้ปฏิบัติงานของผู้ใช้งานจริงให้ละเอียดที่สุด
1.2 สิ่งที่โจทย์ให้มาหรือปัจจัยต่าง ๆ ที่ทาให้เกิดผลลัพธ์ ซึ่งก็คือข้อมูลนาเข้า (Input) ดังนั้นผู้เขียนโปรแกรมจะต้องพิจารณาประเด็นนี้เป็นสิ่งสาคัญอันดับที่สอง โดยดูจากโจทย์ กาหนดให้ว่ามีปัจจัยใดประกอบอยู่แล้วบ้าง และสิ่งใดจะต้องกาหนดหรือหาเพิ่มเติมเพื่อที่จะช่วย ในการแก้ไขปัญหาดังกล่าวให้ได้ผลลัพธ์ตามต้องการ
1.3 วิธีการดาเนินงาน (Process) คือ ลาดับขั้นตอนการทางาน เป็นกระบวนการเพื่อนา
ข้อมูลนาเข้ามาดาเนินการเพื่อให้ได้ผลลัพธ์
2. การออกแบบและกาหนดขั้นตอนการทางานของโปรแกรม
ผู้ที่เพิ่งจะเริ่มเขียนโปรแกรมคอมพิวเตอร์นั้นจาเป็นอย่างยิ่งต้องมีแนวคิดเหมือนการแก้ โจทย์หรือการแก้ปัญหาทางคณิตศาสตร์ กล่าวคือ ต้องคิดเป็นขั้นตอนและกาหนดลาดับการ แก้ปัญหาให้ชัดเจนดังนี้คือ
2.1 ให้เขียนลาดับขั้นตอนการแก้ปัญหาเป็นขั้นตอนให้ชัดเจนที่สุดเท่าที่สามารถทาได้
2.2 แทนลาดับขั้นตอนการแก้ปัญหาดังกล่าวด้วยแผนภาพหรือผังงาน (Flowchart)
คลาสไดอะแกรม (Class Diagram)
2.3 ลงรหัสโปรแกรม (Pseudo Code) หรือรหัสเทียมของโปรแกรม โดยรหัสเทียม ดังกล่าวจะต้องดูจากผังการทางานเป็นหลัก การลงรหัสเทียมนี้จะเขียนไว้เป็นกลาง ๆ อาจจะอิง โปรแกรมภาษาคอมพิวเตอร์ภาษาใดภาษาหนึ่งก็ได้หรือเขียนเป็นภาษาอังกฤษล้วน ๆ ก็ได้ หรือ หากเป็นภาษาไทยก็ยังอนุโลมให้ใช้ได้เช่นกัน
3. ลงมือเขียนโปรแกรม
ในการเริ่มลงมือเขียนโปรแกรมคอมพิวเตอร์นั้น ผู้เขียนจะต้องดาเนินการดังต่อไปนี้
3.1 ศึกษารูปแบบไวยากรณ์ (Syntax) ของโปรแกรมภาษานั้น ๆ ซึ่งจะเป็นกฎเกณฑ์ ข้อบังคับ หรือรูปแบบบังคับต่าง ๆ ของโปรแกรมภาษาที่ใช้ในการเขียนโดยโปรแกรมเมอร์ต้อง ศึกษาให้เข้าใจและแม่นยา จึงจะสามารถเขียนโปรแกรมได้อย่างมีประสิทธิภาพ
13
3.2 ศึกษา คาสั่งปฏิบัติการ ตัวดาเนินการ ตัวแปร หรือฟังก์ชัน (Functions) ต่าง ๆ ที่มี ในภาษาที่เลือก ซึ่งในขั้นตอนนี้ผู้ใช้จะต้องดาเนินการเขียนโปรแกรมจริง ๆ จึงจะสามารถเข้าใจ และใช้งานได้อย่างถูกต้อง
4. ทดสอบโปรแกรม
เมื่อเขียนโปรแกรมแล้วการทดสอบการทางานของโปรแกรมเพื่อตรวจสอบความถูกต้อง
ของโปรแกรมมีขั้นตอนดังนี้
4.1 แปลรหัสต้นฉบับของโปรแกรมภาษาที่เลือกมาใช้เขียนอาจมีความแตกต่างกัน และใช้คาสั่งที่ไม่เหมือนกัน แต่โดยทั่วไปจะขึ้นอยู่กับตัวแปลภาษาซึ่งถ้าเป็นคอมไพเลอร์ จะทาการ แปลรหัสดังกล่าวเป็นภาษาเครื่องและอาจบันทึกเอาไว้ เพื่อให้สามารถเรียกใช้งานได้ในภายหลัง โดยไม่ต้องทาการแปลคาสั่งใหม่ แต่ถ้าเป็นตัวแปลภาษาที่เป็นอินเตอร์พรีเตอร์จะต้องแปลทุกครั้ง เมื่อต้องการรันโปรแกรมเพื่อใช้งาน
4.2 ทดสอบการรันของโปรแกรม หรือการเรียกใช้งานโปรแกรมแต่ละโปรแกรมภาษา จะมีการเรียกใช้ต่างกันบ้างแต่โดยทั่วไปจะทาได้หลังจากที่คอมไพล์แล้ว และโปรแกรมดังกล่าวไม่ มีข้อผิดพลาด จึงจะสามารถเรียกใช้งานตามที่ต้องการผ่านระบบปฏิบัติการที่นาโปรแกรมไปติดตั้ง
5. จัดทาเอกสารและการบารุงรักษา
5.1 การจัดทาเอกสารที่เกี่ยวข้อง เช่นคู่มือผู้ใช้ คู่มือการพัฒนาโปรแกรมและออกแบบ
ระบบ และคู่มือการแก้ปัญหาสาหรับผู้ดูแลระบบหรือโปรแกรมเมอร์
5.2 บารุงรักษาโปรแกรมด้วยการตรวจสอบความถูกต้องปรับปรุงให้ทางานเร็วขึ้น หรือ
การปรับปรุงดัชนีของฐานข้อมูล หรือปรับปรุงรุ่นของซอฟต์แวร์ เป็นต้น
รูปแบบพื้นฐานของการเขียนโปรแกรมคอมพิวเตอร์
การพัฒนาโปรแกรมคอมพิวเตอร์ของโปรแกรมเมอร์จะต้องเลือกโปรแกรมภาษาที่จะใช้ พัฒนาก่อนเป็นลาดับแรก หลังจากนั้นจะต้องศึกษารูปแบบการใช้งานของโปรแกรมภาษา ซึ่งแต่ละ ภาษาจะมีรูปแบบการเขียนโปรแกรมที่แตกต่างกันในแต่ละคาสั่ง ถึงแม้แต่ละภาษาจะมีรูปแบบของ คาสั่งที่แตกต่างกันก็ตาม แต่จะมีรูปแบบการเขียนที่เป็นรูปแบบเดียวกันที่พอจะจาแนกได้ คือ การ เขียนโปรแกรมแบบภาษาเครื่อง การเขียนโปรแกรมแบบภาษาโครงสร้าง การเขียนโปรแกรมแบบ ภาษาเชิงวัตถุ และการเขียนโปรแกรมด้วยภาษาธรรมชาติ แต่ในตาราเล่มนี้จะใช้การเขียนโปรแกรม แบบโครงสร้างซึ่งเป็นการเรียนรู้การเขียนโปรแกรมแบบง่ายและเหมาะสาหรับผู้เริ่มต้นเขียน โปรแกรมคอมพิวเตอร์ ดังนั้นต่อไปนี้จะนาเสนอเกี่ยวกับแนวคิดการเขียนโปรแกรมด้วยภาษาเชิง โครงสร้างและรูปแบบการเขียนโปรแกรมแบบนี้
ได้แบ่งรูปแบบการเขียนโปรแกรมออกเป็นเรียงลาดับ
หากสนใจสามารถศึกษาเพิ่มเติมได้ที่ เทคนิค / เส้นทางเริ่มต้นเรียนเขียนโปรแกรมฉบับครบ — จบ — เคลียร์ โดยเข้าของเว็บไซท์ เขียนอธิบายได้ละเอียดมากๆ
เอกสารอ้างอิง
ธีรวัฒน์ ประกอบผล (2553, หน้า 11–14) และ วัชราภรณ์ สุริยาภิวัฒน์ (2553, หน้า 195)
กิตติ ภักดีวัฒนะกุล และกิตติพงษ์ กลมกล่อม. (2548). คัมภีร์ การวิเคราะห์และออกแบบเชิงวัตถุ
ด้วย UML. กรุเทพฯ: เคทีพี แอนด์ คอนซัลท์.
ครรชิต มาลัยวงศ์ และ วิชิต ปุณวัตร์. (2536). เทคนิคการออกแบบโปรแกรม. กรุงเทพฯ: ซีเอ็ด
ธีรวัฒน์ ประกอบผล. (2545). การโปรแกรมภาษาซีสาหรับงานวิทยาศาสตร์. กรุงเทพฯ: ส.ส.ท.
540). การเขียนโปรแกรมในดอสและวินโดว์ด้วยบอร์แลนด์ C++ 5.0. กรุงเทพฯ:
ซีเอ็ดยูเคชัน.
วัชราภรณ์ สุริยาภิวัฒน์. (2553). คอมพิวเตอร์เบื้องต้นและเทคนิคการเขียนโปรแกรม. กรุงเทพฯ:
ศูนย์หนังสือแห่งจุฬาลงกรณ์มหาวิทยาลัย.
สมโภชน์ ชื่นเอี่ยม. (2553). วิทยาการคอมพิวเตอร์เบื้องต้น. กรุงเทพฯ: ซีเอ็ดยูเคชัน.
โฟ ดิสทริบิวเตอร์ เซ็นเตอร์.
Allen B. Downey.(2011). How to Think Like a Computer Scientist Java Version. Ventus
Wikipedia. (2007). “Object-oriented programming”. [Online] Available: http://en.wikipedia.org/wiki/Object-
Thank you for joining: https://www.facebook.com/groups/883546485084033/?fref=ts I created a group of Android Developers Android and Kotlin Droidcon Github library. If you have any questions, you can ask. You can join in the App Telegram. https://t.me/joinchat/IhB5KQ0aXC7ckNgjRaBaCw Now join Android Developers And Kotlin Droidcon Github Library Community Telegram App to help each other. Joining Link:
PongPloy Zone AppDev
Link : https://www.facebook.com/PPAndroid-Github-Dev-Zone-170227463027435/notifications/
Edit 22/12/2024
-edit video และแก้ไขข้อความ โดยดึงสรุป