วันพุธที่ 24 มิถุนายน พ.ศ. 2558

โปรแกรมภาษาคอมพิวเตอร์( ภาษา C/C++ )

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



Dr. Bjarne Stroustrup


      ภาษา C++ พัฒนาขึ้นโดย Dr. Bjarne Stroustrup  ซึ่งเป็นนักวิจัยอยู่ที่ห้องปฏิบัติการ Bell Labs ประเทศสหรัฐอเมริกาในระหว่างปี พ.ศ. 2525-2528 ภาษา C++ เกิดจากแนวคิดในการเพิ่มประสิทธิ ภาพภาษา C ก่อนปี พ.ศ. 2526 Dr. Bjarne Stroustrup ได้เพิ่มคุณสมบัติให้กับภาษา C ซึ่งเขาเรียกภาษา C ที่ปรับปรุงใหม่ว่า “C with classes” นอกจากนี้เขายังได้รวมเอาแนวคิดเกี่ยวกับ classes ในภาษา Simula กับคุณสมบัติเชิงวัตถุผสมผสานกับจุดแข็งของภาษา C เป็นภาษา C++ ชื่อ C++ ใช้ครั้งแรกเมื่อปี พ.ศ. 2526 

      Dr. Bjarne Stroustrup ได้ศึกษาและวิจัยระดับปริญญาเอกที่ห้องปฏิบัติการ Computing Laboratory ที่มหาวิทยาลัย Cambridge ประเทศอังกฤษ ก่อนที่จะมาร่วมกับห้องปฏิบัติการ Bell Labs ในเวลานี้ห้องปฏิบัติการ Bell Labs ไม่ได้ใช้ชื่อนี้อีกต่อไปแล้ว เพราะส่วนหนึ่งของห้องปฏิบัติการได้เปลี่ยนไปเป็น AT&T Labs และอีกส่วนหนึ่งก็เปลี่ยนไปเป็นห้องปฏิบัติการ Lucent Bell Labs
ก่อนที่จะมีภาษา C++ ภาษา เป็นภาษาคอมพิวเตอ ร์ ที่พัฒนาขึ้นจากห้องปฏิบัติการ Bell Labs ในช่วงปี พ.ศ. 2512-2516 ในช่วงเดียวกันนั้น ระบบปฏิบัติการ UNIX ก็ถูกพัฒนาขึ้นที่ห้องปฏิบัติการ Bell Labs ภาษา เริ่มแรกพัฒนาขึ้นมาเพื่อทำงานกับระบบปฏิบัติการ UNIX บนเครื่องคอมพิวเตอร์ขนาดเล็กชื่อ PDP-11 โดยนักวิจัยของห้องปฏิบัติการ Bell Labs ชื่อ Dennis Ritchie ในตอนเริ่มต้น เขาได้ขยายความสามารถของภาษา โดยการเพิ่ม “TYPE” เข้าไปในปี พ.ศ. 2514 และเรียกภาษาที่ปรับปรุงใหม่นี้ว่าภาษา NB (ย่อมาจาก New B) ที่เขาได้แนวคิดอย่างนี้ขึ้นมาเพราะ Dennis Ritchie ได้แรงบันดาลใจมาจากภาษา Algol68 เขาได้ปรับโครงสร้างภาษาและเขียนคอมไพเลอร์ใหม่และตั้งชื่อภาษาใหม่ของเขาว่าภาษา “C” ในปี พ.ศ. 2515 90% ของระบบปฏิบัติการ UNIX เขียนด้วยภาษา C
หลังจากกำเนิดภาษา คนในวงการคอมพิวเตอร์ต่างก็ตื่นตัวและประทับใจในความสามารถของภาษา กันมาก ทำให้เกิดการพัฒนาและปรับปรุงภาษา ออกมาหลายต่อหลายเวอร์ชั่น องค์กร ANSI จึงได้จัดตั้งคณะกรรมการเพื่อกำหนดมาตรฐานภาษา ขึ้นในปี พ.ศ. 2532 เพื่อทำการกำหนดมาตรฐานสำหรับภาษา โดยเฉพาะ จนใช้กันถึงปัจจุบันนี้


      ภาษา C เป็นภาษาที่ portable คือไม่ขึ้นอยู่กับฮาร์ดแวร์หรือระบบปฏิบัติการใดโดยเฉพาะ เป็นภาษาที่ผสมผสานส่วนสำคัญที่จำเป็นจากภาษาระดับสูง (high-level languages) กับฟังก์ชั่นระดับ low-level ของภาษาแอสเซมบลี (assembly language) จนบางครั้งมีคนจัดภาษา C ว่าเป็นภาษาคอมพิวเตอร์ในระดับ middle-level โปรแกรมที่เขียนด้วยภาษา C สามารถปรับการใช้จากคอมพิวเตอร์เครื่องหนึ่งไปใช้กับอีกเครื่องหนึ่งได้โดยง่าย
