หนวยการเรียนรูที่ 1
หลกั การเขยี นโปรแกรมดวยภาษาคอมพวิ เตอร
ประวัติความเปนมาและววิ ัฒนาการของการพัฒนางานดวยโปรแกรมภาษาซีมาพอสงั เขป
ภาษาซี (C) เปนภาษาโปรแกรมสําหรับวัตถุประสงคท่ัวไป เร่ิมพัฒนาขึ้นระหวาง ค.ศ. 1969-1973
(พ.ศ. 2512-2516) โดยเดนนสิ รชิ ช่ี (Denis Retchie) ท่ีเอทแี อนดทเี บลลแลบ็ (AT&T Bell Labs)
ค.ศ. 1970 Ken Thompson ไดพัฒนาภาษา B ใหทํางานบนเครื่อง DEC PDP-7 แตไมสามารถ
ทํางานบนเครื่องไมโครคอมพิวเตอรไดและยังมีขอจํากัดในการใชงานอยู ภาษา B สืบทอดมาจากภาษา BCPL
ซงึ่ เขียนโดย Martin Richards
ค.ศ. 1972 Dennis M. Ritchie และ Ken Thompson ไดสรางภาษา C เพ่ือเพ่ิมประสิทธิภาพภาษา
B ใหดยี ่ิงขนึ้
ค.ศ. 1978 Brian W. Kernighan และ Dennis M. Ritchie ไดเขียนหนังสือเลมหน่ึงชื่อวา The C
Programming Language และหนังสือเลมนี้ทําใหบุคคลท่ัวไปรจู ักและนิยมใชภาษา C ในการเขียนโปรแกรม
มากข้ึน
แตเดิมภาษา C ใช Run บนเครื่องคอมพิวเตอร 8 bit ภายใตระบบปฏิบัติการ CP/M ของ IBMPC
ซึ่งในชวงป ค. ศ. 1981 เปนชวงของการพัฒนาเคร่ืองไมโครคอมพิวเตอร ภาษา C จึงมีบทบาทสําคัญใน การ
นํามาใชบนเครื่อง PC และมีการพัฒนาตอมา ดังนั้นเพ่ือกําหนดทิศทางการใชภาษา C ใหมีแนวทางเดียวกัน
ANSI (American National Standard Institute) ไดกําหนดขอตกลงท่ีเรียกวา 3J11 เพื่อสรางภาษา C
มาตรฐานข้ึนมา เรยี กวา ANSI C
ค.ศ. 1983 Bjarne Stroustrup แหงหองปฏบิ ัตกิ ารเบลล (Bell Laboratories) ไดพ ัฒนาภาษา C++
ขึ้น รายละเอียดและความสามารถของภาษา C++ มีสวนขยายเพิ่มจากภาษา C ท่ีสําคัญๆ ไดแก
แนวความคิดของการเขียนโปรแกรมแบบกําหนดวัตถุเปาหมายหรือแบบ OOP (Object Oriented
Programming) ซง่ึ เปน แนวการเขียนโปรแกรมทีเ่ หมาะกับการพฒั นาโปรแกรมขนาดใหญที่มีความ ซบั ซอน
มาก มขี อมูลทีใ่ ชในโปรแกรมจํานวนมาก จงึ นิยมใชเทคนคิ ของการเขยี นโปรแกรมแบบ OOP ในการพฒั นา
โปรแกรมขนาดใหญใ นปจ จบุ นั น้ี
ภาษา C++ มีรากฐานมาจากภาษา C และเปนภาษาท่ีคลุมภาษา C ไว ภาษา C++ ยังคงรักษา
ความสามารถและความยืดหยุนของ C ในการเขียนโปรแกรมระบบตํ่า รวมท้ังโปรแกรมควบคุมฮารดแวร
ที่สําคัญกวานั้นคือ ภาษา C++ ใหการสนับสนุนการเขียนโปรแกรมแบบ Object Oriented C++ จัดเปน
ภาษาท่ีมีความสามารถมากกวา ADA และ Modula-2 ขณะที่ยังคงความมีประสิทธิภาพและความกะทัดรัด
ของภาษา C ไว ดังน้ันจึงเปนภาษาโปรแกรมภาษาหน่ึงท่ียอมใหโปรแกรมเมอรเขียนโปรแกรมแบบ
มโี ครงสรางและเขยี นโปรแกรมเชิงวตั ถุไดอ ยา งมีประสิทธิภาพ
ภาษา C++ เปนภาษาผสม (Hybrid Language) โดยอาจแกปญหาหนึ่งดวยวิธี Object Oriented
ลวนๆ หรืออาจแกปญหาดวยการใชภาษาแบบเกาซ่ึงมีโครงสรางบางอยางเพ่ิมข้ึนจากภาษา C ในทาง
ปฏิบตั ิการแกปญหาจะสะทอ นใหเ ห็นวธิ ีการทงั้ 2 แบบ
ภาษา C++ ถูกพัฒนาโดย Bjane Stroustrup ท่ี Bell Labs ในชวงป ค.ศ. 1980 Dr.Stroustrup
พัฒนาภาษาน้ีขึ้นเพ่ือเขียนซอฟตแวรจําลองเหตุการณ (Event Driven Simulation) ที่มีความซับซอน ซึ่งมี
Rick Mascitti เปนผูตง้ั ชอื่ ของภาษานใี้ หก ับเขา
ภาษา C++ ถูกออกแบบใหสงเสริมการพัฒนาซอฟตแวรขนาดใหญโดยเพ่ิมการตรวจสอบ Type
เขาไปเม่ือเปรียบเทียบกับภาษา C แลวจะลดขอผิดพลาดลงไดมาก เพราะวาภาษา C ยอมใหโปรแกรมเมอร
ควบคมุ ระบบในระดับตาํ่ ไดโดยตรง โปรแกรมเมอรจํานวนมากจึงทํางานโดยเริ่มจากโครงสรางระดับตาํ่ แลวนํา
สวนตางๆ เหลานี้มาประกอบกันเปนโครงสรางใหญ แตในภาษา C++ จะทําในทางตรงกันขาม คือกําหนด
โครงสรา งใหญกอนนํามาสมั พนั ธก ันแลวจงึ กาํ หนดโครงสรางยอยๆ ตอ ไป
ขนั้ ตอนในการพัฒนาโปรแกรมดว ยภาษาซี
ขั้นตอนในการพฒั นาโปรแกรมดว ยภาษาซี มดี งั น้ี
1) การสราง Source File หรือแฟมตนฉบับเปน Text File โดยการใชสวน Editor ของ IDE
หรือสรางจาก Editor ของโปรแกรมอ่ืนๆ เม่ือสรางเสร็จแลวจึงบันทึก Source File ไวโดยกําหนดสวนขยาย
เปน CPP เชน TEST.CPP (C Plus Plus) โดย Source File น้ีจะตองสรางใหถูกตองตามโครงสรางและ
ไวยากรณของภาษา C++ ท้ังหมดกอ น
2) การคอมไพล (Compile) เปนการใชตัวโปรแกรมหรือ Compiler ของ C++ ในการแปล
Source File ใหเปนไฟลภาษาเคร่ืองท่ีเรียกวา Object File หรือ Object Code จะไดไฟลที่มีสวนขยายเปน
OBJ เพิ่มขน้ึ มาอีกหนึง่ ไฟล เชน TEST.OBJ เปนตน
3) การเช่ือมโยง (Linking) เปนขั้นตอนการเช่ือมโยงไฟลประเภท OBJ เขากับแฟมจากคลัง
(Library) ของภาษา C++ จํานวน 1 แฟมหรอื มากกวา ซึ่งไฟลใ น Library นจี้ ดั เตรียมไวโ ดยผสู รางภาษา C++
ผลก็คือจะไดผลลัพธเปนไฟลที่สามารถนําไปทํางานหรือ Run ไดโดยอิสระหรือที่เรียกวา Executable File มี
สวนขยายเปน EXE เชน TEST.EXE เปน ตน
ข้ันตอนของการสราง Source File การ Compile และการ Link ทั้งหมดจะดําเนินการไดใน IDE
ของ C++ ท่ีจัดเตรียมไวใหแลวอยางอัตโนมัติ ทําใหผูเขียนโปรแกรมสามารถสรางโปรแกรมดวยภาษา C++
สะดวกย่งิ ขึ้น
แผนภาพแสดงขั้นตอนการพฒั นาโปรแกรมดวย C++
โปรแกรมภาษาคอมพิวเตอร
ในการเขียนโปรแกรมคอมพิวเตอรไมวาจะเขียนดวยภาษาระดับสูงหรือภาษาระดับต่ํา จะตองแปลง
ภาษาเหลา น้ันใหเปน รหัสภาษาเคร่ืองคอมพิวเตอรเสยี กอน คอมพิวเตอรจงึ จะทํางานได ตามทีไ่ ดกลาวมาแลว
วา ภาษาคอมพิวเตอรเ ปนการนําชุดคาํ สั่งแตละคําสงั่ มาตอกันใหคอมพิวเตอรทํางาน การเขียนชดุ คําสั่งนี้ไมวา
จะเขียนดวยภาษาอะไรจะเรียกวาโปรแกรมตนฉบับ (Source Program) หรือรหัสตนฉบับ (Source Code)
จากน้ันจะตอ งแปลงใหเ ปนภาษาเครอ่ื งท่ีคอมพิวเตอรท ํางานไดเ รยี กวา Executable Program
ในการเขียนโปรแกรมดวยภาษาแอสแซมบลี จะใชตัวแปลภาษาใหเปนภาษาเครื่องที่เรียกวา
แอสแซมเบลอร (Assembler) ขัน้ ตอนการแปลสามารถเขยี นไดด ังแผนภาพ
แผนภาพแสดงข้ันตอนการแปลภาษา
ประเภทของโปรแกรม
โปรแกรมทส่ี งั่ ใหคอมพิวเตอรทาํ งานนั้น สามารถแบงตามประเภทการใชงานไดดงั น้ี
1) ระบบปฏิบัติการหรือโอเอส (OS: Operating System) โปรแกรมประเภทนี้จะทําหนาท่ี
คอยดูแลระบบ รวมท้ังติดตอกับฮารดแวรสวนตางๆ ควบคุมการทํางานของคียบอรด จอภาพ ระบบอาน
และบันทึกขอมูล ทําใหผูใชและผูพัฒนาโปรแกรมตางๆ ไมตองเขียนโปรแกรมติดตอกับระบบเอง
โปรแกรมประเภทนี้ ไดแก ดอส (DOS: Operating System), โปรแกรม UNIX, โปรแกรม Windows7, 8,
8.1/Windows10
2) โปรแกรมอเนกประสงค (Utility Program) โปรแกรมประเภทนี้จะชว ยอํานวยความสะดวก
ใหกับผูใชคอมพิวเตอรและยังเปนเครือ่ งมือในการแกไขปญหาหรือวิเคราะหปญหา รวมทั้งตรวจสอบ ระบบได
อีกดวย โดยมีโปรแกรมที่ทํางานหลายประเภท เชน โปรแกรมตรวจสอบความเร็วของ คอมพิวเตอร
โปรแกรม McAfee Virus Scan สําหรับตรวจหาไวรัส โปรแกรมตรวจสอบตัวเคร่ือง โปรแกรม WinZip
สาํ หรับบบี ขอมลู เปนตน
3) โปรแกรมประยุกต (Application Program) โปรแกรมประเภทนี้บางครั้งจะเรียกวา
ซอฟตแวรสําเร็จรูป (Package Software) เปนโปรแกรมที่พัฒนาขึ้นมาสําหรับงานเฉพาะดาน มีการทํางานท่ี
แตกตางกัน เชน โปรแกรมเกม โปรแกรมดานงานบัญชี โปรแกรมดานดาตาเบส โปรแกรมดานกราฟก
และแอนเิ มชัน โปรแกรมดานอนิ เทอรเ น็ต และโปรแกรมดานการประมวลผลคํา เปนตน
วิธีการตดิ ตั้งโปรแกรม CodeBlocks
ข้นั ตอนการตดิ ตง้ั โปรแกรม CodeBlocks มดี ังน้ี
1) ดับเบิลคลิกไฟลสําหรับติดตั้งโปรแกรมที่เราดาวนโหลดมาไวแลว จะปรากฏหนาตางโลโก
ของโปรแกรมขึ้นมา จากน้ันจะแสดงหนาตางตอนรับเขาสูข้ันตอนเริ่มตนของการติดตั้งโปรแกรมให กด
ปุม Next
หนาตางตอนรบั เขาสขู ้ันตอนเรม่ิ ตน ของการติดตัง้ โปรแกรม
2) หลังจากนั้นจะปรากฏหนา ตา งแสดงรายละเอียด License ของโปรแกรม ใหกดปมุ I Agree
หนา ตา งแสดงรายละเอียด License ของโปรแกรม
3) จากน้ันจะปรากฏหนาตางแสดงรายการ Component ท่ีจะติดตั้ง ซึ่งก็ใหเลือกตัวเลือก Full:
All plugins, all tools, just everything ซง่ึ เปน คา Default install เพ่อื จะไดตดิ ตง้ั สว นเสรมิ ทั้งหมด จากนั้น
กก็ ดปมุ Next
รายการ Component ทีจ่ ะตดิ ตง้ั
4) หลังจากนั้นจะเปนหนาตางสําหรับเลือก Folder ปลายทางในการติดต้ังโปรแกรม ซึ่งสามารถ
ใชค า Default ท่โี ปรแกรมตั้งใหหรอื จะเลือก Folder ใหมก ไ็ ดตามความตอ งการ จากนัน้ กก็ ดปุม Install
เลือก Folder ปลายทางในการตดิ ตัง้ โปรแกรม
การติดต้งั โปรแกรม
5) รอจนกระท่ังโปรแกรมติดต้ังเสร็จก็จะขึ้นหนาตางเพื่อถามวา จะ Run โปรแกรม Code Blocks
เลยหรอื ไม แลวกดปมุ Yes เพือ่ เร่ิมการทาํ งานของโปรแกรม
หนาตา งยนื ยนั การ Run โปรแกรม CodeBlocks เลยหรอื ไม