หน่วยท่ี 1 ความรู้เบอื้ งต้นและองคป์ ระกอบของโปรแกรมภาษา
ภาษาคอมพิวเตอรแ์ ละการโปรแกรม
รายวิชา ว30284 ออกแบบเทคโนโลยี
ครูผู้สอน นางสาววมิ พณ์ ิชา สรุ ิยันต์
Overview
โปรแกรมภาษา
ข้นั ตอนการพฒั นาโปรแกรม
ภาษาคอมพิวเตอรส์ าหรับนักพัฒนาโปรแกรม
ขัน้ ตอนการพัฒนาโปรแกรมด้วยภาษาซี
2
บทนา
คอมพวิ เตอร์เปน็ อุปกรณอ์ เิ ล็กทรอนกิ ส์ ในการส่ังให้คอมพวิ เตอรท์ างานจะต้องปอ้ นคาสัง่ ท่ีเครือ่ ง
คอมพวิ เตอร์เขา้ ใจใหก้ ับมนั
การนาคาสั่งมาเรยี งต่อกันใหท้ างานอย่างใดอยา่ งหนงึ่ เรยี กวา่ โปรแกรม
ภาษาทีค่ อมพวิ เตอรเ์ ข้าใจเรียกวา่ ภาษาเครอ่ื ง (Machine Language) ซงึ่ เปน็ เลขฐานสอง
มีการออกแบบตวั อักษรภาษาองั กฤษใหแ้ ทนคาสัง่ เลขฐานสอง เรยี กวา่ ภาษาโปรแกรม
(Programming Language)
ภาษาระดับตา่ (Low-level Language) คือภาษา Assembly สว่ นภาษาระดบั สูง (High-level
Language) เช่น ภาษา C, Pascal, Basic เปน็ ต้น
3
โปรแกรมภาษา
การแปลภาษา Assembly เป็นภาษาเครอ่ื ง
โปรแกรมตน้ ฉบับ โปรแกรม รหสั ภาษาเครอ่ื ง
ภาษา Assembly Assembler
4
โปรแกรมภาษา (cont.)
ขั้นตอนการแปลภาษาโปรแกรม
โปรแกรมต้นฉบบั Interpreter รหสั ภาษาเคร่ือง
(แปลทลี ะบรรทัด)
รหสั ภาษาเคร่ือง
โปรแกรมต้นฉบบั Compiler
(แปลทงั้ โปรแกรม) 5
Dennis Ritchie ผ้คู ิดคน้ ภาษา C และระบบปฏิบตั กิ าร Unix
6
ขั้นตอนการพัฒนาโปรแกรม 7
1) กาหนดและวิเคราะหป์ ัญหา
2) เขียนผังงานหรือซูโดโคด้
3) เขียนโปรแกรม
4) ทดสอบและแกไ้ ขโปรแกรม
5) ทาเอกสารและบารุงรกั ษาโปรแกรม
ตัวอย่างท่ี 1: หากตอ้ งการออกแบบโปรแกรมใหร้ บั ค่าขอ้ มลู 3 คา่ แล้ว
แสดงค่าเฉล่ียทางจอภาพ จะกาหนดและวเิ คราะห์ปญั หาอยา่ งไร
นาข้อมูลเข้า ประมวลผล นาข้อมูลออก
รับข้อมลู ตวั ท่ี 1 นาตวั เลขทง้ั แสดงคา่ เฉล่ยี
รับขอ้ มลู ตัวที่ 2 3 ตัวมา เปน็ ทศนยิ ม
รบั ขอ้ มูลตวั ที่ 3 สองตาแหน่ง
รวมกัน แลว้
นาผลรวม
หารด้วย 3
8
ขนั้ ตอนการพัฒนาโปรแกรม: 2) การเขียนผังงานหรือซูโดโคด้
เป็นการใชเ้ ครอ่ื งมือชว่ ยในการออกแบบโปรแกรม
ลาดับขั้นตอนการทางานของโปรแกรม เรียกว่า อลั กอริทึม
(Algorithm)
อลั กอรทิ มึ อาจเขียนใหอ้ ยู่ในรูปซโู ดโคด้ (Pseudo code) หรอื ผงั งาน
(Flowchart) ก็ได้
ซูโดโค้ดจะใช้คาอธบิ ายโดยย่อ ไมม่ รี ูปแบบภาษาตายตวั
ผงั งานจะใช้สัญลกั ษณ์ตา่ ง ๆ แทนการทางาน 9
ตวั อย่างซูโดโค้ดและผงั งานของการจดั เรียงแบบแทรก
(Insertion Sort)
10
ข้ันตอนการพฒั นาโปรแกรม: 3) การเขยี นโปรแกรม
หลงั จากผา่ นการออกแบบมาแล้ว โปรแกรมเมอร์จะตอ้ ง
เขยี นโปรแกรมเพ่อื ให้คอมพวิ เตอรป์ ระมวลผลได้ โดยใช้
ภาษาที่คอมพิวเตอร์เขา้ ใจ
การเขียนโปรแกรมแต่ละภาษาต้องเขียนตามหลักไวยากรณ์
(Syntax) ในภาษานน้ั
การเลอื กใชภ้ าษาจะพิจารณาจากความถนัดของผู้เขียน
โปรแกรมและลกั ษณะของโปรแกรมทจ่ี ะเขยี น 11
ขัน้ ตอนการพัฒนาโปรแกรม: 4) การทดสอบและแก้ไขโปรแกรม
จุดผดิ พลาดของโปรแกรมเรียกว่า บกั (Bug)
การแก้ไขขอ้ ผดิ พลาดให้ถูกต้องเรียกวา่ ดบี กั (Debug)
ข้อผิดพลาดมสี องประเภทคือ
Syntax Error การเขยี นโปรแกรมผิดไวยากรณ์
Logic Error ผลลัพธข์ องโปรแกรมออกมาไม่ถูกต้อง
12
ข้ันตอนการพฒั นาโปรแกรม: 5) ทาเอกสารและบารุงรกั ษา
ทาให้ผู้ใช้สามารถใช้งานโปรแกรมไดอ้ ยา่ งมีประสิทธภิ าพ
เอกสารมี 2 ประเภท คอื User Guide และ Program
Document
การบารงุ รักษาโปรแกรม (Maintenance) ผูเ้ ขยี นโปรแกรมตอ้ ง
คอยตรวจสอบการใชง้ านจรงิ แกไ้ ขขอ้ ผดิ พลาด และอพั เดต
โปรแกรมให้ทนั สมยั อยู่เสมอ
13
ภาษาคอมพวิ เตอร์สาหรบั พัฒนาโปรแกรม
ตัวอย่างเช่น
Basic เป็นภาษาคอมพวิ เตอรร์ ะดบั สูง เกิดขึน้ เมอ่ื ปี 1963 รปู แบบภาษา
คอ่ นขา้ งงา่ ย แตป่ ระสิทธิภาพค่อนข้างตา่
FORTRAN มาจากคาว่า FORmula TRANslator เกดิ ขึ้นเมอ่ื ปี 1950
เหมาะสาหรับใชใ้ นการคานวณทางคณิตศาสตร์
COBOL ช่อื เตม็ คอื Common Business Oriented Language ถกู
ประกาศใช้ในปี 1960 เดมิ ทีเป็นภาษาที่ใชเ้ ขยี นโปรแกรมแบบโครงสร้าง
(Structure) แต่ปัจจุบันได้พฒั นาใหเ้ ขยี นโปรแกรมเชิงวตั ถุ (OOP)
14
ภาษาคอมพิวเตอร์สาหรบั พฒั นาโปรแกรม (cont.)
PASCAL เกิดขึ้นในปี 1970 ต้งั ชอ่ื ตามนักคณติ ศาสตรท์ ่ีประดษิ ฐเ์ ครื่อง
คานวณในยุคแรกๆ เป็นภาษาท่ใี ชเ้ ขียนโปรแกรมเชงิ โครงสร้าง
ภาษา C ถูกพฒั นาขึ้นในหอ้ งปฏิบัติการเบลล์ (Bell Laboratory) ของบรษิ ทั
AT&T ในปี 1970 เพื่อใชบ้ น Unix เปน็ ภาษาทไ่ี ดร้ บั ความนยิ มสูง และ
สามารถควบคุมฮาร์ดแวร์ไดโ้ ดยตรง
C++ พัฒนาต่อจากภาษาซี โดยเพ่ิมความสามารถในการเขยี นโปรแกรม
เชิงวตั ถลุ งไป
C# ถูกพฒั นาขน้ึ เม่ือปี 2000 โดยบริษทั ไมโครซอฟต์ เปน็ ภาษาท่ีใชเ้ ขียน
โปรแกรมเชิงวตั ถุ มีความคลา้ ยคลงึ กับภาษา Java มาก
15
ภาษาคอมพิวเตอร์สาหรบั พัฒนาโปรแกรม (cont.)
Visual Basic (VB) พฒั นาโดยบริษัทไมโครซอฟต์ โดยชุดคาสั่งจะคล้ายกับ
ภาษา Basic เดมิ ผเู้ ขียนสามารถสร้างหนา้ จอเพ่อื ตดิ ตอ่ กับผู้ใช้ได้งา่ ย
Java เกดิ ขึ้นเมอื่ ปี 1995 โดยบรษิ ทั Sun Microsystem (ปัจจบุ ันเป็นของ
Oracle) เป็นภาษาทีพ่ ัฒนาให้เป็นการเขยี นโปรแกรมเชงิ วตั ถโุ ดยเฉพาะ เปน็
ภาษาทีม่ ีการใช้งานอย่างแพรห่ ลายมากทส่ี ดุ ภาษาหน่ึง
Python เกดิ ขึน้ เมือ่ ปี 1991 ถูกพัฒนาโดย Python software foundation
ถกู ออกแบบมาเพือ่ ให้เขียนโปรแกรมโดยใชจ้ านวนบรรทดั น้อยกวา่ ภาษา
C++ หรือ Java เปน็ ภาษาท่ีกาลังไดร้ บั ความนยิ มอย่างมากในปัจจบุ ัน
16
ภาษาโปรแกรมท่ไี ดร้ ับความนิยมทีส่ ุดในโลก ปี 2015
อ้างอิงจาก: http://spectrum.ieee.org/computing/software/the-2015-top-ten-pro1g7ramming-languages
ขน้ั ตอนการพฒั นาโปรแกรมดว้ ยภาษาซี
โดยปกติแลว้ การเขยี นโปรแกรมจะใชซ้ อฟตแ์ วรท์ ่ีเรียกวา่ IDE
(Integrated Development Environment) ในการพัฒนา
IDE ทใี่ ช้กบั ภาษา C เช่น Dev-C++, Turbo C และ Visual C++
18
ข้นั ตอนการพัฒนาโปรแกรมดว้ ยภาษาซี (cont.)
Text Editor Source Code Compiler
Object Include Executable
(Binary) Library file (.exe)
Runner Results 19