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 Va Varaporn, 2020-10-22 03:36:45

Description: รายงาน หลักการขียนโปรเเกรม ชัยรัตณ์

Search

Read the Text Version

1 รายงาน เร่ืองพ้นื ฐานการเขยี นคอมพิวเตอร์ โดย นาย ชยั รัตณ์ อนิ นา นาเสนอ อาจาร์ย วราภรณ์ อ่อนทมุ วทั ยาลยั การอาชีพบาเหนจ็ ณรงค์ อาชีวศึกษาจงั หวดั ชยั ภมู ิ สมั นกั งานคณะกรรมการอาชีวศึกษา กระทรวงศึกาธิการ

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

3 สารบญั เรื่อง หนา้ หลกั การเขยี นโปรกรมและการวเิ คราะหง์ าน........................................................................... 5 ระบบคอมพวิ เตอร์....................................................................................................... 6 หลกั การเขียนโปรแกรม............................................................................................... 6 ผงั งาน....................................................................................................................................... 7 ความหมายของผงั งาน.................................................................................................. 7 สัญลกั ษณส์ าหรับการเขียนผงั งาน............................................................................... 8 หลกั การเขียนผงั งาน................................................................................................... 9 รหสั เทียม................................................................................................................................ 11 หลกั เกณฑใ์ นการเขยี นรหสั เทยี ม............................................................................... 11 รูปแบบการเขยี นรหสเทียม........................................................................................ 11 การเขยี นรหัสเทียมจากลาดบั ข้นั ตอนของวิธีการประมวลผล.................................... 12 ข้นั ตอนการแกป้ ัญหา(Algorithm).......................................................................................... 19 ความหมายของข้นั ตอนการแกป้ ัญหา........................................................................ 19 การเขียนข้นั ตอนการแกป้ ัญหา.................................................................................. 20 องคป์ ระกอบพ้นื ฐานของภาษาC........................................................................................... 21 โครงสรา้ งของโปรแกรมภาษาC................................................................................ 21 ชนิดของขอ้ มลู ............................................................................................................ 21

4 ตวั แปร........................................................................................................................... 22 การแสดงผลขอ้ มูล......................................................................................................... 23 การรบั ขอ้ มลู ................................................................................................................. 25 คา่ คงที่............................................................................................................................ 26 ตวั ดาเนินการ.................................................................................................................. 26 นิพจน์............................................................................................................................ 26 โครงสรา้ งควบคุมแบบเงอื่ นไขกรณี........................................................................................... 27 โครงสร้างแบบหลายทางเลอื ก....................................................................................... 27

5 1. หลักการเขยี นโปรแกรมและการวเิ คราะห์งาน หลักการเขียนโปรแกรม การเขยี นโปรแกรมถอื วา่ เป็นการผสมผสานกนั ระหว่างศาสตร์ของศิลปะ วทิ ยาศาสตร์ คณิตศาสตร์และวศิ วกรรมเขา้ ดว้ ยกนั ผเู้ ขียนตอ้ งเขา้ ใจข้นั ตอนการแกไ้ ขปัญหาและ รูปแบบของภาษาทจ่ี ะใชเ้ ป็นอยา่ งดี จงึ สามารถเขียนโปรแกรมท่คี วบคุมเครื่องคอมพิวเตอร์ให้ ทางานใหต้ ามความตอ้ งการ โดยผา่ นข้นั ตอนการวเิ คราะห์ วางแผนแกไ้ ขปัญหา และสร้าง แบบจาลองความคิดเพอ่ื แสดงข้นั ตอนในการแกไ้ ขปัญหา จากน้นั จงึ ลงมือแกไ้ ขปัญหาตามข้นั ตอน ทอี่ อกแบบไว้ โดยใชเ้ คร่ืองมอื ในการแกไ้ ขปัญหา ซ่ึงหน่ึงในเคร่ืองมอื แกไ้ ขปัญหาเหลา่ น้นั คือ ภาษาคอมพิวเตอร์นนั่ เอง การวิเคราะห์งาน การวิเคราะห์(Analysis)เป็นความสามารถและทกั ษะท่สี ูงกวา่ ความเขา้ ใจและการนาไปปรบั ใชโ้ ดยมีลกั ษณะเป็นการแยกแยะสิ่งทจี่ ะพจิ ารณาออกเป็นส่วนยอ่ ยทม่ี ีความสัมพนั ธ์กนั รวมท้งั การ สืบคน้ ความสัมพนั ธข์ องส่วนตา่ งๆ เพ่ือดวู า่ ส่วนประกอบปลีกยอ่ ยน้นั สามารถเขา้ กนั ไดห้ รือไมอ่ นั จะช่วยใหเ้ กิดความเขา้ ใจต่อส่ิงหน่ึงส่ิงอยา่ งแทจ้ ริง 1.1 ระบบคอมพิวเตอร์ ระบบคอมพิวเตอร์ ( Computer System ) คอื องคป์ ระกอบทจ่ี ะทาใหค้ อมพวิ เตอร์สามารถ ทางานไดอ้ ยา่ งสมบรู ณ์ ถา้ ขาดองคป์ ระกอบส่วนใดส่วนหน่ึงแลว้ เคร่ืองคอมพวิ เตอร์กไ็ มส่ ามารถ ทางานได้ ระบบคอมพิวเตอร์น้ีประกอบไปดว้ ย องคป์ ระกอบหลกั ทีส่ าคญั 4 ประการคอื 1.ฮาร์ดแวร์ ( Hardware ) คือ อปุ กรณห์ รือชิ้นส่วนของเคร่ืองคอมพิวเตอร์ที่มี วงจรไฟฟ้าอยภู่ ายในเป็นส่วนใหญ่ สามารถจบั ตอ้ งได้ เช่น ตวั เคร่ืองคอมพิวเตอร์ ตวั ซีพยู ู จอภาพ เมาส์ แป้นพิมพ์ ลาโพง สแกนเนอร์ เครื่องพมิ พ์ ฯลฯ เป็นตน้

