kruchada.wikispaces.comkruchada.wikispaces.com/file/view/บทที่1-3.docx · web...

25
แแแแแแแแแแแแแแแ แแแแแแแ แแแแแแแแแแแ แแแแแแแ Crossword แแแแแ แแแแแแแแแแแแแแแแแ 1...ดดดดดดดด ดดดดดดดดดดดดดดด ดดดดดด 5 2...ดดดดดดดด ดดดดดดดด ดดด ดดด 17 3...ดดดด ดดดดดดดด ดดด ดดด 23 4...ดดดดดด ดดดดดดดดด ดดดดดด 31 5...ดดดดดดด ดดดดด ดดดดดด 36 6...ดดดดดดด ดดดดดดดดดด ดดดดดด 59 แแแแแแแแแแแแแแแแแแแ 3/1 แแแแแแแแแแแแแแแแแแแ แแแแแแแแแแ แแแแแแแแแแแแแแแแ แแแแแแแแแแแแแแแแแแแแแแแแแแแแแแแแแ แ 23101 แแแแแแแแ แแแแแแแแแแแแแแแแ แแแแแแแแแแแแแแแแแแแแแแ

Upload: vuonghanh

Post on 20-Jun-2018

226 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: kruchada.wikispaces.comkruchada.wikispaces.com/file/view/บทที่1-3.docx · Web viewแบบเสนอโครงร างโครงงานคอมพ วเตอร

แบบเสนอโครงราง โครงงานคอมพวเตอร

โครงงาน Crossword หรรษา

ชอผทำาโครงงาน1.ด.ช.ชนวฒน ไชยสรยะศกด เลขท 52.ด.ช.ภทรพงษ วงษาซาย เลขท 17

3.ด.ช.สรธร ศรเมอง เลขท 23

4.ด.ญ.กมลชนก ออเขายอย เลขท 31

5.ด.ญ.ทพวรรณ ใยมาก เลขท 36

6.ด.ญ.อาทตยา ชวลตดำารง เลขท 59

ชนมธยมศกษาปท 3/1

ครทปรกษาโครงงาน นางสาวชาดา ศกดบญญารตน

โครงงานนเปนสวนหนงของรายวชา ง 23101 การเขยนโปรแกรมเบองตน โรงเรยนพระปฐมวทยาลย

สำานกงานเขตพนทการศกษามธยมศกษาเขต 9ระยะเวลาดำาเนนงาน ภาคเรยนท 1 ปการศกษา 2555

Page 2: kruchada.wikispaces.comkruchada.wikispaces.com/file/view/บทที่1-3.docx · Web viewแบบเสนอโครงร างโครงงานคอมพ วเตอร

บทท 1บทนำา

1.1 แนวคด ทมา และความสำาคญเนองดวยในปจจบนเทคโนโลยไดเขามามบทบาทในชวตประจำาวนขนมาก

และการเขยนโปรแกรม กเปนสวนหนงของเทคโนโลยเหลานน การเขยนโปรแกรมจงมการพฒนาในดานตางๆ เชน การศกษา การพฒนาเครองมอ การทดลองทฤษฎ การปฏบตใชงาน การพฒนาเกม เปนตน

โปรแกรมคอมพวเตอรในปจจบนไดมการประยกตใชงานในหลายๆดานมากมาย เชน การพฒนาโปรแกรมเกยวกบการศกษากสามารถนำามาเผยแพรความรเรองการคำานวณคณตศาสตร เรองการสอนภาษาตางประเทศ เปนตน ซงจากทกลาวมานนทำาใหกลมขาพเจาเหนความสำาคญของการเขยนโปรแกรมคอมพวเตอรเพอทจะนำามาประยกตทำาใหเกดประโยชน

ดงนนกลมของขาพเจาจงไดจดทำาโครงงานคอมพวเตอร เรอง Crossword หรรษา ขนมาเพอใชในการพฒนาสอการเรยนการสอนดวยการเขยนโปรแกรม โดยมขอมลเกยวกบคำาศพทภาษาองกฤษหมวดตางๆ ทนำาไปในใชการเรยนวชาภาษาตางประเทศและในชวตประจำาวนอกดวย1.2 วตถประสงค

1.2.1 เพอศกษาเกยวกบคำาศพทภาษาองกฤษ โดยการเลนเกม Crossword หรรษา

1.2.2 เพอพฒนาโปรแกรม Crossword หรรษา มาประยกตใชงานใหเกดประโยชน

1.2.3 เพอประเมนผลงานของโปรแกรม Crossword หรรษา1.3 หลกการและทฤษฎทใช

