The words you are searching are inside this book. To get more targeted content, please make full-text search by clicking here.
Discover the best professional documents and content resources in AnyFlip Document Base.
Search
Published by asdrftg0905, 2021-03-16 13:03:55

E-Book วิชาการเขียนโปรแกรมโดยใช้เครื่องมือกราฟิกโหมด รหัสวิชา 2204-2107

หน่วยท่ี1 แนวคิดในการพฒั นาโปรแกรม

แนวคิด
เคร่ืองคอมพิวเตอร์เรมิ่ เข้ามามีบทบาทในชวี ติ และการทำงานขอคนในประเทศไทยตัง้ แต่

พ.ศ. 2524ซงึ่ เครื่องคอมพิวเตอรท์ ำงานโดยใช้หนว่ ยประมวลผลกลาง (ซีพียู 8088) และไมส่ ามารถ
ทำงานดว้ ยตนเองไดต้ ้องมโี ปรแกรมคำสัง่ หรือชดุ คำส่ังที่ช่วยใหค้ อมพวิ เตอร์ทำงานไดต้ ามความ
ตอ้ งการของผู้ใช้ ชุดคำสัง่ ท่สี ั่งให้คอมพิวเตอรท์ ำงาน หรอื เรียกว่า "โปรแกรมคอมพิวเตอร์" น้ันเริม่
ตง้ั แต่ชดุ คำส่ังของระบบปฏบิ ัตกิ ารโดยทำหนา้ ท่ีเปน็ ตวั กลางในการติต่อผใู้ ชก้ บั การทำงานของ
คอมพวิ เตอร์โปรแกรมสำเร็จรูปตา่ งๆ เปน็ ชดุ คำส่ังท่ีใชใ้ นการทำงานเฉพาะงาน ซึ่งแตกต่างกนั ไป
แล้วแต่งานนน้ั ๆ โปรแกรมคอมพวิ เตอรจ์ งึ มีความสำคัญมากในการทำงานของคอมพวิ เตอร์ การพฒั นา
โปรแกรมให้คอมพิวเตอร์สามารถทำงนได้ตามความต้องการถือเปน็ หัวใจหลกั ในการพฒั นา
คอมพวิ เตอร์ให้ทำงานตามความต้องการของผูใ้ ช้ได้มากที่สุด
สาระการเรียนรู้

1. ความหมายของการเขยี นโปรแกรมคอมพิวเตอร์
2. หลักการพัฒนาการเขยี นโปรแกรม
3. หลกั การออกแบบและพฒั นาโปรแกรมโดยใชเ้ คร่อื งมือกราฟกิ โหมด
ผลการเรยี นรทู้ ี่คาดหวงั
1. อธิบายความหมายของการเขยี นโปรแกรมได้
2. อธบิ ายหลักการพัฒนาการเขยี นโปรแกรมได้
3. อธบิ ายหลักการออกแบบและพัฒนาโปรแกรมโดยใชเ้ ครื่องมือกราฟกิ โหมดได้

ความหมายของการเขียนโปรแกรมคอมพิวเตอร์

การเขยี นโปรแกรมคอมพิวเตอรห์ มายถึง การเขยี นคำสง่ั คอมพวิ เตอร์ชดุ หนงึ่ ๆ ทีเ่ ขยี นข้ึนเป็น
ภาษาคอมพวิ เตอร์ภาษาใดภาษาหนึ่ง เชน่ ภาษาซี (C) ภาษาปาสคาล (PASCAL) ภาษาโคบอล
(COBOL) ภาษาเบสกิ (BASIC) หรอื ภาษาแอสเซมบล่ี (Assembly) หรอื ภาษาอื่นๆ "โปรแกรม" น้ี
อาจจะเรียกเปน็ ชอื่ อืน่ ได้ เช่น ซอฟต์แวร์ (Software) หรือแอปพลิเคชัน (Application)

ตัวอย่างของโปรแกรมคอมพิวเตอร์

โปรแกรมภาษา java

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

สมำ่ เสมอโดยจะมขี ัน้ ตอนหรือวธิ กี ารพฒั นาโปรแกรม ดังต่อไปนี้
1. การวเิ คราะหป์ ัญหา (Problem Analysis) ประกอบด้วยขันตอนต่างๆ
1.1 กำหนดวัตถุประสงคข์ องงาน เพ่ือพิจารณาว่าโปรแกรมตอ้ งทำการประมวลผล
อะไรบา้ ง
1.2 พิจารณาข้อมูลนำเข้า เพื่อให้ทราบว่าจะต้องนำข้อมูลอะไรเข้าคอมพิวเตอร์

(Input)ขอ้ มูลคุณสมบตั เิ ป็นอยา่ งไร ตลอดจนถึงลกั ษณะและรูปแบบของข้อมลู ท่ีจะนำเขา้
1.3 พิจารณาการประมวลผล (Process) เพ่อื ใหท้ ราบวา่ โปรแกรมมีขั้นตอนการ

ประมวลผลอยา่ งไรและมีเง่ือนไขการประมวลผลอะไรบ้าง
1.4 พิจารณาขอ้ มูลนำออก (Output) เพื่อใหท้ ราบว่ามีขอ้ มูลอะไรทจี่ ะแสดง ตลอดจน

รปู แบบและสื่อท่จี ะใช้ในการแสดง เชน่ การแสดงออกทางจอภาพ การแสดงออกทางเครื่องพิมพ์

2. การออกแบบโปรแกรม (Design) คือ คารออกแบบขันตอนการทำงานของโปรแกรมเป็น
ขั้นตอนที่ใช้เป็นแนวทางในการลงรหัสโปรแกรม อาจใช้เคร่ืองมือต่างๆ ชว่ ยในการออกแบบ เช่น คำสงั่
จำลอง (Pseudo code) หรือผังงาน (Flow chart) กรออกแบบโปรแกรมนัน้ ไมต่ ้องกังวลกบั รปู แบบ
คำส่ังภาษาคอมพิวเตอร์แต่มุ่งความสนใจไปท่ลี ำดบั ข้นั ตอนในการประมวลผลของโปรแกรมเท่านนั้

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

4. การทดสอบและแก้ไขโปรแกรม (Testing) การทดสอบโปรแกรมเปน็ การนำโปรแกรมที่
ลงรหัสแลว้ เขา้ คอมพิวเตอร์ หรอื การติดต้ังโปรแกรมเพื่อตรวจสอบการทำงานของโปรแกรมวา่ ถูกตอ้ ง
หรือไม่ โปรแกรมท่ีเขยี นมี Error หรือไม่ หรอื ทำงานไดต้ ามทต่ี อ้ งการหรือไม่ ถา้ พบวา่ ยังไมถ่ ูกก็แก้ไข
ให้ถกู ต้องต่อไป

5. การทำเอกสารประกอบโปรแกรม (Documentation) การทำเอกสารประกอบ
โปรแกรมใชง้ านโปรแกรม หรอื คมู่ ือการใชง้ านโปรแกรม เปน็ งานทสี่ ำคญั ของการพัฒนาโปรแกรม
เอกสารประกอบโปรแกรมชว่ ยใหผ้ ้ใู ชโ้ ปรแกรมเขา้ ใจวตั ถุประสงคข์ ้อมูลท่จี ะต้องใชก้ ับโปรแกรม
ตลอดจนผลลัพธ์ท่จี ะได้จากโปรแกรมการทำโปรแกรมทุกโปรแกรมจงึ ควรต้องทำเอกสาร

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

ขน้ั ตอนการพฒั นาโปรแกรม

หลักการออกแบบและพฒั นาโปรแกรมโดยใชเ้ ครือ่ งมือการฟกิ โหมด
หลกั การออกแบบและพัฒนาโปรแกรมโดยใชเ้ ครอื่ งมอื กราฟกิ โหมด (Graphic User

Interface :GUI) น้ันจะมีหลกั การเดียวกนั กบั หลกั การออกแบบและพฒั นาการเขียนโปรแกรมทั่วไป
แตจ่ ะแตกตา่ งในรายละเอียด เน่ืองจากการเขียนโปรแกรม GUI นัน้ จะอาศยั กราฟิกในการทำงานแทน
การพมิ พ์ codeด้วยคียบ์ อรด์ ซงึ่ หลักในการออกแบบและพัฒนาโปรแกรม GUI มีดงั นี้

1. การวิเคราะห์งาน (Job Analysis) เป็นชั้นตอนในการหาข้อมูลจากผู้ใช้งาน เพื่อ
ออกแบบโปรแกรมให้ตรงกับความตอ้ งการของผู้ใช้โปรแกรม (User Requirement) ซ่ึงเป็นขั้นตอนท่ี
สำคัญที่สุด ถ้าการวิเคราะห์งานผิดพลาดไม่ตรงกับความต้องการของผู้ใช้ การออกแบบและเขียน
โปรแกรมก็จะผิดพลาดไปด้วย เหมือนกับการสอบถึงแม้ว่าคำตอบจะถูกต้องแต่ไม่ตรงกับคำสั่งใน
โจทยก์ ถ็ อื วา่ ผดิ และไม่ได้คะแนนเชน่ เดยี วกนั

2. การออกแบบ (Design)
2.1 การออกแบบฟอร์มเพื่อสร้างจอภาพทใี่ ช้ในการตดิ ตอ่ กับผใู้ ช้ หรอื ทเี่ รียกวา่ การ

ออกแบบ "User Interface" โดยนำเอา Control ตา่ งๆ ใน Toolbox ทตี่ อ้ งการใชง้ านวางไวบ้ น Form
2.2 การกำหนด Properties ให้กบั Object กำหนดข้อมูลในสว่ น Data ใหก้ ับแตล่ ะ

Objectไดแ้ ก่ การกำหนดคุณสมบัติ (Property) ให้กบั Object

2.3 การออกแบบรายงาน

3. การเขียนคำสั่ง (coding) ให้นำเอา Method ที่จำเป็นของแต่ละ Object มาเขียนเป็นโปรแกรม

โดยอาจใชค้ ำสง่ั และฟงั กช์ ันตา่ งๆ ของ Visual Basic ประกอบ เพอื่ กำหนดการทำงานให้กับ Object

4. การทดสอบโปรแกรม (Testing) เมื่อโปรแกรมได้ทำการเขียนเสร็จแล้ว ก่อนนำออกไป

ใช้งานจริงตอ้ งมกี ารทำการทดสอบเพื่อให้ไดผ้ ลลัพธ์ตามท่ตี ้องการ

4.1 การตรวจสอบและแก้ไขข้อผิดพลาด (Error and Debugging)

 Syntax Error ข้อผดิ พลาดในการใช้ไวยากรณ์

 Logical Error ข้อผิดพลาดทางดา้ นตรรกะ

 Runtime Error ขอ้ ผิดพลาดในการทำงานของโปรแกรม

4.2 การแก้ไขข้อผิดพลาด Debugging เมื่อทราบสาเหตขุ องข้อผดิ พลาดตา่ งๆ ทเี่ กิดขึน้ ก็

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

5. การดูแลรกั ษาโปรแกรม (Maintenances) หลังจากโปรแกรมไดน้ ำออกใชไ้ ประยะหน่ึง

