krucompw


U1 ประวัติและขั้นตอนการพัฒนาโปรแกรม

ประวัติความเป็นมา
      ภาษาซีเกิดขึ้นในปี ค.ศ. 1972 ผู้คิดค้นคือ Dennis Rittchie โดยพัฒนามาจากภาษาB และ ภาษา BCPL แต่ยังไม่มีการใช้งานอย่างกว้างขวางนัก ในปี ค.ศ. 1978 Brain Kernighan ได้ร่วมกับ Dennis Ritchie มาพัฒนามาตรฐานของภาษาซี เรียกว่า K&R ทำให้มีผู้สนใจเกี่ยวกับภาษาซีมากขึ้น จึงเกิดภาษาซีอีกหลายรูปแบบเพราะยังไม่มีการกำหนดรูปแบบภาษาซีที่เป็นมาตรฐาน และในปี 1988 Ritchie  จึงได้กำหนดมาตรฐานของภาษาซีเรียกว่า ANSI C เพื่อใช้เป็นตัวกำหนดมาตรฐานในการสร้างภาษาซีรุ่นต่อไปภาษาซี เป็นภาษาซีระดับกลางเหมาะสมสำหรับการเขียนโปรแกรมแบบโครงสร้าง เป็นภาษาที่มีความยืดหยุ่นมากคือใช้งานได้กับเครื่องต่างๆ ได้และปัจจุบันภาษาซีเป็นภาษาพื้นฐานของภาษาโปรแกรมรุ่นใหม่ ๆ เช่น C++

 ขั้นตอนการพัฒนาโปรแกรมภาษาซี 

 ขั้นตอนที่ 1 เขียนโปรแกรม (source code)

          ใช้ editor เขียนโปรแกรมภาษาซีและทำการบันทึกไฟล์ให้มีนามสกุลเป็น .c  เช่น  work.c เป็นต้นeditor  คือ  โปรแกรมที่ใช้สำหรับการเขียนโปรแกรม  โดยตัวอย่างของ editor  ที่นิยมนำมาใช้ในการเขียนโปรแกรมได้แก่  Notepad,Edit  ของ Dos ,TextPad  และ  EditPlus เป็นต้น ผู้เขียนโปรแกรมสามารถเลือกใช้โปรแกรมใดในการเรียนโปรแกรมก็ได้  แล้วแต่ความถนัดของแต่ละบุคคล

 ขั้นตอนที่  2 คอมไพล์โปรแกรม (compile)

          นำ source code จากขั้นตอนที่ 1 มาทำการคอมไพล์  เพื่อแปลจากภาษาซีที่มนุษย์เข้าใจไปเป็นภาษาเครื่องที่คอมพิวเตอร์เข้าใจได้  ในขั้นตอนนี้คอมไพเลอร์จะทำการตรวจสอบ  source code  ว่าเกิดข้อผิดพลาดหรือไม่

  • หากเกิดข้อผิดพลาด จะแจ้งให้ผู้เขียนโปรแกรมทราบ  ผู้เขียนโปรแกรมจะต้องกลับไปแก้ไขโปรแกรม  และทำการคอมไพล์โปรแกรมใหม่อีกครั้ง
  • หากไม่พบข้อผิดพลาด  คอมไพเลอร์จะแปลไฟล์  source code จากภาษาซีไปเป็นภาษาเครื่อง (ไฟล์นามสกุล .obj) เช่นถ้าไฟล์ source code ชื่อ work.c ก็จะถูกแปลไปเป็นไฟล์  work.obj  ซึ่งเก็บภาษาเครื่องไว้เป็นต้น

compile เป็นตัวแปลภาษารูปแบบหนึ่ง  มีหน้าที่หลักคือการแปลภาษาโปรแกรมที่มนุษย์เขียนขึ้นไปเป็นภาษาเครื่อง โดยคอมไพเลอร์ของภาษาซี คือ  C Compiler  ซึ่งหลักการที่คอมไพเลอร์ใช้  เรียกว่า  คอมไพล์ (compile)  โดยจะทำการอ่านโปรแกรมภาษาซีทั้งหมดตั้งแต่ต้นจนจบ  แล้วทำการแปลผลทีเดียว

          นอกจากคอมไพเลอร์แล้ว  ยังมีตัวแปลภาษาอีกรูปแบบหนึ่งที่เรียกว่า  อินเตอร์พรีเตอร์  การอ่านและแปลโปรแกรมทีละบรรทัด  เมื่อแปลผลบรรทัดหนึ่งเสร็จก็จะทำงานตามคำสั่งในบรรทัดนั้น  แล้วจึงทำการแปลผลตามคำสั่งในบรรทัดถัดไป  หลักการที่อินเตอร์พรีเตอร์ใช้เรียกว่า อินเตอร์เพรต (interpret)

 

                                 ข้อดีและข้อเสียของตัวแปลภาษาทั้งสองแบบมีดังนี้

 

 

ข้อดี 

ข้อเสีย 

