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 Tarinee Klaycabkam, 2021-03-17 04:58:28

Description: พื้นฐานการเขียนโปรแกรมคอมพิวเตอร์-แปลง

Keywords: พื้นฐานการเขียนโปรแกรมคอมพิวเตอร์

Search

Read the Text Version

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

บทท่ี1 หลกั การเขียนโปรแกรม จุดประสงค์ 1. บอกข้นั ตอนการทางานของคอมพิวเตอร์ได้ 2. อธิบายภาษาของคอมพิวเตอร์ได้ 3. อธิบายข้นั ตอนการพฒั นาโปรแกรมได้ 4. บอกการแปลภาษาโปรแกรมคอมพิวเตอร์ได้

บทท1่ี หลกั การเขยี นโปรแกรม ข้นั ตอนทางานของคอมพวิ เตอร์ 1. รับขอ้ มูล ( Input )คอมพิวเตอร์จะทาหนา้ ที่รับขอ้ มูลไปประมวลผล อุปกรณ์ท่ีทาหนา้ ที่รับขอ้ มูล ไดแ้ ก่ แป้นพิมพ์ เมาส์ เคร่ืองสแกน เป็นตน้ 2. ประมวลผลขอ้ มูล ( Process ) เม่ือคอมพิวเตอร์รับขอ้ มูลเขา้ สู่ระบบแลว้ จะทาการประมวลผลตามคาสงั่ หรือโปรแกรมท่ีกาหนด อุปกรณ์ที่ หนา้ ท่ีประมวลผลไดแ้ ก่ CPU 4. แสดงผลขอ้ มูล ( Output ) เม่ือทาการประมวลผลแลว้ คอมพิวเตอร์จะแสดงผลลพั ธ์ อุปกรณ์ที่ทาหนา้ ที่ในการแสดงผลขอ้ มูลคือ จอภาพและ เคร่ืองพิมพ์ เป็นตน้ 4. จดั เกบ็ ขอ้ มูล คอมพิวเตอร์จะทาการจดั เกบ็ ขอ้ มูลลงในหน่วยความจาเพ่ือใหส้ ามารถนาออกมาใชไ้ ดอ้ ีก แบ่งออกเป็น 2 ประเภท คือ 4.1 หน่วยความจาหลกั เป็นหน่วยความจาที่อยใู่ นเครื่องคอมพิวเตอร์ แบ่งออกไดเ้ ป็น 2 ประเภท คือ 1. รอม ( ROM : Read Only Memory ) เป็นหน่วยความจาหลกั ที่ - ใชบ้ รรจุโปรแกรมสาคญั ท่ีใชใ้ นการสตาร์ทอพั เคร่ือง - เกบ็ โปรแกรมคาสง่ั ไวอ้ ยา่ งถาวร - ไม่ตอ้ งใชก้ ระแสไฟฟ้าเล้ียง ขอ้ มูลกจ็ ะยงั คงอยู่ - เขียนหรือบนั ทึกขอ้ มูลคาสงั่ ไดเ้ พียงคร้ังเดียว ในข้นั ตอนการผลิตเครื่องจากโรงงาน ไม่สามารถแกไ้ ขเปลี่ยนแปลงไดอ้ ีก

2. แรม (RAM : Random Access Memory) - ทาหนา้ ที่เกบ็ ขอ้ มูลท่ีรับเขา้ มาจากหน่วยรับขอ้ มูล เพ่ือนาไปประมวลผล - ทาหนา้ ท่ีเกบ็ ผลลพั ธ์ที่ไดข้ ณะทาการประมวลผลซ่ึงยงั ไม่ใช่ผลลพั ธส์ ุดทา้ ย - ทาหนา้ ท่ีเกบ็ ผลลพั ธท์ ่ีไดจ้ ากการประมวลผลซ่ึงเป็นผลลพั ธ์สุดทา้ ย - ทาหนา้ ท่ีเกบ็ ชุดคาสง่ั ต่าง ๆ ขณะท่ีเรากาลงั ทางานอยกู่ บั เครื่อง เพ่ือใชใ้ นการประมวลผล - เป็นหน่วยความจาท่ีเกบ็ ขอ้ มูลหรือโปรแกรมไวช้ ว่ั คราว สร้างข้ึนเพ่ือผใู้ ชโ้ ดยตรง - สามารถอ่านหรือเขียนทบั ขอ้ มูลลงไปไดต้ ามตอ้ งการ ถา้ ไฟดบั ขอ้ มูลจะสูญหาย