1.3.1 องคความรเกยวกบเรอง CrosswordCrossword เปนกฬาตอศพทอกษรไขวภาษาองกฤษ ทกษะของการเลนคอการประกอบตวอกษรทมอยใหเปนคำาในภาษาองกฤษและตอลงในชองตารางบนกระดานใหเกดผลดทสด เมอสนสดการแขงขนผทไดคะแนนมากกวาจะเปนผชนะ

Page 3: kruchada.wikispaces.comkruchada.wikispaces.com/file/view/บทที่1-3.docx · Web viewแบบเสนอโครงร างโครงงานคอมพ วเตอร

1.3.2 หลกการเขยนโปรแกรมเบองตนการเขยนโปรแกรม คอ การนำาเอาคำาสงของภาษาในการเขยนโปรแกรมภาษาใดภาษาหนง มาจดเรยงตอกนตามลำาดบขนตอนทเหมาะสม เพอใหคอมพวเตอรทำางานไดตามคำาสงทตองการ

กระบวนการเขยนโปรแกรม การเขยนโปรแกรมคอการพฒนาซอฟตแวรขนมาเพอใชในการควบคมคอมพวเตอรใหทำางานตามทตองการ กระบวนการเขยนโปรแกรมมขนตอนดงน1.วเคราะหปญหา และความตองการ2.ออกแบบโปรแกรม3.เขยนโปรแกรม4.ทดสอบโปรแกรม5.เขยนเอกสารประกอบโปรแกรม

1.3.3 โปรแกรมภาษาซภาษาซเปนภาษาแบบโครงสราง ดงนนการจะเขยนโปรแกรมภาษาซใหมประสทธภาพผเขยนจำาเปนตองศกษาโครงสรางของภาษาซอยางเขาใจ โดยองคประกอบทสำาคญของภาษาซมดงน

องคประกอบทสำาคญของภาษาซ1. โครงสรางของภาษาซ (Structure)2. ขอมล (Data)3. ตวแปร (Variable)4. ตวดำาเนนการ (Operator)5. นพจน (Expression)6. หมายเหต (Comment)7. ประเภทของคำาสงในภาษาซ (Type of Command)

โครงสรางของภาษาซ (Structure)โปรแกรมทเขยนดวยภาษาซมโครงสรางดงน1. สวนคำาสงพรโพรเซสเซอร (Preprocessor Statement)

Page 4: kruchada.wikispaces.comkruchada.wikispaces.com/file/view/บทที่1-3.docx · Web viewแบบเสนอโครงร างโครงงานคอมพ วเตอร

2. สวนประกาศ (Global Declaration)3. สวนฟงกชนหลก (Main function) 4. ฟงกชนทผใชกำาหนดเอง (User-define function)

1.3.4 โปรแกรม Code Blockในการเขยนโปรแกรมเพอสงงานใหเครองคอมพวเตอรทำางานจำาเปนตองมสวนตดตอกบผใช โดยจะเลอกใช IDE ของ Code Block ซง IDE ทเลอกใช จะมความสามารถหลก ๆ คอ

พฒนาโปรแกรมตนฉบบ (Edit) คอมไพลโปรแกรม (Compile) ประมวลผลการทำางาน (Run)

1.4 ขนตอนการดำาเนนงาน1.4.1 ฮารดแวร ซอฟแวร และเครองมอทใช

ฮารดแวร แปนพมพ เมาส CPU จอภาพ เครองพมพ ซอฟแวร โปรแกรมภาษาซ โปรแกรม Code Block

1.4.2 ขนตอนการพฒนาโครงงาน 1.ศกษาและวเคราะห คอ วเคราะห คอ วเคราะหปญหาทจะเกดขน2.ออกแบบโปรแกรม คอ การจกทำาโปรแกรม โดยใชโปรแกรมภาษา

ซในการออกแบบการกำาหนดตวแปรและใชรหสจำาลอง3.พฒนาโปรแกรม คอ การพฒนาโปรแกรมออกมาตามทคดไว4.การทดสอบโปรแกรม คอ การทดลองใชโปรแกรมตามเงอนไข

ตางๆตามทเขยนขนเพอใหรวาโปรแกรมทพฒนานนสามารถนำาไปใชงานจรงไดหรอไม

5.การบำารงรกษา คอ หากโปรแกรมไมสามารถทำางานไดตามทออกแบบไวกดำาเนนการแกไขจนกวาจะสามารถทำางานไดตามทออกแบบไว และเกบขอมลไวในทเกบขอมล

Page 5: kruchada.wikispaces.comkruchada.wikispaces.com/file/view/บทที่1-3.docx · Web viewแบบเสนอโครงร างโครงงานคอมพ วเตอร

6.การนำาเสนอ คอ การนำาเสนอขอมล งานออกแบบโปรแกรมทไดทำาการสรางขนมา

1.5. แผนปฏบตงาน ลำาดบท

กจกรรม วนท 1 วนท 2 วนท 3123412341234

