หลักการพื้นฐานในการเขียนโปรแกรม


หลักการพื้นฐานในการเขียนโปรแกรม

ภาษาคอมพิวเตอร์ หมายถึง สัญลักษณ์ที่ผู้คิดพัฒนาภาษา กำหนดขึ้นมาเพื่อใช้แทนคำสั่งสื่อสารสั่งงานระหว่างมนุษย์กับเครื่องคอมพิวเตอร์และอุปกรณ์ต่อพ่วงอื่นๆ

*โปรแกรมคนแรกของโลก คือ เอดาไบรอน เลิฟเลซ (Lady Augusta Ada Byron, Countess of Lovelace)

วงจรพัฒนาโปรแกรม
วงจรพัฒนาโปรแกรมมีจุดประสงค์หลักเพื่อสร้างโปรแกรมภาษาสำหรับแก้ปัญหาและส่งเสริมการทำงานในระบบงานหนึ่งๆ แบ่งเป็น 5 ขั้นตอน ดังนี้

1.การวิเคราะห์ปัญหา (Analyze the Problem)
เป็นขั้นตอนการศึกษาถึงปัญหาที่เกิดขึ้นและค้นหาสิ่งที่ต้องการเพื่อพิจารณาสิ่งต่อไปนี้
Input คือ ข้อมูลที่จะนำเข้าสู่คอมพิวเตอร์มีอะไรบ้าง
Process คือ วิธีการประมวลผลข้อมูลที่นำเข้าเพื่อให้ได้ผลลัพธ์ที่ต้องการคืออะไร
Output คือ การแสดงผลลัพธ์ที่ได้คืออะไร และมีรูปแบบอย่างไร

ตัวอย่าง
เมื่อเราต้องการสร้างโปรแกรมที่มีการนำตัวเลขเข้ามา 5 ตัว และให้แสดงผลเป็นค่าเฉลี่ยบนหน้าจอภาพ

Input คือ ตัวเลข 5 ตัว เช่น 1, 2 ,3 ,4, 5
Process คือ คำนวณหาค่าเฉลี่ย เช่น (2+ 5 +3+4+1)/5
Output คือ แสดงค่าเฉลี่ยผ่านทางหน้าจอภาพ เช่น 3 

2.การออกแบบโปรแกรม (Design a Program)
เป็นขั้นตอนการใช้เครื่องมือต่างๆ ออกแบบลำดับขั้นการทำงานของโปรแกรม เพื่อให้เห็นทิศทางหรือการทำงานโดยรวมของโปรแกรม ตัวอย่างเครื่องมือทีใช้ในการออกแบบโปรแกรม เช่น รหัสจำลอง (Pseudo Code) และผังงาน

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

สามารถแบ่งออกได้เป็น 5 ยุค คือ
1.ภาษาเครื่อง(Machine language)
2.ภาษาแอสเซมบลี (Assembly language)
3.ภาษาขั้นสูง (High-level language) หรือภาษารุ่นที่ 3 (3GL : Third Generation language)
4.ภาษาชั้นสูงมาก (Very high-level language) หรือภาษารุ่นที่ 4 (4GL)
5.ภาษาธรรมชาติ (Natural language) หรือภาษารุ่นที่ 5 (5GL)

1.ภาษาเครื่อง(Machine language)
*เป็นภาษาพื้นฐานที่คอมพิวเตอร์สามารถเข้าใจได้
*แต่ละคำสั่งประกอบขึ้นจากกลุ่มตัวเลข 0 และ 1 ซึ่งเป็นเลขฐานสอง

2.ภาษาแอสเซมบลี (Assembly language)
*เป็นภาษาที่ใช้สัญลักษณ์ข้อความ แทนกลุ่มของตัวเลขฐานสอง เพื่อให้ง่ายต่อการเขียนและการจดจำมากขึ้น
*การทำงานของโปรแกรมจะต้องทำการแปลภาษาแอสเซมบลีให้เป็นภาษาเครื่อง โดยใช้ตัวแปลที่ เรียกว่า แอสเซมเบลอร์ (Assembler)
*มีขั้นตอนการทำงานที่เรียกว่า วงจรพัฒนาโปรแกรม โดยใช้ผังงานช่วยในการออกแบบโปรแกรม เพื่อให้โปรแกรมภาษาที่พัฒนานั้นสามารถแก้ปัญหาหรือส่งเสริมการทำงานได้ตรงวัตถุประสงค์ที่ต้องการ

