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 หลักการเขียนโปรแกรม-อารีรัตน์-3

หลักการเขียนโปรแกรม-อารีรัตน์-3

Published by Va Varaporn, 2020-10-22 03:29:22

Description: หลักการเขียนโปรแกรม-อารีรัตน์-3

Search

Read the Text Version

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

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

2 สารบญั เร่ือง หนา้ หลกั การเขยี นโปรกรมและการวเิ คราะหง์ าน............................................................................... 4 1.1 ระบบคอมพวิ เตอร์...................................................................................................... 4 1.2 หลกั การเขยี นโปรแกรม.............................................................................................. 5-6 ผงั งาน...........................................................................................................................6 ความหมายของผงั งาน....................................................................................................... 6-7 สญั ลกั ษณ์สาหรับการเขยี นผงั งาน..................................................................................... 7 หลกั การเขียนผงั งาน.......................................................................................................... 8 รหสั เทียม....................................................................................................................................... 9 หลกั เกณฑใ์ นการเขยี นรหัสเทยี ม.......................................................................................10 รูปแบบการเขียนรหัสเทยี ม.................................................................................................11 การเขยี นรหสั เทียมจากลาดบั ข้นั ตอนของวธิ ีการประมวลผล.............................................12 ข้นั ตอนการแกป้ ัญหา(Algorithm)....................................................................................................13 ความหมายของข้นั ตอนการแกป้ ัญหา..................................................................................14 การเขียนข้นั ตอนการแกป้ ัญหา............................................................................................15 องคป์ ระกอบพ้นื ฐานของภาษาC.................................................................................................. 16 โครงสรา้ งของโปรแกรมภาษาC..........................................................................................17 ชนิดของขอ้ มูล.....................................................................................................................18

3 ตวั แปร................................................................................................................................19 การแสดงผลขอ้ มูล..............................................................................................................20 การรบั ขอ้ มูล........................................................................................................................21 ค่าคงที่.................................................................................................................................22 ตวั ดาเนินการ.......................................................................................................................23 นิพจน์..................................................................................................................................24 คาส่ัง For กระบวนการทาซา้ ดว้ ยคาส่งั for...............................................................................................25 คาส่งั วนลปู หรอื ทางานซา้ ๆ เป็นลปู (loop statements)...................................................26

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

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

6 คอมพวิ เตอร์ เป็นอปุ กรณท์ างอิเล็กทรอนิกส์อยา่ งหน่ึง ซ่ึงไมส่ ามารถทางานดว้ ยตนเองได้ แตจ่ ะสามารถทางานไดต้ ามชุดคาส่งั ในโปรแกรมท่ปี ้อนเขา้ สู่เครื่อง ซ่ึงจะทางานตามคาสงั่ ทีละ คาสั่ง (Step by Step) โดยคาสัง่ ทเี่ คร่ืองคอมพวิ เตอร์สามารถเขา้ ใจได้ จะตอ้ งอยใู่ นรูปแบบของ ภาษาเคร่ือง (Machine Language) แต่ถา้ มกี ารเขียนดว้ ยภาษาอ่ืนท่ีไม่ใช่ภาษาเครื่อง หรือท่ีเรียกว่า ภาษาช้นั สูง (High-level Language) ก็จะตอ้ งมตี วั แปลภาษา เช่น คอมไพเลอร์ (Compiler) หรือ อินเตอร์พรีเตอร์ (Interpreter) ทาการแปลภาษาช้นั สูงน้นั ใหเ้ ป็นภาษาเครื่องอกี ทีหน่ึง ในการเขียนโปรแกรมหรือภาษาคอมพิวเตอร์น้ี โดยทว่ั ไปแลว้ แต่ละภาษาจะมีหลกั เกณฑใ์ น การเขยี นและการออกแบบโปรแกรมเหมอื นกนั ซ่ึงสามารถที่จะแบ่งข้นั ตอนการเขียนโปรแกรม ออกไดเ้ ป็น 7 ข้นั ตอน ดงั น้ี 1. ข้นั ตอนการวิเคราะห์ปัญหา (Analysis the Problem) 2. ข้นั ตอนการออกแบบโปรแกรม (Design a Program) 3. ข้นั ตอนการเขยี นโปรแกรม (Coding) 4. ข้นั ตอนการตรวจสอบขอ้ ผิดพลาดของโปรแกรม (Testing and Debugging) 5. ข้นั ตอนการทดสอบความถกู ตอ้ งของโปรแกรม (Testing and Validating) 6. ข้นั ตอนการทาเอกสารประกอบโปรแกรม (Documentation) 7. ข้นั ตอนการบารุงรกั ษาโปรแกรม (Program Maintenance) 2. ผงั งาน 2.1 ความหมายของผงั งาน ผงั งาน คอื แผนภาพแสดงการทางานของโปรแกรม โดยใชส้ ัญลกั ษณแ์ สดงข้นั ตอนและลกั ษณะ การทางานแบบต่างๆ สญั ลกั ษณ์เหลา่ น้ีจะถูกเชื่อมโยงดว้ ยลกู ศรเพื่อแสดงลาดบั การ

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

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

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