6 2.ซอฟตแ์ วร์ ( Software ) คอื โปรแกรมหรือชุดคาส่ัง ทีจ่ ะสง่ั และควบคุมให้ ฮาร์ดแวร์คอมพิวเตอร์ทางาน เราไม่สามารถจบั ตอ้ งซอฟตแ์ วร์ ไดโ้ ดยตรงเหมือนกบั ตวั ฮาร์แวร์ เพราะซอฟตแ์ วร์หรือโปรแกรมน้ีจะถูกจดั เกบ็ อยู่ ในสื่อ ทใี่ ชใ้ นการบนั ทกึ ขอ้ มลู ท่ีใชใ้ นการบนั ทึก ขอ้ มูล เช่น แผ่นดิสก์ ฮาร์ดดิส ซีดีรอม ดีวดี ีรอม แฮนดีไร์ฟ เป็นตน้ ซอฟตแ์ วร์ทม่ี กั ตดิ ต้งั ไวใ้ น ฮาร์ดดิสก์เพอื่ ทางานทนั ทที เี่ ปิ ดเคร่ืองคอื ซอฟตแ์ วร์ระบบปฏบิ ตั ิการ 3.พีเพลิ แวร์ ( Peopleware ) คือ บุคคลทีม่ ีส่วนเกี่ยวขอ้ งกบั การทางานของเคร่ือง คอมพิวเตอร์ พีเพลิ แวร์หรือบุคคลากรดา้ นคอมพิวเตอร์นบั ว่าเป็นองคป์ ระกอบทสี่ าคญั ท่สี ุด เพราะ บุคคลกรจะเป็นผจู้ ดั การหรือผดู้ าเนินงานให้ระบบ คอมพิวเตอร์ดาเนินต่อไปได้ 4.ขอ้ มลู ( Data) คอื รายละเอียดขอ้ เทจ็ จริงต่าง ๆ ท่เี กี่ยวขอ้ งกบั บคุ คลสิ่งของ สถานที่หรือเหตกุ ารณ์ใด ๆ ที่สนใจศกึ ษา และนาขอ้ มูลเขา้ สู่ระบบ การประมวลผลของ คอมพิวเตอร์ เพอ่ื ใหอ้ ยู่ ในรูปแบบทสี่ ามารถนาไปใชป้ ระโยชนต์ ่อไปได้ 1.2 หลักการเขยี นโปรแกรม คอมพวิ เตอร์ เป็นอปุ กรณ์ทางอเิ ลก็ ทรอนิกสอ์ ยา่ งหน่ึง ซ่ึงไมส่ ามารถทางานดว้ ยตนเองได้ แตจ่ ะสามารถทางานไดต้ ามชุดคาสง่ั ในโปรแกรมทีป่ ้อนเขา้ สู่เคร่ือง ซ่ึงจะทางานตามคาสงั่ ทีละ คาสง่ั (Step by Step) โดยคาส่งั ทเ่ี คร่ืองคอมพิวเตอร์สามารถเขา้ ใจได้ จะตอ้ งอยใู่ นรูปแบบของ ภาษาเครื่อง (Machine Language) แตถ่ า้ มีการเขยี นดว้ ยภาษาอนื่ ท่ไี ม่ใช่ภาษาเคร่ือง หรือท่เี รียกวา่ ภาษาช้ันสูง (High-level Language) ก็จะตอ้ งมตี วั แปลภาษา เช่น คอมไพเลอร์ (Compiler) หรือ อินเตอร์พรีเตอร์ (Interpreter) ทาการแปลภาษาช้นั สูงน้นั ให้เป็นภาษาเคร่ืองอีกทหี น่ึง ในการเขียนโปรแกรมหรือภาษาคอมพิวเตอร์น้ี โดยทว่ั ไปแลว้ แต่ละภาษาจะมีหลกั เกณฑใ์ น การเขียนและการออกแบบโปรแกรมเหมือนกนั ซ่ึงสามารถที่จะแบ่งข้นั ตอนการเขียนโปรแกรม ออกไดเ้ ป็น 7 ข้นั ตอน ดงั น้ี 1. ข้นั ตอนการวิเคราะหป์ ัญหา (Analysis the Problem)