ควรมกี ารตดิ ตามผลการใช้โปรแกรมว่ายังมีข้อบกพร่องหรือไม่ หรอื ควรต้องมีการพัฒนาไปตามความ

ต้องการของผู้ใชง้ านซึง่ มกี ารเปลยี่ นแปลงอย่ตู ลอด เพ่ือให้โปรแกรมทันสมัยและใชง้ านไดอ้ ยู่

ตลอดเวลา

6. การจัดทำเอกสารประกอบ (Documentation) การจัดทำคู่มือและเอกสารประกอบ

เป็นสิ่งที่มีความจำเป็นสำหรับการนำไปใช้งานและปรับปรุงพัฒนาโปรแกรม โดยจะแบ่งเอกสาร

ออกเปน็ 2 ประเภท คอื

6.1 เอกสารการพัฒนาโปรแกรมเป็นเอกสารที่จัดทำเพื่อใช้สำหรับผู้ที่ทำหน้าที่เกี่ยวข้อง

ในการพัฒนาโปรแกรม ซึ่งประกอบด้วยขั้นตอนต่างๆ ในการพัฒนาโปรแกรม เช่น การวิเคราะห์งาน

การออกแบบงาน การเขยี นผังงาน Source code ของโปรแกรม เป็นต้น เป็นเอกสารในการอา้ งอิงใน

การปรับปรงุ พัฒนาโปรแกรม

6.2 เอกสารการใช้งานโปรแกรมหรือคู่มือการใช้งานโปรแกรม เป็นเอกสารสำหรับผู้นำ

โปรแกรมไปใช้งาน (User) ซึ่งจะระบุความต้องการพื้นฐานของระบบ เช่น สเปกคอมพิวเตอร์ คู่มือ

การใช้งาน ถ้าเขยี นแล้วผ้ใู ช้งานอา่ นได้เขา้ ใจง่าย จะชว่ ยลดงานโดยไม่ตอ้ งเสียเวลามาตอบคำถามการ

ใช้งานโปรแกรม

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

โปรแกรมสำหรับคำนวณการบวกตัวเลข 2 ค่า

โปรแกรมสำหรับจบั เวลา

ใบงานที่ 1

คำชี้แจง บอกหลกั การพฒั นาการเขียนโปรแกรม โดยแสดงเป็นแผนภูมิข้นั ตอนหรือวิธกี ารพฒั นา
โปรแกรมตามขนั้ ตอน

............................................................................................................................. ...................................
................................................................................................................................................................
............................................................................................................................. ...................................
............................................................................................................................. ...................................
................................................................................................................................................................
............................................................................................................................. ...................................
.................................................................................................................................... ............................
..................................................................................................... ...........................................................
............................................................................................................................. ...................................
................................................................................................................................................................
............................................................................................................................. ...................................
............................................................................................................................. ...................................
................................................................................................................................................................
..........................
............................................................................................................................. ...................................
............................................................................................................................. ...................................
................................................................................................................................................................
............................................................................................................................. ...................................
......................................................................................................................................... .......................
.......................................................................................................... ......................................................
............................................................................................................................. ...................................
................................................................................................................................................................
............................................................................................................................. ...................................
............................................................................................................................. ...................................
................................................................................................................................................................
..................................................................

แบบประเมินผลการเรียนรหู้ น่วยที่ 1

ตอนท่ี 1 จงเลือกคำตอบทถ่ี ูกตอ้ งที่ถกู ต้องทสี่ ดุ เพียงข้อเดียว

1. ข้อใดคือความหมายของโปรแกรรมคอมพวิ เตอร์
ก. คำสั่งคอมพวิ เตอร์ชดุ หนงึ่ ๆ ทีเ่ ขยี นข้ึนเปน็ ภาษาคอมพิวเตอร์

ข. วงจรภายในเครื่องคอมพวิ เตอร์

ค. การประมวลผลของ CPU

ง.ถูกทกุ ข้อ

2. ข้อใดไม่ใช่ภาษาสำหรบั เขียนโปรแกรมคอมพวิ เตอร์

ก. Java ข. COBOL

ค. ANDROID ง. PASCAL

3. หลกั การพัฒนาโปรแกรมขั้นตอนใดมุ่งเน้นไปที่ลำดบั ขน้ั ตอนในการประมวลผลของโปรแกรม

ก. ข้นั ตอนการเขียนโปรแกรม

ข. ขน้ั ตอนการทดสอบโปรแกรม

ค. ขัน้ ตอนการออกแบบโปรแกรม

ง. ข้นั ตอนการบำรุงรกั ษาโปรแกรม

4. การทำเอกสารประกอบโปรแกรมมีความสำคัญอย่างไร

ก. ช่วยให้ทราบถงึ ข้อมูลทโ่ี ปรแกรมจะตอ้ งทำการประมวลผล

ข. ช่วยใหท้ ราบถงึ ลำดับขน้ั ตอนการทำงานของโปรแกรม

ค. ตรวจสอบความถกู ตอ้ งในการทำงานของโปรแกรม

ง. ช่วยให้ผู้ใชเ้ ขา้ ใจวตั ถุประสงค์ของโปรแกรม

5. ข้นั ตอนทส่ี ำคัญทส่ี ุดในการพัฒนาโปรแกรมคือขอ้ ใด

ก. การวิเคราะหง์ าน ข. การออกแบบ

ค. การเขยี นโปรแกรม ง. การทดสอบโปรแกรม

6. Syntax Error คือขอ้ ผิดพลาดใด

ก. ขอ้ ผิดพลาดจากการทำงานของโปรแกรม ข. ขอ้ ผดิ พลาดจากผ้ใู ช้

ค. ขอ้ ผดิ พลาดจากไวยากรณ์ ง.ขอ้ ผดิ พลาดทางด้านตรรกะ

7. Logical Error คอื ข้อผิดพลาดชนดิ ใด

ก. ข้อผดิ พลาดจากการทำงานของโปรแกรม

ข. ขอ้ ผิดพลาดจากผู้ใช้

ค. ข้อผดิ พลาดจากไวยากรณ์

ง. ข้อผิดพลาดทางดา้ นตรรกะ

8. Runtime Error คอื ข้อผดิ พรากชนิดใด

ก. ข้อผิดพลาดจากการทำงานของโปรแกรม

ข. ข้อผิดพลาดจากผู้ใช้

ค. ขอ้ ผิดพลาดจากไวยากรณ์

ง. ข้อผิดพลาดทางดา้ นตรรกะ

9. จดุ ประสงค์ของการ Debugging มไี วเ้ พ่ืออะไร

ก. เพอื่ ดูแลความเรยี บร้อยของโปรแกรม

ข. เพอื่ แกไ้ ขข้อผิดพลาดของโปรแกรม

ค. เพอ่ื กำหนดคุณสมบัตใิ ห้โปรแกรม

ง. เพ่ืออธบิ ายการทำงานของโปรแกรม

10. ขอ้ ใดคอื ภาษาที่ใชใ้ นการออกแบบและพฒั นาโปรแกรมโดยใชก้ ราฟิกโหมด

ก. Python ข. Peart

ค. Visual Basic ง. Pascal

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

............................................................................................................................. .....................
....................................
4. จากโปรแกรมตวั อย่างในขอ้ 3. ใหท้ ำการวิเคราะห์โปรแกรมเพ่ือค้นหาข้อมูลดังต่อไปนี้

• จดุ ประสงค์ของโปรแกรม
• ขอ้ มลู นำเข้า (Input) ของโปรแกรม
• การประมวลผลของโปรแกรม
• ขอ้ มูลนำออก (Output) ของโปรแกรม

...........................................................................................................................................
..................................................................................................................... ......................
...........................................................................................................................................
............................................................................................... ............................................
...........................................................................................................................................
...........................................................................................................................................
................................................................................................................................. ..........
..........................................
5. จดั ทำเอกสารประกอบโปรแกรมของโปรแกรมตวั อยา่ งในข้อ 3.
............................................................................................................................. ..............
...........................................................................................................................................
............................................................................................................................. ..............
...........................................................................................................................................
............................................................................................................................. ..............
...........................................................................................................................................
....................................

หนว่ ยที่ 2

องคป์ ระกอบของโปรแกรมภาษาคอมพวิ เตอร์

แนวคดิ

ในการออกแบบและพฒั นาโปรแกรมคอมพวิ เตอร์เพื่อให้สามารถตอบสนองความต้อวการ

ของผู้ใช้ได้นั้น ผพู้ ฒั นาโปรแกรมตอ้ งมคี วามร้คู วามเขา้ ใจเกีย่ วกบั องคป์ ระกอบของโปรแกรม

ภาษาคอมพิวเตอร์ก่อน เน้ือหาในหนว่ ยนจ้ี ะประกอบไปดว้ ยความรู้ความเก่ยี วกับโปรแกรม

คอมพิวเตอร์แบบต่างๆระดับของภาษาคอมพิวเตอร์ และโครงสรา้ งของข้อมูลในโปรแกรม

คอมพิวเตอร์

สาระการเรียนรู้

1 คอมพวิ เตอร์ซอฟต์แวร์

2 ระดับของภาษาคอมพวิ เตอร์

3 โครงสร้างของข้อมลู

ผลการเรยี นรู้ทีค่ าดหวงั

1 แสดงความรู้เก่ียวกบั คอมพิวเตอรซ์ อฟตแ์ วร์แบบต่างๆ ได้

2 อธิบายระดบั ของภาษาคอมพิวเตอร์

3 อธิบายโครงสรา้ งของข้อมลู ได้

คอมพวิ เตอร์ซอฟตแ์ วร์

คอมพวิ เตอร์ซอฟตแ์ วร์ หมายถงึ ส่วนของโปรแกรมคอมพิวเตอร์ กระบวนการในการทำงาน
ตลอดจนเอกสารประกอบทเ่ี กี่ยวขอ้ งในระบบประมวลผลขอ้ มูลแบบอิเล็กทรอนกิ ส์

Application software

Syste:m software

Hardware

สว่ นประกอบของซอฟตแ์ วร์
ซอฟตแ์ วรส์ ามารถแบง่ ได้เป็น 2 ชนดิ ซอฟตแ์ วรร์ ะบบ และซอฟต์แวรป์ ระยกุ ต์
1. ซอฟต์แวร์ระบบ (System software) หมายถึง โปรแกรมทุกโปรแกรมที่ทำหน้าท่ี
ตดิ ต่อกบั สว่ นประกอบต่างๆ ของฮารด์ แวรค์ อมพิวเตอร์และอำนวยเครื่องมือสำหรับงานพื้นฐานต่างๆ
ทีเ่ ก่ยี วข้องกบั ฮารด์ แวร์
ซอฟต์แวร์ระบบประกอบดว้ ยซอฟต์แวร์ 2 ประเภท คือ

