หน้าหลัก
แนะนำรายวิชา
แบบทดสอบวัดผลสัมฤทธิ์ก่อนเรียน
บทที่ 1 ภาษาคอมพิวเตอร์
บทที่ 2 แนวคิดการโปรแกรม
บทที่ 3 ผังงาน
บทที่ 4 รหัสเทียม
บทที่ 5 โครงสร้างภาษาซี
บทที่ 6 ติดตั้งโปรแกรม Dev-c++
บทที่ 7 ตัวแปรภาษาซี
บทที่ 8 ตัวดำเนินการภาษาซี
บทที่ 9 การแสดงผล
บทที่10 การรับข้อมูล
บทที่ 11 การเลือกทำตามเงื่อนไข
บทที่ 12 คำสั่งวนซ้ำ
แบบทดสอบผลสัมฤทธิ์หลังเรียน
แหล่งศึกษาเพิ่มเติม

 

               ภาษาคอมพิวเตอร์มีการพัฒนาหรือมีวิวัฒนาการมาโดยลำดับเช่นเดียวกับคอมพิวเตอร์ โดยจะสามารถแบ่งออกเป็นยุค
หรือเป็นรุ่นของภาษา (Generation) ซึ่งในยุคหลัง ๆ จะมีการพัฒนาภาษาให้มีความสะดวก ในการอ่าน และเขียนง่ายขึ้น กว่าภาษาในยุคแรก ๆ
เนื่องจากจะมีโครงสร้างภาษาใกล้เคียงกับภาษาอังกฤษ
 
สามารถแบ่งภาษาคอมพิวเตอร์ออกได้เป็น 5 ยุค ดังนี้
      1. ภาษาเครื่อง (Machine Language)
      2. ภาษาแอสเซมบลี (Assembly Language)
      3. ภาษาชั้นสูง  (High level Language)
      4. ภาษาขั้นสูงมาก (Very High level Language)
      5. ภาษาธรรมชาติ (Natural Language )
 
1. ภาษาเครื่อง (Machine Language)
           ภาษาคอมพิวเตอร์ คือภาษาเครื่อง (Machine Language) ซึ่งเป็นภาษาระดับต่ำที่สุด ประกอบด้วยเลขฐานสองคือ 0 และ 1
ซึ่งจะสัมพันธ์กับการเปิด (On) และ การปิด (Off) ของสัญญาณไฟฟ้า ภายในเครื่องคอมพิวเตอร์แทนข้อมูล คำสั่งต่าง ๆ จะเป็นภาษาที่ขึ้นอยู่กับ
ชนิดของเครื่องคอมพิวเตอร์ หรือหน่วยประมวลผลที่ใช้ แต่ละเครื่องก็จะมีรูปแบบของคำสั่งเฉพาะซึ่งนักคำนวณและนักเขียนโปรแกรม
ต้องรู้จักวิธีที่จะรวมตัวเลขเพื่อแทนคำสั่งต่าง ๆ ทำให้การเขียนโปรแกรมยุ่งยากมาก เครื่องคอมพิวเตอร์แต่ละประเภทจะมีภาษาเครื่องที่เป็น
ของตนเอง ไม่สามารถนำภาษาเครื่องที่ใช้กับเครื่องประเภทหนึ่งไปใช้กับเครื่องประเภทอื่นได้ เนื่องจากแต่ละระบบก็จะมีชุดคำสั่ง
ของภาษาเครื่องที่แตกต่างกันออกไปเป็นลักษณะของภาษาที่มีพัฒนาการนั้นขึ้นอยู่กับเครื่อง (Machine Dependent)
 
2. ภาษาแอสเซมบลี (Assembly Language)
              เป็นภาษาที่ใช้ตัวอักษรในภาษาอังกฤษมาแทนคำสั่งที่เป็นเลขฐานสองและเรียกอักษรสัญลักษณ์นี้ว่าสัญลักษณ์นีโมนิค (mnemonic codes)
เพื่อให้ง่ายต่อการเขียนและการจดจำมากกว่าภาษาเครื่อง จัดภาษาแอสเซมบลีนี้เป็นภาษาระดับต่ำ ตัวอย่าง เช่น มีการใช้สัญลักษณ์ต่อไปนี้
               A  มาจาก  Add  หมายถึงการบวก
               S  มาจาก  Subtract  หมายถึงการลบ
               C  มาจาก  Compare  หมายถึงการเปรียบเทียบ
               MP  มาจาก  Multiply  หมายถึง การคูณ
               ST  มาจาก  Store  หมายถึง การเก็บข้อมูลไว้ในความจำ เป็นต้น
ทำให้นักเขียนโปรแกรมสามารถเขียนโปรแกรมได้สะดวกสบายมากขึ้นเนื่องจากไม่ต้องจดจำเลข 0 และ 1 เลขฐานสอง
             การแปลภาษาแอสเซมบลี เป็นภาษาเครื่อง มีตัวแปลภาษาแอสเซมบลี่เรียกว่า แอสเซมเบลอร์ (Assembler) เป็นตัวแปล