7 2. ข้นั ตอนการออกแบบโปรแกรม (Design a Program) 3. ข้นั ตอนการเขยี นโปรแกรม (Coding) 4. ข้นั ตอนการตรวจสอบขอ้ ผดิ พลาดของโปรแกรม (Testing and Debugging) 5. ข้นั ตอนการทดสอบความถกู ตอ้ งของโปรแกรม (Testing and Validating) 6. ข้นั ตอนการทาเอกสารประกอบโปรแกรม (Documentation) 7. ข้นั ตอนการบารุงรักษาโปรแกรม (Program Maintenance) 2. ผังงาน 2.1 ความหมายของผังงาน ผงั งาน คอื แผนภาพแสดงการทางานของโปรแกรม โดยใชส้ ัญลกั ษณแ์ สดงข้นั ตอนและลกั ษณะ การทางานแบบต่างๆ สญั ลกั ษณเ์ หลา่ น้ีจะถกู เชื่อมโยงดว้ ยลูกศรเพอ่ื แสดงลาดบั การ ทางาน ช่วยใหม้ องเหน็ ภาพการทางานโดยรวมของโปรแกรม สะดวกตอ่ การตรวจสอบความ ถกู ตอ้ งของลาดบั การทางานและการไหลของขอ้ มูลในโปรแกรม การเขียนผงั งานจะใชส้ ญั ลกั ษณ์ สื่อสารความหมายใหเ้ ขา้ ใจตรงกนั ของสถาบนั มาตรฐานแห่งชาติอเมริกนั 2.2 สัญลักษณ์สาหรับการเขยี นผังงาน สัญลักษณ์สาหรับการเขยี นผังงาน Symbol for Flowchart 1. จดุ เริ่มต้นและจดุ สิ้นสุดของผังงาน 2. การประมวลผล

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

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

10 2. การเลือกกระทาตามเง่อื นไข(Decision or Selection) : การตดั สินใจ หรือเลอื กเงอื่ นไขคือ เขยี น โปรแกรมเพอ่ื นาค่าไปเลอื กกระทา โดยปกตจิ ะมเี หตุการณใ์ หท้ า 2 กระบวนการ คือเงอื่ นไขเป็นจริง จะกระทากระบวนการหน่ึง และเป็นเทจ็ จะกระทาอกี กระบวนการหน่ึง แตถ่ า้ ซบั ซ้อนมากข้ึน จะตอ้ งใชเ้ งือ่ นไขหลายช้นั เช่นการตดั เกรดนกั ศึกษา เป็นตน้ ตวั อยา่ งผงั งานน้ี จะแสดงผลการเลอื ก อยา่ งง่าย เพอื่ กระทากระบวนการเพยี งกระบวนการเดียว 3. การทาซ้า(Repeation or Loop) : การทากระบวนการหน่ึงหลายคร้ัง โดยมเี ง่ือนไขในการ ควบคมุ หมายถึงการทาซ้าเป็นหลกั การที่ทาความเขา้ ใจไดย้ ากกวา่ 2 รูปแบบแรก เพราะการเขยี น โปรแกรมแต่ละภาษา จะไม่แสดงภาพอยา่ งชดั เจนเหมอื นการเขยี นผงั งาน ผเู้ ขียนโปรแกรมตอ้ ง จนิ ตนาการดว้ ยตนเอง

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

12 overTime = 2500 tax = 125 Income = salary + overTime - tag 2. การอา่ น/รบั ขอ้ มูล การอ่านขอ้ มูลสามารถใชค้ าสั่ง READ, INPUT หรือ GET ได้ โดย Read variables_1 ,variables_2, variables_3 Input variables_1 ,variables_2, variables_3 Get variables_1 ,variables_2, variables_3 ตวั อยา่ ง Input a, b, c Answer = a + b + c Get current_date expire_date = current_date + 120 Open student_file Read Id, Name, Address, Sex 3. การแสดงผลขอ้ มลู

13 การแสดงผลขอ้ มลู สามารถใชค้ าส่งั Print , Prompt, Write print variables_1 ,variables_2, variables_3 prompt variables_1 ,variables_2, variables_3 write variables_1 ,variables_2, variables_3 PRINT และ PROMPT ใชส้ าหรบั การพิมพค์ า่ ขอ้ มูล หรือขอ้ ความ WRITE ใชส้ าหรับการบนั ทึกขอ้ มูลลงในแฟ้มขอ้ มลู ตวั อยา่ ง Prompt \" Enter 3 Value ==> \" Input Value1 , Value2 , Value3 Sum = Value1 + Value2 + Value3 Print Sum Open Student _file Input Id, Name, Address, Sex Write Id, Name, Address, Sex 4. การกาหนดเง่ือนไข If < condition > Then Activity 1 Else Activity 2

14 Endif <condition> คือ เงอ่ื นไขทกี่ าหนด ซ่ึงหากเงอ่ื นไขเป็นจริง จะทากิจกรรมหลงั THEN (activity1) แตถ่ า้ เงอื่ นไขเป็นเทจ็ ก็จะทากิจกรรมหลงั ELSE (activity2) ตวั อยา่ ง IF sex = “M” THEN male = male + 1 ELSE female = female + 1 ENDIF IF score >= 80 grade = “A” ELSEIF score >= 70 grade = “B” ELSEIF score >= 60 grade = “C” ELSEIF score >= 50 grade = “D” ELSE

