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 นายอรรณพ ทองธีรกุล, 2020-05-26 06:13:43

บทที่ 1 องค์ประกอบคอมพิวเตอร์และขั้นตอนการพัฒนาโปรแกรม

Hardware, Software, People ware

หน่วยที่ 1

ความรู้เบอื้ งต้นเกย่ี วกบั คอมพวิ เตอร์
และข้ันตอนการพฒั นาโปรแกรม

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

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

จุดประสงค์การเรียนรู้

1. บอกองคป์ ระกอบของระบบคอมพิวเตอร์ได้
2. บอกกระบวนการทางานในหน่วยความจาของคอมพวิ เตอร์ได้
3. บอกข้นั ตอนในการพฒั นาโปรแกรมได้

ความรู้เบอื ้ งต้นเก่ียวกบั ด้วยคอมพิวเตอร์และขนั้ ตอนการพฒั นาโปรแกรม โดย อรรณพ ทองธีรกลุ 2

ความรู้เบอื้ งต้นเกย่ี วกบั คอมพวิ เตอร์และข้นั ตอนการพฒั นาโปรแกรม

สาระสาคญั

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

1. ความรู้เบอื้ งต้นเกยี่ วกบั คอมพวิ เตอร์

ระบบคอมพิวเตอร์ประกอบดว้ ย 2 ส่วน คือ ฮาร์ดแวร์และซอฟตแ์ วร์ ฮาร์ดแวร์ คือ อุปกรณ์
ทางอิเล็กทรอนิกส์ท่ีมีองค์ประกอบสาคญั 4 ส่วน คือ หน่วยประมวลผลกลาง หน่วยความจาหลัก
หน่วยความจาสารอง อุปกรณ์นาเขา้ และแสดงผล ส่วนซอฟตแ์ วร์ คือ ุุดคาส่ังโปรแกรมที่ใุค้ วบคุม
ฮาร์ดแวร์ของคอมพิวเตอร์ หรือุุดคาส่ังที่ใุใ้ นการประมวลผลงานประยุกตเ์ พื่อให้เกิดผลลพั ธ์ตามที่
นกั ออกแบบโปรแกรมตอ้ งการ แสดงตามภาพที่ 1-1 (ปัญญาพล หอระตะ.2545:1)

ภาพท่ี 1-1 องคป์ ระกอบระบบคอมพวิ เตอร์ (ท่ีมา : ปัญญาพล หอระตะ.2545:2)

ความรู้เบอื ้ งต้นเก่ียวกบั ด้วยคอมพิวเตอร์และขนั้ ตอนการพฒั นาโปรแกรม โดย อรรณพ ทองธีรกลุ 3

1.1 ฮาร์ดแวร์ หมายถึง ส่วนประกอบตา่ งๆ ท่ีประกอบกนั เป็ นเครื่องคอมพวิ เตอร์
ประกอบดว้ ยส่วนสาคญั ตอ่ ไปน้ี

1.1.1 หน่วยประมวลผลกลาง (Central Processing Unit หรือ CPU)
หน่วยประมวลผลกลาง เรียกอยา่ งยอ่ วา่ CPU ถือวา่ เป็ นสมองของคอมพิวเตอร์

ที่ใุใ้ นการประมวลผลและควบคุมการทางานของคอมพิวเตอร์ ประกอบดว้ ย 2 ส่วน คือ หน่วยควบคุม
(Control Unit) และหน่วยประมวลผลพีุคณิ ตและตรรกะ (Arithmetic and Logical Unit) หน่วย
ควบคุม(Control Unit) จะทาหนา้ ที่ควบคุมการไหลของขอ้ มูลภายใน CPU จากส่วนหน่ึงไปยงั อีกส่วน
หน่ึง ทาหนา้ ท่ีแปลคาส่ังที่เก็บอยใู่ นหน่วยความจา และทาหน้าท่ีประสานงานกบั หน่วยประมวลผล
พีุคณิตและตรรกะ(Arithmetic and Logical Unit) เพ่ือให้ได้ผลลัพธ์ตามตอ้ งการ แล้วส่งผลลพั ธ์
หลงั จากการประมวลผลแลว้ กลบั ไปยงั หน่วยความจาหลกั หรือควบคุมการรับหรือส่งขอ้ มูลในหน่วย
รับและแสดงผล เพือ่ ใหร้ ะบบสามารถรับขอ้ มูล หรือแสดงผลไดอ้ ยา่ งถูกตอ้ ง

