More Related Content More from Patcharee Pawleung More from Patcharee Pawleung (17) บทที่ 1 2. ภาษาโปรแกรม (Program Languages)
ภาษาโปรแกรม คือภาษาที่ประดิษฐขึ้นมาเพื่อใชสื่อสารกับเครื่อง
คอมพิวเตอร ภาษาโปรแกรมก็เหมือนภาษามนุษยที่จะตองใชวากยสัมพันธ
(syntax) และความหมาย (semantic) เพื่อกําหนดโครงสรางและ
ตีความหมายตามลําดับ ในโลกนี้มีภาษาโปรแกรมมากกวา 8,500 ภาษาที่
แตกตางกันไป และก็ยังมีภาษาใหมเกิดขึ้นทุกๆ ป ผูที่ใชงานภาษาโปรแกรมเพื่อ
เขียนโปรแกรมติดตอสื่อสารกับคอมพิวเตอรเรียกวา โปรแกรมเมอร
(programmer)
3. ภาษาที่เครื่องเขาใจเรียกวาภาษาเครื่อง(Machine
Language) ซึ่งลักษณะคําสั่งจะเปนรหัสเลขฐาน 2 เมื่อมีการปอนคําสั่งเขา
ไปในเครื่องคอมพิวเตอร รหัสเลขฐาน 2 จะถูกเปลี่ยนเปนสัญญาณทางไฟฟาที่
คอมพิวเตอรเขาใจ แตถามนุษยตองปอนคําสั่งใหกับคอมพิวเตอรเปนเลขฐาน 2
นั้นจะทําไดยาก เพราะเปนภาษาที่มนุษยเขาใจยาก จึงมีการออกแบบตัวอักษร
ภาษาอังกฤษใหแทนคําสั่งรหัสเลขฐาน 2 เหลานั้น เรียกวารหัสนีโมนิก
(mnemonic) ภาษาคอมพิวเตอรที่ใชรหัสนีโมนิกในการเขียนโปรแกรม
เรียกวา ภาษาแอสเซมบลี สําหรับภาษาแอสเซมบลีเปนภาษาที่ทํางานไดเร็ว
เพราะเขาถึงหนวยประมวลผลไดเร็วที่สุด เราเรียกภาษานี้วาภาษาระดับต่ํา
(Low Language) ตอมาไดมีการพัฒนาชุดคําสั่งภาษาตางๆขึ้นมาเพื่อให
มีความใกลเคียงกับภาษาที่มนุษยเขาใจ จึงเรียกภาษาแบบนั้นวา ภาษา
ระดับสูง (High Language)
4. ภาษาโปรแกรมที่สําคัญ
1. ภาษาเครื่อง (Machine Languages)
2. ภาษาระดับต่ํา (Low-level Languages) ไดแก ภาษาแอสเซมบลี
(Assembly)
3. ภาษาระดับสูง (High-level Languages) ไดแก
-ภาษาซี (C)
-ภาษาซีพลัสพลัส (C++)
-ภาษาซีชารป (C#)
-ภาษาปาสกาล (Pascal)
-ภาษาเบสิก (BASIC)
-ภาษาฟอรแทรน (FORTRAN)
-ภาษาจาวา (Java)
-ภาษาโปรล็อก (Prolog)
5. 1. ภาษาเครื่อง
ภาษาเครื่อง (Machine Languages)เปนภาษาหรือคําสั่งที่ใชในการสั่งงานหรือติดตอกับ
เครื่องโดยตรง ลักษณะสําคัญของภาษาเครื่องจะประกอบดวยรหัสของเลขฐานสองซึ่งเทียบไดกับ
ลักษณะของสัญญาณทางไฟฟาเขากับหลักการทํางานของเครื่องสามารถเขาใจและพรอมที่จะ
ทํางานตามคําสั่งไดทันที ภาษาเครื่องจะมีกฎเกณฑทางไวยากรณคอนขางจํากัด โปรแกรมมี
ลักษณะคอนขางยุงยากซับซอนลักษณะของโปรแกรมจะประกอบดวยกลุมของรหัสคําสั่งซึ่ง
ประกอบดวยเลขฐานสองเรียงตอกัน ซึ่งผูเขียนโปรแกรมจะตองทราบเทคนิคการใชรหัสคําสั่ง
และจะตองจําตําแหนงของคําสั่งและขอมูลที่ถูกเก็บไว เพราะเนื่องจากเครื่องคอมพิวเตอรแตละ
บริษัทจะใชภาษาเครื่องของตนเอง และผูเขียนโปรแกรมจะตองเขาใจระบบการทํางานของเครื่อง
เปนอยางดี ดังนั้นการเขียนโปรแกรมเปนภาษาเครื่องจึงมีผูเขียนอยูในวงจํากัด เพราะตองมีความรู
ทางดานเครื่องและรหัสของเครื่องจึงจะเขียนโปรแกรมได ภาษาเครื่องของคอมพิวเตอรแตละ
ระบบจะแตกตางกัน ทําใหเกิดความไมสะดวกเมื่อมีการเปลี่ยนเครื่องคอมพิวเตอรระบบใหมก็
จะตองเขียนโปรแกรมใหม
6. 2. ภาษาระดับต่ํา
ภาษาระดับต่ํา ในทางคอมพิวเตอร หมายถึง ภาษาที่อิงกับสถาปตยกรรม
คอมพิวเตอรใดสถาปตยกรรมหนึ่ง ซึ่งไมโครโพรเซสเซอรแตละรุน หรือ แตละตระกูล ก็
มักมีภาษาระดับต่ําที่แตกตางกัน และโดยปกติแลว หนึ่งคําสั่งในภาษาระดับต่ํา จะ
หมายถึงการสั่งงานคอมพิวเตอรใหทํางานหนึ่งอยาง (1 instruction = 1
operation) ภาษาระดับต่ํา มี 2 ภาษา คือ
8. 2.2 ภาษาแอสเซมบลี เปนการปรับภาษาเครื่องใหสามารถเขียนไดสะดวกขึ้นโดยการพิมพ
คําสั่งที่เปน ตัวอักษรแทนตัวเลข เวลาเขียนเสร็จ จะตองใชตัวแปลโปรแกรมจึงจะใชงานได และ
ถึงแมวาไมใชภาษาเครื่องโดยตรง ผูเขียนโปรแกรมยังจําเปนตองเขาใจโครงสรางของไมโคร
โพรเซสเซอรที่กําลัง เขียนเปนอยางดี ( ภาษาแอสเซมบลี (Assembly Language) หมายถึง ภาษาที่
ใชในการเขียนโปรแกรมภาษาหนึ่งซึ่งจะทํางานโดยขึ้นกับรุนของไมโครโพรเซสเซอร หรือ
"หนวยประมวลผล" (CPU) ของเครื่องคอมพิวเตอร การใชภาษาแอสเซมบลีจําเปนตองผานการ
แปลภาษาดวยคอมไพเลอรเฉพาะเรียกวา แอสเซมเบลอร (assembler) ใหอยูในรูปของรหัสคําสั่ง
กอน โดยปกติ ภาษานี้คอนขางมีความยุงยากในการใชงาน และการเขียนโปรแกรมมีจํานวน
บรรทัดมากมากกวา เมื่อเปรียบเทียบกับการใชภาษาระดับสูง เชน ภาษา C หรือภาษา BASIC แต
จะใหผลลัพธการทํางานของโปรแกรมเร็วกวา และขนาดของตัวโปรแกรมมีขนาดเนื้อที่นอยกวา
โปรแกรมที่สรางจากภาษาอื่นมาก จึงนิยมใชภาษานี้เมื่อตองการประหยัดเวลาทํางานของเครื่อง
คอมพิวเตอร และเพิ่มประสิทธิภาพของโปรแกรม )
9. ภาษาระดับสูง (High Level Language) เปนภาษาที่ใชงายขึ้นกวาภาษาสัญลักษณ
โดยผูคิดคนภาษาไดออกแบบ คําสั่ง ไวยากรณ และกฎเกณฑตางๆ ออกมาใหรัดกุม และ
จําไดงาย ภาษาระดับสูงนี้ยังอาจจะแบงออกไดเปนหลายประเภท เชน ประเภทที่เหมาะ
กับงานวิทยาศาสตรและวิศวกรรมศาสตรไดแก ภาษา Fortran ภาษา BASIC ภาษา
PASCALภาษา C ประเภทที่เหมาะกับงานธุรกิจไดแก ภาษา COBOL ภาษา RPG
ประเภทที่เหมาะกับงานควบคุมเครื่องคอมพิวเตอรเอง ไดแก ภาษา C โปรแกรมที่จัดทํา
ขึ้นโดย ใชภาษาระดับนี้ก็เชนเดียวกับโปรแกรมภาษาสัญลักษณคือ จะตองใชตัวแปล
ภาษาแปลใหเปนโปรแกรมภาษาเครื่องกอน คอมพิวเตอรจึงจะเขาใจและทํางานใหได
ไดแก ภาษาดังตอไปนี้
3. ภาษาระดับสูง
10. ภาษาซี (C programming language) เปนภาษาโปรแกรมเชิงโครงสรางระดับสูง
สําหรับใชในระบบปฏิบัติการยูนิกซ ตอมาภายหลังไดถูกนําไปใชกับระบบปฏิบัติการ
อื่น ๆ และกลายเปนภาษาโปรแกรมหนึ่งที่ใชกันแพรหลายมากที่สุด ภาษาซีมีจุดเดนที่
ประสิทธิภาพในการทํางาน โปรแกรมคอมพิวเตอรที่เขียนดวยภาษาซีจึงทํางานได
รวดเร็ว ภาษาซีเปนภาษาโปรแกรมที่นิยมใชกันมากสําหรับพัฒนาระบบปฏิบัติการ,
ซอฟตแวรระบบ , ควบคุมไมโครคอนโทรลเลอร และเปนภาษาที่ใชกันทั่วไปใน
หลักสูตรวิทยาการคอมพิวเตอร
ภาษาซี
12. ภาษาซีพลัสพลัส (C++ programming language) เปนภาษาโปรแกรม
คอมพิวเตอรอเนกประสงค มีโครงสรางภาษาที่มีการจัดชนิดขอมูลแบบสแตติก
(statically typed) และสนับสนุนรูปแบบการเขียนโปรแกรมที่หลากหลาย (multi-
paradigm language)
ภาษาซีพลัสพลัส
14. ภาษา ซีชารป (C# Programming Language) เปนภาษาโปรแกรม
เชิงวัตถุทํางานบนดอตเน็ตเฟรมเวิรก พัฒนาโดยบริษัทไมโครซอฟทและ
มีAnders Hejlsberg โดยมีรากฐานมาจากภาษาซีพลัสพลัสและภาษา
อื่นๆ
ภาษาซีชารป
16. ภาษา ปาสกาล (Pascal programming language) เปนภาษาโปรแกรมที่ใชกัน
อยางกวางขวาง โดยเฉพาะในวงการศึกษา คิดคนขึ้นโดย นิเคลาส แวรท (Niklaus
Wirth) นักวิทยาศาสตรคอมพิวเตอรชาวสวิตเซอรแลนด ในป ค.ศ. 1970 เพื่อชวยใน
การเรียนการสอนการเขียนโปรแกรมโครงสราง (structured programming). ภาษาปาส
กาลนั้นพัฒนาขึ้นมาจาก ภาษาอัลกอล (Algol) ซึ่งมีโครงสรางคลายกับภาษาปาสกาล
แตสามารถรองรับการเขียนโปรแกรมเชิงวัตถุ (object-oriented programming) ได
ภาษาปาสกาล
17. โปรแกรมภาษาปาสกาลทุกอัน จะเริ่มตนดวยคียเวิรด Program และสวน
ของโคดจะอยูระหวางคียเวิรด Begin และ End ภาษาปาสกาลนั้นไมสนใจความ
แตกตางระหวางตัวพิพมใหญและตัวพิพมเล็ก ("end" มีผลเทากับ "End") เซมิโค
ลอน (;) ใชเมื่อจบคําสั่ง และ จุลภาค (.) ใชเมื่อจบโปรแกรม
program HelloWorld(input, output);
begin
WriteLn('Hello, World!');
end.
โครงสรางอยางงาย
18. ภาษา เบสิก (BASIC programming language) เปนภาษาโปรแกรมที่ออกแบบมา
ใหใชงานไดงาย และยังไดรับความนิยมมาจนถึงทุกวันนี้ ชื่อภาษาเบสิก หรือ BASIC ยอ
มาจาก Beginner's All-purpose Symbolic Instruction Code ตองเขียนดวยตัวพิมพใหญ
เสมอ บริษัท ไมโครซอฟทไดนําภาษาเบสิกมาปรับปรุงใหทันสมัย และพัฒนาเครื่องมือ
พัฒนาโปรแกรม Visual Basic ทําใหเบสิกไดรับความนิยมในการพัฒนาโปรแกรมยุค
ใหม รุนลาสุดของวิชวลเบสิกเรียกวา VB.NET
ภาษาเบสิก
19. ภาษาฟอรแทรน (FORTRAN)
ภาษาฟอรแทรน (FORTRAN - FORmula TRANslation) จัดไดวาเปนภาษาระดับ
สูงภาษาแรกของโลก พัฒนาในป ค.ศ. 1954 โดยทีมนักคอมพิวเตอร บริษัท ไอบีเอ็ม
(IBM)
ตัวอยางโปรแกรมที่เขียนดวยภาษา FORTRAN
programme
cc
integer int
int = 12
write(*,*) 'The value of int is',
+ int
end
stop
20. ภาษา จาวา (Java programming language) เปนภาษาโปรแกรมเชิง
ซึ่งมีจุดประสงคเพื่อใชแทนภาษาซีพลัสพลัส (C++) โดยรูปแบบที่เพิ่มเติมขึ้นคลาย
กับภาษาอ็อบเจกตทีฟซี (Objective-C) แตเดิมภาษานี้เรียกวา ภาษาโอก (Oak) แตวามี
ปญหาทางลิขสิทธิ์ จึงเปลี่ยนไปใชชื่อ "จาวา" แทน แมวาจะมีชื่อคลายกัน แตภาษา
จาวาไมมีความเกี่ยวของใด ๆ กับภาษาจาวาสคริปต (JavaScript)
ภาษาจาวา
21. ภาษาโปรล็อก (Prolog) เปนภาษาสําหรับการเขียนโปรแกรมเชิง
ตรรกะ และถูกนําไปใชในโปรแกรมสําหรับปญญาประดิษฐ และภาษาศาสตร
เชิงคํานวณ (computational linguistics) โดยเฉพาะการประมวลผล
ภาษาธรรมชาติ ไวยากรณและความหมายของภาษานั้นเรียบงายและชัดเจน
(เปาหมายแรกของภาษาคือเปนเครื่องมือสําหรับนักภาษาศาสตรที่ไมรู
คอมพิวเตอร)
ภาษาโปรล็อก (Prolog)
22. การเขียนภาษาโปรแกรม คือ การใสชุดคําสั่งที่จะใหคอมพิวเตอรทํางาน ตาม
เปาหมายที่เราตองการ ซึ่งชุดคําสั่งที่ใสลงไปนั้น เรา(โปรแกรมเมอร) จะตองเปนผู
พิมพคําสั่งลงไปเอง และตองเปนคําสั่งที่ถูกตองตามหลักไวยากรณ (Syntax)และ
โครงสรางของภาษาที่เราเลือกใช (ดังนั้นเราจะตองเรียนรูเกี่ยวกับการใชรูปแบบคําสั่ง
ของภาษานั้น) หลังจากพิมพคําสั่งลงไปทั้งหมดเราก็จะไดมาซึ่งซอรสโคดของภาษา
โปรแกรมโดยปกติแลวจะอยูในรูปแบบขอความตัวอังกฤษธรรมดา ซึ่งไมสามารถ
นําไปใชงานได จะตองผานกระบวนการที่ทําใหซอรสโคดสามารถใชงานได เราเรียก
ขั้นตอนนี้วา การคอมไพล หรือ อินเทอรพรีท หรือ แอสเซม แลวแตภาษาโปรแกรมที่
เราใช ดังนี้
การเขียนภาษาโปรแกรม (Programing)
23. 1. ถาเปน ภาษาปาสคาล,ภาษาซี,ภาษาเบสิก เรียกตัวแปลซอรสโคดชนิด
นี้วา คอมไพเลอร คอมไพล เปนการแปลซอรสโคดนั้นใหเปนภาษาเครื่อง
(machine language) หนึ่งครั้ง เพื่อใหไดแฟมขอมูลที่สามารถทํางานได
2. ถาใช ภาษา Logo, HTML เรียกตัวแปลซอรสโคดชนิดนี้วา อินเทอร
พรีทเตอร อินเทอรพรีท เปนการแปลซอรสโคดใหเปนภาษาเครื่อง(machine
language) ทุกครั้งที่ตองการใชโปรแกรม
3. ถาใชภาษาแอสเซ็มบลี เทานั้นเรียกตัวแปลซอรสโคดชนิดนี้วา แอส
เซ็มเบลอร แอสเซ็ม เปนการแปลซอรสโคดนั้นใหเปนภาษาเครื่อง(machine
language) หนึ่งครั้ง เพื่อใหไดแฟมขอมูลที่สามารถทํางานได
25. ขั้นตอนนี้ถือวาเปนขั้นตอนที่สําคัญที่สุด นักวิเคราะหระบบ / ผูเขียนโปรแกรม
ตองวิเคราะหปญหาใหออกวาจะเขียนโปรแกรมเพื่อแกปญหาอะไร ตองใชขอมูล
อะไรบางเพื่อใหไดผลลัพธตามตองการ มีขั้นตอนการประมวลผลอยางไร เปนตน ซึ่ง
ในการวิเคราะหปญหานั้นมีประเด็นที่ตองพิจารณาออกมาเปนขอๆ ดังนี้
1.วิเคราะหปญหา (Analysis)
26. 1.1 ตองการอะไร
จะตองอธิบายวางานที่ตองการใหคอมพิวเตอรทํานั้น ตองการใหทําอะไร โดยอาจ
เปนการเขียนออกมาเปนขอๆ ก็ได
1.2 ตองการเอาตพุตอยางไร
อธิบายลักษณะของผลลัพธอยางละเอียดวาตองการเปนอยางไร เชน ตองการให
แสดงผลออกทางจอภาพ หรือ เครื่องพิมพ หรือลําโพง ผลลัพธที่ไดตองการทศนิยมกี่
ตําแหนง การแสดงผลหนาแรกเปนอยางไร หนาตอไปเปนอยางไร มีเลขหนาหรือไม มี
สวนหัวสวนทายของเอกสารหรือไมเปนตน
1.3 ขอมูลเขาเปนอยางไร
สวนนี้มักจะออกแบบหลังจากไดออกแบบสวนแสดงผลไปแลว โดยเมื่อทราบ
รูปแบบของผลลัพธแลว จะตองมาดูวาถาหากตองการขอมูลแบบที่ตองการ แลวขอมูล
ทางอิตพุตควรเปนอยางไร
27. 1.4 ตัวแปรที่ใช
เพื่อบอกวาจะใชตัวแปรอะไรแทนขอมูลนําเขา หรือแทนคาที่อยูในระหวางการ
ประมวลผล ตลอดจนตัวแปรที่ใชแสดงผลลัพธ
1.5 วิธีการประมวลผลเปนอยางไร
อธิบายถึงลําดับขั้นตอนของการประมวลผล วิธีการแกปญหาเพื่อใหไดผลลัพธ
ตามที่ตองการ โดยตองพิจารณาวาขอมูลตางๆที่รับเขาไปนั้นจะตองเก็บในตัวแปรกี่ตัว
เปนตัวแปรประเภทใด การประมวลผลมีขั้นตอนกระทํากับตัวแปรนั้นๆอยางไรบาง ถา
หากตองการประมวลผลกับขอมูลหลายคาจะรับขอมูลเขาไปที่ละคาแลวประมวลผล หรือ
รับขอมูลเขาไปทั้งหมดแลวประมวลผล
32. การวางแผน คือการนําปญหาที่วิเคราะหไดจากขั้นตอนที่ 1 มาวางแผนการ
ทํางานอยางเปน
ขั้นตอนวาจะตองเขียนโปรแกรมอยางไร จะใหโปรแกรมทําอะไรกอนหลัง การ
วางแผนอยางเปน
ขั้นตอนนี้ เรียกวา อัลกอริทึม (Algorithm) ซึ่งอัลกอริทึมสามารถทําได 2
รูปแบบคือ
1.อัลกอริทึมแบบ ซูโดโคด (Pseudocode) คือ การเขียนอัลกอริทึมโดยใช
ประโยคภาษาอังกฤษที่สื่อความหมายงายๆวาตองการใหโปรแกรมทําอะไรอยาง
เปนลําดับขั้นตอน สามารถอานแลวเขาใจไดทันที่
33. 2. อัลกอริทึมแบบ โฟลวชารต (Flowchart) คือ การเขียนอัลกอริทึมโดยใช
สัญลักษณรูปภาพเปนตัวสื่อความหมายวาตองการใหโปรแกรมทําอะไรอยางเปน
ลําดับขั้นตอน
ตัวอยาง การทําอัลกอริทึมแบบซูโดโคด (Pseudocode)
start
Read x
Read y
Compute sum = x+y
Print sum
stop