1 ศกษาและวเคราะหปญหา                        2 ออกแบบโปรแกรม                        3 พฒนาโปรแกรม                        4 ทดสอบและแกไขโปรแกรม                        5 จดทำารายงาน และคมอการใช

โปรแกรม                       

6 นำาเสนอโครงงาน                        

1.6 ผลทคาดวาจะไดรบ 1.6.1 ผเลนจะไดรบความรเกยวกบคำาศพททมคละกนหลายๆกลม1.6.2 สามารถนำาโปรแกรมภาษาซมาประยกตใชใหเกดประโยชน1.6.3 ประเมนผลงานของการประยกตใชโปรแกรมภาษาซได

1.7 คำานยามศพทเฉพาะ Crossword แปลวา ปรศนาอกษรไขวกจะเปนเกยวกบการเตมอกษรภาษาองกฤษใหเปนคำาทถกตอง หรรษา แปลวา ความรนเรง, ความยนด กจะเปนคำาศพททมหลากหลายประเภทเลนแลวกจะเกดความสนกพรอมกบไดรบความรไปดวย

บทท 2หลกการและทฤษฎทเกยวของ

Page 6: kruchada.wikispaces.comkruchada.wikispaces.com/file/view/บทที่1-3.docx · Web viewแบบเสนอโครงร างโครงงานคอมพ วเตอร

2.1 องคความรเกยวกบเรอง CrosswordCrossword เปนกฬาตอศพทอกษรไขวภาษาองกฤษ ทกษะของการ

เลนคอการประกอบตวอกษรทมอยใหเปนคำาในภาษาองกฤษและตอลงในชองตารางบนกระดานใหเกดผลดทสด เมอสนสดการแขงขนผทไดคะแนนมากกวาจะเปนผชนะอปกรณการเลน1. กระดาน (Board) มขนาดกวาง 15 ชอง และสง 15 ชอง รวมทงสน 225 ชอง2. เบย (Tile) มทงสน 100 ตวในถง (ดจำานวนตวทเหลอไดทดานซายของหนาเกม)3. แปน (Rack) ใชในการวางเบย โดยแตละฝายจะมเบยในแปนฝายละ 7 ตวกตกาการเลนทวไป1. ในการลงแตละครง (Turn) ใหผเลนลงเบยกตวกไดในแนวเดยวกนและตอกบเบยเดมในกระดาน เพอใหเกดเปนคำาภาษาองกฤษทถกตอง2. การลงครงแรก ตองตอกบชองดาวบนกระดาน3. การคดคะแนน นำาคะแนนของเบยแตละตวในสมการมาบวกกน หากลงเบยใหมในชองคะแนนพเศษจะไดคะแนนเพม ดงน      -  ชองสแดง นำาคะแนนของทงคำาคณสาม      -  ชองสชมพ นำาคะแนนของทงคำาคณสอง      -  ชองสนำาเงน นำาคะแนนของตวเบยททบชองคณสาม และ     -  ชองสฟา นำาคะแนนของตวเบยททบชองคณสอง 4. การสนสดเกม มสองกรณ คอ     -  เมอเบยในถงหมด และผเลนฝายใดฝายหนงใชเบยทมอยจนหมด หรอ     -  เมอผเลนทง 2 ฝายมการเลนไปแลว และหลงจากนนไมมการลงเบยในกระดานตดตอกนรวม 6 ครงกตกาการเลนพเศษ

Page 7: kruchada.wikispaces.comkruchada.wikispaces.com/file/view/บทที่1-3.docx · Web viewแบบเสนอโครงร างโครงงานคอมพ วเตอร

1. การขอเปลยนตว ผเลนสามารถเปลยนตวไดตงแต 0-7 ตว และจะเสยตาเดน 1 ครง โดยใหนำาเบยทตองการเปลยนมาวางบนกระดานและกด Ex แตถาเบยในถงเหลอนอยกวา 7 ตวจะไมสามารถเปลยนได 2. การขอชาเลนท ผเลนสามารถทำาการขอชาเลนท(Challenge) ไดเฉพาะเกม R/C หรอ U/C และถามคำาศพทนนในพจนานกรม จะถอวา ผเลนทขอชาเลนทจะเสยตาเดนไปทนท แตถา ไมมคำาศพทในพจนานกรม จะนำาคำาศพทนนออกจากกระดานและ ผทขอชาเลนทจะไดเลนในตานนดวย 3. การทำาบงโก หากผเลนสามารถลงเบยทง 7 ตวไดในตาเลนครงเดยว จะไดคะแนนพเศษเพมอก 50 คะแนน4. เวลา รปแบบของเวลาจะเปน เวลาเรมตนเปนนาท/เวลาทไดเพมขนหลงจากการลงเบยในแตละตาเปนวนาท5. คำาทถกตอง ยดตามพจนานกรม The Official Scrabble Players Dictionary (Third Edition)

