Important Announcement
PubHTML5 Scheduled Server Maintenance on (GMT) Sunday, June 26th, 2:00 am - 8:00 am.
PubHTML5 site will be inoperative during the times indicated!

Home Explore หลักการเขียนโปรแกรม

หลักการเขียนโปรแกรม

Published by tamcomed50, 2020-06-18 05:20:04

Description: หลักการเขียนโปรแกรม

Search

Read the Text Version

หลกั การพ้ืนฐานในการเขียนโปรแกรม คอมพวิ เตอร์ (Introduction to Computer Programming)

Outline • ความหมายและความสาํ คญั ของโปรแกรมคอมพวิ เตอร์ • การทาํ งานของโปรแกรมคอมพวิ เตอร์ • ประเภทของโปรแกรมคอมพวิ เตอร์

ความหมายและความสาํ คญั ของโปรแกรมคอมพวิ เตอร์ • ความหมาย – โปรแกรมคอมพวิ เตอร์ หมายถึง ชุดคาํ สง่ั ท่ีมีหนา้ ท่ี สงั่ การใหเ้ คร่ืองคอมพิวเตอร์หรืออุปกรณ์ฮาร์ด แวร์อ่ืนๆทาํ งานประมวลผลขอ้ มูลตามตอ้ งการ – โดยโปรแกรมคอมพวิ เตอร์ มีความหมายเดียวกบั ซอฟตแ์ วร์คอมพวิ เตอร์

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

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

โปรแกรมคอมพิวเตอร์ที่ใชง้ านกนั โดยทวั่ ไป • โปรแกรมระบบปฏิบตั ิการ (Operating System:OS) – เช่น Windows 98, WindowMe, WindowXP, UNIX, Linux, DOS • โปรแกรมประยกุ ต์ – เช่น เวริ ์ดโปรเซสเซอร์ ฐานขอ้ มลู สเปรดชีต โปรแกรมกราฟิ ก เกม โปรแกรมเพ่อื การศึกษา

โปรแกรมคอมพวิ เตอร์ท่ีใชง้ านกนั โดยทว่ั ไป • โปรแกรมชนิดอื่นๆ – ซอฟตแ์ วร์ส่ือสาร โปรแกรมอาํ นวยประโยชน์ (Utilities program) อยา่ งเช่น Norton Utilities ที่จะ ทาํ หนา้ ที่ตรวจจบั และแกป้ ัญหาการทาํ งานของฮา ร์ดดิสก์ และฟลอปป้ี ดิสก์

โปรแกรมคอมพวิ เตอร์ที่ใชง้ านกนั โดยทว่ั ไป

ซอฟตแ์ วร์คอมพวิ เตอร์ • ซอฟตแ์ วร์คอมพวิ เตอร์ หมายถึง โปรแกรมประเภท ใดกไ็ ด้ – ระบบปฏิบตั ิการ เช่น ดอส วนิ โดวส์ โปรแกรมอาํ นวยประโยชน์ (Utilities program) ระบบงาน จนกระทง่ั โปรแกรมที่เกบ็ อยใู่ นรอม • ซอฟทแ์ วร์ทาํ ใหฮ้ าร์ดแวร์ทาํ งานได้ • ถา้ ไม่มีซอฟตแ์ วร์แลว้ ฮาร์ดแวร์จะมีเพยี งความ สามารถท่ีซ่อนเร้นอยภู่ ายใน และรอการสง่ั งานจาก ซอฟตแ์ วร์

การทาํ งานของโปรแกรมคอมพวิ เตอร์ • ระบบคาํ ศพั ท์ (terminology) ท่ีใชใ้ นคอมพิวเตอร์ – บิต (bit) – ไบต์ (byte) – ฟิ ลด์ (field) – เรกคอร์ด (record) – ไฟล์ (file)

การทาํ งานของโปรแกรมคอมพวิ เตอร์ โครงสร้างแฟ้ มขอ้ มูลตามลาํ ดบั ความสมั พนั ธ์