ซึ่งภาษาแอสเซมบลี 1 คำสั่งแปลเป็นภาษาเครื่อง 1 คำสั่งเช่นกัน ดังนั้น ถ้าเขียนโปรแกรม ภาษาแอสเซมบลี 10 คำสั่ง จะถูกแปล
เป็นภาษาเครื่อง 10 คำสั่งเช่นกัน จึงเห็นได้ว่า ภาษาแอสเซมบลี มีลักษณะที่เหมือนกับภาษาเครื่อง คือ เป็นภาษาที่ขึ้นอยู่กับเครื่อง
             โปรแกรมที่เขียนด้วยแอสเซมบลี โปรแกรมเดียวกันไปใช้ในเครื่องต่างชนิดกันได้ นอกจากนี้ผู้ที่จะเขียนโปรแกรมภาษาแอสเซมบลีได้
จะต้องมีความรู้ความเข้าใจในเรื่องของฮาร์ดแวร์เป็นอย่างดี เนื่องจากจะต้องยุ่งเกี่ยวกับการใช้งานหน่วยความจำที่เป็นรีจิสเตอร์ภายใน
จึงใช้เขียนในงานที่ต้องการความเร็วในการทำงานสูง เช่น งานทางด้านกราฟิก หรืองานพัฒนาซอฟแวร์ ระบบต่างๆ
ถึงแม้ว่าภาษานี้จะง่ายกว่าการเขียนด้วยภาษาเครื่องแต่ก็ยังถือว่าเป็นภาษาชั้นต่ำที่ยังยากต่อการเขียนและการเรียนรู้ให้เข้าใจได้ดี สำหรับผู้ที่
ไม่มีความรู้เกี่ยวกับฮาร์ดแวร์เท่าใดนัก
 
3. ภาษาชั้นสูง (High – level Language)
            ภาษารุ่นที่ 3 (3rd Generation Language หรือ 3GLs) ภาษาสร้างขึ้นมาให้สามารถเขียนและอ่านโปรแกรมได้ง่ายขึ้น
มีลักษณะเหมือนภาษาอังกฤษทั่วไปผู้เขียนโปรแกรมไม่ต้องมีความรู้เกี่ยวกับระบบฮาร์ดแวร์แต่อย่างใด ตัวอย่างของภาษาได้แก่
ภาษาฟอร์แทรน(Fortran) , โคบอล (Cobol) , เบสิก (Basic) ,ปาสคาล (Pascal) , ซี(C) , เอดา(ADA) เป็นต้น
            โปรแกรมที่ถูกเขียนด้วยภาษาประเภทนี้จะทำงานได้เมื่อมีการแปลงให้เป็นภาษาเครื่องเสียก่อน ซึ่งวิธีการแปลงจากภาษาชั้นสูง  
ให้เป็นภาษาเครื่องนั้นจะทำได้โดยใช้โปรแกรมที่เรียกว่า คอมไพเลอร์(Compiler) หรือ  อินเตอร์พรีเตอร์ (Interpreter)  อย่างใดอย่างหนึ่ง
โดยภาษาชั้นสูงแต่ละภาษาจะมีตัวแปลภาษาเฉพาะเป็นของตัวเอง ดังนั้นจึงไม่สามารถนำตัวแปลของภาษาหนึ่งไปใช้กับอีกภาษาหนึ่งได้
เช่น ภาษาโคบอล จะมีตัวแปลภาษา ที่เรียกว่า โคบอลคอมไพเลอร์ ไม่สามารถนำคอมไพเลอร์ของภาษาโคบอลนี้ไปใช้ แปลภาษาปาสคาลได้
            การเขียนโปรแกรมด้วยภาษาขั้นสูงนั้นนอกจากจะให้ความสะดวกแก่ผู้เขียนเป็นอันมากแล้ว ผู้เขียนแทบจะไม่ต้อง มีความรู้
เกี่ยวกับการทำงานของระบบฮาร์ดแวร์ก็สามารถเขียนโปรแกรมสั่งให้เครื่องคอมพิวเตอร์ทำงานได้ นอกจากนี้ยังมีข้อดีอีกอย่าง
คือ สามารถนำโปรแกรมไปใช้งานบนเครื่องใดก็ได้ คือมีลักษณะที่ไม่ขึ้นอยู่กับเครื่อง (Hardware Independent)

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

จะมีโครงสร้างแบบแผนที่เป็นระเบียบ งานทุกอย่างผู้เขียนโปรแกรมต้องเขียนโปรแกรมควบคุมการทำงานเองทั้งหมด
และต้องเขียนคำสั่งการทำงานที่เป็นขั้นเป็นตอน ไม่ว่าจะเป็นการสร้างแบบฟอร์มกรอกข้อมูล การประมวลผล หรือการสร้างรายงาน  
ซึ่งโปรแกรมที่เขียนจะค่อนข้างซับซ้อน และใช้เวลาในการพัฒนาค่อนข้างมาก
 