2.2 หลกการเขยนโปรแกรมเบองตนการเขยนโปรแกรม คอ การนำาเอาคำาสงของภาษาในการเขยน

โปรแกรมภาษาใดภาษาหนง มาจดเรยงตอกนตามลำาดบขนตอนทเหมาะสม เพอใหคอมพวเตอรทำางานไดตามคำาสงทตองการ

เนองจากคอมพวเตอรจะเขาใจเฉพาะขอมลทอยในรปแบบของเลขฐานสองเทานน เพราะฉะนนการเขยนโปรแกรมในยคแรกๆ ผเขยนโปรแกรมจงจะตองสามารถจดจำาคำาสงเลขฐานสอง และนำาเอาคำาสงเหลานมาปอนใหคอมพวเตอรทละคำาสงซงเปนกระบวนการทยากลำาบากและเสยเวลามาก ในยคตอมาจงมการประดษฐเครองมอขนมาเพอใชเปนตวกลางระหวางนกเขยนโปรแกรมกบคอมพวเตอร เครองมอนเราเรยกวา ตวแปลภาษา

ตวแปลภาษา คอ ซอฟตแวรชนดหนงซงใชในการเขยนโปรแกรม มหนาทดงน

Page 8: kruchada.wikispaces.comkruchada.wikispaces.com/file/view/บทที่1-3.docx · Web viewแบบเสนอโครงร างโครงงานคอมพ วเตอร

1. เตรยมชดคำาสงหรอเครองมอตางๆไวใหโปรแกรมเมอรใชเพอสรางชดคำาสงขนมา ชดคำาสงเหลานเรยกวา ซอสโคด (source code)

2. ตรวจสอบคำาสงหรอซอสโคดทถกเขยนขนวาถกตองตามหลกไวยกรณของภาษานนๆหรอเปลา

3. แปลคำาสงทอยในรปแบบของภาษาการเขยนโปรแกรม (source code) ซงเปน

ภาษาทมนษยเขาใจใหกลายเปนภาษาเครอง (Program) ซงเปนภาษาทคอมพวเตอรเขาใจและสามารถทำางานได หนาทของตวแปลภาษาคลายกบลามแปลภาษาสามารถแสดงไดดงน

ระดบของภาษาในการเขยนโปรแกรมภาษาในการเขยนโปรแกรมจะแบงไดเปน 3 ระดบตามความใกลเคยง

กบภาษามนษย สามารถอธบายไดดงน- ภาษาระดบสงเปนภาษาทใกลเคยงกบภาษามนษยมากทสดเชน C, turbo pascal, COBOL, FORTRAN เปนตน- ภาษาระดบตำาเปนภาษาทใกลเคยงกบภาษาเครอง เชน ภาษาแอสเซมบล - ภาษาเครอง เปนภาษาทเครองคอมพวเตอรเขาใจ อยในรปเลขฐานสองคอ 0 กบ 1

ประเภทของตวแปลภาษา

ตวแปลภาษาแบงออกไดเปน 2 ประเภทหลกๆ ทงสองประเภทจะมชดคำาสงไวสำาหรบเขยนโปรแกรมเหมอนกนแตจะแตกตางกนตรงขนตอนการแปลภาษา คอ

ภาษาเขยนโปรแกรม

ตวแปลภาษา

ชดคำาสงภาษาเครอง

Page 9: kruchada.wikispaces.comkruchada.wikispaces.com/file/view/บทที่1-3.docx · Web viewแบบเสนอโครงร างโครงงานคอมพ วเตอร

1. คอมไพเลอร (compiler) เปนตวแปลภาษา ทมหลกการทำางานคอ คอมไพเลอรจะ

ทำาการตรวจสอบชดคำาสงหรอซอสโคดทถกเขยนขนทงหมดกอนวาถกตองตามไวยกรณหรอไม ถาถกตองทงหมดจงจะทำาการแปลเปนภาษาเครองแตถาไมถกตองกจะแจงความผดพลาดตอผเขยนโปรแกรมเพอทำาการแกไขตอไป ตวอยางของภาษาในการเขยนโปรแกรมทมตวแปลภาษาเปนแบบคอมไพเลอรเชน pascal, c, visual basic เปนตนขอด เมอผานการตรวจสอบและแปลเปนภาษาเครองเรยบรอยแลวเวลาสงใหทำางาน โปรแกรมทไดกจะทำางานไดโดยทนท (เพราะเปนภาษาเครองอยแลว) เพราะฉะนนการทำางานจะเรวเพราะไมตองเสยเวลาในการแปลอกขอเสย ซอสโคดทเขยนขนจะตองถกตองทงหมดเทานนจงจะสามารถไดโปรแกรมทสามารถทำางานได