10 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

13 3. การแสดงผลขอ้ มลู การแสดงผลขอ้ มลู สามารถใชค้ าสง่ั 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

14 Activity 2 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”

15 ELSE 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

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

17 activity2 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

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

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

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

21 5. องค์ประกอบพนื้ ฐานของภาษาC 5.1โครงสร้งของโปรงแกรมภาษา c โครงสร้างการเขียนโปรแกรมภาษาซี (C/C++) รวมท้งั การเขยี นโปรแกรมอยา่ งงา่ ย ลกั ษณะ โครงสร้างของภาษาซีแบง่ ออกไดเ้ ป็น5 ส่วน ดงั น้ี 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)

22 ตวั แปร ตวั แปร คือ คุณลกั ษณะที่เปลี่ยนแปลงได้ ข้ึนอยกู่ บั ความแตกตา่ งเฉพาะบคุ คลหรือกลุ่ม ตวั อยา่ ง เช่น อุณหภมู ิ ของร่างกายคอื ตวั แปรทีเ่ ปล่ยี นแปลงไปในแต่ละบุคคล การนบั ถือศาสนา รายได้ อายุ ความสูง ตวั แปรคุณลกั ษณะ เหล่าน้ีข้นึ อยกู่ บั แต่ละบุคคล 3 ชนิดของตวั แปร 1. ตวั แปรเชิงคณุ ภาพ เป็นตวั แปรที่ขอ้ มลู ไมใ่ ช่ตวั เลขแตเ่ ป็นขอ้ มูลทีม่ ลี กั ษณะเป็นการ แบง่ ประเภทให้เหน็ ถงึ ความแตกตา่ งของกลุ่มตวั อยา่ งแตล่ ะกลมุ่ เช่น ศาสนา อาชีพ สถานภาพ สมรส ระดบั การศึกษา 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.การรับรู้ทางปาก ไดแ้ ก่ การรู้สึกถงึ รส โดยการสมั ผสั ทางลิ้น เช่น เผด็ หวาน ขม เป็นตน้

25 5.6 ค่าคงที่ คา่ คงที่ (Constant) เป็นตวั แปรประเภทหน่ึงทไ่ี ม่สามารถเปลย่ี นแปลงคา่ ไดใ้ นขณะที่ โปรแกรมทางาน นน่ั หมายความว่าเราจะตอ้ งกาหนดคา่ ให้ตวั แปรในเวลาทคี่ อมไพเลอร์ทางาน หรือในตอนแรกท่เี ราสร้างตวั แปรคา่ คงที่ข้ึนมา คา่ คงทท่ี ่เี ราใชก้ นั บ่อยๆ น้นั เรียกวา่ Literal ซ่ึง Literal สามารถแบง่ แยกไดเ้ ป็น Integer, Floating-point, Characters, Strings, Boolean, Pointers และ คา่ คงทท่ี ี่ผใู้ ชส้ ร้างข้นึ เอง ในการใชข้ อ้ มูลคา่ ซ้ากนั บอ่ ยๆ และคา่ ขอ้ มูลน้นั ไม่มีการเปลี่ยนแปลงเลย ตลอดการใชง้ าน โปรแกรม ควรเกบ็ ขอ้ มลู น้นั ไวใ้ นตวั แปรและ ประกาศตวั แปรใหเ้ ป็นแบบคา่ คงท่ี การประกาศตวั แปรใหเ้ ป็นแบบคา่ คงทแ่ี ละกาหนดค่าคงที่เอาไว้ ใชร้ ูปแบบคาสง่ั ดงั น้ี Const ชื่อตวั แปร = คา่ ขอ้ มลู เช่น การประกาศตวั แปรใหเ้ ป็นแบบค่าคงท่ชี ื่อ Pi เพือ่ กาหนดคา่ ของ \"พาย\" ใหเ้ ป็น ค่าคงที่เขียนคาสั่งไดเ้ ป็น Const Pi = 3.14159625358979 การประกาศตวั แปรคา่ คงท่ี อาจกาหนดแบบขอ้ มูลไวด้ ว้ ย โดยแบบดงั น้ี Const ชื่อตวั แปร As แบบขอ้ มลู = คา่ ขอ้ มูล เช่น Const Pi As Double = 3.14159625358979 หรือประกาศแบบขอ้ มลู ดว้ ยอกั ขระแทน เช่น Const Pi# = 3.14159625358979 Const Respounse$ = “Yes”

