Please enable JavaScript.
Coggle requires JavaScript to display documents.
การเขียนโปรแกรมภาษาขั้นพื้นฐาน (ภาษาคอมพิวเตอร์ (ประเภทของภาษาคอมพิวเตอร์,…
การเขียนโปรแกรมภาษาขั้นพื้นฐาน
ภาษาคอมพิวเตอร์
ความหมายภาษาคอมพิวเตอร์
ภาษาคอมพิวเตอร์ หมายถึง ภาษาใด ๆ ที่ผู้ใช้งานใช้สื่อสารกับคอมพิวเตอร์ หรือคอมพิวเตอร์ด้วยกันแล้วคอมพิวเตอร์สามารถท างานตามคำสั่งนั้นได้ ภาษาคอมพิวเตอร์มีมากมายหลายพันภาษา แต่ภาษาที่สั่งให้คอมพิวเตอร์ทำงานได้จริงนั้นมีภาษาเดียว คือ ภาษาเครื่อง (machine language )
ประเภทของภาษาคอมพิวเตอร์
ภาษาเครื่อง (Machine Language) เป็นภาษาที่แท้จริงของเครื่องคอมพิวเตอร์ คอมพิวเตอร์ทุกเครื่องจะทำงานได้แต่เฉพาะภาษาเครื่อง
เท่านั้น ในงานทางคอมพิวเตอร์ทั่วไปจะไม่เขียนเป็นภาษาเครื่อง เพราะเครื่องคอมพิวเตอร์แต่ละเครื่องจะมีลักษณะแตกต่างกันไป
ภาษาแอสเซมบลี (Assembly Language) เป็นภาษาที่เขียนเป็นตัวพยัญชนะและตัวเลขฐานสิบ เช่นเดียวกับภาษาเครื่องต่างกันตรงที่ว่า ภาษาแอสเซมเบลอร์เขียนเป็นตัวอักษรโดยไม่คำนึงว่าเลขฐานสองเป็นอย่างไรและต้องการตัวแปลชุดคำสั่งภาษาแอสเซมเบลอร์ เมื่อถึงเวลาท างานยังต้องใช้ชุดคำสั่งควบคุมเข้าช่วยอีกด้วย
ภาษาระดับสูง (High Level Language) เรียกอีกอย่างว่า ภาษารุ่นที่ 3 (3rd Generation Languages หรือ 3GLs) เป็นภาษาที่ถูกสร้าง ขึ้นมาเพื่อให้สามารถเขียนและอ่านโปรแกรมได้ง่ายขึ้น เนื่องจากมีลักษณะเหมือนภาษาอังกฤษทั่ว ๆ ไป และที่ ส าคัญคือ ผู้เขียนโปรแกรมไม่จ าเป็นต้องมีความรู้เกี่ยวกับระบบฮาร์ดแวร์แต่อย่างใด
ตัวแปลภาษาคอมพิวเตอร์
คอมไพเลอร์ (Compiler) จะทำการแปลโปรแกรมทั้งโปรแกรมให้เป็นภาษาเครื่องทีเดียว การแปลนี้ จะเป็นการตรวจสอบไวยากรณ์ของภาษา ถ้ามีข้อผิดพลาดทางไวยากรณ์ของภาษาเกิดขึ้นก็จะแจ้งให้ทราบ เรียก ข้อผิดพลาดทางไวยากรณ์ของภาษา (Syntax Error) เพื่อให้ผู้เขียนโปรแกรมท าการแก้ไขให้ถูกต้อง แล้วจึงค่อยสั่ง ให้แปลใหม่ โปรแกรมที่ยังไม่ผ่านการแปลจะเรียกว่า ซอร์สโปรแกรม ( Source Program) หรือ ซอร์สโมดูล (Source module)
อินเตอร์พรีเตอร์(Interpreter) เป็นตัวแปลภาษาอีกตัวหนึ่งที่จะทำการแปลโปรแกรมภาษาชั้นสูงที่ ละคำสั่งให้เป็นภาษาเครื่องและทำการเอ็กซ์วีคิวท์หรือทำงานคำสั่งนั้นทันทีทันใดเลย ก่อนที่จะไปทำการแปล ต่อในบรรทัดถัดไปถ้าในระหว่างการแปลเกิดพบข้อผิดพลาดที่บรรทัดใดก็จะฟ้องให้ทำการแก้ไขทีละบรรทัดนั้นทันที
แนวคิดการเขียนโปรแกรม
1.การเขียนโปรแกรมเชิงโครงสร้าง แนวคิดนี้เป็นการจัดการคำสั่งต่างๆ ให้มีรูปแบบและมาตรฐานที่สามารถเขียนโปรแกรมได้ง่าย อีกทั้งยังตรวจสอบการทำงานของโปรแกรมได้โดยไม่ยุ่งยาก และง่ายต่อการปรับปรุงในอนาคต ซึ่งมีโครงสร้างการควบคุม พื้นฐาน
1.1.โครงสร้างแบบเป็นลำดับขั้นตอน ประกอบด้วยคำสั่งหรือชุดคำสั่งไม่มีเงื่อนไข ไม่มีการตัดสินใจ มีทางเข้าทางเดียวและมีทางออก ทางเดียว ดำเนินการแบบเรียงลำดับต่อเนื่อง โดยแต่ละขั้นตอนมีการดำเนินงานเพียงครั้งเดียว
1.2.โครงสร้างแบบมีทางเลือกในการตัดสินใจเลือกทางใดทางหนึ่ง เป็นโครงสร้างที่มีเงื่อนไข และมีการตรวจสอบเงื่อนไข ว่าเป็นค่าจริงหรือค่าเท็จแล้วดำเนินงานตามคำสั่งที่เป็นไปตามเงื่อนไขที่กำหนด
1.3.โครงสร้างแบบทำซ้ำ เป็นการทำงานในลักษณะวนซ้ำหลายๆ รอบ โดยจะหลุดออกจากเงื่อนไขก็ต่อเมื่อเงื่อนไขตรงตามกำหนดไว้
2.การเขียนโปรแกรมเชิงวัตถุ แนวคิดเชิงวัตถุตั้งอยู่บนพื้นฐานการแจกแจงรายละเอียดของปัญหา ในการเขียนโปรแกรมเพื่อให้เป็นไปตามหลักการเชิงวัตถุนั้น ต้องพยายามมองรูปแบบวัตถุให้ออก การทำความเข้าใจถึงหลักการเขียนโปรแกรมเชิงวัตถุต้องอาศัยจินตนาการพอสมควร ซึ่งจะมองวัตถุหนึ่งๆ เป็นแหล่งรวมของข้อมูลและกระบวนการเข้าไว้ด้วยกัน โดยจะมีคลาส เป็นตัวกำหนดคุณสมบัติของวัตถุ และคลาสจะสามารถสืบทอดคุณสมบัติ ไปยังคลาสย่อยต่างๆ ที่เรียกว่า Subclass ได้ด้วยคุณสมบัติดังกล่าวจำทำให้เกิดการนำมาใช้ใหม่ ที่ทำให้ลดขั้นตอนการพัฒนาโปรแกรมลงได้ โดยเฉพาะโปรแกรมขนาดใหญ่ที่มีความซับซ้อนสูง
หลักการเขียนโปรแกรม
การวิเคราะห์ปัญหา (Problem Analysis)
กำหนดวัตถุประสงค์ของงาน เพื่อพิจารณาว่าโปรแกรมต้องทำการประมวลผลอะไรบ้าง
พิจารณาข้อมูลนำเข้า (Input) เพื่อให้ทราบว่าจะต้องนำข้อมูลอะไรเข้าคอมพิวเตอร์ ข้อมูลมีคุณสมบัติ
เป็นอย่างไร ตลอดจนลักษณะและรูปแบบของข้อมูลที่จะนำเข้า
พิจารณาการประมวลผล (Process) เพื่อให้ทราบว่าโปรแกรมมีขั้นตอนการประมวลผลอย่างไรและมีเงื่อนไขการประมวลผลอะไรบ้าง
พิจารณาข้อสนเทศนำออก (Output) เพื่อให้ทราบว่ามีข้อสนเทศอะไรที่จะแสดง ตลอดจนรูปแบบและสื่อที่จะ
ใช้ใน การแสดงผล เช่นการแสดงออกทางจอภาพ การแสดงออกทางเครื่องพิมพ์
การออกแบบโปรแกรม (Design)
การออกแบบขั้นตอนการทำงานของโปรแกรมเป็นขั้นตอนที่ใช้เป็นแนวทางในการลงรหัสโปรแกรม ผู้ออกแบบขั้นตอนการทำงานของโปรแกรมอาจใช้เครื่องมือต่างๆ ช่วยในการออกแบบ อาทิเช่น คำสั่งลำลอง (Pseudocode) หรือ ผังงาน (Flow chart) การออกแบบโปรแกรมนั้นไม่ต้องพะวงกับรูปแบบคำสั่งภาษาคอมพิวเตอร์ แต่ให้มุ่งความสนใจไปที่ลำดับขั้นตอนในการประมวลผลของโปรแกรมเท่านั้น
การเขียนโปรแกรมเบื้องต้นด้วยภาษาซี
ประวัติความเป็นมาภาษาซี
ภาษาซีเป็นภาษาที่ถือว่าเป็นทั้งภาษาระดับสูงและระดับต่ำ ถูกพัฒนาโดยเดนนิส ริดชี (Dennis Ritche) แห่งห้องทดลองเบลล์ (Bell Laboratories) ที่เมอร์รีฮิล มลรัฐนิวเจอร์ซี่ โดยเดนนิสได้ใช้หลักการของภาษา บีซีพีแอล (BCPL : Basic Combine Programming Language) ซึ่งพัฒนาขึ้นโดยเคน ทอมสัน (Ken Tomson) การออกแบบและพัฒนาภาษาซีของเดนนิส ริดชี มีจุดมุ่งหมายให้เป็นภาษาสำหรับใช้เขียนโปรแกรมปฏิบัติการระบบยูนิกซ์ และได้ตั้งชื่อว่า ซี (C) เพราะเห็นว่า ซี (C) เป็นตัวอักษรต่อจากบี (B) ของภาษา BCPL ภาษาซีถือว่าเป็นภาษาระดับสูงและภาษาระดับต่ำ ทั้งนี้เพราะ ภาษาซีมีวิธีใช้ข้อมูลและมีโครงสร้างการควบคุมการทำงานของโปรแกรมเป็นอย่างเดียวกับภาษาของโปรแกรมระดับสูงอื่นๆ จึงถือว่าเป็นภาษาระดับสูง ในด้านที่ถือว่าภาษาซีเป็นภาษาระดับต่ำ เพราะภาษาซีมีวิธีการเข้าถึงในระดับต่ำที่สุดของฮาร์ดแวร์ ความสามารถทั้งสองด้านของภาษานี้เป็นสิ่งที่เกื้อหนุนซึ่งกันและกัน ความสามารถระดับต่ำทำให้ภาษาซีสามารถใช้เฉพาะเครื่องได้ และความสามารถระดับสูง ทำให้ภาษาซีเป็นอิสระจากฮาร์ดแวร์ ภาษาซีสามารถสร้างรหัสภาษาเครื่องซึ่งตรงกับชนิดของข้อมูลนั้นได้เอง ทำให้โปรแกรมที่เขียนด้วยภาษาซีที่เขียนบนเครื่องหนึ่ง สามารถนำไปใช้กับอีกเครื่องหนึ่งได้ ประกอบกับการใช้พอยน์เตอร์ในภาษาซี นับได้ว่าเป็นตัวอย่างที่ดีของการเป็นอิสระจากฮาร์ดแวร์
ภาษาซี มีลักษณะเด่น(ข้อดี)
เป็นภาษาคอมพิวเตอร์ที่อาศัยหลักการที่เรียกว่า "โปรแกรมโครงสร้าง" จึงเป็นภาษาที่เหมาะกับการพัฒนาโปรแกรมระบบ
เป็นคอมไพเลอร์ที่มีประสิทธิภาพสูง ให้รหัสออบเจ็กต์สั้น ทำงานได้รวดเร็ว เหมาะกับงานที่ต้องการ ความรวดเร็วเป็นสำคัญ
มีความคล่องตัวคล้ายภาษาแอสแซมบลี ภาษาซีสามารถเขียนแทนภาษาแอสแซมบลีได้ดี ค้นหาที่ผิดหรือ แก้โปรแกรมได้ง่าย ภาษาซีจึงเป็นภาษาระดับสูงที่ทำงานเหมือนภาษาระดับต่ำ
มีความคล่องตัวที่จะประยุกต์เข้ากับงานต่างๆ ได้เป็นอย่างดี การพัฒนาโปรแกรม เช่น เวิร์ดโพรเซสซิ่ง สเปรดชีต ดาตาเบส ฯลฯ มักใช้ภาษาซีเป็นภาษาสำหรับการพัฒนา
เป็นภาษาที่มีอยู่บนเกือบทุกโปรแกรมจัดระบบงาน มีในเครื่องไมโครคอมพิวเตอร์ตั้งแต่ 8 บิต ไปจนถึง 32 บิต เครื่องมินิคอมพิวเตอร์ และเมนเฟรม
เป็นภาษาที่รวมข้อดีเด่นในเรื่องการพัฒนา จนทำให้ป็นภาษาที่มีผู้สนใจมากมายที่จะเรียนรู้หลักการของภาษา และวิธีการเขียนโปรแกรม ตลอดจนการพัฒนางานบนภาษานี้
เป็นภาษาคอมพิวเตอร์ที่มีการพัฒนาขึ้นใช้งานเพื่อเป็นภาษามาตรฐานที่ไม่ขึ้นกับโปรแกรมจัดระบบงานและไม่ขึ้นกับฮาร์ดแวร์
ข้อเสียของภาษาซี
เป็นภาษาที่เรียนรู้ยาก
การตรวจสอบโปรแกรมทำได้ยาก
ไม่เหมาะกับการเขียนโปรแกรมที่เกี่ยวข้องกับการออกรายงานที่มีรูปแบบซับซ้อนมากๆ
กฏเกณฑ์พื้นฐานที่สำคัญในการเขียนโปรแกรมภาษาซี
คำสั่งต่าง ๆ จะต้องเขียนด้วยตัวอักษรภาษาอังกฤษพิมพ์เล็ก
คำสั่งแต่ละคำสั่งจะต้องปิดด้วยเครื่องหมาย Semicolon ( ; ) เสมอ เช่น
a = b+c ; a = (b+c) – d ;
เครื่องหมายปีกกาเปิด ( { ) เป็นสัญลักษณ์แสดงการเริ่มต้นการทำงาน และเครื่องหมายปีกกาปิด ( } ) เป็นสัญลักษณ์แสดงการสิ้นสุดการทำงาน
การเรียกใช้ฟังก์ชันพื้นฐานต่าง ๆ ของภาษาซี เช่น printf , clrscr จะต้องรู้ว่าอยู่ในโมดูลข้ออะไร เช่น stdio.h , conio.h จะต้องเขียนอยู่บนสุดของโปรแกรม
ส่วนของการประกาศตัวแปรจะต้องถูกเขียนอยู่ก่อนที่จะมีการเรียกใช้เสมอ และต้องเขียนอยู่ต้น block ก่อนคำสั่งอื่น
ขั้นตอนการพัฒนาโปรแกรม
เขียนโปรแกรม (Source Program) สามารถทำได้โดยใช้โปรแกรม Editor เช่น โปรแกรม Notepad , EditPlus เขียนโปรแกรมภาษาซี และบันทึกลงแฟ้มข้อมูลให้นามสกุลเป็น .c เช่น example.c
คอมไพล์โปรแกรม (Compile) เป็นขั้นตอนที่นำโปรแกรม หรือ Source Code ที่ได้จากขั้นตอนที่ 1 มาทำการคอมไพล์ เพื่อแปลภาษาที่มนุษย์เข้าใจให้เป็นภาษาเครื่องที่คอมพิวเตอร์เข้าใจได้ ในขั้นตอนนี้คอมไพเลอร์จะทำการตรวจสอบ Source Code ว่ามีข้อผิดพลาดหรือไม่ ดังนี้
ถ้ามีข้อผิดพลาด คอมไพเลอร์จะแจ้งให้ผู้เขียนโปรแกรมได้ทราบ และนำกลับไปแก้ไข จากนั้นนำกลับมาคอมไพล์ใหม่อีกครั้ง
ถ้าไม่พบข้อผิดพลาด คอมไพเลอร์จะแปลไฟล์ Source Code (ไฟล์นามสกุล .c) ไปเป็นโปรแกรมภาษาเครื่อง (ไฟล์นามสกุล .obj) เช่นไฟล์ Source Code ชื่อ example.c จะถูกแปลไฟล์เป็นไฟล์ภาษาเครื่องชื่อ example.obj
เชื่อมโยงโปรแกรม (LINK) เนื่องจากภาษาซีมีฟังก์ชันมาตรฐานให้ผู้เขียนโปรแกรมได้เรียกใช้ ดังนั้น การเขียนโปรแกรมภาษาซีจึงไม่จำเป็นต้องเขียนคำสั่งขึ้นใช้งานเอง เช่น การเขียนโปรแกรมแสดงข้อความออกทางหน้าจอ ผู้เขียนโปรแกรมสามารถเรียกใช้ฟังก์ชัน printf() ซึ่งเป็นฟังก์ชันมาตรฐานตัวหนึ่งของภาษาซี ทำให้ภาษาเครื่องที่ได้จากขั้นตอนที่ 2 ยังไม่สามารถนำไปใช้งานได้ แต่ต้องนำมาเชื่อมโยง (Link) เข้ากับ Library ก่อน หลังจากเชื่อมโยงแล้วจะได้ Executable Program (ไฟล์นามสกุล .exe) ที่สามารถนำไปใช้งานได้
การประมวลผล (RUN) เมื่อนำ Executable Program จากขั้นตอนที่ 3 มาประมวลผลก็จะได้ผลลัพธ์ หรือการทำงานตามที่ผู้เขียนโปรแกรมต้องการ