ภาษาของคอมพวิ เตอร์ ภาษาของคอมพิวเตอร์ หมายถึง ภาษาท่ีใชก้ บั เครื่องคอมพิวเตอร์ ใชส้ ่ือสารเพื่อให้เกิดความเขา้ ใจ และสามารถปฏิบตั ิงานตามคาส่ังหรือ โปรแกรมได้ มนุษยจ์ ะส่ือสารกบั คอมพิวเตอร์ได้ จะตอ้ งเขา้ ใจในภาษาของคอมพิวเตอร์ แต่ละภาษาจะมีลกั ษณะเฉพาะตวั ที่ชดั เจน มีคาศพั ท์ ที่ใชจ้ านวนจากดั การส่ือสารกบั คอมพิวเตอร์จะแบ่งเป็นระดบั ของภาษาเป็นหลายระดบั ดงั น้ี 1.ภาษาเคร่ือง ( Machine Languages ) เป็นภาษาท่ีมีระดบั ต่าสุด การเขียนโปรแกรมในยุคแรก ๆ น้นั จะตอ้ งเขียนดว้ ยภาษาซ่ึงเป็ นที่ ยอมรับของเครื่องคอมพิวเตอร์ ซ่ึงเรียกว่า “ภาษาเครื่อง” ภาษาน้ีประกอบดว้ ยตวั เลขลว้ น ๆ ซ่ึงเครื่องจะรับรู้และปฏิบตั ิตามไดท้ นั ที ผเู้ ขียน โปรแกรมเป็นภาษาเครื่องไดจ้ ะตอ้ งสามารถจารหสั แทนคาสงั่ ตา่ ง ๆ และในการคานวณตอ้ งสามารถจาไดว้ า่ จานวนต่าง ๆ ท่ีใชใ้ นการคานวณ น้นั ถูกเกบ็ ไวท้ ่ีตาแหน่งใด 2.ภาษาแอสเซมบี ( Assembly Languages ) จดั เป็นภาษาที่ต่ามาก มีความยงุ่ ยากในการใชง้ านเพราะจะใชส้ ญั ลกั ษณ์ ตวั ยอ่ หรือรหสั ยอ่ ในการเขียนโปรแกรม เช่น A คือรหสั ของ Add, C คือ Compare เป็นตน้ การเขียนโปรแกรมจานวนบรรทดั จะมากกวา่ ระดบั สูงอยา่ งภาษาซี หรือภาษาเบสิค แต่จะใหผ้ ลลพั ทก์ ารทางานของโปรแกรมเร็วกวา่ เหมาะกบั โปรแกรมที่ใชใ้ นเน้ือในหน่วยความจาไม่มากนกั ทางานรวดเร็ว ในการควบคุมการทางานของเคร่ืองคอมพิวเตอร์ไดโ้ ดยตรง 3.ภาษาระดบั สูง (High-level Languages ) ภาษาระดบั สูงเป็นภาษาท่ีสร้างข้ึนเพื่อช่วยอานวยความสะดวกในการเขียนโปรแกรม คาสงั่ ในภาษาระดบั สูงประกอบดว้ ยคาศพั ทต์ ่าง ๆ ในภาษาองั กฤษ ซ่ึงสามารถสื่อความหมายให้เขา้ ใจง่ายกวา่ ภาษาแอสเซมบี เช่น ภาษาฟอร์แทน ภาษาโคบอล ภาษาซี ภาษาซีพลสั พลสั เป็นตน้ 4.ภาษาธรรมชาติ ( Natural Languages ) เป็นภาษาท่ีสามารถสง่ั งานคอมพิวเตอร์โดยใชภ้ าษามนุษยไ์ ดเ้ ลย รูปแบบของคาสง่ั ไม่แน่นอน ตายตวั ผใู้ ชแ้ ต่ละคนอาจใชป้ ระโยคคาศพั ทท์ ่ีแตกต่างกนั หรือใชศ้ พั ทแ์ สลง คอมพิวเตอร์จะพยายามแปลออกมาในรูปแบบที่คอมพิวเตอร์ เขา้ ใจไดเ้ อง

ข้นั ตอนการพฒั นาโปรแกรม การเขียนโปรแกรมเพ่ือแกป้ ัญหาต่าง ๆ จาเป็นตอ้ งมีการออกแบบโปรแกรมไวล้ ่วงหน้า โดยกาหนดข้นั ตอนวิธีการทางานให้ ชดั เจน มีการบวนการทางานเริ่มตน้ จากการวเิ คราะห์ปัญหาไปจนถึงการบารุงรักษาโปรแกรมไปใชง้ าน และปรับปรุงพฒั นาระบบให้ ดีข้ึน มีการทางาน 6 ข้นั ตอน คือ ข้นั ตอนที่ 1 การวเิ คราะห์ปัญหา ( Problem Analysis ) ข้นั ตอนท่ี 2 การออกแบบโปรแกรม (Program Design ) ข้นั ตอนท่ี 3 การเขียนโปรแกรม ( Program Coding ) ข้นั ตอนท่ี 4 การทดสอบและการแกไ้ ขโปรแกรม ( Program Testing & Verification ) ข้นั ตอนที่ 5 การจดั ทาเอกสารและคู่มือการใชง้ าน ( Program Documentation ) ข้นั ตอนท่ี 6 บารุงรักษาโปรแกรม ( Program Implement ) ข้นั ตอนที่ 1 การวเิ คราะห์ปัญหา ( Problem Analysis ) เป็ นข้นั ตอนในการศึกษาเพื่อคน้ หาปัญหาในการทางานที่แทจ้ ริง ซ่ึงหากปัญหาที่คน้ พบมิใช่ปัญหาท่ีแทจ้ ริง ระบบงานท่ี พฒั นาข้ึนมากจ็ ะตอบสนองการใชง้ านไม่ครบถว้ น การวเิ คราะห์ปัญหา ประกอบดว้ ยข้นั ตอนดงั น้ี - กาหนดวตั ถุประสงคข์ องงาน เพ่ือพิจารณาวา่ โปรแกรมตอ้ งทาการประมวลผลอะไรบา้ ง - พิจารณาขอ้ มูลนาเขา้ เพ่ือใหท้ ราบวา่ จะตอ้ งนาขอ้ มูลอะไรเขา้ คอมพิวเตอร์ - พิจารณาการประมวลผล เพื่อใหท้ ราบถึงข้นั ตอนการประมวลผล และมีเงื่อนไขการประมวลผล - พิจารณาขอ้ มูลนาออก เพื่อใหท้ ราบวา่ มีขอ้ มูลอะไรที่แสดงผล ตลอดจนรูปแบบและส่ือที่จะใชก้ ารแสดงผล

ข้นั ตอนท่ี 2 การออกแบบโปรแกรม (Program Design ) การออกแบบข้นั ตอนการทางานของโปรแกรมเป็ นข้นั ตอนที่ใชเ้ ป็ นแนวทางในการลงรหัสโปรแกรม ผูอ้ อกแบบข้นั ตอนการทางานของ โปรแกรมอาจใชเ้ ครื่องมือ หรือสัญลกั ษณ์ต่าง ๆ ช่วยในการออกแบบ อาทิเช่นผงั งาน (Flowchart) รหัสเทียม (Pseudocode) หรือการออกแบบ โปรแกรมน้นั ไม่ตอ้ งคานึงถึงรูปแบบคาสง่ั ภาษาคอมพิวเตอร์ แต่ใหม้ ุ่งความสนใจไปที่ลาดบั ข้นั ตอนในการประมวลผลของโปรแกรมเท่าน้นั ข้นั ตอนท่ี 3 การเขียนโปรแกรม ( Program Coding ) การเขียนโปรแกรมเป็นการนาเอาผลลพั ทข์ องการออกแบบโปรแกรม มาเปล่ียนเป็นโปรแกรมภาษาคอมพิวเตอร์ภาษาใดภาษาหน่ึง ผู้เขียน โปรแกรมจะต้องให้ความสนใจต่อรูปแบบคาส่ังและกฎเกณฑ์ของภาษาท่ีใช้เพ่ือให้การประมวลผลเป็ นไปตามผลลพั ท์ท่ีได้ออกแบบไว้ นอกจากน้นั ผเู้ ขียนโปรแกรมควรแทรกคาอธิบายการทางานต่าง ๆ ลงในโปรแกรมเพ่ือใหโ้ ปรแกรมน้นั มีความกระจ่างชดั และง่ายต่อการตรวจสอบ ข้นั ตอนท่ี 4 การทดสอบและการแกไ้ ขโปรแกรม ( Program Testing & Verification ) การทดสอบโปรแกรมเป็นการนาโปรแกรมที่ลงรหัสแลว้ เขา้ คอมพิวเตอร์ เพ่ือตรวจสอบรูปแบบกฎเกณฑข์ องภาษาและผลการทางาน ของ โปรแกรมน้นั ถา้ พบวา่ ยงั ไม่ถูกตอ้ ง ดาเนินการแกไ้ ขใหถ้ ูกตอ้ งต่อไป ข้นั ตอนการทดสอบและแกไ้ ขโปรแกรม อาจแบ่งได้ 3 ข้นั 1. สร้างแฟ้มเกบ็ โปรแกรมซ่ึงส่วนใหญ่นิยมนาโปรแกรมเขา้ ผา่ นทางแป้นพิมพโ์ ดยใชโ้ ปรแกรมประมวลคา 2. ใชต้ วั แปลภาษาคอมพิวเตอร์แปลโปรแกรมท่ีสร้างข้ึนเป็นภาษาเคร่ือง โดยระหว่างการแปลจะมีการตรวจสอบความถูกตอ้ งของรูปแบบ และกฎเกณฑใ์ นการใชภ้ าษา ถา้ คาสง่ั ใดมีรูปแบบไม่ถูกตอ้ งกจ็ ะแสดงขอ้ ผดิ พลาดออกมาเพ่ือให้ผเู้ ขียนไดแ้ กไ้ ขต่อไป ถา้ ไม่มีขอ้ ผดิ พลาดเราจะได้ โปรแกรมภาษาเครื่องที่สามารถใหค้ อมพิวเตอร์ประมวลผลได้ 3. ตรวจสอบความถูกตอ้ งของการประมวลผลของโปรแกรม โปรแกรมท่ีถูกตอ้ งตามรูปแบบและกฎเกณฑข์ องภาษา แต่อาจให้ผลลพั ธ์ของ การประมวลผลไม่ถูกตอ้ งกไ็ ด้

ข้นั ตอนท่ี 5 การจดั ทาเอกสารและคูม่ ือการใชง้ าน ( Program Documentation ) การทาเอกสารประกอบโปรแกรมเป็ นงานท่ีสาคญั ของการพฒั นาโปรแกรม เอกสารประกอบโปรแกรมช่วยให้ผูใ้ ช้โปรแกรมเขา้ ใจ วตั ถุประสงคข์ อ้ มูลที่ตอ้ งใชก้ บั โปรแกรม ตลอดจนผลลพั ธ์ที่จะไดจ้ ากโปรแกรม การทาโปรแกรมทุกโปรแกรมจึงควรตอ้ งมีเอกสารกากบั เพื่อใช้ สาหรับการอา้ งอิง เม่ือจะใชง้ านโปรแกรมและเมื่อตอ้ งการแกไ้ ขปรับปรุงโปรแกรม เอกสารประกอบโปรแกรมท่ีจดั ทาควรประกอบดว้ ยหวั ขอ้ ต่อไปน้ี 1. วตั ถุประสงค์ 2. คุณสมบตั ิของคอมพิวเตอร์และอุปกรณ์ท่ีใชใ้ นโปรแกรม 3. วธิ ีการใชโ้ ปรแกรม 4. แนวคิดเก่ียวกบั การออกแบบโปรแกรม 5. รายละเอียดโปรแกรม 6 ขอ้ มูลตวั แทนท่ีใชท้ ดสอบ 7. ผลลพั ธ์ของการทดสอบ ข้นั ตอนที่ 6 บารุงรักษาโปรแกรม ( Program Implement ) เมื่อโปรแกรมผา่ นการตรวจสอบตามข้นั ตอนเรียบร้อยแลว้ และถูกนามาใหผ้ ใู้ ชไ้ ดใ้ ชง้ านในช่วงแรกผใู้ ชอ้ าจจะยงั ไม่คุน้ เคยกอ็ าจทาให้เกิด ปัญหาข้ึนมาบา้ ง ดงั น้นั จึงตอ้ งมีผคู้ อยควบคุมดูแลและคอยตรวจสอบการทางาน การบารุงรักษาโปรแกรมจึงเป็นข้นั ตอนที่ผเู้ ขียนโปรแกรมตอ้ ง คอยเฝ้าดู และหาขอ้ ผดิ พลาดของโปรแกรมในระหวา่ งที่ผใู้ ชใ้ ชง้ านโปรแกรมและปรับปรุงโปรแกรมเมื่อเกิดขอ้ ผดิ พลาดข้ึน

การแปลภาษาโปรแกรมคอมพวิ เตอร์ ในการท่ีจะทาใหค้ อมพิวเตอร์เขา้ ใจและทางานตามคาสงั่ ที่เขียนมาไดน้ ้นั จาเป็นตอ้ งอาศยั ตวั กลางท่ีทาหนา้ ที่เป็นล่ามในการแปล จากภาษาที่สงั่ งานใหเ้ ป็นภาษาเคร่ืองเสียงก่อน ตวั กลางที่ทาหนา้ ท่ีคือ “ ตวั แปลภาษา ” โปรแกรมแปลภาษามี่อยู่ 2 แบบ คือ 1. คอมไพเลอร์ (Compiler ) เป็นโปรแกรมแปลภาษาที่ทาหนา้ ที่แปลคาสง่ั ในภาษาระดบั สูง จากโปรแกรมตน้ ฉบบั (Source Program) ท่ีเขียนข้ึน ใหเ้ ป็นภาษาเครื่อง (Object Program) ถา้ หากการเขียนคาสงั่ มีขอ้ ผดิ พลาดทางหลกั ไวยากรณ์ โปรแกรมแปลภาษา จะแสดงรหสั หรือขอ้ ผดิ พลาดออกมา แต่หากไม่มีขอ้ ผดิ พลาดในการเขียนคาสง่ั คอมพิวเตอร์จะสง่ั การประมวลผลโปรแกรม โปรแกรม ท่ีผา่ นการแปลภาษาไวแ้ ลว้ สามารถเกบ็ ไวแ้ ละนามาใชง้ านในคราวต่อไปได้ ข้นั ตอนการแปลภาษาโปรแกรมแบบคอมไพเลอร์ 2. อินเตอร์พรีเตอร์ (Interpreter) เป็นโปรแกรมท่ีทาหนา้ ท่ีในการแปลภาษาระดบั สูงเช่นเดียวกบั คอมไพเลอร์ แต่แตกต่างตรงท่ี อินเตอร์พรีเตอร์จะทาการแปลและประมวลผลคาสงั่ ทีละคาสงั่ จึงทาใหเ้ กิดขอ้ เสีย คือ หากตอ้ งนาโปรแกรมคาสง่ั ท่ีเขียนข้ึนมาใชอ้ ีกใน ภายหลงั จะตอ้ งทาการแปลโปรแกรมทุกคร้ัง ข้นั ตอนการแปลภาษาโปรแกรมแบบอินเตอร์พรีเตอร์

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

บทสรุป ข้นั ตอนการเขียนโปรแกรม 1. การวเิ คราะห์ปัญหา 2. การออกแบบโปรแกรม 3. การเขียนโปรแกรม 4. การทดสอบและแกไ้ ขโปรแกรม 5. การจดั ทาเอกสารและคู่มือการใชง้ าน 6. บารุงรักษาโปรแกรม ในการสง่ั ใหค้ อมพิวเตอร์ทางาน จาเป็นตอ้ งมีตวั แปลภาษาที่ทาหนา้ ที่เป็นล่ามระหวา่ ง คอมพิวเตอร์และมนุษย์ มิฉะน้นั คอมพิวเตอร์จะไม่เขา้ ใจในสิ่งที่สงั่ ใหท้ า และเมื่อคอมพิวเตอร์ ทางานเสร็จเรียบร้อยตวั แปลภาษากม็ ีหนา้ ท่ีแปลผลลพั ธอ์ อกมาเป็นภาษามนุษยใ์ หม้ นุษยเ์ ขา้ ใจมี 2 แบบ คือ การแปบภาษาแบบคอมไพเลอร์ จะเป็นการแปลท้งั โปรแกรม และการแปลภาษาแบบ อินเตอร์พรี เตอร์จะเป็ นการแปลทีละบรรทดั

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

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

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

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

ตวั อย่าง การประกาศตวั แปล int number char check, grade, name[20]; float salary, sum; การกาหนดค่าเร่ิมตน้ ใหก้ บั ตวั แปร การกาหนดค่าเริ่มตน้ ใหก้ บั ตวั แปร จะใชเ้ คร่ืองหมาย = คนั่ ระหวา่ งช่ือตวั แปรกบั คา่ ท่ีกาหนดให้ ตวั อย่าง หรือ int score = 78; int score; score = 78;

การต้ังช่ือตัวแปร กฎเกณฑ์การต้งั ช่ือตวั แปรในภาษาซี มีดงั น้ี 1. ตวั อกั ษรตวั แรกตอ้ งเป็นอกั ษรภาษาองั กฤษหรือเคร่ืองหมาย _ ตวั ต่อไปเป็นอกั ษรหรือตวั เลข หรือ _ กไ็ ด้ 2. ตวั อกั ษรพิมพเ์ ลก็ หรือตวั อกั ษรพมิ พใ์ หญ่ ถือวา่ เป็นคนละตวั อกั ษรกนั เช่น Name, NAME, N_ame 3. หา้ มใชอ้ กั ขระพิเศษ เช่น $ @ 4. หา้ มเวน้ วรรค เช่น N ame 5. ควรต้งั ช่ือใหส้ อดคลอ้ งส่ือความหมายกบั งานที่ใช้ 6. หา้ มต้งั ชื่อใหซ้ ้ากบั คาสงวนของภาษาซี ตวั อย่างการต้งั ชื่อตวั แปรทถี่ ูก num Std_idname1_salary ตวั อย่างการต้งั ชื่อตวั แปรที่ผดิ 5valuedouble na me %grade