การทาํ งานของโปรแกรมคอมพิวเตอร์ Field STD_CODE NAME ADDRESS PROVINCE TEL_NO 471115-3 มฑั ณา เจรญิ วงค์ ถ.มติ รภาพ ขอนแกน่ 0-4345-6789 Record File โครงสร้างแฟ้ มขอ้ มูล

ขอ มูล • ขอ้ มูล คือ ขอ้ เทจ็ จริงเก่ียวกบั บุคคล สถานที่ ส่ิงของ หรือเหตุการณ์ที่สนใจ – อาจไดจ้ ากการนบั การวดั การสงั เกต การชงั่ – ขอ้ มูลเป็นไดท้ ้งั ตวั เลข ขอ้ ความ สญั ลกั ษณ์ รูป ทรง สี อุณหภมู ิ เสียง ตลอดจนสิ่งอื่นๆ • ประเภทของขอ้ มูลในคอมพิวเตอร์ – ขอ้ มลู ที่คาํ นวณได้ (Numeric) – ขอ้ มูลท่ีไม่นาํ ไปคาํ นวณ (Character, String)

โครงสรางขอ มูล • หน่วยขอ้ มูล (Data Item) ส่วนที่เลก็ ที่สุดของขอ้ มลู ประกอบดว้ ย ตวั อกั ษร ตวั เลข หรือสญั ลกั ษณ์พิเศษ มกั ไม่มีความหมายในตวั มนั เอง เช่น ช่ือ, บา้ นเลขท่ี • ฟิ ลดข์ อ้ มลู (Data Field) คือการนาํ หน่วยขอ้ มลู ท่ี เกี่ยวขอ้ งกนั มารวมกนั และก่อใหเ้ กิดความหมาย เช่น ช่ือและนามสกลุ • เรกคอร์ดขอ้ มลู (Data Record) ฟิ ลดห์ ลายฟิ ลดท์ ี่ สมั พนั ธ์กนั มารวมกนั

โครงสรา งขอ มูล • ไฟลข์ อ้ มลู (Data File) คือ เรกคอร์ดหลายๆเรกคอร์ดท่ี เก่ียวขอ้ งในดา้ นหน่ึงมารวมกนั • ฐานขอ้ มลู (Database) คือ ที่รวมของไฟลข์ อ้ มลู ที่ สมั พนั ธ์กนั

ระบบจํานวนและรหัสทใ่ี ช แทนขอมลู • ระบบตวั เลขฐานสิบ (Decimal system) คือ เลขท่ีใชก้ นั เป็นประจาํ ทุกวนั มีท้งั หมด 10 ตวั 0 1 2 3 4 5 6 7 8 และ 9 เช่น 2547 = (2 x 103)+ (5 x 102)+(4 x 101)+(7 x 100) 10.25 = (1 x 101)+ (0 x 100)+(2 x 10-1)+(5 x 10-2)

ระบบจํานวนและรหัสทีใ่ ช แทนขอ มลู • ระบบตวั เลขฐานสอง (Binary system) เป็นระบบท่ีมีตวั เลขใชเ้ พียง 2 ตวั คือ 0 และ 1 เช่น 101 = (1 x 22)+ (0 x 21)+(1 x 20) = 4+0+1 = 5 ในระบบเลขฐานสิบ 10.01 = (1 x 21)+ (0 x 20)+(0 x 2-1)+(1 x 2-2) = 2+0+0.5+0.25 = 2.75 ในระบบเลขฐานสิบ เป็นรหสั ขอ้ มูลภายในเครื่อง เพราะมีคุณสมบตั ิเหมือนกบั ระบบ กระแสไฟฟ้ าในเคร่ืองคอมพิวเตอร์ (1 = เปิ ด, 0 = ปิ ด)

ตวั อยา่ งการแทนค่าอกั ษรดว้ ยระบบเลขฐานสอง อกั ขระ ค่าแอสกี (ฐาน ค่าแอสกี (ฐาน สอง) สิบ) 73 I 01001001 83 S 01010011 202 ส 11001010 202 ส 11001010 183 ท 10110111 50 2 00110010