คอมไพเลอร์

  • ทำงานได้เร็ว เนื่องจากทำการแปลผลทีเดียว แล้วจึงทำงานตามคำสั่งของโปรแกรมในภายหลัง
  • เมื่อทำการแปลผลแล้ว  ในครั้งต่อไปไม่จำเป็นต้องทำการแปลผลใหม่อีก เนื่องจากภาษาเครื่องที่แปลได้จะถูกเก็บไว้ที่หน่วยความจำ สามารถเรียกใช้งานได้ทันที
 - เมื่อเกิดข้อผิดพลาดขึ้นกับโปรแกรมจะตรวจสอบหาข้อผิดพลาดได้ยาก เพราะทำการแปลผลทีเดียวทั้งโปรแกรม

อินเตอร์พรีเตอร์

  • หาข้อผิดพลาดของโปรแกรมได้ง่าย เนื่องจากทำการแปลผลทีละบรรทัด
  • เนื่องจากทำงานทีละบรรทัดดังนั้นจึงสั่งให้โปรแกรมทำงานตามคำสั่งเฉพาะจุดที่ต้องการได้
  • ไม่เสียเวลารอการแปลโปรแกรมเป็นเวลานาน
   - ช้า เนื่องจากที่ทำงานทีละบรรทัด

 ขั้นตอนที่  3  เชื่อมโยงโปรแกรม (link)

          การเขียนโปรแกรมภาษาซีนั้นผู้เขียนโปรแกรมไม่จำเป็นต้องเขียนคำสั่งต่าง ๆ ขึ้นใช้งานเอง  เนื่องจากภาษาซีมีฟังก์ชั้นมาตรฐานให้ผู้เขียนโปรแกรมสามารถเรียกใช้งานได้ เช่น  การเขียนโปรแกรมแสดงข้อความ  “Poolcharoenwittayakhom  School” ออกทางหน้าจอ  ผู้เขียนโปรแกรมสามารถเรียกใช้ฟังก์ชั่น  printf() ซึ่งเป็นฟังก์ชั่น  มาตรฐานของภาษาซีมาใช้งานได้  โดยส่วนการประกาศ (declaration) ของฟังก์ชั่นมาตรฐานต่าง ๆ จะถูกจัดเก็บอยู่ในเฮดเดอร์ไฟล์แต่ละตัว แตกต่างกันไปตามลักษณะการใช้งาน 

          ด้วยเหตุนี้ภาษาเครื่องที่ได้จากขั้นตอนที่ 2  จึงยังไม่สามารถนำไปใช้งานได้ แต่ต้องนำมาเชื่อมโยงเข้ากับ  library  ก่อน  ซึ่งผลจากการเชื่อมโยงจะทำให้ได้  executable program (ไฟล์นามสกุล.exe เช่น  work.exe)  ที่สามารถนำไปใช้งานได้

 ขั้นตอนที่ 4 ประมวลผล (run)

          เมื่อนำ executable program  จากขั้นตอนที่ 3 มาประมวลผลก็จะได้ผลลัพธ์  (output) ของโปรแกรมออกมา (ถ้ามี)

 

คำสั่ง  นักเรียนจงอธิบายมาพอสังเขป

1.    ขั้นตอนการพัฒนาโปรแกรมภาษาซี แบ่งออกเป็นกี่ขั้นตอน อะไรบ้างจงอธิบาย 
(4  คะแนน)

…………………………………………………………………………………………………………………………………………………………..

…………………………………………………………………………………………………………………………………………………………..

…………………………………………………………………………………………………………………………………………………………..

…………………………………………………………………………………………………………………………………………………………..

…………………………………………………………………………………………………………………………………………………………..

…………………………………………………………………………………………………………………………………………………………..

…………………………………………………………………………………………………………………………………………………………..

2.    จงบอกความแตกต่างระหว่างคอมไพเลอร์และอินเตอร์พรีเตอร์ พร้อมทั้งอธิบายข้อดีและข้อเสียของตัวแปลภาษาทั้งสองชนิดนี้ (4  คะแนน)

…………………………………………………………………………………………………………………………………………………………..

…………………………………………………………………………………………………………………………………………………………..

…………………………………………………………………………………………………………………………………………………………..

…………………………………………………………………………………………………………………………………………………………..

…………………………………………………………………………………………………………………………………………………………..

…………………………………………………………………………………………………………………………………………………………..

…………………………………………………………………………………………………………………………………………………………..

…………………………………………………………………………………………………………………………………………………………..

…………………………………………………………………………………………………………………………………………………………..

…………………………………………………………………………………………………………………………………………………………..

…………………………………………………………………………………………………………………………………………………………..

3.    ภาษาซีใช้ตัวแปลภาษาชนิดใด ( 2 คะแนน)

…………………………………………………………………………………………………………………………………………………………..

…………………………………………………………………………………………………………………………………………………………..

-:- โรงเรียนพูลเจริญวิทยาคม สำนักงานเขตพื้นที่การศึกษามัธยมศึกษา เขต 6 -:-PWSchool-KM © 2011


Generated 0.853172 sec.