กล่าวโดยสรุป ภาษา เป็นภาษาที่พัฒนาต่อเนื่องมาจากภาษา ซึ่งพัฒนาโดย Ken Thompson เมื่อปี พ. ศ. 2513 เพื่อใช้กับระบบปฏิบัติการใหม่ตอนนั้นคือ UNIX ภาษา ก็ได้รับการพัฒนาต่อมาจากภาษา BCPL ที่ออกแบบพัฒนาโดย Martin Richards ซึ่งเป็นนักศึกษาของมหาวิทยาลัย Cambridge ประเทศอังกฤษ เมื่อตอนไปเป็นนักศึกษาแลกเปลี่ยน (Exchange Student) ที่สถาบันเทคโนโลยีแห่งรัฐแมสซาจูเซท (MIT) ประเทศสหรัฐอเมริกา

คงพอจะมองเห็นใช่ไหมครับว่าสิ่งที่เราได้ใช้กันอย่างสะดวกสบาย และง่ายดายอยู่ในปัจจุบันนี้นั้น มันมีวิวัฒนาการอันยุ่งยากและต้องใช้ความพยายาม ความร่วมมือ และแรงบันดาลใจมากมายเพียงใด นอกจากนี้ยังต้องใช้เงินทุนและเวลาในการวิจัยและการทดลองอย่างมากมาย ด้วยเหตุนี้แหละที่ทำไมผู้ผลิตซอฟท์แวร์ทั้งหลายจึงต้องการให้มีการเคารพลิขสิทธิ์ซอฟท์แวร์ พูดตรงๆคือเขาไม่ต้องการให้มีการคัดลอกซอฟท์แวร์มาใช้นั่นเอง



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


                                            การเขียนภาษา C เบื้องต้น

ข้อดีของภาษา C

1.ภาษา C ใช้ได้ในไมโครคอมพิวเตอร์ ตั้งแต่ขนาด 8 บิต 16 บิต 32 บิต มินิคอมพิวเตอร์ หรือ คอมพิวเตอร์ระดับเมนเฟรม มีการพัฒนาการใช้งาน เพื่อให้เป็นมาตรฐาน ไม่ขึ้นกับโปรแกรมจัดระบบงาน หรือ อุปกรณ์ทางอิเล็กทรอนิกส์ (ฮาร์ดแวร์)
2.ภาษา C มีหลายรุ่น มีผู้ผลิตต่างบริษัท แต่มีโครงสร้างคล้ายกัน และสามารถใช้ร่วมกันได้
3.ภาษา C มีความอ่อนตัว สามารถเจาะลงระดับลึกให้เข้ากับฮาร์ดแวร์ ทำงานได้รวดเร็ว และที่สำคัญ ภาษา C เป็นคอมไพเลอร์
4.ภาษา C เป็นภาษาที่มีโครงสร้าง


ระดับภาษาของโปรแกรม