26 การประกาศค่าคงที่จะทาในบริเวณส่วนประกาศตอนตน้ ของโปรแกรมเช่นเดียวกนั การประกาศตวั แปร 5.7 ตวั ดาเนินการ ตวั ดาเนินการ (Operator) ในการเขียนโปรแกรมตวั ดาเนินการจะเป็นตวั ทาหนา้ ทีร่ วมคา่ ตา่ งๆ และกระทากบั ค่าต่างๆ ให้เป็นคา่ เดียวกนั ซ่ึงตวั ดาเนินการมหี ลายประเภท ดงั ตอ่ ไปน้ี .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 เป็ นจานวนเต็ม

28 (3) รับค่า score (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!!!

29 คาสงั่ For กระบวนการทาซา้ ดว้ ยคาส่งั for การทาซา้ แบบ for หรอื ลปู for จะเป็นโปรแกรมทาซา้ จนกวา่ ตวั แปรจะครบตามท่ีตงั้ ไว้ เริม่ แรกโปรแกรมจะ กาหนดคา่ เร่มิ ตน้ ใหก้ ับตวั แปรเร่มิ ตน้ (initialization)จากนน้ั ทาสเตตเมนดโ์ ดยรูปแบบของคาส่งั เป็นดังนี้ For(initialization;condition;increment) <------------ ตวั นบั ท่ีมีการเปล่ยี นแปลงค่า <statement>; ในส่วนของcondition บางครงั้ จะรยั กว่าตวั แปรควบคมุ ลปู (loop control variable)เริ่มตน้ คาส่งั จะทา กาหนดคา่ เรม่ิ ตน้ (initial value) จากนน้ั จะตรวจสอบว่าเง่ือนไขเป็นจรงิ หรอื ไม่ ถา้ เงื่อนไขเป็นจรงิ จะทาตามสเตตเมนดท์ ่ี จะทาซา้ แลว้ กลบั มาทาส่วน increment จากนนั้ ตรวจสอบเงือ่ นไขใหม่โดยทาแบบนไี้ ปจนกว่าเงือ่ นไขนนั้ จะเป็นเท็จ สเตตเมนดท์ ี่ ทาซา้ อาจเป็นสเตตเมนดร์ วม(Compound Statement)กไ็ ดแ้ ต่ตอ้ งอยู่ในเงือ่ นไขภายในเคร่ืองหมาย{กบั } ในส่วนของ increment จะเป็นคาส่งั ท่ีใชเ้ พ่ิมคา่ หรือลดคา่ ใหต้ วั แปร โดยมกั จะเขยี นเป็นคาส่งั เดียวแต่ถา้ หากใช้ หลายคาส่งั จะใชเ้ ครอื่ งหมาย comma ค่นั ระหวา่ งคาส่งั for(i = 1 ; i<s ;i++) Statement เร่ิมแรกโปรแกรมจะใส่คา่ เร่ิมตน้ 1 ลงในตวั แปร i จากนน้ั จะทดสอบเง่อื นไขว่าเงือนไขเป็นจริงหรือไม่ ถา้ จรงิ จะทาสเตตเมนด์ และจะเพ่ิมค่า i ขนึ้ หนง่ึ คา่ ในการเพิ่มค่าใหก้ ับตวั แปรควบคุมจะเพมิ่ ขึน้ เป็นลาดบั โดยอาจเป็นตวั 1,2,3,.. หรอื ตวั อักษร ‘A’ , ‘B’ , ‘C’ ก็ไดด้ งั นน้ั การประกาศประเภทของตวั แปรคุม จะตอ้ งใหส้ อดคลอ้ งกับค่าของข้อมูลดว้ ยถา้ หากเขียนคาส่งั for ดงั ตอ่ ไปนี้ For(counter = 1 ; counter <= 10 ; counter++) printf(“%d”,counter) โปรแกรมจะพิมพค์ ่า counter ตง้ั แต่ 1ถึง10 โดยเริ่มแรกจะใสค่ ่าใหก้ บั ตว้ แปร counter ซง่ึ เป็นตวั แปรเริ่มตน้ ก่อน จากนน้ั จะตรวจสอบ เงอ่ื นไจว่า counter นอ้ ยกวา่ 10 จริงหรอื ไม่ ถา้ จรงิ จะพิมพค์ ่าใน counter และเพมิ่ ค่า counter ขนึ้ อกี หนง่ึ คา่ จากนน้ั จะตรวจสอบ เงอ่ื นไขใหม่ ถา้ จรงิ จะพิมพค์ ่าใน counter และเพม่ิ คา่ counter ขนึ้ อกี หนึ่งคา่ ในการเขียนโปรแกรมซา้ เราสามารถคา่ ใหก้ ับตวั แปร สาหรบั เพิ่มต่าหรือลดค่าใหก้ ับตวั ควบคุมลปู สามารถเพ่ิมค่าขึน้ ครงั้ ละหลายๆค่าตามที่ตอ้ งการไดถ้ า้ หากตอ้ งการใหใ้ หส้ เตต เมนดท์ ีจ่ ะทางานซา้ เป็นสเตตเมนดร์ วม จะตอ้ งเขยี นสเตตเมนดใ์ นเครอ่ื งหมาย {และ}ในการทดสอบเง่ือนไขของคาส่งั for สามารถทดสอบดว้ ยตว้ แปรกบั ตวั แปรไดก้ ารกาหนดค่าใหก้ บั ตวั แปรเร่ิมตน้ ในคาส่งั for สามารถกาหนดคา่ ใหก้ บั ตวั แปร

30 คาส่งั วนลปู หรอื ทางานซา้ ๆ เป็นลปู (loop statements) คาส่งั วนลปู เป็นคาส่งั ทสี่ ามารถควบคมุ โปรแกรมใหท้ างานเป็นจานวนรอบตามท่เี รากาหนดไว้ หรือทางานจนกว่าเงื่อนไขทีก่ าหนดไวเ้ ป็น เท็จ จงึ จะออกจากคาส่งั วนลปู ได้ การวนรอบซา้ ดว้ ยคาส่ัง for for เป็นคาส่งั ทส่ี ่งั ใหโ้ ปแกรมมีการทางานซา้ ๆ วนลูปจนกวา่ เงอ่ื นไขทีก่ าหนดไวเ้ ป็นเท็จ จึงออกจากคาส่งั for ไปทาคาส่งั ถดั ไป ควรใชค้ าส่งั for ในกรณีท่ีทราบจานวนรอบของการทางาน รูปแบบการใชค้ าส่ัง for for (expression1; expression2; expression3) statement; หรือ for (expression1; expression2; expression3) { statement(s); } โดยท่ี expression1 คอื นิพจนท์ ่ีใชก้ าหนดคา่ เร่มิ ตน้ ใหก้ ับตวั แปรที่จะใชว้ นลูป expression2 คอื นิพจนท์ ใ่ี ชท้ ดสอบเงอ่ื นไข ซงึ่ จะมีค่าจรงิ หรอื เทจ็ อยา่ งใดอย่างหนง่ึ เทา่ นนั้ expression3 คอื นพิ จนท์ ่ใี ชเ้ พิ่มหรอื ลดคา่ ตวั แปรทจ่ี ะใชว้ นลปู statement(s) คอื คาส่งั ตา่ ง ๆ ถา้ มีมากกว่า 1 คาส่งั จะตอ้ งเขยี นอยภู่ ายในเคร่อื งหมาย {….}

31 ลักษณะการทางานของคาสั่ง for สามารถเขียนเป็นแผนผังไดด้ งั นี้ รูปท่ี 4.1 ผงั งานแสดงลกั ษณะการทางานของคาส่งั for โปรแกรมตัวอยา่ งท่ี 4.1 แสดงการใชค้ าส่งั for เพ่อื วนแสดงตวั เลข 1 ถึง 10 ออกแสดงทจ่ี อภาพ

32 อ้างอิง http://www.chiangkham.ac.th/ http://c-by-step.weebly.com/


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