2. อนเตอรพรเตอร (interpreter) เปนตวแปลภาษาทำางานแบบ แปลไปทำางานไป

นนคอ อนเตอรพรเตอรจะทำาอานอานคำาสงมาทละคำาสงจากนนกแปลและทำางานตามคำาสงนน ตวอยางของภาษาทมตวแปลภาษาแบบอนเตอรพรเตอรเชน java script, HTML เปนตนขอด สามารถทำางานไดแมจะมบางคำาสงจะผดขอเสย ตองเสยเวลาในการแปลคำาสงใหมทกครง ทำาใหการทำางานชากวาตวแปลภาษาแบบคอมไพเลอรในทนจะขอเนนไปทการใชงานตวแปลภาษาแบบคอมไพเลอร ซงมกจะใชในการสรางโปรแกรมประยกตในการใชงานทวไปกระบวนการเขยนโปรแกรม

การเขยนโปรแกรมคอการพฒนาซอฟตแวรขนมาเพอใชในการควบคมคอมพวเตอรใหทำางานตามทตองการ กระบวนการเขยนโปรแกรมมขนตอนดงน1. วเคราะหปญหา และความตองการ

เปนขนตอนททำาการศกษารายละเอยดขอมลความตองการของผใช เพอใชเปนขอมล

Page 10: kruchada.wikispaces.comkruchada.wikispaces.com/file/view/บทที่1-3.docx · Web viewแบบเสนอโครงร างโครงงานคอมพ วเตอร

ประกอบการเขยนโปรแกรมวาตองทำาอะไรบาง เนนสวนใด ตองใชบคลากรเทาใด ตองไปหาขอมลอะไรเพม สรปจดมงหมายของการวเคราะหปญหาและความตองการกคอการทำาใหเขยนโปรแกรมออกมาแลวถกตองตรงกบความตองการใชและแกปญหาไดจรง

2. ออกแบบโปรแกรมขนตอนนเปนการวางเคาโครงคราวๆของโปรแกรมทตองการเขยน จดมงหมายของการออกแบบโปรแกรมจะไมเนนไวยกรณวาจะตองถกตองตรงตามขอกำาหนดของภาษานนๆ แตจะเนนในการแสดงแนวคดและขนตอนทสำาคญ เพอใชเปนแนวทางในการเขยนโปรแกรม

3. เขยนโปรแกรมเปนขนตอนทโปรแกรมเมอรทำาการเลอกนำาคำาสงมาจดเรยงกนตามทไดออกแบบไวกลายเปนซอสโคดและสงใหคอมไพเลอรแปลเปนโปรแกรมภาษาเครองตอไป

4. ทดสอบโปรแกรมการทดสอบโปรแกรมเปนการตรวจสอบวาโปรแกรมทเขยนขนมานนสามารถทำางานไดถก

ตองตามความตองการหรอเปลา เปนการคนหาความผดพลาดทเกดขนซงอาจพบไดในสวนตางๆตอไปน

- ความผดพลาดทไวยกรณ (syntax error) ความผดพลาดนจะเกดขนจากการทผเขยนโปรแกรมใชคำาสงไมถกตองตามทกำาหนด เมอไวยกรณผดตวแปลภาษาจะไมทำาการแปลซอสโคดดงกลาวเปนภาษาเครองให

- ความผดพลาดในขณะทำางาน (runtime error) ความผดพลาดชนดนจะเกดขนหลงผานการแปลเปนภาษาเครองแลวแตคำาสงบางคำาสงไมสามารถทำางานได เชน การหารดวย 0 เปนตน

Page 11: kruchada.wikispaces.comkruchada.wikispaces.com/file/view/บทที่1-3.docx · Web viewแบบเสนอโครงร างโครงงานคอมพ วเตอร

- ผลลพธผดพลาด (result error) เปนความผดพลาดทเกดจากผลลพธการทำางาน เชน ผลการคำานวณไมตรงตามความตองการ

เมอพบขอผดพลาดแลวผเขยนโปรแกรมตองทำาการแกไขในสวนทผดเราเรยกกระบวนการแกไขนวา การดบก (debugging)

5. เขยนเอกสารประกอบโปรแกรมขนตอนนเปนการสรางเอกสารตางๆทเกยวของกบโปรแกรมนนๆ เชน การออกแบบ

โปรแกรม คมอการใชงานโปรแกรม วธการลงโปรแกรม เปนตน ซงบางครงเอกสารเหลานจะเปนประโยชนตอการพฒนาโปรแกรมนตอไป ทำาใหการใชงานโปรแกรมมประสทธภาพมากยงขน

โครงสรางของโปรแกรม