3.ภาษาขั้นสูง (High-level language) หรือภาษารุ่นที่ 3 (3GL : Third Generation language)
*ถูกสร้างขึ้นมาเพื่อเขียนโปรแกรมให้ง่ายขึ้น
*โดยมีลักษณะเหมือนกับภาษาอังกฤษทั่วไป
*ผู้เขียนไม่จำเป็นต้องมีความรู้เกี่ยวกับฮาร์ดแวร์แต่อย่างใด ภาษานี้จำเป็นต้องมีตัวแปลภาษาเครื่องเช่นกัน เรียกตัวแปลนี้ว่า คอมไพเลอร์ (compiler) หรือ อินเตอร์พรีเตอร์ (Interpreter) อย่างใดอย่างหนึ่ง ตัวอย่างของภาษาขั้นสูง เช่น ภาษาปาสคาล ภาษาซี ภาษาโคบอล ภาษาเบสิก ภาษาฟอร์แทรน

4.ภาษาชั้นสูงมาก (Very high-level language) หรือภาษารุ่นที่ 4 (4GL)
*เป็นภาษาที่มีลักษณะคล้ายภาษาพูดตามปกติของมนุษย์ ภาษานี้จะช่วยให้การเขียนโปรแกรมเร็วมากขึ้นกว่าภาษาในรุ่นที่ 3 เนื่องจากมีเครื่องมือที่ช่วยในการสร้างแบบฟอร์มหน้าจอ เพื่อจัดการกับข้อมูลรวมไปถึงการออกรายการ เมนูต่างๆ
*ตัวอย่างของภาษาชั้นสูงมากได้แก่ informix-4GL, MAGIC , Delphi, Power Builder

5.ภาษาธรรมชาติ (Natural language) หรือภาษารุ่นที่ 5 (5GL)
*เป็นภาษาที่สามารถสั่งงานคอมพิวเตอร์โดยใช้รูปแบบของภาษามนุษย์ได้เลย
*คำสั่งอยู่ในรูปแบบทีไม่แน่นอนตายตัว แต่คอมพิวเตอร์จะทำการแปลให้ออกมาในรูปที่คอมพิวเตอร์เข้าใจได้
*ภาษานี้ถูกสร้างขึ้นมาจากเทคโนโลยีทางด้านระบบผู้เชี่ยวชาญ (Expert system)
ตัวอย่างภาษาในรุ่นที่ 5  ได้แก่ ภาษา PROLOG เป็นต้น

ตัวอย่างภาษาคอมพิวเตอร์

1.ภาษาเครื่อง(Machine language)
100110000 01100001

2.ภาษาแอสเซมบลี (Assembly language)
เป็นภาษาที่ใกล้เคียงกับภาษาเครื่อง แต่เขียนโดยใช้ สัญลักษณ์ย่อ เพื่อให้เขียนง่ายกว่าการใช้ภาษาเครื่องโดยตรง ตัวอย่างของภาษาแอสเซมบลีจะมีความหมาย เดียวกับภาษาเครื่องข้างต้น
Mov al, ๐x๖๑

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

C This program calculates the area of a rectangle.

PEAL WIDTH, HEIGHI, AREA

WIDTH = ๑๐.๐

HEIGHI = ๒๓๔.๑

AREA = WIDTH * HEIGHI

WRITE (*,*) ‘ AREA = ‘ , AREA

STOP

END

4.ภาษาโคบอล (COBOL : Common Business Oriented Language)
เป็นภาษาสำหรับใช้ในงานธุรกิจ ภาษาแรกของโลกโดยคำสั่งของภาษา COBOL จะคล้ายกับภาษาอังกฤษทำให้สามารถอ่านและเขียน โปรแกรมได้ไม่ยากนัก

ตัวอย่างการเขียนภาษาโคบอล ในการสั่งพิมพ์เลข 1 ถึง 10 โดยกำหนดค่าเริ่มต้นเป็น 0

working-storage section.

77 x pic 99.

procedure division.

move 0 to x.

performcal-para until x >= 10.

stop run.

cal-para.

add 1 to x.

display x.

5.ภาษาเบสิก (BASIC)
ภาษาโปรแกรมสำหรับผู้เริ่มต้น เป็นภาษาโปรแกรมที่เรียนรู้ง่าย ไม่ซับซ้อน เหมาะสำหรับใช้ในห้องเรียนสำหรับการเรียนการสอน มีคำสั่งที่ง่ายสามารถเข้าใจได้เร็ว