ระบบจาํ นวนและรหสั ท่ใี ช แทนขอมลู • ระบบตวั เลขฐานแปด (Octal system) เป็นระบบท่ีมีตวั เลขใช้ 8 ตวั คือ 0 และ 7 ใชก้ บั คอมพิวเตอร์ IBM 7090 เพือ่ ใชแ้ ทนเลขฐานสองเพ่ือลด ความยาวของตวั เลข

ระบบจาํ นวนและรหสั ที่ใช แทนขอ มูล • ระบบตวั เลขฐานสิบหก (Hexadecimal system) – เป็นระบบซ่ึงมีตวั เลขใชถ้ ึง 16 ตวั นน่ั คือ 0 ถึง 9 และสญั ลกั ษณ์ A,B,C,D,E,F อีก 6 ตวั ซ่ึงแทนเลข 10,11,12,13,14,15 ตามลาํ ดบั และเลขฐานสิบหกน้ี มกั ใชก้ บั คอมพวิ เตอร์ IBM 360

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

บิต (Bit) ไบต์ (byte) และเวริ ์ด (word) • การใชบ้ ิตเพ่อื แทนสารสนเทศ ทาํ ใหค้ อมพิวเตอร์ สามารถเกบ็ หรือ “จดจาํ ” สารสนเทศได้ (ง่าย - เร็ว) • แต่ บิตเดียว ไม่สามารถแทนสารสนเทศไดม้ ากนกั • รหสั แอสกีตอ้ งการบิตอยา่ งนอ้ ยที่สุด 8 บิต เพ่ือแทน อกั ขระ ตวั เดียว • อกั ขระหน่ึงตวั นาํ มาใชเ้ ป็นหน่วยมาตรฐานของการวดั • หน่วยมาตรฐาน 8 บิตน้ี เรียกวา่ ไบต์

บิต (Bit) ไบต์ (byte) และเวริ ์ด (word) • 1 byte ไม่เพยี งพอต่อการนาํ มาใชแ้ ทนค่าตวั เลข + ตวั อกั ษร + สญั ลกั ษณ์ แมว้ า่ 8 bit จะสามารถแทนค่าได้ 256 ค่า • แต่การประมวลผลสารสนเทศส่วนใหญ่ ตอ้ งจดั การกบั ขอ้ มูลท่ีมีขนาดใหญ่ (กวา่ 256 ค่า) • จึงนาํ “จาํ นวนของ bit” (ทีละ 8 bit) มาใชใ้ นการ คาํ นวณ เรียกวา่ “ขนาดของคาํ ” หรือ Word (เป็นความ สามารถทางสถาปัตยกรรมของ CPU)

หน่วยวดั ในคอมพวิ เตอร์ • เมื่ออา้ งถึงขอ้ มลู ปริมาณมากๆ จะเติมคาํ เสริมหนา้ หน่วย วดั เช่น “กิโล” “เมกะ” และ “กิกะ” เขา้ ไปท่ีคาํ วา่ “ไบต”์ เน่ืองจากนกั คอมพิวเตอร์มกั จะอาศยั กาํ ลงั ของ 2 ดงั น้นั – 1 Kilo byte แทน 210 byte (1,024 byte) – 1 Mega byte แทน 220 byte (1,048,576 byte) – 1 Giga byte แทน 230 byte (1,073,741,824 byte) – 1 Tera byte แทน 240 byte – 1 Pata byte แทน 250 byte

การเกบ็ สารสนเทศในคอมพิวเตอร์ หนว่ ยความจาํ สาํ รอง (Secondary memory Unit) :Floppy disk,Hard disk,CD-RW