15 grade = “F” ENDIF 5. ในกรณีท่ีมีหลายเง่อื นไข การใช้ IF อาจทาให้ตรวจสอบโปรแกรมไดย้ าก สามารถใชค้ าส่งั CASE …. END CASE แทนได้ ตวั อยา่ ง CASE score OF >= 80 : grade = “A” >= 70 : grade = “B” >= 60 : grade = “C” < 60 : grade = “F” ENDCASE 6. การทางานเป็นรอบ (Loop) การทางานเป็นรอบดว้ ยลปู WHILE … ENDWHILE WHILE<condition> activity1 activity2

16 activity3 ENDWHILE การทางานของลปู WHILE จะมกี ารตรวจสอบเงอ่ื นไขกอ่ น โดยหากเงอ่ื นไขเป็นจริง จะทากิจกรรมภายในลปู ซ้าไปเร่ือยๆ จนกระทงั่ เงอื่ นไขเป็นเท็จ ก็จะออกจากลปู แต่หากเงอ่ื นไขที่ ตรวจสอบคร้งั แรกเป็นเท็จ กจ็ ะไมม่ กี ารทากิจกรรมภายในลูปเลย ตวั อยา่ ง num = 1 WHILE num <= 20 PRINT num num = num + 1 ENDWHILE PRINT “STOP RUN” 7. การทางานเป็นรอบ (Loop) การทางานเป็นรอบดว้ ยลูป DO … UNTIL DO activity1 activity2

17 activity3 UNTIL <condition> การทางานของลูป DO … UNTIL จะทากิจกรรมภายในลูปกอ่ นหน่ึงรอบ จากน้นั จะ ทาการตรวจเงอ่ื นไข โดยจะวนซา้ ไปเรื่อยๆ จนกว่าเงื่อนไขจะเป็นจริง จึงหลดุ ออกจากลปู และ ถงึ แมเ้ ง่อื นไขที่ตรวจสอบเป็นจริงต้งั แตแ่ รก แตล่ ูป DO…UNTIL ก็จะมกี ารทากิจกรรมภายในลูป อยา่ งนอ้ ยหน่ึงรอบเสมอ ตวั อยา่ ง num = 0 DO PRINT “HELLO…” num = num + 1 UNTIL num > 20 8. การทางานเป็นรอบ (Loop) การทางานเป็นรอบดว้ ยลูป FOR … NEXT FOR i=1 to n activity1 activity2

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

19 • ประโยคคาสง่ั (Statement) จะอยใู นรูปแบบของภาษาองั กฤษอยา่ งงา่ ย • ในหน่ึงบรรทดั ให้เขยี นประโยคคาสงั่ เพยี งคาส่ังเดียว • ควรใชย้ อ่ หนา้ เพื่อแยกคาเฉพาะ (Keywords) ไดช้ ดั เจน รวมถงึ จดั โครงสร้างการ ควบคุมให้เป็นสัดส่วน ซ่ึงช่วยให้อ่านโคด้ ไดง้ า่ ย • แต่ละประโยคคาสั่งใหเ้ ขยี นลาดบั จากบนลงลาง โดยมที างเขา้ เพียงทางเดียว และมี ทางออกทางเดียวเทา่ น้นั • กลุ่มของประโยคคาส่ังต่างๆ อาจจดั รวมกลมุ่ เขา้ ดว้ ยกนั ในรูปแบบของโมดลู แต่ ตอ้ งมีการกาหนดช่ือของโมดลู ดว้ ย เพอ่ื ใหส้ ามารถเรียกใชง้ านโมดูลน้นั ได้ 4. ข้นั ตอนการแก้ปัญหา (ALGORITHM) 4.1ความหมายของข้นั ตอนการแก้ปัญหา ในชีวติ ประจาวนั ทกุ คนตอ้ งเคยพบกบั ปัญหาต่างๆ ไม่วา่ จะเป็นปัญหาดา้ นการเรียน การ งาน การเงิน หรือแมแ้ ตก่ ารเลน่ เกม เม่ือพบกบั ปัญหา แตล่ ะคนมีวิธีทจ่ี ะจดั การหรือแกป้ ัญหา เหล่าน้นั แตกต่างกนั ไป ซ่ึงแตล่ ะวิธีการอาจใหผ้ ลลพั ธท์ ีเ่ หมอื นหรือแตกตา่ งกนั เลก็ นอ้ ย ท้งั น้ี ข้นึ อยกู่ บั ความรู้ ความสามารถ และประสบการณข์ องบคุ คลผูน้ ้นั อยา่ งไรกต็ าม หากเรานาวธิ ีการ แกป้ ัญหาต่างวธิ ีน้นั มาวเิ คราะหใ์ ห้ดี จะพบว่าสามารถสรุปวธิ ีการเหลา่ น้นั เป็นทฤษฎีซ่ึงมรี ูปแบบท่ี แน่นอนได้ และบางคร้งั ตอ้ งอาศยั การเรียนรูใ้ นระดบั สูงเพอ่ื แกป้ ัญหาบางอยา่ งใหส้ มบูรณแ์ บบ นอกจากวิธีการแกป้ ัญหาที่ยกตวั อยา่ งมาซ่ึงไดแ้ ก่ วธิ ีการลองผิดลองถูก การใช้ เหตุผล การใชว้ ิธีขจดั ยงั มีวิธีการแกป้ ัญหาอกี มากมายทผ่ี แู้ กป้ ัญหาสามารถเลอื กใชใ้ ห้เขา้ กบั ตวั ปัญหาและประสบการณ์ของผแู้ กป้ ัญหาเอง แตอ่ ยา่ งไรกต็ าม วิธีการเหล่าน้นั ลว้ นมีข้นั ตอนที่ คลา้ ยคลงึ กนั และจากการศกึ ษาพฤติกรรมในการเรียนรูแ้ ละแกป้ ัญหาของมนุษยพ์ บว่า โดยปกติ มนุษยม์ กี ระบวนการในการแกป้ ัญหา ซ่ึงประกอบดว้ ย 4 ข้นั ตอน ดงั น้ี