โปรแกรมทเขยนขนจะมโครงสรางตามลกษณะใด ลกษณะหนงตอไปน1.โครงสรางแบบตามลำาดบ (Sequence structure) มลกษณะดงน

- คำาสงตางๆจะทำางานเพยงแคครงเดยว- ลำาดบการทำางานจะเปนไปตามลำาดบจากจดเรมตนไปจดสนสด- ทกคำาสงจะทำางาน

2.โครงสรางแบบเงอนไข (Selection structure) มลกษณะดงตอไปน- คำาสงตางๆจะทำางานไมเกน 1 ครง- ลำาดบการทำางานจะเปนไปตามลำาดบจากจดเรมตนไปจดสนสด- จะมบางคำาสงทำางานบางคำาสงไมทำางานตามเงอนไขทกำาหนด

3.โครงสรางแบบทำาซำา (Repetition structure) มลกษณะดงตอไปน- จะมบางคำาสงทำางานบางคำาสงไมทำางานตามเงอนไขทกำาหนด- จะมบางคำาสงททำางานมากกวา 1 ครง- หลงจากการทำางานจากคำาสงลางแลวบางครงอาจมการยอนกลบขนไปทำาคำาสง บนตามเงอนไขทกำาหนด

สรปคำาศพททเกยวของกบการเขยนโปรแกรม

Page 12: kruchada.wikispaces.comkruchada.wikispaces.com/file/view/บทที่1-3.docx · Web viewแบบเสนอโครงร างโครงงานคอมพ วเตอร

- นกเขยนโปรแกรม หรอ โปรแกรมเมอร (programmer) เปนผทนำาเอาคำาสงของภาษาการเขยนโปรแกรมมาจดเรยงตามลำาดบขนตอนทเหมาะสม เพอนำาไปใชในการควบคมการทำางานของคอมพวเตอรตามความตองการ

- ซอสโคด (source code) เปนชดคำาสงทโปรแกรมเมอรเขยนขนมาแตยงอยในรปของภาษาการเขยนโปรแกรมซงเปนภาษาทมนษยเขาใจยงไมถกแปลเปนภาษาเครอง จงยงไมสามารถทำางานได

- โปรแกรม (program) เปน ซอสโคดทผานการแปลเปนภาษาเครองเรยบรอยแลว เกบอยในฮารดดสก พรอมททำางานแตยงไมทำางาน

- โปรเซส (process) คอ โปรแกรมทกำาลงทำางานอยในหนวยความจำาหลก

- คอมไพเลอร เปนตวแปลภาษาททำาการตรวจสอบไวยกรณทงหมดกอนแลวจงคอยแปลเปนภาษาเครอง จากนนจงคอยทำางานครงเดยว

- อนเตอรพรเตอร เปนตวแปลภาษาททำาการแปลไปทำางานไป

2.3 โปรแกรมภาษาซภาษาซเปนภาษาแบบโครงสราง ดงนนการจะเขยนโปรแกรมภาษาซ

ใหมประสทธภาพผเขยนจำาเปนตองศกษาโครงสรางของภาษาซอยางเขาใจ โดยองคประกอบทสำาคญของภาษาซมดงนองคประกอบทสำาคญของภาษาซ1. โครงสรางของภาษาซ (Structure)2. ขอมล (Data)3. ตวแปร (Variable)4. ตวดำาเนนการ (Operator)5. นพจน (Expression)6. หมายเหต (Comment)7. ประเภทของคำาสงในภาษาซ (Type of Command)โครงสรางของภาษาซ (Structure)

Page 13: kruchada.wikispaces.comkruchada.wikispaces.com/file/view/บทที่1-3.docx · Web viewแบบเสนอโครงร างโครงงานคอมพ วเตอร

สวนคำาสงพรโพรเซสเซอร (Preprocessor Statement)

สวนประกาศภายนอก (Global Declaration)

ฟงกชนหลก Main function

สวนประกาศภายใน (local declaration)

คำาสงภายใน Local Declaration

ฟงกชนทผใชกำาหนดเอง (User-define function)

โปรแกรมทเขยนดวยภาษาซมโครงสรางดงน1. สวนคำาสงพรโพรเซสเซอร (Preprocessor Statement)2. สวนประกาศ (Global Declaration)3. สวนฟงกชนหลก (Main function) 4. ฟงกชนทผใชกำาหนดเอง (User-define function)

คำาสงพรโพรเซสเซอร (Preprocessor Statement)สวนคำาสงพรโพรเซสเซอร เปนคำาสงทจะดำาเนนการกอนทจะแปลคำา

สงตางๆ มสองคำาสงทสำาคญคอ #define ใชสำาหรบกำาหนดคาคงท และ #include ใชสำาหรบเรยกใชไฟลอนๆสวนประกาศทวไป (Global Declaration)