คาสงวน ( Reserve Word ) คาสงวน คือ คาท่ีมีความหมายพิเศษทางไวยากรณ์ในภาษาคอมพิวเตอร์ และไม่สามารถใชเ้ ป็น ตวั ระบุ ( identifier ) ในภาษาน้นั ได้ คาสงวนน้นั นบั เป็นคารหสั ( Keyword ) ชนิดหน่ึง คาสงวน ในภาษาซี มีดงั น้ี auto default float register stuct volatile break do for return switch while case double goto short typedef char else if signed unionconst enum static void

ตัวอย่างการวเิ คราะห์งาน ตวั อยา่ งท่ี 2.1 ใหร้ ับตวั เลขใด ๆ 1 คา่ แลว้ ตรวจสอบตวั เลขที่รับมาวา่ เป็นเลขคู่หรือเลขคี่ 1. ส่ิงทีโ่ จทย์ต้องการ ตรวจสอบตวั เลขวา่ เป็นเลขคู่หรือเลขค่ี 2. รูปแบบผลลพั ธ์ Input a Number : 10 Result = Even 3. ข้อมูลนาเข้า ตวั เลขใด ๆ 1 คา่ 4. ตวั แปรทีใ่ ช้ x แทนคา่ ตวั เลขใด ๆ 1 คา่ num แทนค่า ผลลพั ธ์ของการหาระหวา่ งค่าตวั เลขและหารสอง result แทนคา่ ผลลพั ธ์ (เลขคู่/เลขคี่) 5. ข้นั ตอนการประมวลผล 5.1 เริ่มตน้ 5.2 กาหนดค่าตวั แปร x, num = 0, result = “ ” 5.3 รับค่า x 5.4 คานวณ num = x%2 5.5 ตรวจสอบค่า num = 0 ถา้ ใช่ ให้ result = “ Even ” - ถา้ ไม่ใช่ ให้ result = “ Odd ” 5.6 แสดงผลลพั ธ์ result 5.7 จบการทางาน

ตวั อยา่ งท่ี 2.2 ใหว้ เิ คราะห์งานรับประทานยา ซ่ึงตอ้ งแบ่งขนาดการรับประทานยาตามอายขุ องผทู้ านยา ดงั น้ี - แรกเกิด ถึง 1 ปี หา้ มรับประทาน - อายุ 1 – 2 ปี รับประทานคร้ังละ ½ ชอ้ นชา - อายุ 3 -10 ปี รับประทานคร้ังละ 1 ชอ้ นชา - อายมุ ากกวา่ 10 ปี รับประทานคร้ังละ 2 ชอ้ นชา 1. สิ่งที่โจทยต์ อ้ งการ หาขนาดการรับประทานยาตามช่วงอายุ 2. รูปแบบผลลพั ธ์ Enter Age : 5 Eat Drug = 1 teaspoon 3. ขอ้ มูลนาเขา้ อายุ ( age ) 4. ตวั แปรที่ใช้ age แทนคา่ อายุ eat แทนค่า ขนาดรับประทาน 5. ข้นั ตอนการประมวลผล 5.1 เริ่มตน้ ทางาน 5.2 กาหนดตวั แปร age = 0, eat = 0 5.3 รับขอ้ มูล อายุ (age)

5.4 ตรวจสอบคา่ age < 1 หรือไม่ บทสรุป - ถา้ ใช่ ให้ eat = 0 - ถา้ ไม่ใช่ ใหท้ าขอ้ 5.5) การวิเคราะห์งานเป็นการศึกษาผลลพั ธ์ ( Output ) ขอ้ มูลนาเขา้ ( Input ) วิธีการประมวลผล ( Process ) หลกั เกณฑใ์ นการวิเคราะห์งานมี 5 ข้นั ตอน คือ วิเคราะห์สิ่งท่ีโจทยต์ อ้ งการ ผลลพั ธ์ที่ตอ้ งการ ขอ้ มูลนาเขา้ 5.5 ตรวจสอบคา่ age < = 2 หรือไม่ ตวั แปร และวิธีการประมวลผล และการประกาศตวั แปรในภาษาซีมีความยืดหยนุ่ มีชนิดตวั แปรให้เลือกใช้ - ถา้ ใช่ ให้ eat = 0.5 ตามความเหมาะสม เช่น int สาหรับประกาศตวั แปรชนิดเตม็ float สาหรับประกาศตวั แปรชนิดจานวนเตม็ - ถา้ ไม่ใช่ ใหท้ าขอ้ 5.6) เป็ นตน้ ในการประกาศตวั แปรจะตอ้ งระวงั การต้งั ชื่อตวั แปรให้ตรงตามกฎการต้งั ชื่อ และตอ้ งไม่ต้งั ชื่อตวั แปรตรงกบั คาสงวน 5.6 ตรวจสอบคา่ age <= 10 หรือไม่ - ถา้ ใช่ ให้ eat = 1 - ถา้ ไม่ใช่ ให้ eat = 2 5.7 แสดงค่า eat 5.8 จบการทางาน

บทท่ี 3 ผงั งานและรหสั เทียม จุดประสงคเ์ ชิงพฤติกรรม 1. อธิบายความหมายของผงั งานและรหสั เทียมได้ 2. ออกแบบการเขียนรหสั เทียมได้ 3. อธิบายหลกั การเขียนผงั งานโปรแกรมได้ 4. ออกแบบการเขียนผงั งานได้

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