20 4.2 การเขียนข้นั ตอนการแก้ปัญหา การแกป้ ัญหาเป็นกิจกรรมพ้ืนฐานในการดารงชีวติ ของมนุษย์ ปัญหาบางปัญหาสามารถคดิ หาคาตอบไดท้ นั ที แต่ในบางปัญหาอาจตอ้ งใชเ้ วลานานในการคน้ หาคาตอบ ซ่ึงคาตอบที่ไดต้ อ้ ง สามารถพิสูจนไ์ ดเ้ ป็นเป็นคาตอบทด่ี ีทส่ี ุด น่าเช่ือถือ และสามารถนาไปใชอ้ า้ งองิ ได้ การแกป้ ัญหา ประกอบดว้ ย 4 ข้นั ตอนดงั น้ี 1. วเิ คราะห์และกาหนดรายละเอยี ดของปัญหา เป็นการทาความเขา้ ใจเกย่ี วกบั รายละเอยี ด เง่ือนไข ขอ้ กาหนด รวมถึงขอ้ จากดั ต่างๆ ของปัญหา วิเคราะหว์ า่ ขอ้ มูลท่ใี ดมีความจาเป็นในการ แกป้ ัญหา 2. วางแผนการแกป้ ัญหา เป็นการคดิ คน้ กระบวนการต่างๆ ที่เป็นลาดบั ข้นั ตอน ซ่ึงตอ้ ง อาศยั ประสบการณแ์ ละความรูข้ องผแู้ กป้ ัญหา โดยอาจนาวธิ ีทเ่ี คยแกป้ ัญหา หรือคน้ หาวิธีการอน่ื แลว้ นามาประยกุ ตเ์ ขา้ กบั ปัญหาท่กี าลงั แกไ้ ข เครื่องมือที่ใชใ้ นการวางแผนแกไ้ ขปัญหาสาหรบั การ พฒั นาโปรแกรม อาจเลือกใชร้ หัสลาลอง หรือผงั งาน โดยวิธีการแกป้ ัญหาแบบน้ี เราเรียน กว่า “ข้นั ตอนวธิ ีหรืออลั กอริทมึ (algorithm)” 3. ดาเนินการแกป้ ัญหา เป็นการพฒั นาโปรแกรมตามอลั กอริทึมทไ่ี ดว้ างไว้ โดยอาจใชภ้ าษา โปรแกรมช่วยในการดาเนินการ 4. ตรวจสอบปละประเมินผล ข้นั ตอนน้ีควรทาควบคูไ่ ปกบั ข้นั ตอนดาเนินการแกป้ ัญหา โดยตรวจสอบผลลพั ธ์ทไ่ี ด้ หากผลลพั ธ์ท่ีไดไ้ มถ่ กู ตอ้ ง หรือยงั มสี ่วนทตี่ อ้ งแกไ้ ข ตอ้ งยอ้ นกลบั ไป ทาซ้าต้งั แต่ข้นั ตอนแรกจนกว่าจะไดผ้ ลลพั ธท์ ถี่ กู ตอ้ ง 5. องค์ประกอบพน้ื ฐานของภาษาC 5.1โครงสร้งของโปรงแกรมภาษา c โครงสรา้ งการเขียนโปรแกรมภาษาซี (C/C++) รวมท้งั การเขยี นโปรแกรมอยา่ งง่าย ลกั ษณะ โครงสรา้ งของภาษาซีแบ่งออกไดเ้ ป็น5 ส่วน ดงั น้ี