หน่วยประมวลผลพีุคณิตและตรรกะ (Arithmetic and Logical Unit) ทาหนา้ ที่ใน
การประมวลผลการดาเนินการทางพีุคณิต เุ่น บวก ลบ คูณ หาร นอกจากน้ียงั สามารถประมวลผล
นิพจน์ทางตรรกะ เพ่ือใุ้เปรียบเทียบแล้วได้ผลลพั ธ์ จริงหรือเท็จ หน่วยน้ีจะมีหน่วยความจาเล็กๆ
เรียกว่า รีจิสเตอร์ (register) ทาหน้าท่ีเก็บผลลพั ธ์ระหวา่ งประมวลผล เม่ือจบการประมวลผลหน่วย
ประมวลผลพุี คณิตจะส่งผลลพั ธ์สุดทา้ ยกลบั คืนไปยงั หน่วยควบคุม (ปัญญาพล หอระตะ.2545:2)

1.1.2 อปุ กรณ์นาเข้าและแสดงผล (Input and Output Devices)
อุปกรณ์นาเขา้ ท่ีสาคญั ไดแ้ ก่ แป้ นพิมพ์ (Keyboard) เมาส์ (Mouse) ปากกาแสง

(Light Pen) สแกนเนอร์ (Scanner) เคร่ืองอา่ นบาร์โคด้ (Barcode Reader) สื่อบนั ทึกภายนอกถือเป็ น
อุปกรณ์นาเขา้ เุ่น แฟ้ มนาเขา้ ท่ีเก็บขอ้ มลู บนฮาร์ดดิสค์

อุปกรณ์แสดงผลท่ีสาคญั ไดแ้ ก่ จอภาพ (Monitor) เครื่องพิมพ์ (Printer) ดิสค์ (Disk)
อุปกรณ์บางุนิดเป็ นไดท้ ้งั อุปกรณ์นาเขา้ และอุปกรณ์แสดงผล เุ่น ดิสค์ เป็ นตน้

1.2 ภาษาโปรแกรมหรือซอฟต์แวร์ (Software) หมายถึง ุุดคาส่งั ที่สงั่ ใหค้ อมพวิ เตอร์ทางาน
มี 3 ระดบั ดงั น้ี

1.2.1 ภ าษ าเครื่ อง เป็ น ภาษ าโป รแกรมรุ่ นที่ ห น่ึ ง (first-generation programming
language: 1GL) เป็ นภาษาเดียวที่ไมโครโปรเซสเซอร์สามารถเขา้ ใจ คาสั่งเป็ นตวั เลขลว้ นๆ การอ่าน
และเขียนอาจตอ้ งใุ้เคร่ืองมือพิเศษ จึงไม่ค่อยมีการใุภ้ าษาเครื่องโดยตรง เุ่น 10110000 00000101
01001101

ความรู้เบอื ้ งต้นเก่ียวกบั ด้วยคอมพิวเตอร์และขนั้ ตอนการพฒั นาโปรแกรม โดย อรรณพ ทองธีรกลุ 4

1.2.2 ภาษาระดบั ตา่ ( low-level programming language) หมายถึง ภาษาท่ีอิงกบั
สถาปัตยกรรมคอมพวิ เตอร์ใดสถาปัตยกรรมหน่ึงซ่ึงไมโครโปรเซสเซอร์แตล่ ะรุ่น หรือแตล่ ะตระกลู มี
ภาษาระดบั ต่าที่แตกตา่ งกนั โดยปกติหน่ึงคาส่งั ในภาษาระดบั ต่า หมายถึงการสงั่ งานคอมพิวเตอร์ให้
ทางานหน่ึงอยา่ ง (1 instruction = 1 operation)

ภาษาแอสเซมบลี เป็น ภาษาโปรแกรมรุ่นท่ีสอง (second-generation programming
language: 2GL) เป็นการปรับภาษาเคร่ืองใหส้ ามารถเขียนไดส้ ะดวกข้ึนโดยการพมิ พค์ าส่งั ที่เป็น
ตวั อกั ษรแทนตวั เลข ตอ้ งใชต้ วั แปลโปรแกรมจึงจะใชง้ านได้ ถึงแมว้ า่ ไม่ใช่ภาษาเครื่องโดยตรง
ผเู้ ขียนโปรแกรมตอ้ งเขา้ ใจโครงสร้างของไมโครโปรเซสเซอร์เป็นอยา่ งดี ตวั อยา่ งภาษาแอสเซมบลี

org 100h

; set video mode

mov ax, 3 ; text mode 80x25, 16 colors, 8 pages (ah=0, al=3)

int 10h ; do it!

; cancel blinking and enable all 16 colors:

mov ax, 1003h

int 10h

; set segment register:

mov ax, 0b800h

mov ds, ax

; print "hello world"

; first byte is ascii code, second byte is color code.

mov [02h], 'H'

mov [04h], 'e'

mov [06h], 'l'

mov [08h], 'l'

mov [0ah], 'o'

mov [0ch], ','

mov [0eh], 'W'

mov [10h], 'o'

mov [12h], 'r'

mov [14h], 'l'

mov [16h], 'd'

mov [18h], '!'

; color all characters:

mov cx, 12 ; number of characters.

mov di, 03h ; start from byte after 'h'

c: mov [di], 11101100b ; light red (1100) on yellow (1110)

add di, 2 ; skip over next ascii code in vga memory.

ความรู้เบอื ้ งต้นเก่ียวกบั ด้วยคอมพวิ เตอร์และขนั้ ตอนการพฒั นาโปรแกรม โดย อรรณพ ทองธีรกลุ 5

loop c

int 16h

https://th.wikipedia.org/wiki/ภาษาแอสเซมบลี
1.2.3 ภาษาระดับสูง (High-level language) เป็นภาษาสาหรับเขียนโปรแกรมท่ีช่วยให้

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

ภาษาระดบั สูงมีหลายภาษาเช่น ภาษาฟอร์แทรน (FORTRAN) ภาษาโคบอล
(Cobol) ภาษาปาสคาล (Pascal) ภาษาเบสิก (BASIC) ภาษาวชิ วลเบสิก (Visual Basic) ภาษาซี (C) และ
ภาษาจาวา (Java) เป็นตน้ โปรแกรมที่เขียนดว้ ยภาษาระดบั สูงแตล่ ะภาษาจะตอ้ งมีโปรแกรมที่ทาหนา้ ท่ี
แปลภาษาระดบั สูงใหเ้ ป็นภาษาเครื่อง เช่น โปรแกรมที่ทาหนา้ ท่ีแปลภาษาฟอร์แทรนใหเ้ ป็น
ภาษาเคร่ือง โปรแกรมที่ทาหนา้ ที่แปลภาษาปาสคาลใหเ้ ป็นภาษาเคร่ือง คาส่ังหน่ึงคาสง่ั ในภาษาระดบั
สูงจะถูกแปลเป็ นภาษาเคร่ื องหลายคาสัง่

การทางานของโปรแกรมภาษาระดับสูง
การประมวลผลโปรแกรมท่ีเขียนข้ึนดว้ ยภาษาระดบั สูงจาเป็ นตอ้ งอาศยั โปรแกรมท่ี

ช่วยทาหนา้ ที่ในการแปลโปรแกรมภาษาระดบั สูงใหเ้ ป็ นภาษาเครื่อง โปรแกรมแปลภาษาท่ีนิยมใช้
แบ่งออกเป็น 2 ลกั ษณะ ไดแ้ ก่

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

#include <stdio.h>
int main(void)

{ printf(“hello, world\n”);
return 0;

}

ความรู้เบอื ้ งต้นเก่ียวกบั ด้วยคอมพิวเตอร์และขนั้ ตอนการพฒั นาโปรแกรม โดย อรรณพ ทองธีรกลุ 6

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

PRINT “Hello World!”

องค์ประกอบพนื้ ฐานของคอมพวิ เตอร์

คอมพิวเตอร์ทุกประเภทจะมีลกั ษณะการทางานของส่วนต่างๆ ท่ีมีความสัมพันธ์กันเป็ น
กระบวนการ โดยมีองค์ประกอบพ้ืนฐานหลกั คือ Input Process และ Output ซ่ึงมีข้นั ตอนการทางาน
ดงั น้ี

ข้นั ตอนท่ี 1 รับข้อมูลเข้า (Input)

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

ข้นั ตอนท่ี 2 ประมวลผลข้อมูล (Process)

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

ข้นั ตอนท่ี 3 แสดงผลลพั ธ์ (Output)

การนาผลลพั ธ์ท่ีไดจ้ ากการประมวลผลแสดงผลทางอุปกรณ์ที่กาหนด โดยทว่ั ไปจะแสดงผล
ผา่ นทางจอภาพ (Monitor) หรือพิมพข์ อ้ มลู ออกทางกระดาษโดยใชเ้ ครื่องพิมพ์ (Printer)

ความรู้เบอื ้ งต้นเกี่ยวกบั ด้วยคอมพิวเตอร์และขนั้ ตอนการพฒั นาโปรแกรม โดย อรรณพ ทองธีรกลุ 7