สวนประกาศทวไป เปนสวนทใชประกาศฟงกชนหรอตวแปร ซงสามารถใชไดทวไปทงโปรแกรมสวนฟงกชนหลก (main() function)

สวนฟงกชนหลก เปนสวนทตองมในทกโปรแกรมซงจะเปนฟงกชนแรกทถกเรยกใช ในฟงกชน main() จะประกอบดวยสวนประกาศและคำาสงตางๆ อยภายในเครองหมาย {}สวนฟงกชนทสรางเอง (user-defined function)

Page 14: kruchada.wikispaces.comkruchada.wikispaces.com/file/view/บทที่1-3.docx · Web viewแบบเสนอโครงร างโครงงานคอมพ วเตอร

เปนฟงกชนทผเขยนโปรแกรมกำาหนดขนเอง เปนสวนทเปดโอกาสใหผเขยนสามารถกำาหนดฟงกชนเพอใชทำางานตางๆได องคประกอบของฟงกชนทผใชกำาหนดเองจะมองคประกอบเหมอนฟงกชน main() เพยงแตใชชออน

ขอมล (Data)ขอมลหมายถงสงทนำาไปใชในการประมวลผล ขอมลในภาษาซแบง

ออกเปน 6 ประเภทคอ1. เลขจำานวนเตม (integer)

เลขจำานวนเตมในภาษาซ หมายถง จำานวนเตมบวก จำานวนเตมศนยและจำานวนเตมลบ เปนขอมลทสามารถนำาไปคำานวณได เหมาะกบการใชเกบขอมลสงทเปนจำานวนเตม เชน จำานวนคน สตว เปนตน

2. เลขทศนยม (float)เปนตวเลขทศนยม อาจมเครองหมายบวกหรอเรองหมายลบ สามารถนำาไปใชในการคำานวณได การแสดงตวเลขทศนยมในภาษาซถาไมมการจดรปแบบจแสดงในรปแบบของ e ยกกำาลง เชน 1.5e+15, -1.2e+05 เปนตน

3. เลขฐานแปด (octal)การเขยนเลขฐาน 8 ทำาไดโดยใชเลข 0 (ศนย) นำาหนาตวเลขนน

4. เลขฐานสบหก (Hexadecimal)การเขยนเลขฐาน 8 ทำาไดโดยใชตว 0x (ศนยเอกซ) นำาหนาตวเลขนน

5. ตวอกขระ (character)หมายถง ตวอกษรหรอสญลกษณพเศษตางๆทมความยาว 1 ตวอกษรเทานน สามารถเปนไดตงแต A-Z, a-z, 0-9, หรอสญลกษณพเศษตางๆขอมลตวอกษรตองเขยนอยในเครองหมาย ‘’ (single quote)

6. ขอความ (string)ขอมลขอความในภาษาซ หมายถง ขอมลทประกอบดวยตวอกขระมากกวา 1 ตวเรยงตดกนเปนขอความ การเขยนขอมลขอความจะตองอยในเครองหมาย “ ” (double quote)

Page 15: kruchada.wikispaces.comkruchada.wikispaces.com/file/view/บทที่1-3.docx · Web viewแบบเสนอโครงร างโครงงานคอมพ วเตอร

ตวแปร (variable)ตวแปร หมายถง ชอทตงขนมาเพอใชในการอางองขอมลในหนวย

ความจำาหลกของเครองคอมพวเตอร ซงการใชงานขอมลตางๆตองเรยกผานชอของตวแปรเสมอ

ตวดำาเนนการ (operator)ตวดำาเนนการในภาษาซ แบงออกเปน1. ตวดำาเนนการทางคณตศาสตร (Mathematical Operators)2. ตวดำาเนนการเปรยบเทยบ (Relation Operators) 3. ตวดำาเนนการทางตรรกะศาสตร (Logical Operators)4. ตวดำาเนนการเพมคาและลดคา (Increment and

Decrement Operators)5. ตวดำาเนนการบตไวส (Bitwise Operators)

นพจน (Expression)นพจน หมายถง การนำาเอาคาคงท ตวแปร และตวดำาเนนการมา

ประกอบกนแลวเขยนเปนคำาสงตามไวยกรณ ทำาใหสามารถทำางานไดตามตองการ

หมายเหต (Comment)การเขยนหมายเหตไวในโปรแกรมชวยเพมความเขาใจของผเขยน

หรอเพอใหผทมาอานโปรแกรมไดเขาใจในสงทเขยนขน รปแบบการเขยนหมายเหตในภาษาซม 2 รปแบบคอ

รปแบบท 1 แบบบรรทดเดยวใชเครองหมาย // เชน// this is commentรปแบบท 2 แบบหนงหรอมากกวาหนงบรรทด ขนอยกบขอความ