21 1. พรีโปรเซสเซอร์ไดเร็กทฟี (Preprocessor directives) 2. ส่วนการกาหนดค่า (Global declarations) 3. ส่วนฟังก์ชนั่ หลกั (The main() function) 4. การสรา่้ งฟังกช์ น่ั และการใชฟ้ ังกช์ นั่ (Uses-Defined function) 5. ส่วนอธิบายโปรแกรม (Program comments) 5.2 ชนิดของข้อมูล ประเภทของขอ้ มลู • 1.1 ขอ้ มลู ปฐมภูมิ (Primary data) • 1.2 ขอ้ มูลทุติยภมู ิ (Secondary data) • 2.1 ขอ้ มูลชนิดตวั เลข (Numeric data) • 2.2 ขอ้ มลู ชนิดตวั อกั ษร/อกั ขระ (Character data) • 2.4 ขอ้ มลู ชนิดมลั ติมเี ดีย (Multimedia data) 5.3 ตัวแปร ตวั แปร (Variables) ตวั แปร ตวั แปร คือ คุณลกั ษณะที่เปลี่ยนแปลงได้ ข้ึนอยกู่ บั ความแตกต่างเฉพาะบคุ คลหรือกลุ่ม ตวั อยา่ ง เช่น อุณหภูมิ ของร่างกายคอื ตวั แปรทเ่ี ปลีย่ นแปลงไปในแตล่ ะบุคคล การนบั ถือศาสนา รายได้ อายุ ความสูง ตวั แปรคณุ ลกั ษณะ เหล่าน้ีข้ึนอยกู่ บั แตล่ ะบุคคล 3 ชนิดของตวั แปร 1. ตวั แปรเชิงคุณภาพ เป็นตวั แปรทขี่ อ้ มูลไมใ่ ช่ตวั เลขแต่เป็นขอ้ มลู ทีม่ ลี กั ษณะเป็นการ แบง่ ประเภทใหเ้ ห็น ถงึ ความแตกต่างของกลมุ่ ตวั อยา่ งแตล่ ะกล่มุ เช่น ศาสนา อาชีพ สถานภาพ สมรส ระดบั การศกึ ษา

22 2. ตวั แปรเชิงปริมาณ เป็นตวั แปรท่ีถูกวดั มามีคา่ เป็นตวั เลข เช่น จานวนบตุ ร รายได้ คะแนนสอบ ราคา สิ่งของ ตวั แปรท่ใี ชใ้ นการวิจยั มี 3 ประเภท คอื 1. ตวั แปรตน้ หรือตวั แปรอิสระ (Independent Variable) เป็นตวั แปรทเ่ี กิดก่อน หรือ เป็น ตวั แปรท่ีเป็นตน้ เหตุทท่ี าให้เกิดผลตามมา 2. ตวั แปรตาม (Dependent Variable) เป็นตวั แปรที่เกิดทหี ลงั หรื เป็นตวั แปรท่ีเป็นผลมา จากการกระทาของตวั แปรตน้ และ มกั เป็นตวั แปรที่ผวู้ จิ ยั สนใจศกึ ษา ตวั อยา่ งการกาหนดตวั แปรตน้ ตวั แปรตาม นกั เรียนเพศชายกบั เพศหญงิ มคี วามสนใจในการอา่ นข่าวกีฬาแตกตา่ งกนั ตวั แปรตน้ คือ เพศ ตวั แปรตาม คอื ความสนใจในการอ่านขา่ วกีฬา 3. ตวั แปรเกิน หรือตวั แปรแทรกซ้อน (Extraneous Variable) เป็นตวั แปรที่ส่งผลตอ่ ตวั แปร ตามแต่ผูว้ จิ ยั ไม่ตอ้ งการศกึ ษา ถา้ ไม่ควบคมุ ไวจ้ ะทาใหผ้ ลการวิจยั คลาดเคลอื่ น บางคร้ัง เรียกว่า ตวั แปรควบคุม (control Variable) ตวั อยา่ งการกาหนดตวั แปรตน้ ตวั แปรตาม ตวั แปรควบคมุ นกั เรียนทเ่ี รียนดว้ ยวิธีสอนแบบนิรนยั มผี ลสัมฤทธ์ิทางการเรียนสูงกว่านกั เรียนท่เี รียนดว้ ยวธิ ีปกติ ตวั แปรตน้ คอื วธิ ีสอน ตวั แปรตาม คือ ผลสอั นมฤทธ์ิทางการเรียน ตวั แปรเกืน คอื สตปิ ัญญาของนกั เรียน ความสามารถในการสอนของครู