ตัวอย่างการเขียนภาษาเบสิก สำหรับการคำนวณพื้นที่ของรูปสี่เหลี่ยมผืนผ้า

‘ This program calculates the area of

     ‘ a rectangle

        ***********************************

     PRINT : PRINT “Area Calculation”

              PRINT

     INPUT “Width: ” ; Width

     INPUT “Height” ” ; Height

     Area = Width * Height

              PRINT

     PRINT “Width; ” ; Width

     PRINT “Height; ” ; Height

     PRINT “Area: ” ; Area

                END

6.ภาษาซี (C)
ภาษาสมัยใหม่ เป็นภาษาที่ใช้สำหรับเขียนโปรแกรมระบบปฎิบัติการ เหมาะสำหรับโปรแกรมเมอร์ที่มีความสามารถสูง

ตัวอย่างการเขียนภาษาซี

#include <stdio.h>

main()

{

printf(” Hello. This is my first program. \n”) ; /* This is a comment */

return 0 ;

7.ภาษาจาวา (Java)
เป็นภาษาที่พัฒนาขึ้นล่าสุด แต่ได้รับความนิยมในการนำไปใช้ค่อนข้างมากเนื่องจากสามารถประมวลผลกับระบบคอมพิวเตอร์ได้ทุกประเภท จาวายังสามารถนำไปใช้เป็นภาษาสำหรับ อุปกรณ์แบบฝังต่างๆ เช่น โทรศัพท์และอุปกรณ์ขนาดมือถือแบบต่างๆ

ตัวอย่างการเขียนภาษาจาวา การคิดเกรด

if (score < 50)

            messageBox.show(“Your grade is F”);

else if (score < 60)

            messageBox.show(“Your grade is D”);

else if (score < 70)

            messageBox.show(“Your grade is C”);

else if (score < 80)

            messageBox.show(“Your grade is B”);

else 

            messageBox.show(“Your grade is A”);

4.ทดสอบโปรแกรม (Testing)
เป็นขั้นตอนในการทดลองใช้โปรแกรมตามเงื่อนไขต่างๆ ที่กำหนดขึ้นเพื่อให้รู้ปัญหาในการใช้โปรแกรม แล้วนำปัญหาดังกล่าวมาแก้ไขเพื่อให้โปรแกรมนั้นมีประสิทธิภาพในการใช้งาน

5. การบำรุงรักษา (Maintenance)
เป็นขั้นตอนที่ต้องปฎิบัติเมื่อมีการใช้งานจริงในระยะผู้สร้างโปรแกรมจะต้องเฝ้าดูและหาข้อผิดพลาดของโปรแกรมเพื่อทำการแก้ไข หรือจะต้องพัฒนาโปรแกรมให้มีความทันสมัยอยู่เสมอ

ขั้นตอนการเขียนโปรแกรม
1. การวิเคราะห์ปัญหา (Problem analysis)
2. การออกแบบโปรแกรม (Design)
3. การเขียนโปรแกรมโดยใช้ภาษาใดภาษาหนึ่ง (Coding)
4. การตรวจสอบข้อผิดพลาดของโปรแกรม (Testing and Debugging)
5. การทดสอบความถูกต้องของโปรแกรม (Testing and validating)
6. การทำเอกสารประกอบโปรแกรม (Documentation)
7. การบำรุงรักษาโปรแกรม (Program Maintenance)

เครื่องมือที่ใช้ในการออกแบบโปรแกรม
ผังงาน (Flowchart) ขั้นตอนการแก้ปัญหาทีละขั้นตอนในลักษณะรูปภาพ
รหัสจำลอง (Pseudo) รูปแบบเป็นภาษาพูดง่ายๆ ภาษาอังกฤษ หรือ ภาษาไทยก็ได้

สอนโดย : อ.ธี ติวเตอร์ ติวสอบครูผู้ช่วย


4 ทางลัดพัฒนาตัวเองแบบก้าวกระโดด


คนที่ชอบอิจฉา นินทาว่าร้าย กลัวว่าคุณจะได้ดีกว่า เขาจະทำ 5 อย่างนี้กับคุณเสมอ


10 สิ่งของรอบตัว ที่ไม่มีใครรู้ว่า มันมีประโยชน์อย่างไร


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