โดยขอความจะอยระหวางเครองหมาย /* กบ */ เชน /* comment */

Page 16: kruchada.wikispaces.comkruchada.wikispaces.com/file/view/บทที่1-3.docx · Web viewแบบเสนอโครงร างโครงงานคอมพ วเตอร

หรอ/* comment 1

comment 2 */

ประเภทของคำาสงในภาษาซ (Type of Command)คำาสงในภาษาซแบงออกเปน 4 ประเภทคอ1. คำาสงแสดงผล (Output) เปนคำาสงทใชในการแสดงขอมล เชน

printf();2. คำาสงรบขอมล (Input) เปนคำาสงทใชในการรบขอมล เชน

scanf();3. คำาสงเงอนไขหรอเลอกทำา (condition) เชน if4. คำาสงวนรอบในการทำางาน (looping) เปนคำาสงทวนรอบในการ

ทำางาน เชน for,while

2.4 โปรแกรม Code Blockในการเขยนโปรแกรมเพอสงงานใหเครองคอมพวเตอรทำางานจำาเปนตองมสวนตดตอกบผใช จะเลอกใช IDE ของ CodeBlocks สำาหรบทดลอง ซง IDE ทเลอกใช จะมความสามารถหลก ๆ คอ

- พฒนาโปรแกรมตนฉบบ (Edit) - คอมไพลโปรแกรม (Compile) และ- ประมวลผลการทำางาน (Run)

การเรยกใช Code::Blocksการเรยกใช CodeBlocks ทำาไดทำานองเดยวกบการเรยกใชโปรแกรมอน ๆ เชน เรยกท Start > All Programs > CodeBlocks > คลกท CodeBlocks ดงรป

Page 17: kruchada.wikispaces.comkruchada.wikispaces.com/file/view/บทที่1-3.docx · Web viewแบบเสนอโครงร างโครงงานคอมพ วเตอร

จะไดหนาตางโปรแกรม Code::Blocks ดงรป

การสรางแฟมตนฉบบ (Source Code)

การสรางแฟมตนฉบบ (Source Code)

Page 18: kruchada.wikispaces.comkruchada.wikispaces.com/file/view/บทที่1-3.docx · Web viewแบบเสนอโครงร างโครงงานคอมพ วเตอร

การสรางแฟมตนฉบบ (Source Code)

เมอเขยนคำาสงใน Code::Blocks

Page 19: kruchada.wikispaces.comkruchada.wikispaces.com/file/view/บทที่1-3.docx · Web viewแบบเสนอโครงร างโครงงานคอมพ วเตอร

การคอมไพล หรอ การแปลโปรแกรมตนฉบบเปนภาษาเครอง

การตรวจสอบขอผดพลาดในโปรแกรม (Debug)

Page 20: kruchada.wikispaces.comkruchada.wikispaces.com/file/view/บทที่1-3.docx · Web viewแบบเสนอโครงร างโครงงานคอมพ วเตอร

การคอมไพลโปรแกรมในกรณทไมมขอผดพลาด

การทดสอบโปรแกรม

Page 21: kruchada.wikispaces.comkruchada.wikispaces.com/file/view/บทที่1-3.docx · Web viewแบบเสนอโครงร างโครงงานคอมพ วเตอร

บทท 3วธการดำาเนนการ

Page 22: kruchada.wikispaces.comkruchada.wikispaces.com/file/view/บทที่1-3.docx · Web viewแบบเสนอโครงร างโครงงานคอมพ วเตอร

3.1 การศกษาและวเคราะหปญหา คอ การศกษาถงปญหาทเกดขนและคนหาสงทตองการโดยใชแผนผงการวเคราะหขอมลนำาเขา การประมวลผล และการแสดงผล เปนตน3.2 ออกแบบโปรแกรม คอ การใชเครองมอตางๆออกแบบลำาดบขนการทำางานของโปรแกรมโดยใช รหสจำาลองละผงงาน เปนตน3.3 การพฒนาโปรแกรม คอ การเขยนโปรแกรมผานการเขยนโคดการคอมไพลโปรแกรมโดยใชภาษา C++Language3.4 การทดสอบโปรแกรมและแกไขโปรแกรม คอการนำาปญหาทเกดขนมาแกไขใหโปรแกรมมประสทธภาพยงขน รวมทงอาจเปนการตรวจสอบความผดพลาดของโปรแกรมอกดวย3.5 จดทำารายงาน คอ และคมอการใชโปรแกรม คอ เปนการจดทำารายงาน และคมอการใชเพออธบายการทำางานของโปรแกรมหรอการใชโปรแกรม3.6 นำาเสนอโครงงาน คอ การถายทอดขอมลของเราใหผอนไดรบร โดยตรง หรอ การใชสอตางๆแทนการนำาเสนอโดยตรง