วันอังคารที่ 6 พฤศจิกายน พ.ศ. 2555

ภาษาคอมพิวเตอร์


ภาษาคอมพิวเตอร์ (Computer)
}  ภาษาที่คอมพิวเตอร์เข้าใจ คือ ภาษาเครื่อง (Machine Language) ซึ่งเป็นรหัสเลขฐานสอง
}  รหัสนีโมนิก (mnemonic) เป็นอักษรภาษาอังกฤษใช้แทนคำสั่งรหัสเลขฐานสอง
}  ภาษาคอมพิวเตอร์ที่ใช้รหัสนีโมนิกในการเขียนโปรแกรมเรียกว่า ภาษาแอสแซมบลี (Assembly Language)
}  เป็นภาษาที่ทำงานได้เร็ว เพราะเข้าถึงหน่วยประมวลผลได้เร็วที่สุดเป็น เราเรียกภาษานี้ว่า ภาษาระดับต่ำ (Low – Level Language)

ภาษาระดับสูง (High– Level Language)
       มีการพัฒนาภาษาโปรแกรมเป็นภาษาระดับสูงโดยใช้คำภาษาอังกฤษมาสั่งงานและควบคุมคอมพิวเตอร์
 เช่น BASIC, COBOL,FORTRAN และ ภาษา C

     ตัวอย่าง  ถ้าหากต้องการเขียนโปรแกรมภาษา C โดยสั่งให้พิมพ์คำว่า “Test” ซึ่งใช้คำสั่งที่เป็นคำภาษาอังกฤษเข้าใจง่ายๆ ดังนี้

#include<stdio.h>
main() {
Printf(“Test”);
}

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


1.โปรแกรมภาษา


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

ภาษาซี
เป็นภาษาโปรแกรมที่โปรแกรมเมอร์นิยมใช้กันมาก เนื่องจากเป็นภาษาที่มีความเร็วในการทำงานสูงใกล้เคียงกับภาษาเครื่อง มีโครงสร้างที่ชัดเจน เข้าใจง่าย และสามารถเขียนโปรแกรมเพื่อติดต่อกับฮาร์ดแวร์ของเครื่องคอมพิวเตอร์ได้เป็นอย่างดี
เกิดขึ้นที่ห้องปฏิบัติการเบลล์เล็บ (Bell Labs)  นายเดนนีส ริทซี (Dennis Ritchi ) เป็นผู้พัฒนาขึ้น การศึกษาภาษาซียังถือว่าเป็นพื้นฐานในการศึกษาภาษาใหม่ๆ ได้
ข้อเสีย คำสั่งไม่เหมือนคำศัพท์ภาษาอังกฤษโดยตรง จึงอาจจะจดจำยากขึ้น และวิธีการใช้คำสั่งจะมีกฎเกณฑ์รายละเอียดจำนวนมาก จึงไม่เหมาะกับผู้เริ่มต้นเขียนโปรแกรม

2. ประเภทของโปรแกรม
1.    โปรแกรมระบบปฏิบัติการ  ทำหน้าที่คอยดูแลระบบ ติดต่อกับฮาร์ดแวร์ส่วนต่างๆ เช่น Dos (Operating System),UNIX,Windows
2.    โปรแกรมเอนกประสงค์ (Utility Program)  ช่วยอำนวยความสะดวกกับผู้ใช้และเป็นเครื่องมือแก้ปัญหาหรือวิเคราะห์ปัญหารวมทั้งตรวจสอบระบบ เช่น McAfee Virus Scan,Winzip
3.    โปรแกรมประยุกต์ หรือ ซอฟต์แวร์สำเร็จรูป (Package Software) เป็นโปรแกรมที่พัฒนาขึ้นมาสำหรับงานเฉพาะด้าน เช่น เกม ,ดาต้าเบส,กราฟฟิก,อินเทอร์เน็ต ,ประมวลผลคำ

3.ขั้นตอนการพัฒนาโปรแกรม
1.    กำหนดและวิเคราะห์ปัญหา (Problem Definition and Problem Analysis)
2.    เขียนฝังงานและซูโดโค้ด (Pseudocoding)
3.    เขียนโปรแกรม (Programming)
4.    ทดสอบและแก้ไขโปรแกรม (Program Testing and Debugging)
5.    ทำเอกสารและบำรุงรักษาโปรแกรม (Program Documentation and Maintenance)

           1)  การกำหนดและวิเคราะห์ปัญหา
1.    กำหนดขอบเขตของปัญหา
2.    กำหนดลักษณะของข้อมูลเข้าและออกจากระบบ (Input/Output Specification)
3.    กำหนดวิธีการประมวลผล (Process Specification)

ถ้าหากต้องการออกแบบโปรแกรมให้คอมพิวเตอร์รับค่าข้อมูล 3 ค่า และแสดงค่าเฉลี่ยทางจอภาพ เราอาจกำหนดและวิเคราะห์ปัญหาได้ดังนี้
}  1. รับข้อมูลจากคีย์บอร์ด
      1.1 รับข้อมูลเฉพาะที่เป็นตัวเลขมาเก็บในตัวแปร
      1.2 ถ้าเท่ากับ 0 ให้รับใหม่
}  2. หาค่าเฉลี่ย
      2.1 รวมค่าทุกค่าที่รับมาเข้าด้วยกัน
      2.2 นำค่ารวมที่ได้หารด้วย 3
      2.3 นำค่าผลลัพธ์ไปเก็บในตัวแปร
}  3. แสดงผลลัพธ์ทางหน้าจอ
      3.1 แสดงค่าว่าค่าเฉลี่ยเท่ากับ
      3.2 แสดงผลลัพธ์โดยมี่ทศนิยมสองตำแหน่ง