ภาษาระดับต่ำ เป็นภาษาที่มีความเร็วในการทำงาน แต่มีความยุ่งยากในการเขียน และ พัฒนาโปรแกรม
ภาษาระดับสูง มีความล่าช้าในการใช้งาน แต่เขียนโปรแกรมง่าย
ภาษา C มีโครงสร้างเป็นภาษาระดับสูง และสามารถทำงานได้เร็วในเวลาใช้งาน 


โครงสร้างภาษา C
#header
main ( )
{
- กำหนดตัวแปร
- กำหนดค่าตัวแปร
- ฟังก์ชัน ในรูปสเตตเมนท์
- การควบคุม
- คอมเมนท์
}
function a( )
{
....( มีส่วนประกอบเช่นเดียวกับ ฟังก์ชั่น main )
}
function b( )
.
.
.

เริ่มต้นใช้ C

1.เขียนโปรแกรมบนอิดิเตอร์ ใด ๆ หรือ อิดิเตอร์ของภาษา C แล้วบันทึกข้อมูลให้มีนามสกุลเป็น .C
2.การคอมไพล์ จะได้ ข้อมูลนามสกุล OBJ ออปเจ็ค
3.การติดต่อกับไลบรารี จะได้ขัอมูลนามสกุล EXE เรียกว่า การเอ็กซีคิวต์

การเขียนโปรแกรมภาษา C แต่ละครั้ง จะใช้วิธีการ รัน (RUN) เพียงครั้งเดียว ก็จะได้ ข้อมูลนามสกุล OBJ และ EXE 

การ RUN โปรแกรมภาษา C

1.RUN ใน Memory คือ การ RUN ในสภาวะแวดล้อมของ C คอมไพเลอร์ ใช้ในการพัฒนาโปรแกรม
2.RUN นอก Memory คือ การเรียกใช้ ข้อมูลนามสกุล EXE ที่ผ่านการเอ็กซีคิวต์ นอก C คอมไพเลอร์ เช่น DOS Windows หรือ บนระบบปฏิบัติการอื่น ๆ 


ตัวอย่างการเขียนโปรแกรม

#include <stdio.h>                                                   (1)
main ( )                                                                    (2)
{
int A;                                                                        (3)
A = 20;                                                                    (4)
printf ("Turbo C \n");                                                (5)
printf ("Easy Program"); /* function printf */             (6)
}

1. header เป็นการบอกให้ C คอมไพเลอร์ นำไฟล์อินพุท เอาทํพุท มาตรฐานมารวมกับไฟล์
2. การผ่านค่า อาร์คิวเมนท์
3. กำหนดตัวแปร
4. กำหนดค่าตัวแปร
5. ฟังก์ชันภายใน
6. คอมเมนท์ หรือ คำอธิบาย

บล็อก { }

คือ การกำหนด บล็อก ของ ฟังก์ชัน ถ้าโปรแกรมมีขนาดมากน้อยเพียงใดก็ได้ สามารถกำหนดบล็อกซ้อนกันได้ และ บล็อกเปิด ต้องเท่ากับ บล็อก ปิด
{......{......{......}......}....}


การกำหนดตัวอักษรในการพิมพ์

ใช้ตัวอักษรพิมพ์เล็กในการเขียนโปรแกรม ได้แก่ คำสั่ง หรือ ฟังก์ชันต่าง ๆ
ตัวอักษร พิมพ์เล็ก และ พิมพ์ใหญ่ ให้ความหมายต่างกัน ใช้ในการกำหนดตัวแปร และชุดข้อความ (สตริง)











Credit

https://jassadaphon123.wordpress.com/2012/09/10/%E0%B8%9B%E0%B8%A3%E0%B8%B0%E0%B8%A7%E0%B8%B1%E0%B8%95%E0%B8%B4%E0%B8%A0%E0%B8%B2%E0%B8%A9%E0%B8%B2%E0%B8%8B%E0%B8%B5/

http://my.dek-d.com/pgnexio/blog/?blog_id=10184515

http://www.scimath.org/computerarticle/item/367-ioi

http://members.tripod.com/meteor_hun/page-a.htm

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

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