ผงั งานแบ่งออกเป็น 3 ประเภทใหญ่ ๆ ไดแ้ ก่ ประเภทท่ี 1 ผงั งานระบบ ( System Flowchart ) เป็นผงั งานที่ใชส้ าหรับแสดงข้นั ตอนการทางานท้งั หมด ในผงั งานน้ีจะเห็นระบบงานภายในของระบบหน่ึง ๆ ท่ีเกี่ยวขอ้ งกบั งานท้งั หมด ท้งั เครอื่ งจกั ร โปรแกรม บุคลากร ผงั งานประเภทน้ีใช้สาหรับผูบ้ ริหาร ผูว้ ิเคราะห์ระบบ ผูเ้ ขียนโปรแกรมซ่ึงจะทาให้ทราบถึง ความสัมพนั ธ์คร่าว ๆ ของส่วนต่าง ๆ ของระบบงานท้งั หมด แต่ผงั งานระบบประเภทน้ีนาไปเขยี น โปรแกรมไม่ได้ ประเภทที่ 2 ผงั งานโปรแกรมโมดูล ( Modular Program Flowchart ) เป็ นผงั งานท่ีจดั ทาข้ึนเพ่ือแบ่ง ระบบงานออกเป็นส่วนต่าง ๆ เพ่ือใหง้ ่ายต่อความเขา้ ใจว่าแต่ละส่วนของระบบใหม้ ากข้ึนกวา่ ผงั งานระบบ แต่ผงั งานโปรแกรมโมดูลจะแสดงเพียงส่วนหน่ึง ๆ ว่ามีข้นั ตอนและวิธีการทางานอย่างไร แตไ่ ม่มี รายละเอียดยอ่ ย จึงยงั ไม่สามารถนาไปเขียนโปรแกรมได้ ประเภทท่ี 3 ผงั งานการเขียนโปรแกรม ( Programming Flowchart ) นิยมเรียกส้นั ๆ วา่ Flowchart เป็น ผงั งานที่แสดงลาดบั ข้นั ตอนทางานอยา่ งละเอียดในโมดูลน้นั ๆ โดยดึงเอาแต่ละจุดของผงั งานโปรแกรม โมดูลมาเขียนเป็นผงั งานการเขียนโปรแกรม

สัญลกั ษณ์ผงั งานการเขยี นโปรแกรม สญั ลกั ษณ์การเขียนผงั งานการเขียนโปรแกรมมีสญั ลกั ษณ์อยมู่ ากมาย จะขอยกตวั อยา่ งสญั ลกั ษณ์ ที่ใชป้ ระจามาเป็นบางส่วน ดงั ตารางท่ี 3.1 ตารางท่ี 3.1 สญั ลกั ษณ์ผงั งาน สัญลกั ษณ์ ความหมาย ตวั อย่าง START/STOP (END); START การกาหนดจุดเร่ิมตน้ การทางานและแสดงจุดสิ้นสุดของ STOP PROCESS การทางานในโปรแกรมหลกั (Main Program) หรือใน DECISION โปรแกรมยอ่ ย (Subprogram/Procedure/Function) Total = 0 INPUT/OUTPUT Total = total + (b * c) การแสดงรายละเอียดการทางานโดยส่ิงที่ใชเ้ กบ็ ค่าขอ้ มูล ของการทางาน คือ ตวั แปรที่ใชใ้ นโปรแกรม (จะตอ้ ง (a-b)>(b+c) กาหนดข้ึนมาเอง) ( !CkFlg ) AND การแสดงรายละเอียดการเปรียบเทียบเงื่อนไขต่าง ๆ ตาม (a=0) เคร่ืองหมายทางคณิตศาสตร์และความสัมพนั ธท์ าง ตรรกศาสตร์ ไดแ้ ก่ = , < > , != , < , > , >= , AND , OR StdRec Total = การรับค่าขอ้ มูลหรืออ่านขอ้ มูลเขา้ มาโดยไม่ระบุอุปกรณ์ รับขอ้ มูล (Input) หรือแสดงผลลพั ธ์ (Output) โดยไม่ กาหนดอุปกรณ์การแสดงผล

ตารางที่ 3.1 ต่อ สญั ลกั ษณ์ผงั งาน ความหมาย ตัวอย่าง สัญลกั ษณ์ การแสดงรายละเอียดขอ้ มูล หรือแสดงผลลพั ธข์ องการ Total =’ , MONITOR ประมวลผล ไปที่จอภาพ (Monitor) Total PRINTER IN-PAGE CONNECTOR การแสดงรายละเอียดขอ้ มูล หรือแสดงผลลพั ธข์ องการ BETWEEN-PAGE CONNECTOR ประมวลผล ไปที่เครื่องพิมพ์ (Printer) ‘Total =’ , Total FLOWLINE การกาหนดจุดอา้ งอิงในการเช่ือมต่อ ในหนา้ กระดาษ 1 เดียวกนั ของการเขียนผงั งานโครงสร้าง (Structured 1 Flowchart) การกาหนดจุดอา้ งอิงในการเช่ือมต่อ ระหวา่ งหนา้ การ ดาษ ของการเขียนผงั งานโครงสร้าง (Structured Flowchart) การแสดงทิศทางความสัมพนั ธข์ องการทางานใน ระบบงานหรือโปรแกรมท่ีไดอ้ อกแบบไว้