2.การเขียนผังงานและซูโดโค้ด
}  เขียนลำดับขั้นตอนการทำงานของโปรแกรมที่เรียกว่า อัลกอริทึม (Algorithm) ซึ่งแสดงขั้นตอนการแก้ปัญหา โดยใช้ประโยคที่ชัดเจนไม่คลุมเครือ และมีรายละเอียดการทำงานพอสมควร เพียงพอที่จะนำไปเขียนเป็นโปรแกรมให้ทำงานจริง อาจเขียนให้อยู่ในรูปของรหัสจำลองหรือ ซูโดโค้ด (Pseudo-code) หรือเขียนเป็นผังงาน (Flowchart) ก็ได้
}  (Pseudo-code) เป็นคำอธิบายขั้นตอนการทำงานของโปรแกรม เป็นคำย่อ ไม่มีรูปแบบเฉพาะตัว
}  ผังงาน (Flowchart)  จะใช้สัญลักษณ์ต่างๆ แทนการทำงานและทิศทางของโปรแกรม

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

4. การทดสอบและแก้ไขโปรแกรม
}  หลังจากเขียนโปรแกรมจะต้องทดสอบความถูกต้องของโปรแกรมที่เขียนขึ้น หาจุดผิดพลาดของโปรแกรมว่ามีหรือไม่ และตรวจสอบจนไม่พบข้อผิดอีก
}  จุดผิดพลาดของโปรแกรม เรียกว่า บัก (Bug)
}  การแก้ไขข้อผิดพลาดให้ถูกต้อง เรียกว่า ดีบัก (Debug)
}  ข้อผิดพลาดจากการเขียนโปรแกรมมี 2 ประเภท
      1. เขียนคำสั่งไม่ถูกต้องตามหลักการเขียนโปรแกรมภาษานั้นๆ เรียกว่า Syntax Error หรือ  Coding Error
      2. ข้อผิดพลาดทางตรรก หรือ Logical Error เป็นข้อผิดพลาดที่โปรแกรมทำงานได้ แต่ผลลัพธ์ออกมาไม่ถูกต้อง

5. ทำเอกสารและบำรุงรักษาโปรแกรม
}  ขั้นตอนนี้ทำให้ผู้ใช้สามารถใช้งานโปรแกรมได้อย่างมีประสิทธิภาพ และสะดวกในการตรวจสอบข้อผิดพลาดโดยเขียนเป็นเอกสารประกอบโปรแกรมขึ้นมา โดยทั่วไปแล้วแบ่งออกเป็นสองประเภท คือ
      1. คู่มือการใช้ หรือ User Document หรือ User Guide ซึ่งจะอธิบายการใช้โปรแกรม
      2. คู่มือโปรแกรมเมอร์ หรือ Program Document  หรือ Technical Reference ซึ่งจะอำนวยความสะดวกในการแก้ไขโปรแกรม และพัฒนาโปรแกรมในอนาคต โดยจะมีรายละเอียดต่างๆ เกี่ยวกับโปรแกรม เช่น ชื่อโปรแกรม การับข้อมูล การพิมพ์ผลลัพธ์ขั้นตอนต่างๆ ในโปรแกรมเป็นต้น
ส่วนการบำรุงรักษาโปรแกรม (Maintenance) เป็นการที่ผู้เขียนโปรแกรมจะต้องคอยตรวจสอบการใช้โปรแกรมจริง เพื่อแก้ไขข้อผิดพลาดซึ่งอาจเกิดขึ้นในภายหลัง รวมทั้งพัฒนาโปรแกรมให้ทันสมัยอยู่เสมอเมื่อเวลาผ่านไป

4.ขั้นตอนการพัฒนาโปรแกรมด้วย DEV C++
}  การเขียนโปรแกรมด้วย DEV C++ มี 3 ขั้นตอนดังนี้
}  1. เขียนโปรแกรมต้นฉบับด้วยโปรแกรม DEV C++
}  2. ใช้คอมไพเลอร์แปลภาษาซี
}  3. ทำการเชื่อมโยงไฟล์

ขบวนการทั้งสามชั้นตอนสามารถทำได้โดย DEV C++ เพียงตัวเดียว เนื่องจากโปรแกรมนี้ได้รวมโปรแกรมพัฒนางาน หรือ ไอดีอี (Integrate Development Environment : IDE) เอาไว้ด้วย ทำให้สามารถเขียนโปรแกรมต้นฉบับได้ง่ายขึ้น เมื่อเขียนโปรแกรมต้นฉบับแล้ว จะต้องจัดเก็บเป็นไฟล์ที่มีนามสกุลเป็น .C  จากนั้นให้คอมไฟล์โปรแกรมก็จะได้ไฟล์ออบเจ็กต์โค้ดที่มีนามสกุลเป็น .OBJ เมื่อทำการเชื่อมโยงไฟล์เข้ากับไลบรารีคำสั่งด้วย Link จะได้ไฟล์ที่มีนามสกุลเป็น .EXE ที่พร้อมทำงานได้บนเครื่องคอมพิวเตอร์

ตัวอย่างหน้าต่างโปรแกรม Dev-c++


ไม่มีความคิดเห็น:

แสดงความคิดเห็น