23 การนิยามตวั แปร เมื่อผวู้ จิ ยั กาหนดตวั แปรทต่ี อ้ งการทาวิจยั แลว้ ตอ้ งให้นิยามความหมายตวั แปรให้ชดั เจน เพ่อื ประโยชนใ์ นการสร้างเคร่ืองมือวิจยั การใหน้ ิยามตวั แปร ทาได้ 2 ลกั ษณะ คอื 1. นิยามทวั่ ไป (Genneral Deffinition) เป็นการอธิบายความหมายตวั แปรตามพจนานุกรม ตามทฤษฎี หรือตามที่ผเู้ ช่ียวชาญกาหนด เช่น ความคิดเห็น หมายถึง ความคิด ความเชื่อ หรือ มมุ มองของบคุ คลท่ีมีตอ่ สิ่งหน่ึงสิ่งใด 2. นิยามปฏบิ ตั กิ าร(Operational Deffinition) เป็นการอธิบายความหมายตวั แปรให้มี ลกั ษณะเฉพาะเจาะจงเป็นรูปธรรม โดยระบตุ วั บง่ ช้ีของสิ่งที่ ตอ้ งการศึกษาอยา่ งชดั เจน ใชใ้ นการ นิยามตวั แปรตาม เช่นความคิดเหน็ ทีม่ ีตอ่ การจดั การเรียนการสอน หมายถึง ความคิด หรือมุมมอง ของนิสิตมหาวทิ ยาลยั ราชภฏั ท่ีมีต่อการจดั การเรียนการสอนของอาจารย์ 4 ดา้ น คอื ดา้ นการ เตรียมการสอน ดา้ นการดาเนินการสอน ดา้ นการใช้สื่อ และดา้ นการวดั ประเมินผล 5.4 การแสดงผลข้อมูล หน่วยแสดงผลขอ้ มูล (Output Unit) ทาหนา้ ท่ีแสดงผลลพั ธ์ไดจ้ ากการประมวลผล ตา่ งๆ โดยอาจจะแสดงออกมา เช่น - จอภาพ - เครื่องพิมพ์ - แฟกซ์ หมายถงึ การแสดงผลออกมาใหผ้ ูใ้ ชไ้ ดร้ บั ทราบในขณะน้นั แต่เมือ่ เลิกการทางานหรือเลิกใชแ้ ลว้ ผล น้นั กจ็ ะหายไป ไม่เหลอื เป็นวตั ถใุ หเ้ กบ็ ได้ แตถ่ า้ ตอ้ งการเกบ็ ผลลพั ธ์น้นั กส็ ามารถส่งถ่ายไปเกบ็ ใน รูปของขอ้ มูลในหน่วยเก็บขอ้ มลู สารอง เพอื่ ใหส้ ามารถใชง้ านในภายหลงั หน่วยแสดงผลทีจ่ ดั อยใู่ น กล่มุ น้ี คือ

24 จอภาพ (Monitor) อปุ กรณฉ์ ายภาพ (Projector) อุปกรณเ์ สียง (Audio Output) คร่ืองพมิ พ์ (Printer) 5.5 การรับข้อมลู ขอ้ มลู ทเี่ ราพบเห็นทกุ วนั น้ี มีหลายรูปแบบ เช่น เป็นตวั เลข ขอ้ ความ รูปภาพ เสียงตา่ ง ๆ เรา สามารถรบั รูข้ อ้ มลู ไดจ้ ากส่วนตา่ ง ๆ ดงั น้ี 1.การรับรูข้ อ้ มูลทางตา ไดแ้ ก่ การมองเห็น เช่น ขอ้ มูลภาพ จากหนงั สือ โทรทศั น์ เป็นตน้ 2.การรบั รู้ทางหู ไดแ้ ก่ การไดย้ นิ เสียงผ่านเขา้ มาทางหู เช่น ขอ้ มูลเสียงเพลง เสียงพดู เสียง รถ เป็นตน้ 3.การรบั รูท้ างมอื ไดแ้ ก่ การสัมผสั กบั ขอ้ มูล เช่น การจบั เส้ือผา้ แลว้ รู้สึกวา่ นุ่ม เป็นเน้ือผา้ เป็ นตน้ 4.การรับรู้ทางจมูก ไดแ้ ก่ การไดก้ ลนิ่ เช่น หอมกลนิ่ อาหาร กลิ่นดอกไม้ กล่นิ ขยะ เป็นตน้ 5.การรบั รูท้ างปาก ไดแ้ ก่ การรู้สึกถงึ รส โดยการสมั ผสั ทางลิ้น เช่น เผด็ หวาน ขม เป็นตน้ 5.6 ค่าคงท่ี ค่าคงท่ี (Constant) เป็นตวั แปรประเภทหน่ึงทไี่ ม่สามารถเปลีย่ นแปลงค่าไดใ้ นขณะท่ี โปรแกรมทางาน นน่ั หมายความว่าเราจะตอ้ งกาหนดค่าใหต้ วั แปรในเวลาทคี่ อมไพเลอร์ทางาน หรือในตอนแรกทีเ่ ราสรา้ งตวั แปรค่าคงทขี่ ้นึ มา คา่ คงที่ท่ีเราใชก้ นั บอ่ ยๆ น้นั เรียกว่า Literal ซ่ึง Literal สามารถแบง่ แยกไดเ้ ป็น Integer, Floating-point, Characters, Strings, Boolean, Pointers และ ค่าคงท่ที ี่ผูใ้ ชส้ ร้างข้ึนเอง