1.1 ระบบปฏิบัติการ (Operating System) หมายถึง ชุดของโปรแกรมที่อยู่ระหว่าง
ฮาร์ดแวร์และซอฟต์แวร์ประยุกต์มีหน้าที่ในการควบคุมการปฏิบัติงานของฮาร์ดแวร์และ
สนับสนุนคำสั่งสำหรับควบคุมการทำงานของฮาร์ดแวร์ประยุกต์ ตัวอย่างของซอฟต์แวร์
ระบบปฏบิ ัตกิ ารที่นยิ มใชใ้ นปัจจุบันเชน่ MS-DOS, UNIX, Windows 8, และ Mac OSX เป็นต้น
ระบบปฏิบัตงิ านหลกั ๆคือ

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

• จัดการงานในส่วนของการติดต่อกบั ผใู้ ช้
• ให้บริการโปรแกรมประยุกต์อ่ืนเช่น การรับข้อมูล และการแสดงผล เป็นต้น

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

ระบบปฏิบัตกิ ารระบบเคร่ืองไมโครคอมพวิ เตอร์ ในปัจจุบันนีร้ ะบบปฏบิ ตั กิ ารบนเครื่อง
ไมโครคอมพิวเตอร์ทไ่ี ดร้ ับความเปน็ นิยมจะแยกตามฮารด์ แวรท์ ีใ่ ชง้ านได้เป็น 2 ระบบ คอื

ระบบปฏบิ ัติการท่ที ำงานบนเคร่ืองไอบีเอ็มพีซี (IMB personal computer) หรือเลยี นแบบไอบีเอ็ม
พีซี (IMB PC Compatible) และระบบปฏบิ ตั ิการท่ีทำงานบนเครอื่ งแมคอินทอช(Macintosh) โดย
ปกตแิ ลว้ โปรแกรมประยุกต์ใดๆ จะสามารถทำงานปฏิบตั ิการตวั ใดตวั หนง่ึ เทา่ น้นั เช่นโปรแกรม
ไมโครซอฟต์เวริ ด์ ท่ถี กู ออกแบบมาให้ทำงานบนเครื่องไอเอ็มบีซกี ็จะไม่สามารถนำไปใช้งานบนเครอื่ ง
แมคอนิ ทอช เพราะเครือ่ งไอบเี อ็มพซี จี ะนยิ มใชร้ ะบบปฏิบัติการของไมโครซอฟต์ที่เรยี กว่าเอ็มเอ
สดอส(MS-DOS)หรืออาจใชร้ ะบบทีใ่ หมก่ วา่ คือไมโครซอฟต์วินโดวส์(Microsoft Windows)หรอื
ระบบปฏบิ ัตกิ ารแบบเปดิ ในตระกลู ยนู ิกซ์ เชน่ SCO UNIX หรอื LINUX ในขณะทเี่ ครือ่ งแมคอินทอช
ใช้ระบบปฏิบัติการที่เรยี กวา่ แมคอนิ ทอชโอเปอเรติงซสิ เต็ม (Macintosh Operating System)ซง่ึ
ออกแบบโดยบริษัทแอปเปิลกว่าทเี่ ครื่องสองชนดิ ใช้ระบบปฏบิ ตั ิการต่างกันเนื่องมาจากมีหนว่ ย
ประมวลผลกลางไมเ่ หมือนกนั ผูท้ จ่ี ะผลติ ซอฟต์แวร์คอมพิวเตอร์จะต้องเลือกที่จะผลิตซอฟต์แวรใ์ หใ้ ช้
บนระบบใดระบบหนึง่ หรอื ถ้าจะใหใ้ ชไ้ ด้บนระบบปฏบิ ตั ิการทัง้ สอชนดิ กต็ ้องพัฒนาซอฟตแ์ วร์ข้ึนมา
องชดุ
สว่ นมากแล้วผู้ใชเ้ ครอื่ งคอมพวิ เตอร์จะไมส่ นใจวา่ จะใชร้ ะบบปฏบิ ัติการใด แต่จะเลอื กซอฟต์แวร์
ประยุกต์ทสี่ ามารถทำงานให้ไดป้ ระโยชน์สูงสุดตามตอ้ งการ แล้วจึงพิจารณาว่าซอฟตแ์ วร์นัน้ ทำงาน
บนระบบปฏิบตั กิ ารชนดิ ใด แตผ่ ู้ใช้บางกล่มุ ก็เจาะจงเลือกใช้ระบบปฏบิ ตั ิการเอ็มเอสดอสเพราะมี
ซอฟต์แวร์ประยุกต์ใหเ้ ลอื กได้ใชม้ ากมาย และผู้ใช้บางกลุ่มกต็ ้องการใชเ้ ครื่องแมคอินทอชเพราะมี
ระบบโตต้ อบผู้ใชท้ ี่ไดง้ ่ายและสวยงาม

• ระบบปฏบิ ตั ิการเอ็มเอสดอส (MS-DOS) ผ้ใู ช้เคร่อื งคอมพิวเตอรใ์ นปัจจุบันน้มี ักจะมี
ฮารด์ ดิสก์ตดิ อยูด่ ้วยนานเม่ือผูใ้ ชเ้ ปดิ เครอ่ื งคอมพิวเตอรร์ ะบบปฏิบตั กิ ารกจ็ ะถูกเรยี กจากฮาร์ดดิสก์
มาไว้ในหน่วยความจำของเครื่องเพื่อเตรียมทจี่ ะใช้งานได้ทันท่ีต้องการ ขัน้ ตอนทยี่ า้ ยระบบปฏิบตั กิ าร
เข้าส่หู น่วยความจำของเครื่องน้ันเรยี กวา่ การบูตระบบ(booting)หรือบดู แสตป (bootstrap)ซึ่งมี
ขนั้ ตอนคอื เมื่อปิดสวสิ ซเ์ คร่ืองคอมพิวเตอร์ขน้ึ โปรแกรมเล็กๆ ที่อยู่ในหน่วยความจำรอม (ROM) จะ
เรยี กเอาสว่ นปประกอบพื้นฐานท่ีจำเปน็ ของระบบปฏิบตั ิการจากฮารด์ ดิสกเ์ ขา้ มาไว้ในหน่วยความจ
ไหลักซง่ึ จะไดผ้ ลลัพธ์บนจอภาพเป็น C > หรือ C:\ >โดยทีห่ มายถึงดสิ ก์ไดฟท์ ่ีทำงานอยู่ และ
เครอื่ งหมาย > หมายถึงการเตรยี มพร้อมที่ทำงาน (prompt) จากน้ันผูใ้ ช้สามารถพมิ พ์คำสัง่ ของเอม็
เอสดอสไดท้ ันที

Starting MS-DOS….
C:\>_

• ไมโครซอฟต์วนิ โดวส์ หรือท่ีนิยมเรียกส้ันๆ วา่ วินโดวสม์ ีระบบการติดต่อกับผู้ใชเ้ ปน็
แบบกราฟิกท่ีมีสสี ันสวยงาม และสามารถใชไ้ ดง้ า่ ย เรียกระบบติดตอ่ กบั ผใู้ ช้ลกั ษณะนวี้ า่ Gul
(Graphic user Interface) ซึ่งผู้ใชร้ ะบบวินโดวส์จะทำงานอยูก่ บั เมนู(Menu) และรูปภาพท่เี รียกวา่
ไอคอน (icon) แทนที่จะเป็นการพมิ พค์ ำสง่ั ตา่ งๆ ดงั รูป

เมนูในวินโดวส์สามารถแบ่งเป็นพบดู าวนเ์ มน(ู pull down menu) ซึง่ จะเป็นเมนู ที่
เม่อื ทำการรายการทต่ี ้องการ แลว้ จะมรี ายการย่อยถูกดงึ ลง(pull down) ใหป้ รากฏออกมา
กนอกจากนี้จะมีเมนูอีกชนดิ หนึ่งเรยี กวา่ ปอ๊ ปอัปเมนู (Pop Up menu) ซงึ่ จะปรากฏเปน็
หน้าตา่ งย่อยก่อนขึ้นมาดา้ นหน้าเม่ือเลือกรายการทต่ี ้องการ

ตวั อยา่ งของ Pull down menu ใน Windows 8

ตวั อยา่ งของ popup menu ใน Windows 7

ระบบวนิ โดวสม์ ีข้อดีคือ เออ้ื อำนวยใหผ้ ใู้ ชส้ ามารถทำงานได้งา่ ยโดยการแสดงภาพกราฟิกบน
จอภาพ เมอื่ ผใู้ ชเ้ ปดิ เคร่ืองข้ึนมา และผูใ้ ชส้ ามารถใช้เมาส์ในการชี้และคลิกทีภ่ าพเพื่อเลือกซอฟต์แวร์
ท่ีต้องการแทนที่จะต้องพิมพ์คำสั่งเช่นเดยี วกับระบบดอส ดังนั้นระบบวินโดวส์จึงได้รับความเปน็ นิยม
อย่างกว้างขวางและไดม้ กี ารพัฒนาเปน็ เวอรช์ ันใหม่ๆอยา่ งต่อเน่ือง นบั จาก windows 3.0, windows
for work group ซึ่งเป็น cooperative multitasking จนมาถึงwindows95 ซึ่งเป็นPreemptive
multitasking และ windows NT ซึ่งเป็นระบบปฏิบัติการเครือข่ายแบบ Client/Sarver และใน
ปจั จุบนั ได้พัฒนาไปอยา่ งต่อเนอ่ื ง เชน่ windows8.1เปน็ ตน้