หลกั การเขยี นผงั งานโปรแกรม ผงั งานโปรแกรมจะแสดงใหเ้ ห็นข้นั ตอนการทางานของโปรแกรมท่ีเป็นข้นั ตอนต่าง ๆ อยา่ งละเอียด เพ่ือใหเ้ ขียนผงั งานโปรแกรมไดอ้ ยา่ งถูกตอ้ ง จะมีหลกั การเขียนดงั น้ี 1. เขียนผงั งานจากดา้ นบนไปดา้ นล่าง 2. ใชส้ ญั ลกั ษณ์ใหต้ รงกบั ความหมายของผงั งาน 3. ใช้ flow line ในการแสดงทิศทางการทางานของผงั งาน 4. เขียนคาอธิบายส้นั ๆ แต่เขา้ ใจง่าย 5. หลีกเล่ียงการเขียนโยงเส้นตดั กนั เพราะจะทาให้สบั สน ควรใชจ้ ุดเช่ือม Connection แทนการ เขียนหนา้ เดียวกนั 6. ควรเขียนผงั งานใหจ้ บภายในหนา้ เดียวกนั แต่หากเขียนผงั งานไม่จบหนา้ เดียว ควรใชจ้ ุดเช่ือม Off – Page Connection ข้นั ตอนการเขยี นผงั งาน ในการเขียนผงั งาน จะตอ้ งรู้จกั เลือกใชส้ ญั ลกั ษณท์ ่ีเหมาะสม เขียนตามข้นั ตอนและวธิ ีการ ประมวลผลท่ีไดท้ าการวเิ คราะห์งานเอาไว้ ซ่ึงตอ้ งพิจารณาตามลาดบั ก่อนหลงั ทางาน เพื่อจดั วาง สญั ลกั ษณ์ใหง้ ่ายต่อการเขา้ ใจ เพ่ือใหก้ ารเขียนผงั งานเป็นมาตรฐานเดียวกนั จะใชล้ าดบั ในการเขียนดงั น้ี

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

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

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

รูปแบบ Algorithm <ช่ือของอลั กอริทึม> คาสงั่ ในการทางานต่าง ๆ 1……………………………………….. 2............................................................... 3……………………………………….. ……………………………………….. ……………………………………….. END ตวั อยา่ งการเขียนรหสั เทียม ในการเขียนรหสั เทียมสาหรับใหค้ อมพิวเตอร์หาคา่ เฉล่ียจากขอ้ มูลท่ีรับเขา้ ตวั เลขทางแป้นพิมพ์ จานวน 10 จานวน อาจเขียนไดด้ งั น้ี

ตวั อย่างการเขยี นรหัสเทยี ม ในการเขียนรหสั เทียมสาหรับใหค้ อมพิวเตอร์หาค่าเฉล่ียจากขอ้ มูลที่รับเขา้ ตวั เลขทาง แป้นพิมพจ์ านวน 10 จานวน อาจเขียนไดด้ งั น้ี Algorithm การหาคา่ เฉล่ีย 1. กาหนดตวั แปร I = 0 2. กาหนดั ตวั แปร sum = 0 3. ทาซ้า 4. รับค่าทางแป้นพิมพเ์ กบ็ ไวใ้ นตวั แปร X 5. คานวณ sum สะสม sum = sum + X 6. คานวณคา่ I สะสม I = I + 1 7. ทาซ้าจนการทงั่ i = 10 8. แสดงค่า sum 9. จบโปรแกรม จะเห็นไดว้ า่ ข้นั ตอนการค่าหาเฉล่ีย เราสามารถทราบไดว้ า่ ในการทางานจะตอ้ งใชต้ วั แปรมีจานวนก่ีตวั อะไรบา้ ง และข้นั ตอนประมวลผลอยา่ งไร โดยทว่ั ไปรหสั เทียมจะถูกเขียนดว้ ยภาษาองั กฤษส้นั ๆ ดงั ต่อไปน้ี

วิธีเขียนรหสั เทียม ตวั อย่างการเขยี นรหสั เทยี ม ในการเขียนรหสั เทียมสาหรับใหค้ อมพิวเตอร์ Algorithm Program : Average หาพ้ืนที่ส่ีเหล่ียม อาจเขียนรหสั เทียมไดด้ งั น้ี i = 0, sum = 0 repeat input x sum = sum + x i=i+1 until i =10 display sum END Program Algorithm การหาพ้ืนท่ีส่ีเหล่ียม เริ่มตน้ 1. รับค่าความกวา้ งเกบ็ ไวใ้ นตวั แปร x 2. รับค่าความยาวเกบ็ ไวใ้ นตวั แปร y 3. คานวณหาพ้ืนท่ี โดย AREA = x * y 4. แสดงผลพ้ืนที่ส่ีเหลี่ยม 5. จบโปรแกรม

จะเห็นไดว้ า่ ข้นั ตอนการหาพ้ืนที่ส่ีเหล่ียม เราสามารถกาหนดตวั แปร พร้อมสูตรในการคานวณเพ่ือหาพ้ืนท่ีส่ีเหล่ียม รหสั เทียมจะถูกเขียนดว้ ยภาษาองั กฤษส้นั ๆ ดงั ต่อไปน้ี วธิ ีการเขียนรหสั เทียม Algorithm Program : Square input x input y Compute Area = x * y display Area END Program

การรับข้อมูลเข้าและการแสดงผล การรับขอ้ มูลเขา้ นิยมใชค้ าว่า INPUT หรือ READ ตามดว้ ยตวั แปรที่ตอ้ งการใชใ้ นการเกบ็ ขอ้ มูลหรือถา้ มีหลาย ๆ ตวั แปร จะใชเ้ ครื่องหมาย Comma ( , ) เป็นตวั คน่ั ระหวา่ งตวั แปร ส่วนการแสดงผลจะนิยมใชค้ าวา่ DISPLAY หรือ PRINT การคานวณ การคานวณจะนิยมใชค้ าวา่ Compute ตามดว้ ยตวั แปรท่ีตอ้ งการเกบ็ ค่าจากการคานวณ แลว้ เป็ นเคร่ืองหมายเท่ากบั และสูตรในการคานวณ เช่น Compute Area = x * y การตัดสินใจและทดสอบทางเลือก การตดั สินใจเพื่อเลือกทาระหวา่ งสองทางเลือกจะใชค้ าวา่ IF หรือ IF-THEN-ELSE และ ENDIF โดยจะเปรียบเทียบ เง่ือนไข ถา้ เง่ือนไขเป็นจริงจะทาตามกลุ่มคาสง่ั กลุ่มหน่ึง ถา้ เป็นเทจ็ จะทาตามคาสงั่ อีกกลุ่มหน่ึง เช่น IF age > 25 THEN PRINT YOUNG MAN ELSE PRINT OLD MAN ENDIF