25 ในการใชข้ อ้ มูลค่าซ้ากนั บอ่ ยๆ และค่าขอ้ มลู น้นั ไม่มีการเปล่ยี นแปลงเลย ตลอดการใชง้ าน โปรแกรม ควรเก็บขอ้ มลู น้นั ไวใ้ นตวั แปรและ ประกาศตวั แปรใหเ้ ป็นแบบค่าคงที่ การประกาศตวั แปรใหเ้ ป็นแบบคา่ คงท่แี ละกาหนดคา่ คงทเ่ี อาไว้ ใชร้ ูปแบบคาสั่งดงั น้ี Const ชื่อตวั แปร = คา่ ขอ้ มลู เช่น การประกาศตวั แปรใหเ้ ป็นแบบคา่ คงทช่ี ื่อ Pi เพ่อื กาหนดค่าของ \"พาย\" ให้เป็น คา่ คงทเ่ี ขียนคาสั่งไดเ้ ป็น Const Pi = 3.14159625358979 การประกาศตวั แปรค่าคงท่ี อาจกาหนดแบบขอ้ มลู ไวด้ ว้ ย โดยแบบดงั น้ี Const ช่ือตวั แปร As แบบขอ้ มูล = ค่าขอ้ มูล เช่น Const Pi As Double = 3.14159625358979 หรือประกาศแบบขอ้ มลู ดว้ ยอกั ขระแทน เช่น Const Pi# = 3.14159625358979 Const Respounse$ = “Yes” การประกาศค่าคงท่จี ะทาในบริเวณส่วนประกาศตอนตน้ ของโปรแกรมเช่นเดียวกนั การประกาศตวั แปร 5.7 ตวั ดาเนินการ ตวั ดาเนินการ (Operator)

26 ในการเขียนโปรแกรมตวั ดาเนินการจะเป็นตวั ทาหนา้ ท่รี วมค่าต่างๆ และกระทากบั ค่าตา่ งๆ ใหเ้ ป็นคา่ เดียวกนั ซ่ึงตวั ดาเนินการมหี ลายประเภท ดงั ตอ่ ไปน้ี .1 ตวั ดาเนินการเลขคณิต 2 ตวั ดาเนินการเปรียบเทยี บ 3 ตวั ดาเนินการทางตรรกะ 4 ตวั ดาเนินการเพิม่ คา่ และลดคา่ 5 ลาดบั ความสาคญั ของตวั ดาเนินการทางคณิตศาสตร์ 5.8 นิพจน์ นิพจน์ คอื กลุ่มของขอ้ มลู ซ่ึงอาจจะอยใู่ นรูปของค่าคงทหี่ รือตวั แปรมาดาเนินการโดยใช้ เครื่องหมายตา่ ง ๆ ไมว่ ่าจะเป็นเครื่องหมายทางคณิตศาสตร์ เคร่ืองหมายการเปรียบเทียบ หรือ เคร่ืองหมายทางตรรกศาสตร์ ตวั อยา่ ง นิพจนท์ างคณิตศาสตร์ เช่น (b * b – 4 * a + c) / (2 * a) หรือ 3y + 50 = 100 นิพจนท์ างตรรกศาสตร์ เช่น (c>100) && (a <= b) เป็นตน้ ดงั น้นั ในการเขยี นผงั งานหรือการเขยี นโปรแกรมแตล่ ะระบบ อาจมกี ารใช้ เครื่องหมายหรือ ตวั ดาเนินการในการคานวณหลายอยา่ ง และมีการใชเ้ คร่ืองหมายหลายประเภท มี การเปรียบเทียบ หลายเงื่อนไข หรือมีนิพจน์ที่ซบั ซอ้ นนน่ั เอง

27 6.โครงสร้งควบคุมแบบเงื่อนไข 6.3 โครงสร้างแบบหลายทางเลือก หากรูปแบบการสร้างเงอื่ นไขทีต่ อ้ งตรวจสอบหลาย ๆ กรณี กจ็ ะใชค้ าสั่ง if...else if เพื่อ ตรวจสอบเป็นลาดบั ข้นั ยอ่ ย ๆ ต่อไป ตวั อย่าง โปรแกรมแกรมตรวจสอบคะแนนสอบ 1 - 100 1. การวเิ คราะห์และกาหนดรายละเอียดของปัญหา 1. การระบขุ ้อมลู เข้า (Input) ตัวเลขจานวนเตม็ 1 - 100 (score) 2. การระบุข้อมลู ออก (Output) ผลคะแนน 3. วิธีประมวลผล (Process) (1) เร่ิมต้น (2) กาหนดตวั แปร score เป็ นจานวนเต็ม (3) รับค่า score

28 (4) ตรวจสอบเงื่อนไขดังน้ี 4.1 เง่ือนไขท่ี 1 ถ้า score >=70 and score <=100 - เป็ นจริง แสดงคาว่า \"Excellent pass \" - เป็ นเท็จ ตรวจสอบเงื่อนไขถัดไป 4.2 เง่ือนไขที่ 2 ถ้า score >=50 and score<=69 - เป็ นจริง แสดงข้อความ \" Passed\" - เป็ นเทจ็ ตรวจสอบเง่ือนไขถัดไป 4.3 เง่ือนไขท่ี 3 ถ้า score >=1 and score <=49 - เป็ นจริง แสดงข้อความ \"Fail \" - เป็ นเท็จ No Data!!! (5) จบ

29 อ้างองิ https://sites.google.com/ http://courseware.npru.ac.th/


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