ระบบปฏิบัติการเครือข่าย (Network operating System หรือ NOS จะเปน็
ระบบปฏิบัติการที่ถกู ออกแบบมาสำหรบั จดั การงานดา้ นการตดิ ตอ่ สอื่ สารระหว่างคอมพิวเตอร์และ
ช่วยให้คอมพิวเตอรท์ ต่ี ่ออย่กู ับเครือข่ายสามารถใช้อุปกรณ์ต่างๆเชน่ ฮาร์ดดสิ ก์ หรือเครื่องพิมพ์
ร่วมกันได้ ระบบปฏบิ ตั กิ ารเครือข่ายมีคุณสมบตั ติ า่ งๆ คล้ายระบบปฏิบตั ิการเอ็มเอสดอส แต่มีการ
จดั การเกยี่ วกับเครือขา่ ยและการใชอ้ ปุ กรณร์ ่วมกันรวมทง้ั มรี ะบบป้องกนั การสูญหายของข้อมลู ดว้ ย
ระบบปฏิบัตกิ ารเครือข่ายทน่ี ิยมใช้ในปัจจุบันจะใช้หลักการประมวลผลแบบไคลเอนต์เซริ ์ฟเวอร์
(Client/ Server) ประกอบสำหรบั การเรียกใช้แฟม้ ขอ้ มูลและการจดั การโปรแกรมจะทำงานอยูบ่ น
เครอื่ งเซิร์ฟเวอร์ ในขณะท่ีส่วนประกอบอน่ื ๆของระบบการจะขายจะอยู่บนเคร่ืองไคลเอนต์ เช่น การ

ตดิ ตอ่ กับผใู้ ชก้ ารประมวลผลเป็นตน้ การจัดการให้ผ้ใู ชเ้ ห็นว่างานและอุปกรณ์ทง้ั หลาย เธอเหมอื นอยู่

บนเคร่อื งไคลเอนต์เองถือว่าเป็นหน้าท่หี ลกั อันหนง่ึ ของระบบปฏิบัตกิ ารเครือขา่ ย

ระบบปฏิบตั ิการบนเครอ่ื งคอมพวิ เตอร์ขนาดใหญเ่ ครอ่ื งคอมพิวเตอร์ขนาดใหญ่

เช่น เคร่อื งระดบั เมนเฟรมได้ถูกพฒั นาข้นึ กวา่ 2 ทศวรรษ กอ่ นทจ่ี ะมีเครือ่ งไมโครคอมพิวเตอร์ระดับ

เมนเฟรมจะนำมาใช้ในดา้ นธุรกิจและการศกึ ษาซงึ่ จะมผี ใู้ ชง้ านพรอ้ มกนั จำนวนมากทำให้

ระบบปฏิบตั ิการของเคร่ืองระดับนี้มกี ารทำงานท่ีซับซ้อนมากข้นึ โดยต้องทำการดูแลสั่งงานโปรแกรม

พรอ้ มๆกันจำนวนหลายๆโปรแกรม(Multitasking) การเขา้ ใชง้ านเครื่องของผใู้ ช้จำนวนหลายๆคน

(Multiuer) การจัดลำดับและแบง่ ปันทรัพยากรให้กับผู้ใช้ตลอดจนการรักษาความเป็นส่วนตัวและ

ความลับของผใู้ ชแ้ ตล่ ะคน

ระบบปฏบิ ัติการแบบเปดิ (Open Operating System) ในอดตี ผ้ทู ี่พฒั นา
ระบบปฏิบตั กิ ารคอื บริษทั ทผี่ ลิตคอมพวิ เตอร์ในงานระบบปฏิบัตกิ ารจึงถกู ออกแบบใหส้ ามารถใชไ้ ด้
เฉพาะกบั เครื่องของบรษิ ทั เท่าน้นั เรียกระบบปฏบิ ตั ิการประเภทนวี้ า่ ระบบปฏิบตั ิการแบบเปิด
(Proprietary) ซ่งึ แม้แตใ่ นปัจจบุ ันนี้เครื่องระดับเมนเฟรมผู้ขายก็ยังคงเป็นผกู้ ำหนดความสามารถ
ของระบบปฏิบัตกิ ารของเคร่ืองทข่ี ายอยอู่ ยา่ งไรก็ตามปัจจบุ ันมแี นวโน้มทจ่ี ะทำให้ระบบปฏบิ ัตกิ าร
สามารถนำไปใชง้ านบนเครื่องต่างๆ กนั ได้ (Portable operating system) เช่น ระบบปฏบิ ตั กิ าร
ยนู ิกซ(์ UNIX)

ระบบปฏิบัติการยูนิกซ์เป็นระบบปฏิบัติการที่พัฒนาขึ้นในปี ค.ศ. 1971 จาก
ห้องปฏบิ ัตกิ ารเบลล์ของบรษิ ทั AT & T ซึ่งได้ทำการพัฒนาบนเครื่องมินิคอมพิวเตอร์ของ DEC
ระบบปฏิบัติการยูนกิ ซเ์ ปน็ ระบบที่สนับสนุนผูใ้ ช้งานจำนวนหลายคนพร้อมๆ กัน โดยใช้หลักการแบง่
เวลา (time sharing) ตอ่ มาในปี ค.ศ. 1970 ได้มกี ารบริจาคระบบปฏิบัติการน้ีให้กับวงการศึกษาและ
มีการนำไปใช้ทั้งในมหาวิทยาลัย และวิทยาลัยต่างๆ นักศึกษาจำนวนมากจึงได้ใช้ระบบปฏิบัติการ
ยูนิกซ์ทำใหเ้ ม่ือนักศกึ ษาเหล่านั้นจบออกไปทำงานก็ยังคงเคยชินกับระบบปฏิบัติการยูนิกซ์และจัดหา
มาใช้ในองค์กรที่ทำงานอยู่ ระบบปฏิบัติการยูนิกซ์จึงได้รับการยอมรับในวงการอุตสาหกรรมและ
วงการอื่นๆอย่างแพร่หลาย และมีการใช้งานอยู่ตั้งแต่เครื่องระดับไมโครคอมพิวเตอร์ไปจนถึง
เครอ่ื งประดบั ซูเปอรค์ อมพวิ เตอร์

1.2 ตัวแปลภาษาคอมพิวเตอร์ (Translator) ในการพัฒนาซอฟต์แวร์คอมพิวเตอร์น้ัน
โปรแกรมเมอร์จะเขียนโปรแกรมภาษาคอมพิวเตอร์แบบต่างๆ ตามแต่ความชำนาญของแต่ละคน
โปรแกรมทไ่ี ดจ้ ะเรยี กวา่ โปรแกรมตน้ ฉบับ หรอื ซอร์สโค้ด (source code) ซงึ่ มนุษย์จะอา่ นโปรแกรม
ต้นฉบับนี้ได้ แต่คอมพิวเตอร์จะไม่เข้าใจคำสั่งเหล่านั้น เนื่องจากคอมพิวเตอร์เข้าใจแต่ภาษาเครื่อง
(Machine Language) ซึ่งประกอบขึ้นจากรหัสฐานสองเท่านั้น จึงต้องมีการใช้โปรแกรมตัวแปล

ภาษาคอมพิวเตอร์ (Translator) ในการแปลภาษาคอมพิวเตอร์ภาษาต่างๆ ไปเป็นภาษาเครื่อง
โปรแกรมท่แี ปลจากโปรแกรมต้นฉบับแล้วเรียกวา่ ออบเจกต์โค้ด (object code) ซึ่งจะประกอบด้วย
รหัสคำสงั่ ทค่ี อมพิวเตอรส์ ามารถเขา้ ใจและนำไปปฏิบตั ิไดต้ ่อไป

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

แอสเซมเบลอร์ (Assembler) เป็นตวั แปลภาษาแอสเซมบลซี ึ่งเป็นภาษาระดบั ตำ่ ให้เป็น
ภาษาเครือ่ ง

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

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

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

2. ซอฟต์แวรป์ ระยกุ ต์ (Application Software) ซอฟต์แวรป์ ระยุกต์จะเป็นโปรแกรมที่
ทำให้คอมพิวเตอร์สามารถทำงานตา่ งๆ ตามท่ีผใู้ ช้ต้องการไมว่ ่างานด้านกานจัดทำเอกสาร การทำ
บญั ชี การจดั เก็บข้อมูลข่าวสาร ตลอดขนงานทุกๆด้าน แล้วแต่ผู้ใช้ต้องการจนสามารถกล่าวไดว้ า่
ซอฟต์แวรป์ ระยุกตก์ ็คอื ซอฟต์แวร์ท่ีทำใหเ้ กดิ การใช้งานคอมพิวเตอร์กันอย่างกล้างขวาง และทำให้
คอมพวิ เตอร์เป็นปจั จยั ทไ่ี ม่สามารถขาดได้ในยุคสารสนเทศนี้

ในองคก์ รขนาดใหญ่หรืองานที่มีความต้องการเฉพาะด้าน การจัดหาซอฟต์แวรม์ าใชง้ านจะใช้
วิธีพัฒนาซอฟต์แวร์ขึ้นมาเอง หรือว่าจ้างบริษัทซอฟต์แวร์เพื่อทำซอฟต์แวร์เฉพาะงานให้ซอฟต์แวร์
ขึ้นมาใช้เอง ซอฟต์แวร์ประเภทนี้ว่าจะเรียกว่า ซอฟต์แวร์เฉพาะด้าน (Tailor Mede Software) มี

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

ซอฟตแ์ วร์ประยุกตส์ ามารถจำแนกไดเ้ ปน็ 2 ประเภท คือ
2.1 ซอฟต์แวรเ์ ฉพาะดา้ น (Tailor Mede Software) จะมีความเหมาะสมกบั งานเฉพาะ
ด้าน เชน่ ปรแกรมดา้ รการคำนวณราคาค่านำ้ ของแตล่ ะครอบครัว จะมปี ระโยชนก์ ับงานด้านการ
ประปา หือโปรแกรมสำหรบั ฝากถอนเงิน กจ็ ะมปี ระโยชนก์ บั องค์กรเก่ียวกบั การเงิน เชน่ ธนาคาร
2.2 ซอฟต์แวร์สำหรับงานทั่วไป (General Purpose Software) จะเป็นซอฟต์แวร์ท่ี
ออกแบบมาสำหรับงานท่วั ๆ ไป สามารถนำมาประยุกตใ์ ชก้ บั งานส่วนตัวได้อย่างหลากหลายทำให้เป็น
ซอฟต์แวร์ประเภทท่ีได้รบั ความนยิ มสงู สุดในปจั จุบนั ซง่ึ ส่วนมากจะเป็นซอฟตแ์ วร์ที่ทำงานอยใู่ นเคร่ือง
ระดับไมโครคอมพิวเตอร์
ซอฟต์แวรส์ ำหรับงานท่ัวไปสามารถแบ่งตามประเภทของงานได้ดงั น้ี

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

ตัวอยา่ งตารางวิเคราะหแ์ บบอิเล็กทรอนกิ ส์ (Electronic spreadsheet)

ซอฟต์แวร์ประมวลคำ (Word Processing) ปัจจบุ ันเครอื่ งคอมพวิ เตอร์มากกวา่ 85
เปอรเ์ ซน็ ต์ ต้องติดตั้งโปรแกรมสำหรับงานพิมพ์เอกสารรวมอย่ดู ว้ ย ซ่ึงโปรแกรมนี้ทำให้คอมพวิ เตอร์
เป็นเครือ่ งมอื สำหรบั สรา้ ง แก้ไข ตรวจสอบ พิมพ์และจดั เก็บข้อความต่างๆ หนงั สือทีจ่ ำหนา่ ยใน
ท้องตลาดในปัจจุบันนี้ส่วนมากกเ็ รมิ่ ต้นจากการพมิ พ์ข้อความลงในคอมพิวเตอรด์ ้วยซอฟต์แวรท์ ี่
ประมวลคํา

ตวั อย่างซอฟตแ์ วรป์ ระมวลผลคำ

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

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

ตัวอย่างซอฟตแ์ วรน์ ำเสนอ(Presentation software)

ซอฟต์แวร์กราฟิก (Graphic Software) เป็นซอฟต์แวร์สำหรับสร้างภาพกราฟิก
แบบต่างๆ การใช้งานในระดับเบ้ืองต้นอาจนำไปใช้ประกอบการสร้างเอกสาร หรือการนำเสนอข้อมูล
ส่วนการใช้ในระดับสูงอาจใช้สำหรับการตกแต่งภาพหรือรูปถ่ายหรือใช้สำหรับงานด้านศิลปกรรม
สถาปัตยกรรม วิศวกรรมเป็นต้น

ตัวอย่างซอฟตแ์ วร์กราฟกิ (Graphic software)
ซอฟต์แวร์ฐานข้อมูล (Database) โปรแกรมฐานข้อมูลเป็นโปรแกรมสำหรับสร้าง
แฟ้มข้อมูลต่างๆ เก็บไว้ในสื่ออิเล็กทรอนิกส์ โดยโปรแกรมจะมีเครื่องมือต่างๆ ในการอำนวยความ
สะดวกเกีย่ วกบั การจัดการแฟ้มขอ้ มลู เช่น มีเคร่อื งมือสำหรับการเพิ่มหรอื แก้ไขข้อมลู ที่จดั เก็บอยู่หรือ
สามารถเรียกแฟ้มข้อมูลนั้นขึ้นมาแสดงบนจอภาพ เลยกำหนดเงื่อนไขให้เลือกข้อมูลมาแสดงเพียง
บางส่วน เป็นต้น

ตวั อยา่ งซอฟต์แวร์ฐานข้อมูล (Database)

ซอฟต์แวร์สื่อสารโทรคมนาคม (Telecommunication Software) ถ้าผู้ใช้ต้องการ
ติดต่อกับคอมพิวเตอร์ที่อยู่ห่างไกลออกไป สามารถทำได้โดยใช้ซอฟต์แวร์สำหรับติดต่อสื่อสารข้อมูล
กับทะเบียนประเภทนี้จะจำลองเครื่องคอมพิวเตอร์ให้เป็นเทอร์มินัล (terminal) ที่สามารถติดต่อไป
ยังระบบคอมพิวเตอร์ขนาดใหญ่ที่มีผู้ใช้หลายคนได้ โดยใช้สายโทรศัพท์ในการโทรติดต่อและเมื่อ
ตดิ ตอ่ ได้แล้วกจ็ ะสามารถใชง้ านระบบต่างๆ ท่อี ยู่ในเคร่ืองนั้นได้เสมอื นกับนั่งใช้เคร่ืองอยู่ข้างๆ เคร่ือง
ที่เราติดต่อเข้าไปการใช้งานที่ได้รับความนิยมในปัจจุบัน เช่น ร่วมคุยกับกลุ่มที่สนใจเรื่องเดียว กัน
แลกเปลี่ยนจดหมายกับผู้อื่นในระบบ หรือแม้กระทั่งจองตั๋วเครื่องบิน และจองโรงแรมผ่านทาง
จอคอมพิวเตอร์ เป็นตน้

software ค้นหาข้อมูล (Resource Discovery Software) หมายถึง ซอฟต์แวร์ท่ี
เป็นเครอื่ งมือสำหรับคน้ หาข้อมลู ท่ตี ้องการจากแหล่งขอ้ มลู ในทตี่ า่ งๆ เนือ่ งจากปจั จุบันน้คี วามนิยมใน
การใช้การติดตอ่ สื่อสารผ่านเครือข่ายคอมพวิ เตอร์ เชน่ อเิ ล็กทรอนกิ ส์ หรอื เครือขา่ ยเชิงพาณิชย์อ่ืนๆ
ชว่ ยใหส้ ามารถเรียกค้นข้อมูลท่ีต้องการทราบได้จากทั่วโลก ตัวอยา่ งซอฟต์แวรป์ ระเภทนี้ เชน่ Archie
Gopher และ World Wide Web เป็นต้น

ระดบั ของภาษาคอมพวิ เตอร์

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

ภาษาคอมพิวเตอรส์ ามารถแบง่ ออกได้เปน็ 5 ยคุ ดังน้ี
1 ภาษาเครื่อง (machine Language) เปน็ ภาษาท่ีมนุษย์เขา้ ใจได้ยาก เพราะใช้เลขฐานสอง
แทนข้อมูล คือ (0 และ 1) แทนลักษณะของการปิด (off) และ เปิด (On) และคำสั่งต่างๆทั้งหมดจะ
เป็นภาษาทขี่ ึ้นอยู่กับชนิดของเคร่ืองคอมพิวเตอร์ หรือประมวลผลทใ่ี ช้ คอื แต่ละ่ เครื่องก็จะมีรูปแบบ
ของคำสั่งเฉพาะของตนเอง ซึ่งนักเขียนโปรแกรมในสมัยก่อนต้องรู้จักวิธีท่ีจะรวมตัวเลข เพื่อแทน
คำส่ังต่างๆ เป็นภาษาทมี่ คี วามยุ่งยากในการพัฒนามาก ภาษาชนดิ นี้ ได้แก่ ภาษาเเอสเซมบลี

ภาษาเครือ่ งคอมพิวเตอร์
2. ภาษาแอสเซมบลี (Assembly Language) เป็นภาษาท่ีมกี ารใช้ตัวอักษรในภาษาอังกฤษ
มาแทนคำสั่งที่เป็นเลขฐานสอง (0, 1) และเรียกอักษรสัญลักษณ์ที่เป็นคำสั่งนี้ว่าสัญลักษณ์ข้อความ
(mnemonic Codes) เพื่อให้ง่ายต่อการเขียนและการจดจำมากกวา่ ภาษาเครื่องภาษาแอสเซมบลยี งั
จัดเป็นภาษาระดับต่ำ (Low-level language) มีการใช้สัญลักษณ์มาใช้ในการเขยี นโปรแกรม เชน่

สัญลกั ษณ์ คอื หมายถงึ
A Add การบวก
S Subtract การลบ
C Compare การเปรียบเทยี บ
MP Multiply การคูณ
ST Store การเก็บขอ้ มลู ไว้ในความจำ

สัญลักษณ์เหล่านี้จะไม่ใช่คำที่มีความหมายในภาษาอังกฤษ แต่สามารถทำให้นักเขียน
โปรแกรมสามารถเขียนโปรแกรมได้สะดวกสบายมากขึ้นเนื่องจากไม่ต้องจดจำเลข 0 และ 1 ของ

เลขฐานสองอีกนอกจากนี้ภาษาแอสเซมบลี ยังให้ผู้เขียนใช้ตัวแปรทีต่ ั้งขึ้นมาเพื่อการเก็บค่าข้อมูลใด
ๆ เชน่ X, Y, RATE หรือ TOTAL แทนการอา้ งถงึ ตำแหนง่ ทีเ่ กบ็ ข้อมูลจรงิ ๆภายในหน่วยความจำดว้ ย

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

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

ตวั อยา่ งภาษาแอสเซมบลีแสดงดงั นี้
B80103 mov ax,00301
B90100 mov cx,00001
BA8000 mov dx,00080
CD13 int 013
C3 retn

การแปลภาษาแอสเซมบลี
3. ภาษาระดับสูง (High-level Language) เป็นภาษารุ่นที่ 3 (3 Generation Language
หรือ 3GLs) เป็นภาษาที่สร้างขึ้นมาเพื่อให้สามารถเขียนและอ่านโปรแกรมได้ง่ายขึ้นเนื่องจากมี
ลักษณะเหมือนภาษาอังกฤษ และที่สำคัญ คือ ผู้เขียนโปรแกรม ไม่จำเป็นต้องมีความรู้เกี่ยวกับระบบ
ฮารด์ แวรแ์ ต่อยา่ งใด ตัวอยา่ งของภาษาประเภทนี้ ไดแ้ ก่ ภาษาฟอรแ์ ทรน (Fortran) โคบอล (Cobol)
เบสิก (Basic) ปาสคาล (Pascal) ซี © เปน็ ตน้
โปรแกรมที่ถูกเขียนด้วยภาษาประเภทนี้จะทำงานได้ เมื่อมีการเปลี่ยนแปลงให้เป็น
ภาษาเครื่องก่อนซึ่งวิธีการแปลงจากภาษาระดับสูงให้เป็นภาษาเคร่ืองทำได้โดยใช้โปรแกรมที่เรียกว่า
คอมไพเลอร์ (Compiler) หรอื อินเตอร์พรเี ตอร์ (Interpreter) อยา่ งใดอยา่ งหนึ่งในการแปลภาษาโดย
ภาษาระดับสูงแต่ละสาขาจะมีตัวแปลภาษาเฉพาะของตัวเอง ดังนั้น ถึงไม่สามารถนำตัวแปรของ
ภาษาหนงึ่ ไปใช้กับอีกภาษาหน่งึ ได้ เชน่ ภาษาโคบอลจะมีตัวแปลภาษาท่ีเรียกวา่ โคบอลคอมไพเลอร์
ไม่สามารถนำคอมไพเลอร์ของภาษาโคบอลนี้ไปใช้แปลภาษาปาสคาลได้ เป็นตน้

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

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

4 ภาษาระดับสูงมาก (Very high-level Language) เป็นภาษารุ่นที่ 4 (4GLs: Fourth-
Generation Languages) ลักษณะของภาษาเป็นภาษาธรรมชาติ คล้ายกับภาษาพูดของมนุษย์ จะ
ช่วยในเรื่องของการสร้างแบบฟอร์มบนหน้าจอ เพ่ือจัดการเกี่ยวกับข้อมูลรวมไปถึงการออกรายงาน
ซึ่งมีการจัดการที่ง่ายมากไม่ยุ่งยากเหมือนภาษารุ่นที่ 3 ตัวอย่างของภาษาในรุ่นที่ 4 ได้แก่ Informix-
4Gl, Focus, Sybase, Ingres เป็นต้น

ลกั ษณะของภาษาระดบั สงู มาก(4GLs) ดังนี้
4.1 เป็นภาษาแบบ Nonprocedural คือ ผู้พัฒนาโปรแกรมไม่จำเป็นจะต้องเขียน

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

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

อยา่ งไรกต็ าม 4GLs กส็ ามารถมรี ูปแบบเปน็ Procedural ไดด้ ว้ ย เน่ืองจากงานบาง
งานอาจมีความซบั ซ้อน จึงต้องอาศยั การเขยี นโปรแกรมท่ีเป็นแบบ Procedural เขา้ ช่วยด้วย จึงสรุป
ไดว้ า่ 4GLs จะมีรปู แบบผสมระหว่าง Procedural และ Nonprocedural

4.2 การเขยี นโปรแกรมระดบั สูงมาก 4GLs ส่วนใหญ่จะเขียนโปรแกรมเพื่อควบคุม
กับระบบฐานข้อมูล โดยผู้ใช้ระบบฐานขอ้ มลู จะสามารถจดั การฐานข้อมูลได้โดยผา่ นทาง
4GLs น้ี
ส่วนประกอบของภาษาระดับสูงมาก 4GLs โดยทว่ั ไปจะมีส่วนสำคัญ 3 ส่วน ดังน้ี

ส่วนท่ี 1 เคร่ืองมอื ชว่ ยสรา้ งรายงาน (Report Generators) เปน็ โปรแกรม
สำหรับผูใ้ ช้ (End-users) ใหส้ ามารถเขยี นรายงานอย่างง่ายไดด้ ว้ ยตนเอง โดยผใู้ ชส้ ามารถกำหนด
เงื่อนไข และข้อมูลที่นำออกมาพมิ พใ์ นรายงาน รวมถงึ รูปแบบของการพมิ พไ์ ว้ โปรแกรมชว่ ยสร้าง
รายงานนี้ จะทำการพิมพ์รายงานตามรปู แบบทีก่ ำหนดไวใ้ ห้

สว่ นที่ 2 ภาษาชว่ ยค้นหาข้อมูล (Query Languages) เป็นภาษาที่ช่วยใน
การค้นหาหรือดงึ ข้อมลู จากฐานข้อมลู ภาษานจี้ ะงา่ ยต่อการใช้งานมาก เพ่ิงจะอยใู่ นรปู แบบท่ีใกล้เคยี ง
กับภาษาอังกฤษมาก ตวั อยา่ งเช่น ภาษา SQL (Structured Query Language)

ส่วนที่ 3 เครอ่ื งมือช่วยสร้างโปรแกรม (Application Generators) จะมี
รปู แบบการเขยี นโปรแกรมเฉพาะตวั และสามารถเรยี กใช้เคร่อื งมอื ชว่ ยสรา้ งโปรแกรมนที้ ำการแปลง
4GLs ให้กลายเปน็ โปรแกรมภาษารนุ่ ที่ 3 ได้ เช่น ภาษาโคบอล หรือภาษาซี ซึ่งอาจนำภาษาโคบอล
หรือภาษาซที ี่แปลงแล้วไปพฒั นาต่อ เพ่ือใชก้ บั งานท่ีซับซอ้ นมากๆ ต่อไปได้

5. ภาษาธรรมชาติ (Natural Language) เป็นภาษาในยุคที่ 5 ที่มีรูปแบบเป็นแบบ Non
procedural เชน่ เดียวกบั ภาษาระดบั ท่ี 4 ที่เรียกวา่ ภาษาธรรมชาติ กส็ ามารถสั่งงานคอมพิวเตอร์ได้
โดยใช้ภาษามนุษย์ได้โดยตรง โดยทั่วไป คำสั่งที่มนุษย์ป้อนเข้าไปในคอมพิวเตอร์ จะอยู่ในรูปของ
ภาษาพูดมนุษย์ซึ่งอาจมีรูปแบบที่ไม่แน่นอนตายตัว แต่คอมพิวเตอร์สามารถแปลคำสั่งนั้นให้อยู่ใน
รูปแบบทคี่ อมพวิ เตอร์สามารถเขา้ ใจได้

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

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

โครงสร้างของข้อมูล

ขอ้ มูลเปน็ องค์ประกอบทสี่ ำคัญอย่างหนงึ่ ในระบบคอมพวิ เตอร์ เปน็ สงิ่ ที่ต้องป้อนเข้าไปใน
คอมพวิ เตอร์ โดยผ้พู ัฒนาโปรแกรมจำเป็นทีจ่ ะต้องรจู้ กั ข้อมลู และความสำคัญของข้อมลู แต่ละ
ประเภทที่นำมาใชใ้ นการเขียนโปรแกรม ข้อมูลทสี่ ามารถนำมาใช้กบั คอมพวิ เตอรไ์ ด้ มี 5 ประเภท คือ
ขขอ้ มูลตัวเลข (Numeric Data) ข้อมลู ตัวอกั ษร (Text Data) ขอ้ มลู เสยี ง (Audio Data) ข้อมลู ภาพ
(Images Data) และขอ้ มูลภาพเคลือ่ นไหว (Video Data)

ระดับโครงสร้างของข้อมูล (Data Structure)
ในการนำข้อมูลไปใช้นน้ั มีระดับโครงสร้างของข้อมูลดังน้ี
1 บติ (Bit) คอื ข้อมูลที่มีขนาดเล็กท่ีสดุ เป็นข้อมูลทีเ่ คร่ืองคอมพวิ เตอรส์ ามารถเข้าใจและ
นำไปใชง้ านได้ ซงึ่ ได้แก่ เลข 0 หรือเลข 1 เทา่ นน้ั
2 ไบต์ (Byte) คือ เปน็ การนำบติ หลายๆ บิตมาเรยี งตอ่ ร่วมกนั เพื่อกำหนดค่าได้มากขนึ้ 3 บิต
มาเรยี งต่อกนั จะทำใหเ้ กดิ สถานะท่ีตา่ งกันคือ 000,001,010,100,011,101,110 และ 111 ก็จะได้เปน็
8 สถานะ เม่ือนำบิตมาเรยี งต่อรวมกนั เป็น 8 บติ เรยี กวา่ ไบต์ มี 256 สถานะ และกำหนดเป็น
โครงสรา้ งขอ้ มูลทีม่ ขี นาดเลก็ ท่ีสุดทใ่ี ช้งานได้ มคี า่ ตั้งแต่ 0 - 255 (00000000-111111111) เชน่ 0,1
ถงึ 9, A, B ถึง Z และเครอื่ งหมายต่างๆ 1 ไบต์จะเทา่ กบั 8 บติ หรือ ตัวอักขระ 1 ตวั เป็นตน้
3 ฟลิ ด์ (Field) คอื ไบต์ หรอื อกั ขระต้งั แต่ 1 ตัวขน้ึ ไปรวมกันเป็นฟลิ ด์ เช่น เลขประจำตัวช่อื
นักเรยี น, นามสกลุ , ทีอ่ ยู่ ฯลฯ เป็นต้น
4 เรกคอร์ด (Record) คือ ฟิลด์ตัง้ แต่ 1 ฟิลด์ ขนึ้ ไป ท่ีมคี วามสัมพันธเ์ ก่ยี วข้องรวมกันเป็นเรก
คอร์ด เช่น ช่ือนกั เรยี น นามสกลุ ที่อยู่ หอ้ งเรยี น ครูประจำชัน้ เลขประจำตัวนกั เรียน ข้อมลู ของ
นักเรียน 1 คนเป็น 1 เรกคอร์ด
5 ไฟล์ (Files) หรอื แฟม้ ขอ้ มูล คอื เรกคอรด์ ไปหลายๆ เรกคอร์ดรวมกัน ซ่ึงเป็นเร่ืองเดียวกัน
เชน่ ข้อมูลของประวตั นิ ักเรยี นแต่ละคนรวมกนั ท้ังหมด เป็นไฟล์หรอื แฟ้มข้อมลู เก่ียวกับประวตั ิ
นกั เรยี นของโรงเรยี น เป็นตน้

6 ฐานข้อมลู (Database) คือ การเกบ็ รวบรวมไฟล์ข้อมูลหลายๆ ไฟลท์ ี่เกี่ยวข้องกนั มา
รวมเข้าด้วยกัน เชน่ ไฟล์ข้อมลู ของนักเรยี นทเ่ี รียนในแผนกตา่ งๆ ข้อมลู ครูผูส้ อน ข้อมูลวิชาที่เรยี น
ขอ้ มลู ผลการเรียนมารวมกันเปน็ ฐานข้อมูลของโรงเรยี น เป็นตน้

ใบงานที่ 2.1

คำช้ีแจง ให้ผเู้ รียนแสดงความรูเ้ ก่ียวกบั โปรแกรมแตล่ ะประเภท และนำมาอภิปรายใหเ้ ห็นถงึ ข้อ
แตกตา่ งของประเภทโปรแกรม
………................................…………………..………................................…………………..………........................
........…………………..………................................…………………..………................................…………………..
………................................…………………..………................................…………………..………........................
........…………………..………................................…………………..………................................…………………..
………................................…………………..………................................…………………..………................... .....

........…………………..………................................…………………..………................................…………………..
………................................…………………..………................................…………………..………........................
........…………………..………................................…………………..………................................…………………..
………................................………..…………..………................................…………………..………......................
..........…………………..………................................………………….................................................................
...................................................................

ใบงานที่ 2.2

คำช้แี จง เรียนแบ่งกลุ่มตามยุคของภาษาคอมพิวเตอร์ ศกึ ษาและวิเคราะห์หลกั การของการทำงาน
ของภาษาคอมพิวเตอร์ในแต่ละยุค แล้วสรปุ เปน็ รายงานทำไรมาผดิ ไปแสดงความคดิ เหน็ รว่ มกัน
1.กลุ่มภาษาเครื่อง
………………………….…………………………………………………………………………………………………………………
………
………………………….…………………………………………………………………………………………………………………
………

………………………….…………………………………………………………………………………………………………………
………
2.กลมุ่ ภาษาแอสเซมบลี
………………………….…………………………………………………………………………………………………………………
………………………………….…………………………………………………………………………………………………………
………………
………………………….…………………………………………………………………………………………………………………
………
3.กลุ่มภาษาระดับสูง
………………………….…………………………………………………………………………………………………………………
………………………………….…………………………………………………………………………………………………………
………………
………………………….…………………………………………………………………………………………………………………
………
4.กลมุ่ ภาษาระดับสงู มาก
………………………….…………………………………………………………………………………………………………………
………………………………….…………………………………………………………………………………………………………
………………
………………………….…………………………………………………………………………………………………………………
………
5.กลมุ่ ภาษาธรรมชาติ
………………………….…………………………………………………………………………………………………………………
………………………………….…………………………………………………………………………………………………………
………………
………………………….…………………………………………………………………………………………………………………
………

ใบงาน 2.3

คำชแี้ จง จงพจิ ารณาคำถามแตล่ ะข้อ แล้วเติมคำตอบท่ีถูกต้องลงในช่องวา่ งตอ่ ไปนี้

1 ภาษาใดสรา้ งขึ้นมาจากเทคโนโลยีผู้เช่ียวชาญดา้ นระบบซ่งึ เป็นงานที่อยใู่ นสาขาปัญญาประดิษฐ์

………………………………………………………

2 จงวิเคราะห์ว่าข้อมูลใดท่ีสามารถนำมาใชก้ บั คอมพิวเตอร์ได้…………………………

ก.ข้อมลู ภาพ ข.ขอ้ มลู สอ่ื สาร

ค.ข้อมลู วทิ ยุ ง.ขอ้ มูลจากดาวเทียม

3. ข้อมูลทม่ี ีขนาดเล็กท่ีสดุ เป็นขอ้ มูลที่เครอื่ งคอมพวิ เตอรส์ ามารถเข้าไปและนมนา่ จะใช้งานได้" คือ

………………………………………………………

4. 1 ไบต์เท่ากับกบ่ี ิต……………………

6. คา่ สงู สุดของไบต์ มีค่าเท่าไร…………………………….

5.ขอ้ มลู ท่ีมลี กั ษณะ 001100 คดิ เปน็ ขนาดกีบ่ ติ ……………………………………………

7. ช่อื นกั เรยี น เกดิ จากการนำตวั อกั ษรมารวม4กนั ดังนนั้ ช่อื ของนกั เรยี นจดั เป็นข้อมลู ระดับ

ใด………………………………………………………...

8.แนะนำข้อมลู ที่มคี วามสมั พันธก์ ันมาจัดรวมไว้ดว้ ยกนั กลุ่มข้อมลู เหลา่ นนั้ จะจัดเปน็ ข้อมูลระดับใด

เป็นขนาดกบี่ ิต………………….

9 ขอ้ ใดคอื ความหมายของฐานข้อมลู ……………………….

ก.ข้อมูลที่เกิดจากการรวมกนั ของอักขระต้ังแต่ 1 ตวั ข้ึนไป

ข.การเก็บรวบรวมไฟล์ทม่ี ีความเก่ยี วข้องกันเขา้ ไวด้ ้วยกัน

ค. การเก็บรวบรวมทเ่ี กยี่ วข้องเข้าไวด้ ว้ ยกนั

ง. การจัดหมวดหมู่ของเรกคอร์ด

10 ขอ้ มูลของนกั เรียนคนหนง่ึ ประกอบดว้ ย ช่อื , นามสกลุ , เลขประจำตวั , ทอ่ี ยู่, ข้อมลู ของนักเรยี นน้ี

จดั เป็นขอ้ มลู ระดบั ใด…………………………….

แบบประเมินผลการเรยี นรู้หนว่ ยที่ 2
ตอนท่ี 1 จงเลือกคำตอบทถี่ ูกต้องท่ีสุดเพียงข้อเดียว

1.ขอ้ ใดคือความหมายของคอมพิวเตอร์ซอฟต์แวร์
ก. โปรแกรมที่ควบคุมการทำงานและการประมวลผลของคอมพิวเตอร์
ข. หน่วยประมวลผลกลางของคอมพิวเตอร์
ค .อปุ กรณ์อเิ ลก็ ทรอนิกสต์ า่ งๆทปี่ ระกอบรวมกนั เปน็ เคร่ืองคอมพิวเตอร์
ง. หน่วยความจำหลักของคอมพิวเตอร์

2. ขอ้ ใดจัดเปน็ ระบบปฏิบัตกิ าร
ก. Window Media Playa
ข. Internet Explorer
ค. UNIX
ง. Word Processing

3.ในการทำงานของเครอื่ งคอมพวิ เตอร์นนั้ จะตอ้ งแปลภาษาจากภาษาคอมพิวเตอร์ไปเป็น
ภาษาเครื่อง

เสยี ก่อนข้อใดไมใ่ ช้ตัวแปลภาษาคอมพิวเตอร์
ก. Assembler
ข. Interpreter
ค. Compiler
ง. Source code

4. ซอฟตแ์ วรป์ ระยุกต์ใดเหมาะกบั การใช้นำเสนอขอ้ มูล
ก. Microsoft Word
ข. Adobe Photoshop
ค. Microsoft SQL Server
ง. Microsoft PowerPoint

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

6. ภาษาคอมพิวเตอร์ยุคใดทีใ่ ชเ้ ลขฐานสองแทนข้อมูล
ก. ภาษาเครือ่ ง

ข. ภาษาระดบั สูง
ค. ภาษาธรรมชาติ
ง. ภาษาระดับสงู มาก
7. ภาษาเครอ่ื งและภาษาแอสเซมบลีแตกต่างกันอย่างไรบา้ ง
ก. ภาษาเครอ่ื งใช้ตัวอักษรในภาษาอังกฤษมาแทนคำสัง่ ทเี่ ปน็ เลขฐานสอง
ข. ภาษาเคร่ืองใช้เลขฐานสองมาแทนคำสง่ั ทเ่ี ป็นตวั อักษรในภาษาอังกฤษ
ค. ภาษาแอสเซมบลใี ชต้ ัวอักษรในภาษาองั กฤษมาแทนคำสั่งท่เี ป็นเลขฐานสอง
ง. ภาษาแอสเซมบลีใช้เลขฐานสองมาแทนคำสัง่ ทเ่ี ป็นตัวอักษรในภาษาองั กฤษ
8. การแปลภาษาแอสเซมบลใี หก้ ลายเป็นภาษาเคร่ืองก่อนควรจะใชต้ วั แปลใด
ก. ตัวแปลภาษา ข. คอมไพเลอร์
ค. แอสเซมเบลอร์ ง. อนิ เตอร์พรเี ตอร์
9. ขอ้ ใดกลา่ วถงึ ข้อดีของการเขยี นโปรแกรมดว้ ยภาษาขั้นสงู ได้ถูกต้อง
ก. เขียนง่าย
ข. รวดเร็ว
ค. ผ้เู ขยี นไม่จำเปน็ ต้องรู้เรื่องฮารด์ แวร์
ง. ผูเ้ ขียนต้องมีความชำนาญเฉพาะตัว
10. ภาษาระดับใดคลา้ ยกับภาษาพดู ของมนษุ ย์
ก. ภาษาเครื่อง ข. ภาษาระดบั ต่ำ
ค. ภาษาระดับสงู ง. ภาษาระดบั สงู มาก

ตอนที2่ จงตอบคำถามต่อไปนี้
1. จงอธิบายความหมายของตัวแปลภาษาต่อไปน้ี
Assembler

..................................................................................................................................................
....

..................................................................................................................................................
...

..................................................................................................................................................
..
Interpreter
………………………….………………………………………………………………………………………………………
…….……………............................................................................................................................
................................................................................................................... ...............................
..................
Complier

..................................................................................................................................................
...

..................................................................................................................................................
....

..................................................................................................................................................
....

2. ยกตัวอยา่ งของโปรแกรมทใ่ี ชภ้ าษา 4GLs ในการเขียนพนอ้ มทั้งอธบิ ายลกั ษณะการ
ทำงานของโปรแกรมพอสังเขป
………………………….………………………………………………………………………………………………………
…….……………............................................................................................................................
................................................................................................................... ...............................
..................

3. อธิบายความหมายของโครงสร้างข้อมลู ดงั ตอ่ ไปนี้
Bit.............................................................................................................................................
..................................................................................................................................................
.............
Bite...........................................................................................................................................
..................................................................................................................................................
............
Field.........................................................................................................................................
..................................................................................................................................................
............
Record.....................................................................................................................................
................................................................................................................................... ...............
............

4. จงเตมิ คำใหถ้ ูกต้อง
1 ไบต์ เทา่ กบั ..............บิต
ข้อมลู ทม่ี ลี ักษณะ 001100 คดิ เปน็ ขนาด ..................บิต
คา่ สูงสดุ ของไบต์ มีค่า..................ไบต์
5. ยกตัวอย่างฐานข้อมูลในสถานศกึ ษามา 1 ฐานข้อมูล และร่วมกนั อภิปรายหนา้ ชน้ั
..................................................................................................................................................
......………………………….…………………………………………………………………………………………………
………….……………...................................................................................... ................................
..................................................................................................................................................
........................

หนว่ ยที่ 3
ขน้ั ตอนการแก้ปญั หา

แนวคดิ
ในชวี ติ ประจำวนั น้ันทกุ คนมักจะพบปญั หาตา่ งๆ อยตู่ ลอดเวลา ซ่งึ ในการแก้ปัญหานั้นกจ็ ะมี

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

สาระการเรียนรู้
1.ขั้นตอนการแก้ปัญหา
2.อลั กอริทมึ
3.รหสั เทียม
4.การเขยี นผงั งาน
5.แผนภูมิโครงสร้าง

ผลการเรียนรทู้ ี่คาดหวัง
1. บอกขน้ั ตอนการแก้ปญั หาได้
2. แสดงความร้เู กี่ยวกับการทำงานด้วยอลั กอริทึม
3. แสดงความรูเ้ กี่ยวกับการใช้รหสั เทียมในการทำงานได้
4. เขยี นผงั งานได้

5. เขยี นแผนภมู ิโครงสร้างได้

ข้ันตอนการแก้ปัญหา

การแกป้ ัญหา หมายถึง การท่ีต้องใชค้ วามคดิ สร้างสรรค์อย่างเตม็ ท่ี เพอื่ หาวธิ ที ่ีมีความ
แตกต่างและหลากหลาย โดยการวิเคาระห์หาสาเหตุทแี่ ทจ้ ริงแลว้ พยานามใชค้ วามคิดสร้างสรรคน์ ้นั
หาวธิ แี ก้ไข้ให้ได้

การแกป้ ัญหาถือว่าเปน็ พ้นื ฐานที่สำคญั ทีส่ ุดของการคดิ ดังนั้นการแก้ปัญหาจึงเป็นสงิ่ สำคัญ
ตอ่ วิธกี ารดำเนนิ ชวี ติ ในสังคมของมนษุ ์ ซง้ึ ต้องมีการแก้ปัญหาที่เกิดข้ึนตลอดเวลา

ลกั ษณะของการแกป้ ัญหาในชีวิตประจำวัน

อยา่ งท่ีทราบแล้ววา่ การแก้ปัญหาในชีวิตประจำวันของแต่ละบคุ คลจะแตกตา่ งกนั แต่
โดยทั่วไปจะมลี ักษณะดงั น้ี

1. การลองผิดลองถูก เป็นวธิ ีการแก้ปัญหาแบบพ้ืนฐานที่สดุ คือสง่ิ ใดผดิ กล็ ะเว้นไว้ สิง่ ใดท่ี
ถูกก็เก็บไว้เปน็ ฐานความรู้

2. การใช้เหตผุ ลประกอบการแก้ปัญหา เป็นการใชเ้ หตุผลต่างๆในการแกไ้ ขปญั หาโดยแตล่ ะ
คนวธิ กี ็จะแตกตา่ งกันไป

3. วธิ ีขจดั คอื จะแยกข้อมูลออกเปน็ กรณที ีเ่ ปน็ ไปไม่ได้แล้วขจัดทิ้งไป เหลือกรณีท่ีเปน็ ไปได้
4. การใชต้ ารางหาความสมั พันธ์ของข้อมูล คือการพจิ ารณาแตล่ ะกรณี โดยใช้ตารางหา

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

ขนั้ ตอนการเขียนโปรแกรมคอมพิมเตอร์

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

1.การวเิ คราะหป์ ญั หา (Problem analysis) เปน็ กระบวมการแก้ปัญหาโดยวิเคราะห์จาก
ผลลพั ธ์ (Output) และขอ้ มูล (Data)ทีน่ ำเข้า
มา และนำส่ิงเหล่านีม่ าวิเคราะห์และกำหนดขน้ั ตอนการทำงานและกระบวนการแก้ไขปัญหาของ
โปรแกรมทำการเขียนขึ้น โดยผเู้ ขียนโปรแกรมจะเขา้ ไปดกู ระบวนการทำงานจริง สำรวจเอกสารท่ี
เกี่ยวข้อง และข้อมูลท้ังหมดจากการทำงานจรงิ ดเู สน้ ทางการเดนิ เอกสาร และผลลัพธท์ ี่ต้องการเพ่ือ
มาออกแบบโปรแกรมจากการใชม้ อื สูโ่ ปรแกรมคอมพวิ เตอรไ์ ด้

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

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

2.2 ผงั งาน (Flowchart) เปน็ เครอ่ื งมือที่ใชร้ ปู ภาพ หรือสัญลกั ษณ์ ที่แสดงถงึ ขน้ั ตอน
การเขยี นโปรแกรมหรือขน้ั ตอนในการแก้ปัญหาทลี ะข้นั และมีเสน้ ทแ่ี สดงทิศทางการไหลของขอ้ มูล
ต้ังแตจ่ ุดเรม่ิ ตน้ จนกระท่งั ได้ผลลัพธต์ ามทตี่ ้องการ ซึ่งจะทำใหผ้ ู้อ่านสามารถอา่ น และเขา้ ใจได้มากข้ึน

2.3 รหัสเทียม (Pseudo code) เป็นเครื่องมือการออกแบบโปรแกรม ที่มีการใชข้ ้อความ
ทเ่ี ป็นภาษาอังกฤษหรือภาษาไทยก็ได้ ในการแสดงขน้ั ตอนการแก้ปัญหา แตจ่ ะมกี ารใช้คำเฉพาะ
(reserve words) ท่มี ีอยใู่ นภาษาโปรแกรมมาช่วยในการเขียนโครงของรหัสเทยี มจงึ มสี ่วนที่คลา้ ยกับ
การเขียนโปรแกรมมากท่สี ุด ดงั น้นั รหสั เทียมจงึ เปน็ เคร่อื งมอื อีกแบยทน่ี ิยมใช้กนั มากในการออกแบบ
โปรแกรม

2.4 แผนภูมิโครงสรา้ ง (Structure chart) จะเปน็ การแบง่ งานใหญ่ออกเป็นมองดูย่อยๆ
ซ่ึงเรยี กวา่ การออกแบบจากบนลงลา่ ง (Top-down Design) และแตล่ ะมอดลู ย่อยก็ยังสามารถแตก
ออกได้อกี จนถึงระดับทลี่ า่ งสุด ทำให้สามารถออกแบยโปรแกรมและเขียนโปรแกรมได้อย่างงา่ ย

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

4. การทดสอบและแก้ไขโปรแกรม (Testing) การตรวจสอบการทำงานของโปรแกรมเพ่ือ
ตรวจสอบการทำงาน ความถูกตอ้ ง และข้อผิดพลาดของโปรแกรมทเี่ กดิ ขนึ้ จากการเขยี นโปรแกรม
เพื่อแก้ไขให้ถกู ต้อง โดยการทดสอบสามารถใข้ข้อมลู จรงิ เพอื่ ทดสอบการประมวลผล และผลลัพธ์ใน
การทำงานของโปรแกรมว่าถูกต้องตรงตามความต้องการหรือไม่ เพอ่ื จะไดป้ รบั ปรุงแก้ไขให้ถกู ต้อง
ต่อไป

5. การทำเอกสารประกอบโปรแกรม (Documentation) การทำเอกสารประกอบ
โปรแกรมหรอื คู่มือการใช้งานของโปรแกรม เปน็ การทำคู่มือประกอบการใช้งาน โปรแกรมสำหรบั

ผใู้ ช้งาน หรอื สำหรบั ใชใ้ นการอบรมให้กับผกู้ ารใช้งานโปรแกรม โดยผ้พู ัฒนาโปรแกรมจะตอ้ งทำ
เอกสารประกอบ

โปรแกรมอย่างละเอียด อธิบายการทำงานของโปรแกรมทุกหน้าจอ เพ่ือให้ผูใ้ ช้สามารถศึกษาได้เอง
เมอ่ื เกิดปัญหาขึน้ ในการใชง้ านโปรแกรม

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

อัลกอริทมึ
อัลกอริทมึ (Algorithm) หมายถึง ขึน้ ตอนหรอื ลำดบั การประมวลผลในการแก้ปัญหาใด

ปญั หาหน่งึ ซงึ่ จะชว่ ยให้ผ้พู ฒั นาโปรแกรมเหน็ ขั้นตอนการเขียนโปรแกรมอย่างงา่ ยขึน้
อลั กอริทึม (Algorithm) หมายถงึ แนวคิดอย่างมีเหตผุ ลท่ีผู้พัฒนาโปรแกรม โปรแกรมเมอร์

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

หลักการเขียนอัลกอรทิ มึ

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

1.กระบวนการสำคญั เรมิ่ ตน้ ท่จี ุดเดยี ว ในการมจี ุดเริ่มต้นหลายทีจ่ ะทำให้กระบวนการวธิ ี
สบั สน จนในทส่ี ดุ อาจทำให้ผลลัพธท์ ่ไี ด้ไมต่ รงกบั ความต้องการ หรอื อาจทำให้อัลกอรทิ มึ นนั้ ไม่
สามารถทำงานได้เลย

2. กำหนดการทำงานเป็นข้นั ตอนอย่างชัดเจน การกำหนดอัลกอริทมึ ท่ีดคี วรมขี ัน้ ตอนท่ี
ชัดเจนไมค่ ลมุ เครือ เสรจ็ จากข้นั ตอนหน่งึ ไปยังอีกข้ันตอนทส่ี องมีเงือ่ นไขการทำงานอย่างไร ควร
กำหนดให้ชัดเจน

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

4. ผลลัพธใ์ นแตล่ ะข้ันตอนควรตอ่ เน่ืองกัน การออกแบบขั้นตอนที่ดนี ั้นผลลพั ธ์ จาก
ขน้ั ตอนแรกควรเป็นข้อมูลสำหรับนำเข้า ใหก้ ับข้อมลู ในขน้ั ตอ่ ไป ต่อเน่ืองกนั ไปจนกระทั่งไดผ้ ลลัพธ์
ตามที่ต้องการ

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

รูปแบบของอลั กอริทึม

การเขียนอัลกอรทิ ึมมีหลายรปู แบบ โดยผ้เู ขียนสามารถใช้อลั กอรทิ ึมหลายรปู แบบประกอบกนั ใน
การออกแบบอัลกอริทึมนนั้ เพื่อใชใ้ นการแก้ปญั หาการเขียนโปรแกรมได้

1. แบบลำดบั (Sequential) มลี กั ษณะการทำงานจะเปน็ ไปตามข้ันตอนก่อน-หลงั
ต่อเนอื่ งกันไปเปน็ ลำดบั โดยการทำงานแตล่ ะข้ันตอนต้องทำให้เสร็จกอ่ น แลว้ จึงไปทำ
ขั้นตอนต่อไป

ตวั อย่างอัลกอรทิ ึมแบบลำดบั

อลั กอริทมึ การทอดไข่เจียว
1. หยิบไขไ่ ก่
2. ตอกไข่ไกใ่ สภ่ าชนะ
3. ปรงุ รส ด้วยเครอื่ งปรงุ
4. ตไี ขด่ ว้ ยชอ้ นส้อม
5. ตั้งกระทะบนเตา
6. เปิดแก๊ส และติดไฟ
7. ใส่น้ำมันพืช
8. นำไขท่ ปี่ รุงรสแลว้ ใส่ลงในกระทะท่ีร้อน
9. ทอดจนสกุ
10. ตักข้ึนใส่จานท่ีเตรียมไว้

2. แบบทางเลือก (Decision) อัลกอริทึมรปู แบบน้ี มีเง่ือนไขเป็นตวั กำหนดเสน้ ทางการ
ทำงานของกระบวนการแก้ปัญหา โดยตัวเลอื กน้นั อาจจะมีตง้ั แต่ 2 ตัวขน้ึ ไป เชน่ สอบข้อเขยี น
คะแนนเต็ม 50 ไดค้ ะแนน 30 คะแนน สอบผา่ น ถา้ ต่ำกวา่ 30 คะแนนสอบไม่ผ่าน

ตวั อย่างอลั กอรทิ ึมแบบทางเลือก
อัลกอริทึมการตดั เกรดวชิ าคอมพวิ เตอร์
1. คะแนนสอบของนกั เรยี น

2. ตรวจสอบคะแนน ( คะแนนท่ีสอบผา่ น 50 คะแนน )
2.2 มากกวา่ 50 คะแนน สอบผ่าน
2.2 น้อยกวา่ 50 คะแนน สอบตก

3. ประกาสผล
3. แบบทำซำ้ (Repetition) อลั กอริทึมแบบน้ีคลา้ ยกันแบบทางเลอื ก คือ มีการตรวจสอบ

เง่อื นไขแตแ่ ตกตา่ งกันตรงทม่ี ีการทำงานตรงตามเง่อื นไขที่กำหนด โปรแกรมจะกลบั ไปทำงานอกี ครง้ั
วนการทำงานแบบนี้เรือ่ ยๆ จนกระทั่งไม่ตรงกบั เงอ่ื นไขท่ีกำหนดไว้จงึ หยดุ การทำงานหรือทำงานใน
ขนั้ ตอนต่อไป

ตัวอยา่ งการเขยี นอัลกอริทมึ แบบทำซ้ำ
อลั กอริทมึ การซื้อมังคุด 1 กิโลกรัม
1. หยิบถงุ พลาสติก
2. หยบิ มงั คุดมาเลอื ก โดยกดท่เี ปลอื กท่นี ิ่มๆ
3. ตรวจสอบเง่ือนไข ( น้อยกวา่ 1 กิโลกรัม )

3.2 จริง เลือกมงั คุดต่อ

3.2 เทจ็ หยดุ เลือก
4. จ่ายเงินให้กบั ผูท้ ่ีขาย

รหสั เทยี ม

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

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

ประโยชน์ของรหัสเทียม

รหสั เทยี มจะช่วยให้ผู้เขียนโปรแกรมนำไปพัฒนาการเขียนโปรแกรมภาษาคอมพวิ เตอรไ์ ด้จึงมี
ประโยชนต์ ่อไปนี้

1. เป็นเครื่องมือในการกำหนดโครงร่างกระบวนการทำงานของการเขยี นโปรแกรมแต่ละ
โปรแกรม

2. เป็นต้นแบบในการทบทวน ปรบั ปรุงแก้ไข และพัฒนาโปรแกรมของโปรแกรมเมอรแ์ ละ
นกั วิเคราะห์ระบบ

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

วิธเี ขียนรหัสเทียม

ผ้เู ขยี นโปรแกรมจะมีวธิ เี ขยี นรหสั เทยี มดังต่อไปนี้
1. ประโยคคำสง่ั ( Statement ) จะอยใู่ นรูปแบบของภาษาองั กฤษอย่างง่ายๆ
2. ใน 1 บรรทดั ให้เขียนประโยคคำสั่งเพียงคำสงั่ เดียวเท่านั้น
3. ควรใชย้ ่อหนา้ เพ่ือแยกทำเฉพาะ ( keywords) ไดช้ ดั เจน รวมถึงจดั โครงสรา้ ง การ
ควบคุม ใหเ้ ป็นสัดส่วน ซ่งึ ชว่ ยใหอ้ ่านโคด้ ได้ง่าย

4. แตล่ ะประโยคคำส่งั ใหเ้ ขยี นลำดับจากบนลงล่าง โดยมีทางเข้าออกของข้อมูลเพยี งทาง
เดียว และมที างออกของข้อมูลทางเดียวเทา่ นนั้

5. กลมุ่ ของประโยคคำสงั่ ต่างๆ อาจจะรวมกลมุ่ เข้าด้วยกนั ในรปู แบบของมอดูล แต่ต้องมี
การกำหนดชือ่ ของมอดลู ดว้ ย เพ่ือให้สามารถเรียกใช้งานมอดูลนน้ั ได้

ตัวอย่างการเขียนรหัสเทยี ม หรอื ซโู ดโคด้

ให้เขยี นโปรแกรมรบั คา่ ข้อมลู 3 ค่า แล้วหาค่าผลบวกของตัวเลข 3 ค่า แสดงผลออกทาง
หน้าจอ

ตัวอย่างการเขียนรหัสเทียม สำหรับหาคา่ ของพ้ืนทสี่ ่ีเหล่ียมจตั รุ สั และแสดงคา่ พ้ืนที่ทีค่ ำนวณได้

การเขยี นผงั งาน


Click to View FlipBook Version