รายงาน เร่ือง หลกั การเขียนโปรแกรม โดย นางสาวเกศกนก เมียบขุนทด นาเสนอ อาจารย วราภรณ์ อ่อนทุม วิทยาลยั การอาชีพบาเหน็จณรงค์ อาชีวศึกษาจงั หวดั ชยั ภูมิ สานกั งานคณะกรรมการอาชีวศึกษา กระทรวงศึกษาธิการ
คำนำ รายงานเลม่ น้ีจดั ทาข้ึนเพ่ือเป็นส่วนหน่ึงของ วิชาหลกั การเขียนโปรแกรมคอมพวิ เตอร์ช้นั ปวส.1 เพอื่ ใหไ้ ดศ้ ึกษาหาความรู้ในเรื่อง การเขยี นโปรแกรมคอมพวิ เตอร์ และไดศ้ ึกษาอยา่ งเขา้ ใจ เพ่อื เป็นประโยชน์กบั การเรียน ผจู้ ดั ทาหวงั วา่ รายงานเล่มน้ีจะเป็นประโยชนก์ บั ผูอ้ ่าน หรือนกั เรียน นกั ศกึ ษา ที่กาลงั หา ขอ้ มูลเรื่องน้ีอยู่ หากมขี อ้ แนะนาหรือขอ้ ผิดพลาดประการใด ผจู้ ดั ทาขอนอ้ มรบั ไวแ้ ละขออภยั มา ณ ทนี่ ้ีดว้ ย ผจู้ ดั ทา นางสาวเกศกนก เมียบขนุ ทด วนั ท่ี 21 ตลุ าคม 2563
Aa สารบญั เรื่อง หนา้ หลกั การเขียนโปรกรมและการวเิ คราะห์งาน...............................................................................1-2 ระบบคอมพวิ เตอร์...........................................................................................................3 หลกั การเขยี นโปรแกรม...................................................................................................4 ผงั งาน...........................................................................................................................................5 ความหมายของผงั งาน.......................................................................................................5 สญั ลกั ษณส์ าหรับการเขียนผงั งาน.....................................................................................6-7 หลกั การเขยี นผงั งาน..........................................................................................................8 รหสั เทยี ม....................................................................................................................................9 หลกั เกณฑใ์ นการเขียนรหสั เทยี ม.......................................................................................9 รูปแบบการเขยี นรหสั เทยี ม.................................................................................................10 การเขยี นรหสั เทียมจากลาดบั ข้นั ตอนของวิธีการประมวลผล.............................................11 ข้นั ตอนการแกป้ ัญหา(Algorithm)....................................................................................................12 ความหมายของข้นั ตอนการแกป้ ัญหา..................................................................................12 การเขียนข้นั ตอนการแกป้ ัญหา............................................................................................13 องคป์ ระกอบพ้ืนฐานของภาษาC.....................................................................................................14 โครงสร้างของโปรแกรมภาษาC.....................................................................................14
ชนิดของขอ้ มูล.....................................................................................................................14 ตวั แปร.................................................................................................................................15 การแสดงผลขอ้ มูล..............................................................................................................16 การรับขอ้ มูล........................................................................................................................17 คา่ คงที.่ .................................................................................................................................17 ตวั ดาเนินการ.......................................................................................................................18 นิพจน์..................................................................................................................................19 โครงสร้างควบคุมแบบเง่ือนไขกรณี................................................................................................20 โครงสร้างแบบสองทางเลือก.............................................................................................20
1 เรื่อง หลกั กำรเขียนโปรแกรมและกำรวเิ ครำะห์งำน 1.หลกั การเขียนโปรแกรม การเขียนโปรแกรม หรือ Programming หมายถึง กระบวนการเขียนชุดคาสง่ั ดว้ ยภาษาคอมพิวเตอร์ เพ่อื กาหนดโครงสร้างของขอ้ มูล และกาหนดข้นั ตอนการแกป้ ัญหาเพื่อใชแ้ กป้ ัญหาตามทไี่ ด้ ออกแบบไว้ โดยอาศยั หลกั เกณฑก์ ารเขียนโปรแกรมคอมพวิ เตอร์แต่ละภาษา การเขียนโปรแกรมหรือเขยี นชุดคาสั่งดว้ ยภาษาคอมพิวเตอร์น้ี โดยทวั่ ไปแตล่ ะภาษามี หลกั เกณฑใ์ นการเขียนและออกแบบโปรแกรมเหมือนกนั ซ่ึงแบ่งการเขียนโปรแกรมออกเป็น 6 ข้นั ตอน คอื (1) การวเิ คราะห์ปัญหา (2) วางแผนแกป้ ัญหา (3) การเขยี นโปรแกรม (4) ทดสอบและ แกไ้ ขโปรแกรม (5)การเขยี นเอกสารประกอบโปรแกรม (6) การบารุงรักษาโปรแกรม โดย รายละเอยี ดจะกลา่ วถึงบทต่อไปน้ี สมรถนะย่อย Element of Competency แสดงความรู้เกยี่ วกบั หลกั การเขยี นโปรแกรม จดุ ประสงค์เชิงพฤติกรรรม Behavioral Objectives 1.บอกองคป์ ระกอบของระบบคอมพิวเตอร์ไดถ้ กู ตอ้ ง 2.บอกหลกั การเขยี นโปรแกรมไดถ้ กู ตอ้ ง 3.บอกความหมายของการวเิ คราะห์ผลลพั ธไ์ ดถ้ ูกตอ้ ง 4.บอกความหมายของการวิเคราะห์ขอ้ มลู เขา้ ไดถ้ ูกตอ้ ง 5.บอกความหมายของการวเิ คราะหก์ ระบวนการแกป้ ัญหาหรือการประมวลผลขอ้ มูลไดถ้ กู ตอ้ ง 6.บอกความหมายของการวางแผนแกป้ ัญหาไดถ้ กู ตอ้ ง 7.บอกลกั ษณะการเขียนโปรแกรมโครงสรา้ งแบบต่าง ๆ ไดถ้ ูกตอ้ ง 8.บอกความหมายของการทดสอบและแกไ้ ขโปรแกรมไดถ้ กู ตอ้ ง 9.บอกความหมายของการทาเอกสารประกอบโปรแกรมไดถ้ ูกตอ้ ง 10.บอกความหมายของการบารุงรักษาโปรแกรมไดถ้ กู ตอ้ ง
2 โปรแกรมจะตอ้ งวิเคราะหป์ ัญหาร่วมกบั นกั วิเคราะหร์ ะบบวา่ โจทยต์ อ้ งการผลลพั ธอ์ ะไร และการ ให้ไดม้ าซ่ึงผลลพั ธน์ ้นั ตอ้ งป้อนขอ้ มูลอะไรบา้ งและเมอ่ื ป้อนขอ้ มลู เขา้ ไปแลว้ จะทาการประมวลผล อยา่ งไรส่ิงหลา่ น้ีผเู้ ขียนโปรแกรมจะตอ้ งทาความเขา้ ใจใหถ้ ูกตอ้ งเพราะถา้ ผูเ้ ขยี นโปรแกรม วิเคราะหป์ ัญหาไมถ่ กู ตอ้ งผลลพั ธ์ทีไ่ ดอ้ อกมาก็อาจจะไม่ตรงกบั ความตอ้ งการของโจทยไ์ ด้ 2. กำหนดแผนในกำรแก้ปัญหำ หลงั จากทาความเขา้ ใจและวเิ คราะหป์ ัญหาโจทยจ์ นไดข้ อ้ สรปุว่า โจทยต์ อ้ งการอะไรแลว้ ผเู้ ขยี นโปรแกรมกจ็ ะทาการกาหนดแผนในการแกไ้ ขปัญหาโดยการเขยี น ผงั งาน (Flowchart) ซ่ึงการเขียนผงั งานคอื การเขยี นแผนภาพทเ่ี ป็นลาดบั เพ่อื แสดงข้นั ตอนการ ทางานของโปรแกรมเพอื่ ใหง้ ่ายต่อการทาความเขา้ ใจการเขียนผงั งานมี 3 แบบคอื แบบเรียงลาดบั (Sequential) แบบมีการกาหนดเง่ือนไข(Condition) และแบบมีการทางานวนรอบ(Looping) 3. เขียนโปรแกรมตำมแผนท่ีกำหนดเมอื่ ผูเ้ ขียนโปรแกรมเขยี นผงั งานเสร็จเรียบร้อยแลว้ ข้นั ตอน ตอ่ ไปคือการเขียนโปรแกรมตามผงั งาน ทไ่ี ดก้ าหนดเอาไว้ ในกรณีท่เี ขยี นดว้ ยภาษาซีการเขยี น โปรแกรมก็ตอ้ งเป็นไปตามกฎเกณฑแ์ ละโครงสร้างของภาษาซีเท่าน้นั 4. ทดสอบและตรวจสอบควำมถกู ต้อง หลงั จากขียนโปรแกรมเสร็จแลว้ ใหท้ ดลองคอมไพล์ โปรแกรมวา่ มจี ุดผิดพลาดที่ใดบา้ ง ในภาษาซีการคอมไพล์ โปรแกรมจะใชว้ ิธีการกดป่ มุ Alt + F9 ในกรณีท่มี ขี อ้ ผิดพลาดจะแสดงในช่องดา้ นล่างของหนา้ จอเอดิเตอร์ ในส่วนของกรอบ message ให้ อา่ นทาความเขา้ ใจ และแกไ้ ขตามทโ่ี ปรแกรมแจง้ ขอ้ มลู ผดิ พลาดเม่อื เสร็จแลว้ ให้ทดลองรนั โปรแกรม 5. จัดทำค่มู ือและเอกสำรกำรใช้โปรแกรมถา้ หากรันโปรแกรมแลว้ ใชง้ านไดแ้ สดงว่าจะไดไ้ ฟลท์ ่ีมี ส่วนขยายเป็น EXE เพอ่ื นาไปทดสอบง้ านในทต่ี า่ งๆและถา้ นาไปใชง้ านแลว้ มปี ัญหากใ็ หท้ าการ แกไ้ ขโปรแกรมอกี คร้งั แต่ถา้ รนั โปรแกรมแลว้ ไมม่ ปี ัญหาใดๆ แสดงว่าโปรแกรมน้ีใชง้ านไดอ้ ยา่ ง สมบูรณ์จากน้นั ผเู้ ขียนโปรแกรมก็ตอ้ งจดั ทาคมู่ อื ประกอบการใชง้ านและนาไปเผยแพร่ตอ่ ไป
3 1.1ระบบคอมพิวเตอร์ ระบบคอมพิวเตอร์ ( Computer System ) คอื องคป์ ระกอบทีจ่ ะทาให้คอมพวิ เตอร์สามารถ ทางานไดอ้ ยา่ งสมบูรณ์ ถา้ ขาดองคป์ ระกอบส่วนใดส่วนหน่ึงแลว้ เครื่องคอมพวิ เตอร์กไ็ มส่ ามารถ ทางานได้ ระบบคอมพิวเตอร์น้ีประกอบไปดว้ ย องคป์ ระกอบหลกั ทีส่ าคญั 4 ประการคอื 1.ฮาร์ดแวร์ ( Hardware ) คือ อุปกรณ์หรือชิ้นส่วนของเครื่องคอมพิวเตอร์ที่มี วงจรไฟฟ้าอยภู่ ายในเป็นส่วนใหญ่ สามารถจบั ตอ้ งได้ เช่น ตวั เครื่องคอมพิวเตอร์ ตวั ซีพยู ู จอภาพ เมาส์ แป้นพิมพ์ ลาโพง สแกนเนอร์ เครื่องพมิ พ์ ฯลฯ เป็นตน้ 2.ซอฟตแ์ วร์ ( Software ) คอื โปรแกรมหรือชุดคาสั่ง ที่จะส่ัง และควบคุมให้ ฮาร์ดแวร์คอมพิวเตอร์ทางาน เราไม่สามารถจบั ตอ้ งซอฟตแ์ วร์ ไดโ้ ดยตรงเหมอื นกบั ตวั ฮาร์แวร์ เพราะซอฟตแ์ วร์หรือโปรแกรมน้ีจะถูกจดั เก็บอยู่ ในส่ือ ท่ใี ชใ้ นการบนั ทึกขอ้ มลู ที่ใชใ้ นการบนั ทกึ ขอ้ มลู เช่น แผ่นดิสก์ ฮาร์ดดิส ซีดีรอม ดวี ีดีรอม แฮนดีไร์ฟ เป็นตน้ ซอฟต์แวร์ทมี่ กั ตดิ ต้งั ไวใ้ น ฮาร์ดดิสกเ์ พื่อทางานทนั ทีท่ีเปิ ดเครื่องคือ ซอฟตแ์ วร์ระบบปฏบิ ตั ิการ 3.พเี พลิ แวร์ ( Peopleware ) คือ บคุ คลท่ีมีส่วนเก่ียวขอ้ งกบั การทางานของเคร่ือง คอมพวิ เตอร์ พเี พลิ แวร์หรือบคุ คลากรดา้ นคอมพิวเตอร์นบั ว่าเป็นองค์ประกอบท่ีสาคญั ท่ีสุด เพราะ บุคคลกรจะเป็นผจู้ ดั การหรือผดู้ าเนินงานใหร้ ะบบ คอมพวิ เตอร์ดาเนินต่อไปได้ 4.ขอ้ มูล ( Data) คอื รายละเอียดขอ้ เท็จจริงต่าง ๆ ทเ่ี ก่ียวขอ้ งกบั บคุ คลสิ่งของ สถานท่ีหรือเหตุการณใ์ ด ๆ ที่สนใจศกึ ษา และนาขอ้ มูลเขา้ สู่ระบบ การประมวลผลของ คอมพิวเตอร์ เพอ่ื ให้อยู่ ในรูปแบบท่ีสามารถนาไปใชป้ ระโยชน์ต่อไปได้
4 1.2 หลกั กำรเขียนโปรแกรม คอมพิวเตอร์ เป็นอุปกรณท์ างอิเล็กทรอนิกส์อยา่ งหน่ึง ซ่ึงไม่สามารถทางานดว้ ยตนเองได้ แต่จะสามารถทางานไดต้ ามชุดคาสั่งในโปรแกรมที่ป้อนเขา้ สู่เคร่ือง ซ่ึงจะทางานตามคาสัง่ ทลี ะ คาส่ัง (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)
5 2.ผงั งำน คอื แผนภาพแสดงการทางานของโปรแกรม โดยใชส้ ญั ลกั ษณ์แสดงข้นั ตอนและลกั ษณะ การทางานแบบต่างๆ สัญลกั ษณ์เหลา่ น้ีจะถูกเชื่อมโยงดว้ ยลกู ศรเพือ่ แสดงลาดบั การ ทางาน ช่วยให้มองเห็นภาพการทางานโดยรวมของโปรแกรม สะดวกตอ่ การตรวจสอบความ ถกู ตอ้ งของลาดบั การทางานและการไหลของขอ้ มูลในโปรแกรม การเขียนผงั งานจะใชส้ ัญลกั ษณ์ สื่อสารความหมายใหเ้ ขา้ ใจตรงกนั ของสถำบันมำตรฐำนแห่งชำติิอเมริกนั 1.ความหมายของผงั งาน ผงั งำน (Flowchart) คอื รูปภาพ (Image) หรือสญั ลกั ษณ์ (Symbol) ท่ีใชเ้ ขยี นแทนข้นั ตอน คาอธิบาย ขอ้ ความ หรือคาพูด ทใี่ ชใ้ นอลั กอริทมึ (Algorithm) เพราะการนาเสนอข้นั ตอนของงา ทาไดย้ ากกวา่ เมอ่ื ใชร้ ูปภาพ หรือสัญลกั ษณ์
6 สัญลกั ษณ์สำหรับกำรเขียนผงั งำน สญั ลกั ษณ์ที่ใชใ้ นการเขยี นผงั งานเพอ่ื ส่ือความหมาย เพือ่ ให้เขา้ ใจ ตรงกนั จากสถาบนั แห่งชาติอเมริกนั (The American National S มาตรฐาน ซ่ึงมีรูปแบบสัญลกั ษณแ์ ละความหมายท่ีจาเป็นตอ้ งใช้ ดงั น้ี
7
8 2.3 หลกั การเขียนผงั งาน การเขยี นผงั งาน(Flowchart) มหี ลกั การงา่ ยๆทคี่ วรคานึงดงั น้ี คือ 1. ผงั งาน (Flowchart) จะตอ้ งมีจดุ เร่ิมตน้ และจดุ ส้ินสุดเสมอ 2. เลอื กใชส้ ญั ลกั ษณ์เพ่อื ส่ือความหมายใหถ้ กู ตอ้ ง 3. ใชล้ ูกศรเป็นตวั กาหนดทศิ ทางการทางานของโปรแกรมจากบนลงล่าง จากซา้ ยไปขวาโดยเรียงตามลาดบั 4. รูปสญั ลกั ษณ์ทุกตวั ตอ้ งมลี กู ศรเขา้ และออก ยกเวน้ จุดเร่ิมตน้ จะมเี ฉพาะออก จุดส้ินสุดจะมเี ฉพาะเขา้ เท่าน้นั 5. ลูกศรทุกตวั จะช้ีออกจากรูปสัญลกั ษณ์ตวั หน่ึงไปยงั รูปสัญลกั ษณ์อกี ตวั 6. คาอธิบายภายในรูปสญั ลกั ษณ์ ควรส้ันๆเขา้ ใจง่าย 7. ไมค่ วามใชล้ กู ศรช้ีไปไกลมากเกินไป หากจาเป็นใหใ้ ชจ้ ดุ เช่ือมแทน
9 3.รหสั เทียม เป็นคาส่ังท่ีจาลองความคิดเป็นลาดบั ข้นั ตอนโดยใชป้ ระโยคภาษาองั กฤษอธิบายอยา่ งงา่ ยๆ ซ่ึงรหสั เทียมไม่ใช่ ภาษาโปรแกรมทางคอมพิวเตอร์จึงไม่สามารถนาไปประมวลผลไดไ้ ม่สามารถสัง่ ให้คอมพวิ เตอร์ทางาน แตเ่ ป็นการเขียนจาลองคาส่ังจริงแบบยอ่ ๆ ตามอลั กอริทึมของโปรแกรม เพอ่ื นาไปเป็นแบบในการเขียน โปรแกรมภาษาคอมพิวเตอร์ต่อไป 3.1หลกั เกณท์กำรเขียนรหัสเทยี ม 1.ใชภ้ าษาองั กฤษท่ีเขา้ ในง่ายในการเขยี น 2.ในหน่ึงบรรทดั มีเพียงหน่ึงประโยคคาสัง่ เท่าน้นั 3.ใชย้ อ่ หนา้ แบง่ การแสดงการทางานเพ่อื ใหอ้ า่ นง่าย 4.แต่ละประโยคคาสงั่ ใหเ้ ขยี นจากบนลงลา่ ง และมีทางออกทางเดียว 5.กลุ่มของประโยคคาส่งั อาจรวมเป็นหมวดหมแู่ ลว้ เรียกใชเ้ ป็นโมดลู
10 3.2 รูปแบบกำรเขยี นรหสั เทยี ม 1. การกาหนดค่า และการคานวณ name = expression name คอื ช่ือตวั แปรทีใ่ ชส้ าหรบั เกบ็ คา่ expression คอื ค่าขอ้ มูลหรือนิพจน์ ตวั อยา่ ง salary = 1000 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 ตวั อยา่ ง
11 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.3 กำรเขียนรหสั เทยี มจำกลำดับข้นั ตอนของวิธีกำรประมวล เป็นคาสงั่ ท่ีจาลองความคิดเป็นลาดบั ข้นั ตอนโดยใชส้ ัญลกั ษณเ์ ป็น ประโยคภาษาองั กฤษ ซ่ึงซูโดโคด้ ไมใ่ ช่ภาษาโปรแกรมทางคอมพวิ เตอร์จึงไม่ สามารถนาไปประมวลผลได้ คอื ไมส่ ามารถส่ังใหค้ อมพิวเตอร์ทางานตามคาสั่ง แตเ่ ป็นการเขียนจาลอง คาสั่งจริงแบบยอ่ ๆ ตามอลั กอริทึมของโปรแกรมระบบ เพ่อื นาไปพฒั นาเป็นการเขยี นโปรแกรมภาษาคอมพิวเตอร์ได้ รหสั เทียม (Pseudocode) คือ การเขยี นโปรแกรมในรูปแบบภาษาองั กฤษทมี่ ีข้นั ตอนและรูปแบบ แน่นอนกะทดั รัด และมองดคู ลา้ ยภาษาระดบั สูงทใ่ี ชก้ บั เครื่องคอมพวิ เตอร์ซ่ึงไมเ่ จาะจงภาษาใดภาษาหน่ึง ประโยชนข์ องซูโดโคด้
12 • เป็นเคร่ืองมือในการกาหนดโครงร่างกระบวนการทางานของการเขียนโปรแกรมแตล่ ะโปรแกรม • เป็นตน้ แบบในการทบทวน ปรับปรุงแกไ้ ข และพฒั นาโปรแกรมของโปรแกรมเมอร์ และนกั วเิ คราะห์ระบบ • เป็นตวั กาหนดงานเขยี นโปรแกรม เพือ่ ใหโ้ ปรแกรมเมอร์นาไปพฒั นาเป็นโปรแกรมคอมพิวเตอร์ เพ่อื สง่ั ใหค้ อมพวิ เตอร์ทางานตามกระบวนการท่ไี ดจ้ าลองกระบวนการจริงไวใ้ นซูโดโคด้ วิธีการเขยี นซูโดโค • ประโยคคาส่ัง (Statement) จะอยใู นรูปแบบของภาษาองั กฤษอยา่ งงา่ ย • ในหน่ึงบรรทดั ให้เขยี นประโยคคาสั่งเพยี งคาส่ังเดียว • ควรใชย้ อ่ หนา้ เพ่อื แยกคาเฉพาะ (Keywords) ไดช้ ดั เจน รวมถงึ จดั โครงสร้างการควบคมุ ใหเ้ ป็ นสัดส่วน ซ่ึงช่วยให้อ่านโคด้ ไดง้ ่าย • แตล่ ะประโยคคาส่ังให้เขยี นลาดบั จากบนลงลาง โดยมที างเขา้ เพยี งทางเดียว และมที างออกทางเดียวเทา่ น้นั • กลมุ่ ของประโยคคาสงั่ ต่างๆ อาจจดั รวมกลุ่มเขา้ ดว้ ยกนั ในรูปแบบของโมดูล แตต่ อ้ งมีการกาหนดช่ือของ โมดูลดว้ ย เพือ่ ใหส้ ามารถเรียกใชง้ านโมดูลน้นั ได้ 4. ข้นั ตอนกำรแก้ปัญหำ (ALGORITHM) 4.1ควำมหมำยของข้นั ตอนกำรแก้ปัญหำ ในชีวิตประจาวนั ทกุ คนตอ้ งเคยพบกบั ปัญหาต่างๆ ไมว่ า่ จะเป็นปัญหาดา้ นการเรียน การงาน การเงินหรือแมแ้ ต่ การเลน่ เกม เมอ่ื พบกบั ปัญหา แต่ละคนมวี ธิ ีทีจ่ ะจดั การหรือแกป้ ัญหาเหลา่ น้นั แตกต่างกนั ไป ซ่ึงแต่ละวิธีการอาจ ใหผ้ ลลพั ธท์ เี่ หมือนหรือแตกตา่ งกนั เลก็ นอ้ ย ท้งั น้ีข้ึนอยกู่ บั ความรู้ ความสามารถ และประสบการณข์ องบุคคลผู้ น้นั อยา่ งไรก็ตาม หากเรานาวิธีการแกป้ ัญหาตา่ งวิธีน้นั มาวิเคราะห์ใหด้ ี จะพบว่าสามารถสรุปวธิ ีการเหล่าน้นั
13 เป็นทฤษฎีซ่ึงมรี ูปแบบท่ีแน่นอนได้ และบางคร้งั ตอ้ งอาศยั การเรียนรู้ในระดบั สูงเพอ่ื แกป้ ัญหาบางอยา่ งให้ สมบูรณแ์ บนอกจากวิธีการแกป้ ัญหาทยี่ กตวั อยา่ งมาซ่ึงไดแ้ ก่ วธิ ีการลองผดิ ลองถูก การใชเ้ หตผุ ล การใชว้ ิธีขจดั ยงั มวี ธิ ีการแกป้ ัญหาอกี มากมายทีผ่ แู้ กป้ ัญหาสามารถเลอื กใชใ้ ห้เขา้ กบั ตวั ปัญหาและประสบการณข์ องผู้ แกป้ ัญหาเอง แต่อยา่ งไรก็ตาม วิธีการเหลา่ น้นั ลว้ นมขี ้นั ตอนท่ี 4.2 กำรเขียนข้นั ตอนกำรแก้ปัญหำ การแกป้ ัญหาเป็นกิจกรรมพ้นื ฐานในการดารงชีวิตของมนุษย์ ปัญหาบางปัญหาสามารถคิดหาคาตอบได้ ทนั ที แตใ่ นบางปัญหาอาจตอ้ งใชเ้ วลานานในการคน้ หาคาตอบ ซ่ึงคาตอบท่ีไดต้ อ้ งสามารถพสิ ูจนไ์ ดเ้ ป็น เป็นคาตอบทีด่ ีทสี่ ุด น่าเชื่อถอื และสามารถนาไปใชอ้ า้ งอิงได้ การแกป้ ัญหา ประกอบดว้ ย 4 ข้นั ตอนดงั น้ี 1. วิเคราะห์และกาหนดรายละเอียดของปัญหา เป็นการทาความเขา้ ใจเกี่ยวกบั รายละเอียด เง่ือนไขขอ้ กาหน ว่าขอ้ มลู ท่ใี ดมคี วามจาเป็นในการแกป้ ัญหา 2. วางแผนการแกป้ ัญหา เป็นการคิดคน้ กระบวนการต่างๆ ทีเ่ ป็ นลาดบั ข้นั ตอน ซ่ึงตอ้ งอาศยั ประสบการณ เคยแกป้ ัญหา หรือคน้ หาวธิ ีการอ่ืนแลว้ นามาประยกุ ตเ์ ขา้ กบั ปัญหาทก่ี าลงั แกไ้ ข เคร่ืองมือท่ีใชใ้ นการวางแผนแกไ้ ข เลอื กใชร้ หสั ลาลอง หรือผงั งาน โดยวิธีการแกป้ ัญหาแบบน้ี เราเรียนกว่า “ข้นั ตอนวธิ ีหรืออลั กอริทึม (algorithm)” 3. ดาเนินการแกป้ ัญหา เป็นการพฒั นาโปรแกรมตามอลั กอริทมึ ทีไ่ ดว้ างไว้ โดยอาจใชภ้ าษาโปรแกรมช่วยใ 4. ตรวจสอบปละประเมินผล ข้นั ตอนน้ีควรทาควบค่ไู ปกบั ข้นั ตอนดาเนินการแกป้ ัญหา โดยตรวจสอบผลล ส่วนท่ตี อ้ งแกไ้ ข ตอ้ งยอ้ นกลบั ไปทาซ้าต้งั แตข่ ้นั ตอนแรกจนกวา่ จะไดผ้ ลลพั ธท์ ่ถี กู ตอ้ ง
14 5. องค์ประกอบพื้นฐำนของภำษำC 5.1โครงสร้งของโปรงแกรมภำษำ c โครงสร้างการเขยี นโปรแกรมภาษาซี (C/C++) รวมท้งั การเขยี นโปรแกรมอยา่ งงา่ ย ลกั ษณะโครงสร้างของ 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)
15 5.3 ตวั แปร ตวั แปร (Variables) ตวั แปร ตวั แปร คอื คุณลกั ษณะทเ่ี ปลยี่ นแปลงได้ ข้นึ อยกู่ บั ความแตกตา่ งเฉพาะบุคคลหรือกลุ่มตวั อยา่ ง เช่น อุณ ในแตล่ ะบคุ คล การนบั ถือศาสนา รายได้ อายุ ความสูง ตวั แปรคุณลกั ษณะ เหลา่ น้ีข้นึ อยกู่ บั แตล่ ะบคุ คล 3 ชนิดของ 1. ตวั แปรเชิงคุณภาพ เป็นตวั แปรท่ีขอ้ มลู ไม่ใช่ตวั เลขแตเ่ ป็นขอ้ มลู ที่มลี กั ษณะเป็นการแบง่ ประเภทให้เห กลมุ่ เช่น ศาสนา อาชีพ สถานภาพสมรส ระดบั การศกึ ษา 2. ตวั แปรเชิงปริมาณ เป็นตวั แปรทีถ่ กู วดั มามีคา่ เป็นตวั เลข เช่น จานวนบตุ ร รายได้ คะแนนสอบ ราคา ส ตวั แปรทใ่ี ชใ้ นการวิจยั มี 3 ประเภท คอื 1. ตวั แปรตน้ หรือตวั แปรอิสระ (Independent Variable) เป็นตวั แปรทเี่ กิดก่อน หรือ เป็น ตวั แปรท่ีเป็นตน้ เหตุท่ีทาให้เกิดผลตามมา 2. ตวั แปรตาม (Dependent Variable) เป็นตวั แปรทีเ่ กิดทีหลงั หรื เป็นตวั แปรท่ีเป็นผลมา จากการกระทาของตวั แปรตน้ และ มกั เป็นตวั แปรท่ผี วู้ จิ ยั สนใจศกึ ษา ตวั อยา่ งการกาหนดตวั แปรตน้ ตวั แปรตาม นกั เรียนเพศชายกบั เพศหญงิ มคี วามสนใจในการอา่ นขา่ วกีฬาแตกตา่ งกนั ตวั แปรตน้ คอื เพศ ตวั แปรตาม คือ ความสนใจในการอา่ นขา่ วกีฬา 3. ตวั แปรเกิน หรือตวั แปรแทรกซอ้ น (Extraneous Variable) เป็นตวั แปรทีส่ ่งผลต่อตวั แปร ตามแตผ่ วู้ จิ ยั ไม่ตอ้ งการศกึ ษา ถา้ ไมค่ วบคุมไวจ้ ะทาให้ผลการวิจยั คลาดเคลอ่ื น บางคร้งั
16 เรียกวา่ ตวั แปรควบคมุ (control Variable) ตวั อยา่ งการกาหนดตวั แปรตน้ ตวั แปรตาม ตวั แปรควบคุม นกั เรียนทเี่ รียนดว้ ยวิธีสอนแบบนิรนยั มีผลสมั ฤทธ์ิทางการเรียนสูงกวา่ นกั เรียนทีเ่ รียนดว้ ยวธิ ีปกติ ตวั แปรตน้ คอื วิธีสอน ตวั แปรตาม คือ ผลสอั นมฤทธ์ิทางการเรียน ตวั แปรเกืน คือ สติปัญญาของนกั เรียน ความสามารถในการสอนของครู การนิยามตวั แปร เม่อื ผวู้ จิ ยั กาหนดตวั แปรท่ีตอ้ งการทาวิจยั แลว้ ตอ้ งใหน้ ิยามความหมายตวั แปรใหช้ ดั เจน เพือ่ ประโยชนใ์ นการสร้า ลกั ษณะ คอื 1. นิยามทวั่ ไป (Genneral Deffinition) เป็นการอธิบายความหมายตวั แปรตามพจนานกุ รม ตามทฤษฎี หรือ หมายถึง ความคดิ ความเชื่อ หรือ มุมมองของบุคคลท่มี ีตอ่ สิ่งหน่ึงส่ิงใด 2. นิยามปฏิบตั ิการ(Operational Deffinition) เป็นการอธิบายความหมายตวั แปรให้มลี กั ษณะเฉพาะเจาะจ ตอ้ งการศกึ ษาอยา่ งชดั เจน ใชใ้ นการนิยามตวั แปรตาม เช่นความคิดเห็นทม่ี ีตอ่ การจดั การเรียนการสอน หมายถงึ ค ราชภฏั ที่มตี ่อการจดั การเรียนการสอนของอาจารย์ 4 ดา้ น คอื ดา้ นการเตรียมการสอน ดา้ นการดาเนินการสอน ดา้ น 5.4 กำรแสดงผลข้อมูล หน่วยแสดงผลขอ้ มูล (Output Unit) ทาหนา้ ท่แี สดงผลลพั ธ์ไดจ้ ากการประมวลผล ต่างๆ โดยอาจจะแสดงออกมา เช่น - จอภาพ - เคร่ืองพมิ พ์
17 - แฟกซ์ หมายถงึ การแสดงผลออกมาให้ผใู้ ชไ้ ดร้ ับทราบในขณะน้นั แต่เมื่อเลกิ การทางานหรือเลิกใชแ้ ลว้ ผลน้นั ก็จะหายไป ผลลพั ธ์น้นั กส็ ามารถส่งถา่ ยไปเกบ็ ในรูปของขอ้ มลู ในหน่วยเก็บขอ้ มลู สารอง เพอ่ื ใหส้ ามารถใชง้ านในภายหลงั ห จอภาพ (Monitor) อุปกรณ์ฉายภาพ (Projector) อุปกรณ์เสียง (Audio Output) ครื่องพิมพ์ (Printer) 5.5 กำรรับข้อมูล ขอ้ มลู ท่เี ราพบเห็นทกุ วนั น้ี มหี ลายรูปแบบ เช่น เป็ นตวั เลข ขอ้ ความ รูปภาพ เสียงต่าง ๆ เราสามารถรับรู้ข 1.การรบั รู้ขอ้ มลู ทางตา ไดแ้ ก่ การมองเห็น เช่น ขอ้ มูลภาพ จากหนงั สือ โทรทศั น์ เป็ นตน้ 2.การรับรู้ทางหู ไดแ้ ก่ การไดย้ นิ เสียงผ่านเขา้ มาทางหู เช่น ขอ้ มลู เสียงเพลง เสียงพูด เสียงรถ เป็นตน้ 3.การรับรู้ทางมอื ไดแ้ ก่ การสัมผสั กบั ขอ้ มลู เช่น การจบั เส้ือผา้ แลว้ รู้สึกว่านุ่ม เป็นเน้ือผา้ เป็นตน้ 4.การรับรู้ทางจมูก ไดแ้ ก่ การไดก้ ล่นิ เช่น หอมกลิ่นอาหาร กลิ่นดอกไม้ กล่นิ ขยะ เป็นตน้ 5.การรบั รู้ทางปาก ไดแ้ ก่ การรู้สึกถึงรส โดยการสมั ผสั ทางลิ้น เช่น เผด็ หวาน ขม เป็นตน้ 5.6 ค่ำคงท่ี ค่าคงที่ (Constant) เป็นตวั แปรประเภทหน่ึงทไ่ี มส่ ามารถเปลีย่ นแปลงคา่ ไดใ้ นขณะท่โี ปรแกรมทางาน นน่ั ในเวลาท่ีคอมไพเลอร์ทางาน หรือในตอนแรกทเ่ี ราสรา้ งตวั แปรค่าคงทข่ี ้นึ มา ค่าคงท่ีท่เี ราใชก้ นั บอ่ ยๆ น้นั เรียกว่า L Integer, Floating-point, Characters, Strings, Boolean, Pointers และค่าคงท่ที ่ีผูใ้ ชส้ ร้างข้ึนเอง ในการใชข้ อ้ มูลคา่ ซ้ากนั บ่อยๆ และคา่ ขอ้ มลู น้นั ไมม่ กี ารเปลี่ยนแปลงเลย ตลอดการใชง้ านโปรแกรม ควรเ
18 ประกาศตวั แปรให้เป็นแบบคา่ คงท่ี การประกาศตวั แปรให้เป็นแบบค่าคงท่แี ละกาหนดค่าคงท่ีเอาไว้ ใชร้ ูปแบบคาส่ังดงั น้ี Const ชื่อตวั แปร = คา่ ขอ้ มูล เช่น การประกาศตวั แปรใหเ้ ป็นแบบคา่ คงท่ชี ่ือ Pi เพอ่ื กาหนดค่าของ \"พาย\" ให้เป็นค่าคงท่เี ขยี นคาส่ังได Const Pi = 3.14159625358979 การประกาศตวั แปรค่าคงท่ี อาจกาหนดแบบขอ้ มลู ไวด้ ว้ ย โดยแบบดงั น้ี Const ชื่อตวั แปร As แบบขอ้ มูล = คา่ ขอ้ มลู เช่น Const Pi As Double = 3.14159625358979 หรือประกาศแบบขอ้ มลู ดว้ ยอกั ขระแทน เช่น Const Pi# = 3.14159625358979 Const Respounse$ = “Yes” การประกาศคา่ คงทจ่ี ะทาในบริเวณส่วนประกาศตอนตน้ ของโปรแกรมเช่นเดียวกนั การประกาศตวั แป 5.7 ตวั ดำเนนิ กำร ตวั ดาเนินการ (Operator) ในการเขียนโปรแกรมตวั ดาเนินการจะเป็นตวั ทาหนา้ ท่รี วมค่าตา่ งๆ และกระทากบั คา่ ตา่ งๆ ใหเ้ ป็นคา่ เดียว ซ่ึงตวั ดาเนินการมหี ลายประเภท ดงั ตอ่ ไปน้ี .1 ตวั ดาเนินการเลขคณิต 2 ตวั ดาเนินการเปรียบเทียบ
19 3 ตวั ดาเนินการทางตรรกะ 4 ตวั ดาเนินการเพม่ิ คา่ และลดค่า 5 ลาดบั ความสาคญั ของตวั ดาเนินการทางคณิตศาสตร์ 5.8 นิพจน์ นิพจน์ คอื กล่มุ ของขอ้ มลู ซ่ึงอาจจะอยใู่ นรูปของคา่ คงที่หรือตวั แปรมาดาเนินการโดยใชเ้ คร่ืองหมายตา่ ง ๆ เครื่องหมายการเปรียบเทยี บ หรือ เครื่องหมายทางตรรกศาสตร์ ตวั อยา่ ง นิพจน์ทางคณิตศาสตร์ เช่น (b * b – 4 * ทางตรรกศาสตร์ เช่น (c>100) && (a <= b) เป็นตน้ ดงั น้นั ในการเขียนผงั งานหรือการเขยี นโปรแกรมแต่ละระบบ อาจมีการใชเ้ คร่ืองหมายหรือ ตวั ดาเน เคร่ืองหมายหลายประเภท มกี ารเปรียบเทียบ หลายเง่ือนไข หรือมนี ิพจน์ท่ีซบั ซอ้ นนน่ั เอง
20 แบบสองทำงเลือก แบบ 2 ทำงเลือก หรือ โครงสร้ำง IF…THEN...ELSE อา้ งองิ ทีม่ า : http://www.krurock.com/Programming/lession01/lession01_4.php
Search
Read the Text Version
- 1 - 24
Pages: