หน่วยการเรียนรู้ที่ 1
-
Upload
sublt-masu -
Category
Education
-
view
311 -
download
5
Transcript of หน่วยการเรียนรู้ที่ 1
ประวตและขนตอนการพฒนาโปรแกรมภาษาซ
ภาษาซเกดขนในป ค.ศ. 1972 ผคดคนคอ Dennis RittchieโดยพฒนามาจากภาษาB และ ภาษา BCPL
ป ค.ศ. 1978 Brain Kernighan ไดรวมกบ Dennis Ritchie มาพฒนามาตรฐานของภาษาซ เรยกวา K&R ท าใหมผสนใจมากขน จงเกดภาษาซอกหลายรปแบบ
ป 1988 Ritchie จงไดก าหนดมาตรฐานของภาษาซเรยกวา ANSI C เพอใชเปนตวก าหนดมาตรฐานในการสรางภาษาซรนตอไป
ภาษาซระดบกลางเหมาะสมส าหรบการเขยนโปรแกรมแบบโครงสราง ภาษาซ เปนภาษาทมความยดหยนมากคอใชงานไดกบเครองตางๆไดและปจจบนภาษาซเปนภาษาพนฐานของภาษาโปรแกรมรนใหม ๆ เชน C++
ใช editor เขยนโปรแกรมภาษาซและท าการบนทกไฟลใหมนามสกลเปน .c เชน work.c เปนตน
editor คอ โปรแกรมทใชส าหรบการเขยนโปรแกรมโดยตวอยางของ editor ทนยมน ามาใชในการเขยนโปรแกรมไดแก Notepad,Edit ของ Dos ,TextPad และ EditPlus เปนตน
น า source code จากขนตอนท 1 มาท าการคอมไพล เพอแปลจากภาษาซทมนษยเขาใจไปเปนภาษาเครองทคอมพวเตอรเขาใจได
หากเกดขอผดพลาด จะแจงใหผเขยนโปรแกรมทราบ ผเขยนโปรแกรมจะตองกลบไปแกไขโปรแกรม และท าการคอมไพลโปรแกรมใหมอกครง
หากไมพบขอผดพลาด คอมไพเลอรจะแปลไฟล source code จากภาษาซไปเปนภาษาเครอง (ไฟลนามสกล .obj) เชนถาไฟล source code ชอ work.c กจะถกแปลไปเปนไฟล work.obj ซงเกบภาษาเครองไวเปนตน
เปนตวแปลภาษารปแบบหนง มหนาทหลกคอการแปลภาษาโปรแกรมทมนษยเขยนขนไปเปนภาษาเครอง โดยคอมไพเลอรของภาษาซ คอ C Compiler ซงหลกการทคอมไพเลอรใช เรยกวา คอมไพล (compile) โดยจะท าการอานโปรแกรมภาษาซทงหมดตงแตตนจนจบ แลวท าการแปลผลทเดยว
จะท าการอานและแปลโปรแกรมทละบรรทด เมอแปลผลบรรทดหนงเสรจกจะท างานตามค าสงในบรรทดนน แลวจงท าการแปลผลตามค าสงในบรรทดถดไป หลกการทอนเตอรพรเตอรใชเรยกวา อนเตอรเพรต (interpret)
ของตวแปลภาษาทงสองแบบ
ขอดท างานไดเรว เนองจากท าการแปลผลทเดยว แลวจงท างานตามค าสงของโปรแกรมในภายหลง เมอท าการแปลผลแลว ในครงตอไปไมจ าเปนตองท าการแปลผลใหมอก เนองจากภาษาเครองทแปลไดจะถกเกบไวทหนวยความจ า สามารถเรยกใชงานไดทนท
ขอเสย เ ม อ เ ก ดขอผ ดพล าด ขนกบ โปรแกรมจะตรวจสอบหาขอผดพลาดไดยาก เพราะท าการแปลผลทเดยวท งโปรแกรม
ขอดหาขอผดพลาดของโปรแกรมไดงาย เนองจากท าการแปลผลทละบรรทด เนองจากท างานทละบรรทดดงนนจงสงใหโปรแกรมท างานตามค าสงเฉพาะจดทตองการได ไมเสยเวลารอการแปลโปรแกรมเปนเวลานาน
ขอเสย ชา เนองจากทท างานทละบรรทด
ภาษาซมฟงกชนมาตรฐานใหผเขยนโปรแกรมสามารถเรยกใชงานได เ ชนการเขยนโปรแกรมแสดงขอความ “Lumpangkanyanee” ออกทางหนาจอ ผเขยนโปรแกรมสามารถเรยกใชฟงกชน printf() ซงเปนฟงกชนมาตรฐานของภาษาซมาใชงานได โดยสวนการประกาศ (declaration) ของฟงกชนมาตรฐานตาง ๆ จะถกจดเกบอยในเฮดเดอรไฟลแตละตว แตกตางกนไปตามลกษณะการใชงาน
ดว ย เ ห ต น ภ าษ า เ ค ร อ ง ท ไ ด จ า กข น ตอน ท 2จงยงไมสามารถน าไปใชงานได แตตองน ามาเชอมโยงเขากบ library กอนซงผลจากการเชอมโยงจะท าใหได executable program (ไฟลนามสกล.exe เชน work.exe) ทสามารถน าไปใชงานได
เมอน า executable program จากขนตอนท 3มาประมวลผลกจะไดผลลพธ (output) ของโปรแกรมออกมา