การทางานของคอมพวิ เตอร์

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

ข้นั ตอนที่ 1 การรับขอ้ มูลและคาสัง่ คอมพวิ เตอร์รับขอ้ มูลและคาสง่ั ผา่ นอุปกรณ์นาเขา้ คือ
เมาส์ คียบ์ อร์ด ฯลฯ

ข้นั ตอนที่ 2 การประมวลผลหรือคานวณโดย CPU (Central Processing Unit) หรือเรียกวา่ ชิป
(Chip) เป็ นสมองของคอมพิวเตอร์ ทาหน้าท่ีคานวณ ประมวลผลคาสั่ง และควบคุมการทางานของ
อุปกรณ์อ่ืน ๆ

ข้ันตอนท่ี 3 การเก็บข้อมูล ทาหน้าท่ีเก็บข้อมูลและโปรแกรมต่าง ๆ หน่วยเก็บข้อมูลคือ
ฮาร์ดดิสก์ ดิสเกตต์ ซีดีรอม แฟลชไดรฟ์ ฯลฯ

ข้นั ตอนที่ 4 นาเสนอผลลพั ธ์ เป็นอุปกรณ์ที่นาเสนอผลลพั ธ์ที่ไดจ้ ากการประมวลผลของ
คอมพิวเตอร์ เช่น จอภาพ เครื่องพิมพ์ เป็นตน้

ส่วนประกอบของคอมพวิ เตอร์

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

1. จอภาพ (Monitor) อาจเรียกวา่ มอนิเตอร์ (Monitor), สกรีน (Screen), ดิสเพลย์ (Display) ใช้
แสดงผลท้งั ขอ้ ความ ภาพน่ิง และภาพเคล่ือนไหว มีลกั ษณะคลา้ ยจอโทรทศั น์ มีท้งั สีและขาวดา ปัจจุบนั
นิยมใชจ้ อภาพสี

2. ตวั เคร่ือง (Computer Case) เป็นส่วนท่ีเกบ็ อุปกรณ์อิเลก็ ทรอนิกส์หลกั ของคอมพิวเตอร์เช่น
CPU , Driver , Chip ฯลฯ เป็ นหวั ใจของเคร่ือง

3. คียบ์ อร์ด (Keyboard) หรือแป้ นพิมพเ์ ป็นอุปกรณ์ท่ีใชพ้ ิมพค์ าสัง่ หรือป้ อนขอ้ มูลเขา้ สู่
คอมพวิ เตอร์ คียบ์ อร์ดมีลกั ษณะคลา้ ยแป้ นพิมพด์ ีด แตจ่ ะมีป่ ุมพิมพพ์ เิ ศษมากกวา่ เคร่ืองพิมพด์ ีด

ความรู้เบอื ้ งต้นเก่ียวกบั ด้วยคอมพิวเตอร์และขนั้ ตอนการพฒั นาโปรแกรม โดย อรรณพ ทองธีรกลุ 8

4. เมาส์ (Mouse) เป็นอุปกรณ์ที่ใชบ้ งั คบั ตวั ช้ีบนจอภาพ เพือ่ เลือกคาสงั่ ต่างๆ แทนการป้ อน
คาส่งั ทางคียบ์ อร์ด

5. เครื่องพมิ พ์ (Printer) เป็นอุปกรณ์แสดงผลขอ้ มูลออกมาทางกระดาษ
6. สแกนเนอร์ (Scanner) เป็นอุปกรณ์นาเขา้ ขอ้ มลู โดยการนารูปภาพหรือขอ้ ความมาสแกนให้
เป็นไฟลเ์ ขา้ ไปไวใ้ นเคร่ือง
7. โมเด็ม (Modem) เป็นอุปกรณ์ท่ีทาหนา้ ท่ีแปลงสญั ญาณคอมพิวเตอร์ใหส้ ามารถส่งไปตาม
สายโทรศพั ท์ และแปลงขอ้ มูลจากสายโทรศพั ทใ์ หเ้ ป็นสัญญาณที่คอมพิวเตอร์สามารถรับรู้ได้

2. กระบวนการทางานในหน่วยความจาของคอมพวิ เตอร์