การเกบ็ สารสนเทศในคอมพิวเตอร์ • จากแผนภาพระบบคอมพวิ เตอร์ • หน่วยความจาํ หลกั หรือ “แรม” เป็นหน่วยที่จะเกบ็ บิต หรือสารสนเทศไวใ้ นขณะที่คอมพวิ เตอร์กาํ ลงั ทาํ งาน • แรมจะเกบ็ สารสนเทศตาม “ขนาดของ Word” ในกล่อง เกบ็ ขอ้ มูลยอ่ ยๆ • การระบุ “ตาํ แหน่งของกล่องเกบ็ ขอ้ มลู ” ในแรม จะ หมายถึงการระบุ “ตาํ แหน่งของหน่วยความจาํ ” หรือ “แอดเดรส” (Address)

การเกบ็ สารสนเทศในคอมพวิ เตอร์ • คอมพิวเตอร์จะเขา้ ถึงแอดเดรสดว้ ยระบบหมายเลข ในขณะท่ีมนุษยจ์ ะคุน้ เคยกบั ช่ือตวั แปรสญั ลกั ษณ์ – ดงั เช่น ในการเขียนโปรแกรมที่จะมีกาํ หนดตวั แปร มีการกาํ หนดค่าตวั แปร และมีการเรียกใชค้ ่าตวั แปร จึงเป็นการเขา้ ถึงหน่วยความจาํ หรือ “แรม” ใน คอมพวิ เตอร์

คาํ สงั่ คอมพิวเตอร์ • ภายในคอมพวิ เตอร์ ประกอบไปดว้ ยชิบหน่ึงหรือสอง ตวั ท่ีทาํ หนา้ ที่เป็น “หน่วยประมวลผลกลาง” (CPU) • ซีพียจู ะจดั การกบั ขอ้ มูล ในหน่วยความจาํ ตาม “กลุ่ม ของคาํ สงั่ ” ท่ีเรียกวา่ “โปรแกรม” • การที่จะทาํ ใหซ้ ีพียู “ปฏิบตั ิการ” (Execute) คาํ สงั่ ไดน้ ้นั โปรแกรมจะตอ้ งอยใู่ นแรมก่อน • จึงตอ้ งแทนคาํ สงั่ (เช่นขอ้ มูล) ดว้ ยอนุกรมของบิต

คาํ สงั่ คอมพวิ เตอร์ • คาํ สง่ั จะบ่งบอกคอมพวิ เตอร์ใหท้ าํ กิจกรรมแบบง่ายๆ – การบวก การลบ การเปรียบเทียบ หรือการคดั ลอกบิ ตจากตาํ แหน่งหน่ึงในหน่วยความจาํ ไปยงั อีก ตาํ แหน่งหน่ึง – บางคาํ สง่ั อาจส่งสารสนเทศไปยงั อุปกรณ์รับเขา้ /ส่ง ออก (I/O : Input/Out) ภายนอก เช่น ฮาร์ดดิสก์ หรือมอนิเตอร์ เช่น “บวก 1 เขา้ กบั จาํ นวนใน ตาํ แหน่งหน่วยความจาํ ท่ี 732” หรือ “เขียนอกั ษร IS ท่ีอุปกรณ์ส่งออกหมายเลข 3”

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

การเขียนโปรแกรมดว้ ยภาษาเคร่ือง • คอมพวิ เตอร์ประมวลผลใหไ้ ดผ้ ลลพั ธ์ ตอ้ งอาศยั ชุด คาํ สง่ั ท่ีเป็นภาษาเคร่ือง (machine code) เท่าน้นั – ภาษาเครื่องเป็น รหสั ไบนารี (binary code) ซ่ึงมีแค่ เลขศูนยแ์ ละหน่ึง – รหสั ไบนารี รู้จกั กนั ในช่ือวา่ รหสั เคร่ือง จดั อยใู่ น ภาษา โปรแกรมระดบั ต่าํ (low-level programming language) – การเขียนโปรแกรม ดว้ ยศนู ยแ์ ละหน่ึงเป็นเร่ืองยาก

การเขียนโปรแกรมดว้ ยภาษาเครื่อง • จึงประดิษฐภ์ าษาแอสแซมบลี (Assembly language) • แต่คอมพิวเตอร์ไม่เขา้ ใจภาษาแอสแซมบลี มีแต่คน เท่าน้นั ที่รู้และเขา้ ใจ • ตอ้ ง แปล (compile) โปรแกรมภาษาแอสแซมบลีเป็น โปรแกรมรหสั เคร่ืองเพือ่ ใหค้ อมพวิ เตอร์ทาํ งาน