การทาแบบวนซ้า การทาซ้า หมายถึง ใหร้ ะบบทางานซ้า ตามเง่ือนไขท่ีกาหนด โดยจะมีการเปรียบเทียบในการทาซ้า แบ่งออกได้ 1. การทาซ้าที่มีการเพิ่มคา่ ในแต่ละรอบ จะใชค้ าวา่ FOR และ ENDFOR โดยมีคาว่า IN STEPS OF เป็นการบอก ค่าในแต่ละรอบ ถา้ ไม่มีคาวา่ IN STEPS OF หมายความวา่ เพิ่มคา่ รอบละหน่ึง 2. การทาซ้าจนระบบมีเง่ือนไขอยา่ งหน่ึงจีงหยดุ ทา จะใชค้ าวา่ REPEAT – UNTIL 3. ถา้ เงื่อนไขเป็ นจริงจะทาคาสงั่ ภายใน จะใชค้ าว่า DO – WHILE โดยจะตรวจสอบเง่ือนไขก่อนท่ีจะทาตาม คาสง่ั ภายใน การกระโดดขา้ ม การกระโดดขา้ มไปทาคาสั่งใด ๆ จะใชค้ าว่า LABEL กาหนดตาแหน่งที่จะกระโดด และใชค้ าว่า GOTO ใน ตาแหน่งท่ีจะกระโดดไป เช่น START Statement 1 Work1:……………. ………………….. GOTO work1 END

ตวั อย่างการเขยี นผงั งานและรหัสเทยี ม ตวั อย่างท่ี 3.1 ใหร้ ับค่าตวั เลขใด ๆ 10 คา่ ตรวจสอบเลขแต่ละค่าเป็นเลขคูห่ รือเลขคี่ 1. สิ่งที่โจทยต์ อ้ งการ ตรวจสอบตวั เลขใด ๆ 10 ค่า วา่ เป็นเลขคูห่ รือเลขคี่ 2. รูปแบบผลลพั ธ์ Input number1 : 5 Result =.Odd : Input number10 : 20 Result = Even 3. ขอ้ มูลนาเขา้ เลขใด ๆ 10 คา่ 4. ตวั แปรที่ใช้ x แทนคา่ เลขใด ๆ 10 ค่า (รับเขา้ ทีละคา่ ) num แทนค่า ผลลพั ธข์ องการหาระหวา่ งคา่ ตวั เลขหารสอง n แทนค่า จานวนรอบการทางาน 1-10 รอบ result แทนค่า ผลลพั ธ์ (เลขคู/่ เลขค่ี) 5. ข้นั ตอนการประมวลผล 5.1 เริ่มตน้ ทางาน 5.2 กาหนดตวั แปร x, num = 0 , n = 0, result =“ ” 5.3 ตรวจสอบคา่ n < 10 หรือไม่ - ถา้ ใช่ ใหท้ าขอ้ 5.4 -ถา้ ไม่ใช่ ใหท้ าขอ้ 5.10

5.4 รับคา่ x ทีละเรคคอร์ด ตวั อยา่ งท่ี 3.2 ใหร้ ับคา่ ตวั เลขใด ๆ 10 คา่ ตรวจสอบเลขแต่ละคา่ เป็นเลขคู่หรือเลขค่ี และนบั จานวนเลขคู่และจานวน 5.5 คานวณ num = x % 2 เลขคี่วา่ มีอยา่ งละก่ีประเภท 5.6 ตรวจสอบคา่ num = 0 หรือไม่ 1. ส่ิงที่โจทยต์ อ้ งการ ตรวจสอบตวั เลขใด ๆ 10 ค่า วา่ เป็นเลขคู่หรือเลขคี่ และนบั จานวน - ถา้ ใช่ ให้ result = “Even” เลขคี่วา่ มีอยา่ งละกี่ประเภท - ถา้ ไม่ใช่ ให้ result = “Odd” 2. รูปแบบผลลพั ธ์ Input number 1 : 5 5.7 แสดงผลลพั ธ์ result Result = Odd 5.8 คานวณค่า n = n + 1 Input number 10 : 20 5.9 กลบั ไปทาขอ้ 5.3 Result = Even 5.10 จบการทางาน Odd = 7 Even = 3 3. ขอ้ มูลนาเขา้ เลขใด ๆ 10 คา่ 4. ตวั แปรท่ีใช้ x แทนค่า เลขใด ๆ 10 ค่า (รับเขา้ ทีละคา่ ) num แทนค่า ผลลพั ธ์ผลลพั ธ์ของการหาระหวา่ งค่าตวั เลขหารสอง n แทนค่า จานวนรอบการทางาน 1 – 10 รอบ Result แทนคา่ ผลลพั ธ์ (เลขคู/่ เลขค่ี) even แทนคา่ จานวนเลขคู่ odd แทนค่า จานวนเลขคี่

5. ข้นั ตอนการประมวลผล 5.1 เร่ิมตน้ ทางาน 5.2 กาหนดตวั แปร x, num = 0 , n = 0, result =“ ” 5.3 ตรวจสอบคา่ n < 10 หรือไม่ - ถา้ ใช่ ใหท้ าขอ้ 5.4 - ถา้ ไม่ใช่ ใหท้ าขอ้ 5.10 5.4 รับค่า x ทีละเรคคอร์ด 5.5 คานวณ num = x % 2 5.6 ตรวจสอบค่า num = 0 หรือไม่ - ถา้ ใช่ ให้ result = “Even” - ถา้ ไม่ใช่ ให้ result = “Odd” 5.7 แสดงผลลพั ธ์ result 5.8 คานวณคา่ n = n + 1 5.9 กลบั ไปทาขอ้ 5.3 5.10 จบการทางาน

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


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