หน่วยความจาของคอมพวิ เตอร์แบง่ ออกไดเ้ ป็น 2 ประเภทคือ
2.1 หน่วยความจาหลัก เป็ นหน่วยที่ใุ้ในการเก็บข้อมูล โปรแกรมคาสั่งต่างๆ ที่หน่วย
ประมวลผลกลางสามารถนาค่าต่างๆไปประมวลผลได้ ในหน่วยความจาหลกั แบ่งเป็ นุ่องๆเรียงตอ่ กนั
เป็ นลาดบั เรียกวา่ เซลลห์ น่วยความจา (memory cells) แต่ละเซลล์มีหมายเลขประจาตวั เพ่ือใุ้ในการ
อา้ งถึง เรียกวา่ เลขที่อยู่ (address) เริ่มท่ี 0,1,2,… เพิ่มคา่ ไปเร่ือยๆ เรียกวา่ เป็ นค่าสมั พทั ธ์ (relative) แต่
ละเซลล์หน่วยความจา สามารถบรรจุค่าได้ เรียกวา่ ค่าขอ้ มูลของเซลล์ (contents of the cell) หรือเรียก
ทบั ศพั ทว์ า่ คอนเท็น ค่าท่ีเก็บเหล่าน้ี สามารถเกบ็ ไดท้ ้งั ตวั เลข หรือตวั อกั ขระ หรือแมแ้ ต่ตวั โปรแกรม
แสดงตามภาพที่ 1-2 ค่าในเลขท่ีอยู่ท่ี 1 มีค่าเป็ น 10000001 ซ่ึงเป็ นเลขฐานสอง เม่ือแปลงเป็ น
เลขฐานสิบ มีค่าเป็น 65

ภาพท่ี 1-2 แสดงภาพจาลองหน่วยความจาหลกั (ท่ีมา : ปัญญาพล หอระตะ.2545:3)
คอมพวิ เตอร์เป็นอุปกรณ์ทางอิเลก็ ทรอนิกส์ ค่าที่เก็บจึงอยใู่ นรูปของสญั ญาณดิจิทลั มีอยู่
2 สถานะ คือ เปิ ดและปิ ด เมื่อแทนเป็นตวั เลขสถานะเปิ ด เทา่ กบั 1 และสถานะปิ ดเท่ากบั 0 ซ่ึงเทียบ
ไดก้ บั เลขฐานสอง หน่วยที่เกบ็ แตล่ ะคา่ เรียกวา่ บิต (bit) ดงั ภาพที่ 1-2 บิตถือวา่ เป็นหน่วยท่ีเลก็
ท่ีสุด การใุบ้ ิตเพ่ือแทนอกั ขระ 1 ตวั จะตอ้ งใุก้ ลุ่มของบิต เรียกวา่ ไบต(์ byte) ขนาดของไบตแ์ ลว้ แต่
สถาปัตยกรรมของซีพยี ู โดยทวั่ ไปมีขนาด 8 บิต เรียงติดต่อกนั แตล่ ะไบตบ์ รรจุในเซลลห์ น่วยความจา
1 เซลล์ หรือกล่าวอีกนยั หน่ึงวา่ เลขท่ีอยู่ (address) 1 ุ่องของหน่วยความจา มีขนาด 8 บิต ดงั ภาพท่ี

ความรู้เบอื ้ งต้นเก่ียวกบั ด้วยคอมพิวเตอร์และขนั้ ตอนการพฒั นาโปรแกรม โดย อรรณพ ทองธีรกลุ 9

1-2 คา่ ที่เก็บในแต่ละุ่องหน่วยความจาสามารถเก็บค่าไดแ้ ตกตา่ งกนั ถึง 28 ตวั หรือเท่ากบั 256 ตวั ท่ี
แตกตา่ งกนั ทราบไดอ้ ยา่ งไรวา่ ตวั เลขน้ีเป็นขอ้ มูลหรือคาสั่งใหค้ อมพิวเตอร์ทางานในระบบตอ้ งมีตาราง
เทียบคา่ และตารางคาสงั่ ของเครื่องที่หน่วยควบคุมตีความได้ ตารางเทียบค่าเรียกวา่ ตารางแอสกี แตล่ ะ
คา่ ในตารางแทนอกั ขระ 1 ตวั เรียกวา่ รหสั แอสกี (ASCII Code) รหสั แอสกีมีคา่ ต้งั แต่ 0 ถึง 255
ตวั อยา่ งเุ่น รหสั 65 (เลขฐาน 10) แทน อกั ษร “A”, 97 แทนอกั ษร “a”,49 แทน ตวั เลข “1” เป็นตน้

ขนาดของหน่วยความจามีหน่วยเป็น กิโลไบต์ (1 Kilobytes = 1 KB = 1,024 Bytes) เมกะไบต์
(1 Megabytes = 1 MB = 1,0242 Bytes) จิ ก ะ ไ บ ต์ (1 Gigabytes = 1 GB = 1,0243 Bytes) เท ราไ บ ต์
(1 Terabytes = 1 TB = 1,0244 Bytes)