ข้นั ตอนการทาํ งานของโปรแกรม ในระบบคอมพิวเตอร์ • ข้นั ตอนการแปล (Compilation) – แปลจากภาษาคอมพิวเตอร์ ไปเป็นภาษาเครื่อง • ข้นั ตอนการทาํ งาน (Execution) – การเรียกใชไ้ ฟลโ์ ปรแกรมทาํ งาน

ข้นั ตอนการทาํ งานของโปรแกรม ในระบบคอมพวิ เตอร์ ข้นั ตอนการแปล (Compilation) มีโปรแกรม 3 ลกั ษณะ – โ(Aปsรsแemกรbมleแr)ปแลปภลาษเฉาพแบาะบภแาอษสาแแอซสมแเบซอมรบ์ ลี โปรแกรมแปลภาษาแบบคอมไพเลอร์ (Compiler) – แปลภาษาระดบั สูงอ่ืนๆ จะไดไ้ ฟล์ .EXE, .COM – (โIปntรeแrpกrรeมteแr)ปแลปภลาษภาาษแบาเบบอสินิกเตแอปรล์พทรีลีเตะคอารํ ส์ ง่ั

ข้นั ตอนการทาํ งานของโปรแกรม ในระบบคอมพวิ เตอร์ ข้นั ตอนการทาํ งาน (Execution) คอมพิวเตอร์ทาํ การประมวลผลตามคาํ สงั่ ใน program เพ่อื ใหไ้ ดผ้ ลลพั ธ์

ประเภทของโปรแกรมคอมพิวเตอร์ • โปรแกรมควบคุมระบบ (System Programs) – หรือ ระบบปฏิบตั ิการ (Operating System) – ควบคุมการทาํ งานของอุปกรณ์ต่างๆ ใน คอมพิวเตอร์ท้งั ระบบ

ประเภทของโปรแกรมคอมพวิ เตอร์ • โปรแกรมประยกุ ต์ (Application Programs) – โปรแกรมสาํ เร็จรูป (Package Programs) •คาํ นวณดา้ นสถิติการวจิ ยั , สาํ นกั งานทว่ั ไป, จดั การฐานขอ้ มูล, สืบคน้ ขอ้ มูลอินเทอร์เน็ต, กาํ จดั ไวรัส

ประเภทของโปรแกรมคอมพิวเตอร์ • โปรแกรมประยกุ ต์ (Application Programs) (ต่อ) – โปรแกรมเฉพาะงาน (Special Purpose Programs) • พฒั นาข้ึน เพอื่ ใชเ้ ฉพาะงานของสาํ นกั งาน บริษทั หา้ งร้าน หรือหน่วยงานราชการ • ตอ้ งการโปรแกรมท่ีตอบสนองความตอ้ งการ เฉพาะ • ไม่อาจจะนาํ เอาโปรแกรมประยกุ ตม์ าใชไ้ ด้ • หา้ งสรรพสินคา้ มินิมาร์ท ศูนยบ์ ริการซ่อมรถ โรงพยาบาล หน่วยงานบริการไฟฟ้ า

สรุป ไม่วา่ จะเป็นโปรแกรมประเภทใด กม็ าจาก • (1) การพฒั นาโดยการเขียนดว้ ยภาษาคอมพิวเตอร์ • (2) ทาํ การแปลเป็นภาษาเคร่ือง • (3) เพอ่ื สงั่ งานใหค้ อมพิวเตอร์ทาํ งาน • ภาษาคอมพิวเตอร์มีหลายภาษา แต่ละภาษามีวตั ถุ ประสงคใ์ นการพฒั นา และมีลกั ษณะเด่นของแต่ละ ภาษา ที่แตกต่างกนั


Like this book? You can publish your book online for free in a few minutes!
Create your own flipbook