4. ภาษาขั้นสูงมาก (Very high-level Language)
              สามารถเรียกได้อีกอย่างว่า ภาษาในรุ่นที่ 4 (4GLs : Fourth-Generation Languages) ภาษานี้เป็นภาษาที่อยู่ในระดับสูงกว่าภาษารุ่นที่ 3
มีลักษณะของภาษาที่เป็นธรรมชาติคล้ายกับภาษาพูดของมนุษย์ช่วยในเรื่องของการสร้างแบบฟอร์มบนหน้าจอเพื่อจัดการเกี่ยวกับข้อมูล
รวมไปถึงการออกรายงานซึ่งจะมีการจัดการที่ง่ายมากไม่ยุ่งยากเหมือนภาษารุ่นที่ 3 ตัวอย่างของภาษาในรุ่นที่ 4
ได้แก่ Informix-4GL , Focus , Sybase , InGres เป็นต้น
              ภาษาในรุ่นที่ 4 เป็นภาษาที่ผู้เขียนโปรแกรมเพียงแต่บอกว่าต้องการอะไร (What) แต่ไม่ต้องบอกคอมพิวเตอร์ว่า ให้ทำอย่างไร (How)
แต่ภาษาในรุ่นที่ 3 ผู้เขียนโปรแกรมต้องบอกคอมพิวเตอร์ทั้งหมดว่าต้องการทำอะไร และต้องบอกด้วยว่าต้องทำอย่างไร
ซึ่งจะต้องสั่งให้คอมพิวเตอร์ ทำงานเป็นขั้นตอน และคอมพิวเตอร์ก็จะมีหน้าที่ทำงานตามที่ผู้เขียนโปรแกรมสั่งนั่นเอง
 
5. ภาษาธรรมชาติ (Natural Language)  
              ภาษาในยุคที่ 5 มีรูปแบบเป็นภาษาธรรมชาติ สามารถสั่งงานคอมพิวเตอร์ได้โดยใช้ภาษามนุษย์โดยตรง
คำสั่งที่มนุษย์ป้อนเข้าไปในคอมพิวเตอร์ จะอยู่ในรูปของภาษาพูดมนุษย์ซึ่งอาจมีรูปแบบที่ไม่แน่นอนตายตัว แต่คอมพิวเตอร์
ก็สามารถแปลคำสั่งเหล่านั้น ให้อยู่ในรูปแบบที่คอมพิวเตอร์สามารถเข้าใจคำสั่งได้ ถ้าคำสั่งใดไม่ชัดเจนจะมีการถามกลับ
เพื่อให้เข้าใจคำสั่งได้อย่างถูกต้อง
             ภาษาธรรมชาติถูกสร้างขึ้นมาจากเทคโนโลยีทางด้านระบบผู้เชี่ยวชาญ (Expert System) เป็นงานที่อยู่ในสาขาปัญญาประดิษฐ์
(Artificial Intelligence) การที่พยายามทำให้คอมพิวเตอร์เปรียบเสมือนกับเป็นผู้เชี่ยวชาญคนหนึ่งที่สามารถคิดและตัดสินใจได้เช่นเดียวกับมนุษย์
             คอมพิวเตอร์สามารถตอบคำถามของมนุษย์ได้อย่างถูกต้อง พร้อมทั้งมีข้อแนะนำต่าง ๆ เพื่อช่วยในการตัดสินใจของมนุษย์ได้
ระบบผู้เชี่ยวชาญใช้กับงานเฉพาะด้านใดด้านหนึ่ง เช่น ในด้านการแพทย์ ในการพยากรณ์อากาศ ในการวิเคราะห์ทางเคมี การลงทุน ฯลฯ
ซึ่งในการนี้จะต้องมีการเก็บรวบรวมข้อมูล และข่าวสารจากผู้เชี่ยวชาญเฉพาะด้านและแปลงให้อยู่ในรูปของกฏเกณฑ์
ข้อความจริงต่าง ๆ เก็บไว้ในระบบฐานข้อมูล ของผู้เชี่ยวชาญ เรียกว่าฐานข้อมูลความรู้ (Knowledge Base) ซึ่งจะต้องเก็บข้อมูลที่มีอยู่
เป็นจำนวนมหาศาลและให้ผู้ใช้สามารถใช้กับภาษาธรรมชาติ ในการดึงข้อมูลจากฐานข้อมูลความรู้นี้ได้เราจึงอาจเรียกระบบผู้เชี่ยวชาญนี้
อีกอย่างว่า ระบบฐานความรู้ (Knowledge Base System)