ประเภทของหน่วยความจา แบ่งเป็ นหน่วยความจารอม (ROM) กับหน่วยความจาแรม
(RAM) หน่วยความจาแรม เป็ นหน่วยความจาที่เก็บขอ้ มูลุว่ั คราวตอ้ งมีกระแสไฟฟ้ าหล่อเล้ียงอยเู่ สมอ
เม่ือไฟดบั ขอ้ มูลจะสูญหาย หน่วยความจาน้ีนามาใุเ้ กบ็ โปรแกรมขอ้ มลู ในระหวา่ งที่มีการประมวลผล

หน่วยความจารอม (ROM) เป็ นหน่วยความจาท่ีเก็บขอ้ มูลถาวร ไฟดบั ข้อมูลไม่สูญหาย
หน่วยความจาน้ีใุเ้ กบ็ โปรแกรมขนาดเล็กที่ระบบใุบ้ อ่ ยเุ่น ขณะที่เปิ ดเครื่อง ระบบจะอา่ นขอ้ มลู จาก
รอมเพือ่ นาโปรแกรมเลก็ ๆ เขา้ สู่หน่วยความจา จากน้นั คอมพวิ เตอร์จะทางานตามคาสงั่ โปรแกรม เพื่อ
บรรจุโปรแกรมระบบปฏิบัติการ (Operating System) หรื อโอเอส เข้าสู่ หน่วยความจา จากน้ัน
โปรแกรมระบบปฏิบตั ิการจะทาหน้าที่ควบคุมการทางานของคอมพิวเตอร์ให้ทางานต่อไป และเป็ น
ตวั กลางระหวา่ งผใู้ ุก้ บั คอมพิวเตอร์ หน่วยความจารอม (ROM) ส่วนใหญ่มีราคาแพง การเขียนคาส่ัง
ทาไดย้ งุ่ ยากกวา่ การใุห้ น่วยความจาแรม (RAM)

2.2 หน่วยความจาสารอง เป็นสื่อบนั ทึกภายนอกที่สามารถเก็บขอ้ มลู ไดถ้ าวร เพื่อเกบ็ ขอ้ มลู ท่ี
ตอ้ งการ โดยการคดั ลอกขอ้ มูลจากหน่วยความจาไปเก็บไวบ้ นสื่อบนั ทึกภายนอกไดแ้ ก่ ฮาร์ดดิสค์ (Hard
disk) ดิสเกตต์ (Diskette) แฟลุไดร์ฟ (Flash Drive) ปัจจุบนั ราคาถูกลงและมีความจุมากข้ึน

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

ข้นั ตอนในการพฒั นาโปรแกรม หมายถึง ข้นั ตอนในการเขียนโปรแกรมเพ่ือใหไ้ ดช้ ุดคาส่ังที่
สามารถปฏิบตั ิงานไดต้ ามท่ีโจทยต์ อ้ งการ (ปัญญาพล หอระตะ.2545:11) แบ่งได้ 5 ข้นั ตอนดงั น้ี

3.1 การวเิ คราะห์ปัญหา (Problem analysis)
3.2 การออกแบบอลั กอริธึม (Algorithm design) และการเขียนผงั งาน (Flowchart)
3.3 การพฒั นาโปรแกรม (Program development)
3.4. การทดสอบความถูกตอ้ ง (Program Testing)
3.5 การจดั ทาเอกสาร (Documentation)

ความรู้เบอื ้ งต้นเกี่ยวกบั ด้วยคอมพวิ เตอร์และขนั้ ตอนการพฒั นาโปรแกรม โดย อรรณพ ทองธีรกลุ 10

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

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

3.1.1 ข้อมูลนาเข้า (Input Data) ต้องกาหนดข้อมูลนาเข้า มาพร้อมกับโปรแกรม เพื่อให้
โปรแกรมทาการประมวลผลและออกผลลพั ธ์

3.1.2 ขอ้ มูลส่งออก (Output Data) ตอ้ งกาหนดผลลพั ธ์ที่ตอ้ งการ วา่ เป็ นอยา่ งไร โดยในการ
ออกแบบผลลพั ธ์ตอ้ งคานึงถึงผใู้ ุเ้ ป็นหลกั

3.1.3 วิธีการประมวลผล (Processing) ตอ้ งกาหนดวิธีการประมวลผล เพ่ือให้ไดผ้ ลลพั ธ์ตาม
ตอ้ งการ การวิเคราะห์ปัญหาเพ่ือดูวา่ ขอ้ มูลนาเขา้ และขอ้ มูลส่งออกน้นั คืออะไร โดยทวั่ ไปจะพิจารณา
จากโจทยข์ องปัญหาและดูว่ามีคาใดที่เป็ นคานาม (noun) และคุณศพั ท์ (adjectives) บา้ ง ซ่ึงจะเป็ นตวั
บง่ ุ้ีถึงขอ้ มลู เขา้ และขอ้ มูลส่งออกไปในตวั ได้ แต่สาหรับวธิ ีการประมวลผลโดยทว่ั ไปจะพิจารณาจาก
คากริยา (verb) หรือขอ้ มูลนาเขา้ การประมวลผล ผลลพั ธ์ คาวเิ ศษณ์ (adverb) ที่มีอยใู่ นโจทยน์ ้นั แทน
ในบางคร้ังอาจจะตอ้ งศึกษาคน้ ควา้ หาขอ้ มลู เพ่ิมเพื่อนามาประกอบในการทางาน

ตวั อย่าง โปรแกรมหาพ้ืนท่ีรูปสี่เหล่ียมมุมฉาก จากการวเิ คราะห์ปัญหา พบวา่
ข้อมูลนาเข้า คือ ความกวา้ ง และความยาวแตล่ ะดา้ นของรูปส่ีเหล่ียม
การประมวลผล คือ การคานวณหาพ้ืนที่ของรูปสี่เหลี่ยมหาไดจ้ ากสูตร กวา้ ง * ยาว
ผลลพั ธ์ คือ พ้ืนท่ีของรูปสี่เหล่ียม
ดงั น้ัน โปรแกรมจะรับตวั เลข 2 จานวน คือ ความกวา้ งและความยาวของรูปส่ีเหลี่ยม แล้ว
นาไปแทนคา่ ในสูตร คาตอบที่ตอ้ งการคือ พ้นื ท่ีของรูปส่ีเหล่ียม

3.3 การพฒั นาอลั กอริธึมและการเขียนผงั งาน คือ ข้นั ตอนการแกป้ ัญหาทีละข้นั วา่ ทาอยา่ งไรจึง
จะแกป้ ัญหาไดแ้ ละสามารถนามาแปลงเป็นคาสง่ั ของภาษาโปรแกรมได้ เรียกข้นั ตอนการแกป้ ัญหาที
ละข้นั น้ีวา่ อลั กอริธึม (algorithm) แลว้ นามาเขียนผงั งานแทนดว้ ยภาพสญั ลกั ษณ์

ตวั อย่าง อลั กอริธึมการคานวณหาจานวนเงินที่ตอ้ งการจ่ายให้พนักงาน เขียนอธิบายแต่ละ
ข้นั ตอนไดด้ งั น้ี

ข้นั ตอนท่ี 1 รับขอ้ มูลุวั่ โมงทางานของพนกั งานจากแป้ นพิมพ์
ข้นั ตอนที่ 2 เปรียบเทียบจานวนุวั่ โมงทางานกบั 8

ความรู้เบอื ้ งต้นเกี่ยวกบั ด้วยคอมพิวเตอร์และขนั้ ตอนการพฒั นาโปรแกรม โดย อรรณพ ทองธีรกลุ 11

ถา้ จานวนุวั่ โมงทางานมากกวา่ 8 แลว้ ใหค้ านวณสูตรต่อไปน้ี
คา่ แรงของพนกั งาน = 8 * 40
ค่าล่วงเวลา = (จานวนุวั่ โมงที่ทางาน -8)*7
ถา้ จานวนุวั่ โมงทางาน นอ้ ยกวา่ หรือเท่ากบั 8 แลว้ ใหค้ านวณ
คา่ แรงของพนกั งาน = จานวนุว่ั โมงท่ีทางาน * 40
ค่าล่วงเวลา = 0
ข้นั ตอนที่ 3 คานวณจานวนเงินท่ีตอ้ งจ่ายใหแ้ ก่พนกั งาน
รวมจานวนเงินคา่ แรงของพนกั งานแตล่ ะคน = คา่ แรงของพนกั งาน +
คา่ ล่วงเวลา
ข้นั ตอนที่ 4 แสดงผลลพั ธ์ใหผ้ ใู้ ุท้ ราบ
ข้นั ตอนที่ 5 จบการทางาน
3.3 การพฒั นาโปรแกรม เป็นข้นั ตอนที่นกั เขียนโปรแกรมนาคาอธิบายแตล่ ะข้นั ตอนของการ
แกป้ ัญหาจากอลั กอริธึม แปลงเป็นคาสง่ั ภาษาโปรแกรมคอมพิวเตอร์ ทาใหง้ ่ายต่อการพฒั นาโปรแกรม
3.4 การทดสอบโปรแกรม เป็นข้นั ตอนการหาขอ้ ผดิ พลาดเุิงตรรกะ (Logical Error) ที่อาจ
เกิดข้ึนได้ ควรทาการทดสอบความถูกตอ้ งของโปรแกรมดงั ต่อไปน้ี
3.4.1 การใส่ขอ้ มูลที่ถูกตอ้ ง (valid case) เมื่อโปรแกรมประมวลผล ใหใ้ ส่ขอ้ มลู ท่ีถูกตอ้ ง
ลงในโปรแกรม และดูวา่ ผลลพั ธ์ท่ีไดถ้ ูกตอ้ งตามท่ีตอ้ งการหรือไม่
3.4.2 การใุข้ อบเขตและความถูกตอ้ งของขอ้ มูล (Range check and Completeness check)
เป็ นการทดสอบโดยตรวจสอบขอบเขตของขอ้ มูลที่ป้ อนเขา้ สู่โปรแกรมเุ่น ถา้ โปรแกรมให้ใส่วนั ที่
ตอ้ งตรวจสอบว่าวนั ท่ีที่ใส่ตอ้ งไม่เกิน 31 ถา้ ใส่ 32 โปรแกรมตอ้ งไม่ยอมรับ หรือ การรับขอ้ มูลท่ีเป็ น
วนั /เดือน/ปี ตอ้ งใส่เป็นตวั เลข 6 ตวั ในลกั ษณะ dd/mm/yy ถา้ ใส่นอ้ ยกวา่ 6 ตวั จะไมร่ ับ
3.4.3 การใุ้ความสมเหตุสมผล (Consistency Check) ตวั อย่างเุ่น ถ้าโปรแกรมมีการ
ออกแบบให้ผูใ้ ุ้ป้ อนขอ้ มูลลงไปในฟอร์ม (Form) ท่ีมีฟิ ลด์ขอ้ มูลท่ีเป็ นเพศ (หญิง หรือ ุาย) และ
รายละเอียดส่วนตวั ของเพศ วนั ลาคลอดของเพศุายตอ้ งไมม่ ี(หา้ มใส่) หญิงอาจมีหรือไม่มีกไ็ ด้
3.4.4 ข้อมูลท่ีเป็ นตวั เลขและตวั อกั ษร (Correct No. and Type character check) เป็ นการ
ตรวจสอบว่าห้ามป้ อนขอ้ มูลผิดประเภทเุ่น ฟิ ลด์ที่เป็ นจานวนเงิน ให้ป้ อนข้อมูลได้เฉพาะตวั เลข
เท่าน้นั หรือถา้ ฟิ ลดท์ ี่เป็นตวั อกั ษรเุ่น ุื่อ-นามสกุล จะป้ อนไดเ้ ฉพาะตวั อกั ษรเท่าน้นั
3.4.5 ขอ้ มูลเป็ นไปตามขอ้ กาหนด (Existence Check) เุ่น กาหนดให้ฟิ ลดน์ ้ีป้ อนขอ้ มูลได้
เฉพาะตวั เลขท่ีอยใู่ นกลุ่ม 1,2,5,7 ไดเ้ ทา่ น้นั จะป้ อนเป็นตวั เลขอ่ืนที่ไม่อยใู่ นกลุ่มน้ีไมไ่ ด้

ความรู้เบอื ้ งต้นเกี่ยวกบั ด้วยคอมพิวเตอร์และขนั้ ตอนการพฒั นาโปรแกรม โดย อรรณพ ทองธีรกลุ 12

3.5 การจัดทาคู่มือการใช้งานโปรแกรม หมายถึง การจดั ทาเอกสารต่างๆท่ีใุก้ ากบั เพ่ืออธิบาย
โปรแกรมและุ่วยใหผ้ ูใ้ ุโ้ ปรแกรมทางานไดส้ ะดวกข้ึนเุ่น คู่มือการปฏิบตั ิงานกบั เครื่อง (Operation
Manual) คู่มือผูใ้ ุ้ (User Manual) ปัจจุบันเอกสารประกอบโปรแกรม มีอยู่ในหลายสื่อเุ่น อยู่ใน
ซอฟตแ์ วร์ ไดแ้ ก่ คาอธิบาย (Help function) โปรแกรมสาธิต (Demo program) เป็นตน้

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


Click to View FlipBook Version