21
โครงงานคอมพิวเตอร์ เรื่อง โปรแกรมคานวณหาค่า BMI ด้วยภาษาซี เสนอ คุณครู ธัญพิสิษฐ์ คุณยศยิ่ง จัดทาโดย 1. นายยศพล กันทะ เลขที31 2. นายเบญญาภา ติใหม่ เลขที35 3. นายจินตภพ สว่างวงค์ เลขที37 4. นางสาวเพลินพฤกษา วรวีระวงศ์ เลขที44 5. นางสาวสิริยากร หรั่งนางรอง เลขที45 6. นางสาวพัชรีพร สอนเจริญทรัพย์ เลขที50 ชั้นมัธยมศึกษาปีท่ 4/6 วิชาวิทยาการคานวณ 1 รหัสวิชา ว 30142 ปีการศึกษา 2561 โรงเรียนยุพราชวิทยาลัย สานักงานเขตพื้นที่การศึกษามัธยมศึกษา เขต 34

โครงงานคอมพิวเตอร์ เรื่อง โปรแกรม · โครงงานคอมพิวเตอร์ เรื่อง โปรแกรมค

  • Upload
    others

  • View
    17

  • Download
    0

Embed Size (px)

Citation preview

Page 1: โครงงานคอมพิวเตอร์ เรื่อง โปรแกรม · โครงงานคอมพิวเตอร์ เรื่อง โปรแกรมค

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

เรอง โปรแกรมค านวณหาคา BMI ดวยภาษาซ

เสนอ คณคร ธญพสษฐ คณยศยง

จดท าโดย 1. นายยศพล กนทะ เลขท 31 2. นายเบญญาภา ตใหม เลขท 35 3. นายจนตภพ สวางวงค เลขท 37 4. นางสาวเพลนพฤกษา วรวระวงศ เลขท 44 5. นางสาวสรยากร หรงนางรอง เลขท 45 6. นางสาวพชรพร สอนเจรญทรพย เลขท 50

ชนมธยมศกษาปท 4/6

วชาวทยาการค านวณ 1 รหสวชา ว 30142 ปการศกษา 2561 โรงเรยนยพราชวทยาลย

ส านกงานเขตพนทการศกษามธยมศกษา เขต 34

Page 2: โครงงานคอมพิวเตอร์ เรื่อง โปรแกรม · โครงงานคอมพิวเตอร์ เรื่อง โปรแกรมค

เกยวกบโครงงาน โครงงานคอมพวเตอร

เรอง โปรแกรมค ำนวณหำคำ BMI ดวยภาษาซ กลมสาระการเรยนร การงานอาชพและเทคโนโลย ผจดท า 1. นายยศพล กนทะ เลขท 31

2. นายเบญญาภา ตใหม เลขท 35 3. นายจนตภพ สวางวงค เลขท 37 4. นางสาวเพลนพฤกษา วรวระวงศ เลขท 44 5. นางสาวสรยากร หรงนางรอง เลขท 45 6. นางสาวพชรพร สอนเจรญทรพย เลขท 50

ครทปรกษา 1. คณคร ธญพสษฐ คณยศยง 2. คณคร สทธวศรฒ พยหมนตร สถานศกษา โรงเรยนยพรำชวทยำลย ส านกงานเขตพนทการมธยมศกษา เขต 34 ปการศกษา 2561

Page 3: โครงงานคอมพิวเตอร์ เรื่อง โปรแกรม · โครงงานคอมพิวเตอร์ เรื่อง โปรแกรมค

กตตกรรมประกาศ

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

คณะผจดท ำ

Page 4: โครงงานคอมพิวเตอร์ เรื่อง โปรแกรม · โครงงานคอมพิวเตอร์ เรื่อง โปรแกรมค

ค หวขอโครงงาน : โปรแกรมค ำนวณหำคำ BMI ดวยภำษำซ ประเภทของโครงงาน : โครงงานจ าลองทฤษฎ ผเสนอโครงงาน : 1. นายยศพล กนทะ เลขท 31

2. นายเบญญาภา ตใหม เลขท 35 3. นายจนตภพ สวางวงค เลขท 37 4. นางสาวเพลนพฤกษา วรวระวงศ เลขท 44 5. นางสาวสรยากร หรงนางรอง เลขท 45 6. นางสาวพชรพร สอนเจรญทรพย เลขท 50

ครทปรกษาโครงงาน : 1. คณครธญพสษฐ คณยศยง 2. คณคร สทธวศรฒ พยหมนตร

ปการศกษา : 2561

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

ผลกำรศกษำและจดท ำโครงงำนกำรค ำนวณคำ BMI โดยจะจ ำแนกเกณฑของบคคลออกเปนระดบ ตำง ๆ คอ Underweight, Normal weight, Overweight, Obesity และในแตละระดบจะมค ำแนะน ำ ตำง ๆ ใหปฏบตตำม เพอแกไขปญหำกำรเกดโรค

Page 5: โครงงานคอมพิวเตอร์ เรื่อง โปรแกรม · โครงงานคอมพิวเตอร์ เรื่อง โปรแกรมค

สารบญ

เรอง หนำ เกยวกบโครงงำน ก กตตกรรมประกำศ ข บทคดยอ ค บทท 1 บทน ำ 1

- ทมำและควำมส ำคญของโครงงำน 1 - วตถประสงค 1 - ขอบเขตกำรศกษำคนควำ 1 - ประโยชนทคำดวำจะไดรบ 1

บทท 2 เอกสำรและโครงงำนทเกยวของ 2 - ประวตควำมเปนมำของภำษำซ 2 - ขนตอนกำรพฒนำโปรแกรม 2 - แนวคดในกำรเขยนโปรแกรม 3 - โปรแกรม Code::Blocks 4 - ความหมายของการเคลอนท 6 - โครงงำนคอมพวเตอร 7

บทท 3 วธกำรจดท ำโครงงำน 9 - วสดและอปกรณ 9 - วธกำรจดท ำโครงงำน 9

บทท 4 ผลกำรศกษำ 13 - กำรวเครำะหระบบ 13 - ผลกำรทดสอบระบบ 13 บทท 5 สรปผลและขอเสนอแนะ 15

- สรปผลกำรศกษำ 15 - ประโยชนทไดจำกโครงงำน 15 - ขอเสนอแนะ 15

บรรณำนกรม 16

Page 6: โครงงานคอมพิวเตอร์ เรื่อง โปรแกรม · โครงงานคอมพิวเตอร์ เรื่อง โปรแกรมค

1

บทท 1 บทน า

ทมาและความส าคญของโครงงาน

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

1. เพอใหรถงปรมำณระดบไขมนในรำงกำย 2. เพอใหสงคมตระหนกถงควำมส ำคญของกำรออกก ำลงกำยและกำรกน 3. เพอวดอตรำกำรเกดโรคในบคคลระดบตำง ๆ

ขอบเขตของการศกษาคนควา กำรท ำโครงงำนคอมพวเตอร เรอง โปรแกรมค ำนวณหำคำ BMI ดวยภำษำซ กบนกเรยนชนมธยมศกษาปท 4/6 โรงเรยนยพรำชวทยำลย อ ำเภอ เมอง จงหวด เชยงใหม ประโยชนทคาดวาจะไดรบ

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

Page 7: โครงงานคอมพิวเตอร์ เรื่อง โปรแกรม · โครงงานคอมพิวเตอร์ เรื่อง โปรแกรมค

2

บทท 2 เอกสารและโครงงานทเกยวของ

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

1. ประวตควำมเปนมำของภำษำซ 2. ขนตอนกำรพฒนำโปรแกรมภำษำซ 3. แนวคดในกำรเขยนโปรแกรม 4. โปรแกรม Code::blocks 5. กำรค ำนวณหำคำ BMI 6. โครงงำนคอมพวเตอร

1.ประวตความเปนมาของภาษาซ ภำษำซ (C) ไดรบกำรออกแบบและพฒนำขนโดย Dennis Ritchie เมอป ค.ศ.1972 หองปฏบตกำร เบลล (Bell Laboratories) โดยออกแบบเพอใชงำนบนระบบปฏบตกำร UNIX บนเครองเมนเฟรม คอมพวเตอร DEC PDP-11 ซงภำษำซไดพฒนำมำจำกภำษำบ (B) ทพฒนำ โดย Ken Thompson ภำษำบถกพฒนำบนพนฐำนของภำษำบซพแอล (BCPL) ในเวลำตอมำ ภำษำซไดรบควำมนยมสง สถำบน ANSI (American National Standards Institute) ไดสรำงมำตรฐำนภำษำซขนมำ เพอรบรองใหเปนสำกล ภำยใตชอวำ ANSI-C ตงแตป ค.ศ.1983 และในปจจบนไดมกำรพฒนำภำษำซใหมประสทธภำพมำกยงขน เปนเวอรชนตำง ๆ มำกมำย มกำรพฒนำตอยอด เปนภำษำซพลสพลส (C++) หรอภำษำซชำรป (C#) ซงมกำรเพมชดค ำสงทสนบสนนกำรพฒนำโปรแกรมเชง วตถ (Object-Oriented Programming) และยงคงรองรบชดค ำสงมำตรฐำนของภำษำซ คอ ANSI-C อย ดวยภำษำซเปนโปรแกรมระดบสง ทใชส ำหรบเขยนโปรแกรมประยกตตำง ๆ เชนเดยวกนกบ ภำษำปำสคำล ภำษำเบสก และภำษำฟอรแทรน เปนตน นอกจำกนภำษำซยงใชส ำหรบเขยนโปรแกรมระบบ และโปรแกรมส ำหรบควบคมฮำรดแวร บำงสวนทโปรแกรมระดบสงหลำยภำษำไมสำมำรถท ำได 2. ขนตอนการพฒนาโปรแกรมภาษาซ

2.1 เขยนโปรแกรม ใช editor เขยนโปรแกรมภำษำซและท ำกำรบนทกไฟลใหมนำมสกลเปน .c เชน work.c

เปนตน editor คอ โปรแกรมทใชส ำหรบกำรเขยนโปรแกรม โดยตวอยำงของ editor ทนยมน ำมำ ใชในกำรเขยน โปรแกรมไดแก Notepad,Edit ของ Dos ,TextPad และ EditPlus เปนตน

Page 8: โครงงานคอมพิวเตอร์ เรื่อง โปรแกรม · โครงงานคอมพิวเตอร์ เรื่อง โปรแกรมค

3 กำรเขยนโปรแกรมสำมำรถเลอกใชโปรแกรมใดในกำรเรยนโปรแกรมกได แลวแตควำมถนดของแตละ บคคล 2.2 คอมไพลโปรแกรม

น ำ source code จำกขนตอนท 1 มำท ำกำรคอมไพล เพอแปลจำกภำษำซทมนษยเขำใจไป เปนภำษำเครองทคอมพวเตอรเขำใจได ในขนตอนนคอมไพเลอรจะท ำกำรตรวจสอบ source code วำเกดขอผดพลำดหรอไม 2.3 เชอมโยงโปรแกรม

กำรเขยนโปรแกรมภำษำซนนผเขยนโปรแกรมไมจ ำเปนตองเขยนค ำสงตำงๆ ขนใชงำนเอง เนองจำก ภำษำซมฟงกชนมำตรฐำนใหผเขยนโปรแกรมสำมำรถเรยกใชงำนได เชน กำรเขยน โปรแกรมแสดงขอควำม "Yupparajwittayaraj" ออกทำงหนำจอ ผเขยนโปรแกรมสำมำรถเรยกใช ฟงก ชน printf() ซงเปน ฟงก ชน มำตรฐำนของภำษำซมำใชงำนได โดยสวนกำรประกำศ (declaration) ของฟงกชนมำตรฐำนตำง ๆ จะถกจดเกบอยในเฮดเดอรไฟลแตละตว แตกตำง กนไปตำมลกษณะกำรใชงำนดวยเหตนภำษำเครองทไดจำกขนตอนท 2 จงยงไมสำมำรถน ำไป ใชงำนไดแตตองน ำมำเชอมโยง เขำกบ l ibraryกอน ซ งผลจำกกำรเชอมโยงจะท ำ ให ไ ด executable program (ไฟลนำมสกล.exe เชน work.exe) ทสำมำรถน ำไปใชงำนได 2.4 ประมวลผล

เมอน ำ executable program จำกขนตอนท 3 มำประมวลผลกจะไดผลลพธ (output) ของโปรแกรมออกมำในขนตอนสดทำยโปรแกรมทสำมำรถรนไดจะถกน ำเขำสหนวยควำมจ ำของ เครองคอมพวเตอรโดยโปรแกรมบรรจ (loader)จำกนนกำรรนโปรแกรมจงเรมตนขนซงผลทได จำกกำรรนโปรแกรมขนอยกบค ำสงในโปรแกรมทปรำกฏอยในรหสตนฉบบทเขยนโปรแกรมนนเอง

3. แนวคดในการเขยนโปรแกรม

3.1 วเคราะหปญหา (Analysis) ขนตอนนถอวำเปนขนตอนทส ำคญทสด ผเขยนโปรแกรมตองวเครำะหปญหำใหออกวำจะ

ตองท ำกำรเขยนโปรแกรมเพอแกปญหำอะไร เพรำะหำกวเครำะหหรอมองปญหำผดแลว กจะ ท ำให เขยนโปรแกรมไดผลลพธออกมำผดไปจำกสงทตองกำรดวย และนอกจำกจะวเครำะหวำ ปญหำคออะไรแลว จ ำเปนอยำงยงทจะตองวเครำะหดวยวำขอมลทจะน ำเขำมำใชในโปรแกรมม อะไรบำง 3.2 วางแผนและออกแบบ (Planing & Design)

กำรวำงแผน คอ กำรน ำปญหำทวเครำะหไดจำกขนตอนท 1 มำวำงแผนอยำงเปนขนตอน จะตองเขยนโปรแกรมเพอแกปญหำอยำงไร กำรวำงแผนอยำงเปนขนตอนน เรยกวำ อลกอรต (Algorithm) ซงอลกอรทมแบงออกเปน 2 รปแบบ คอ

Page 9: โครงงานคอมพิวเตอร์ เรื่อง โปรแกรม · โครงงานคอมพิวเตอร์ เรื่อง โปรแกรมค

4 3.2.1 ซโดโคด (Pseudocode) คอ กำรเขยนอลกอรทม โดยใชประโยคภำษำองกฤษทสอ

ควำมหมำยงำย ๆ สำมำรถอำนแลวเขำใจไดโดยทนท 3.2.2 โฟลวชำรต (Flowchart) คอ กำรเขยนอลกอรทม โดยใชสญลกษณรปภำพเปนตวสอ

ควำมหมำย จำกโจทย สำมำรถเขยนโฟลวชำรต 3.3 เขยนโปรแกรม (Coding)

เปนกำรน ำอลกอรทมจำกขนตอนท 2 มำเขยนโปรแกรมใหถกตองตำมหลกไวยำกรณ (syntax) ของภำษำซ 3.4 ทดสอบโปรแกรม (Testing)

เปนกำรน ำผลลพธจำกขนตอนท 3 มำท ำกำรรน (Run) โดยทดสอบปอนคำ X และ Y เขำไป ในโปรแกรม และตรวจสอบผลลพธทไดวำถกตองหรอไม ใหทดสอบหลำย ๆ ครง หำกผลลพธท ไดถกตอง แสดงวำโปรแกรมทเขยนขนถกตองแลว แตหำกผลลพธถกบำงผดบำงหรอผดทกครง แสดงวำโปรแกรม ทเขยนขนผดพลำดผเขยนโปรแกรมตองกลบไปตรวจสอบ และแกไขโปรแกรม ใหมอกครง 3.5 จดท าคมอ (Documentation)

จดประสงคทส ำคญของกำรท ำคมอ คอ ชวยใหผอนศกษำซอรสโคด (Source Code) ของ โปรแกรมไดงำยขน ซงจะเปนประโยชนมำกส ำหรบกำรพฒนำโปรแกรมในอนำคต เพรำะจะชวย ใหศกษำซอรสโคดไดงำยและรวดเรวขน

4. โปรแกรม Code:Blocks

1. การตดตงโปรแกรม Code::Blocks การเรยกใชโปรแกรมภาษาซ ดวย Code::Blocks การใชภาษาซดวยเปนโปรแกรมเทอรโบซ

ของบรษทบอรแลนด ผพฒนาเครองมอใหกบนกพฒนาโปรแกรม สามารถสรางโคดภาษาซไดสะดวกมากขน เปนการตอบสนองการใชงานของโปรแกรมเมอร ใหสามารถสรางงานสรางสรรคและเปนเครองมอทใชในการเชอมตอโคดภาษาซกบ ซอฟทแวรอนๆ ไดอยางมประสทธภาพ ดวยเครองมอ ชอวา Code::Blocks ทมโครงสราง พรอมใชงาน (IDE: Integrate Development Environment) หมายถง Code::Blocks มสวนท เปนตวสรางโคดไดหลายภาษา รวมทงภาษาซมสวนทเปนเครองมอในการแปลงโคด หรอคอมไพเลอรสวนของสงใหโคดท างาน สวนทแสดงผลการท างานของโคดทงสวนทเปนการแจงผลของการแปลภาษาซทผลการท างานเปนอยางไรถกตองหรอผดพลาด (Error)และ สวนทแจงผลการท างานของโคดภาษาซถอวาเปนเครองมอทมประสทธภาพทดมาก

2. เรมตนการใชงานโปรแกรม Code::Blocks 2.1 เปดโปรแกรม Code::Blocks โดยดบเบลคลกท icon ของโปรโปแกรม

2.2 เรมตนดวยการเปดไฟลใหมครบ ใหไปท Menu Bar ดานบน เลอก New แลวก File...

Page 10: โครงงานคอมพิวเตอร์ เรื่อง โปรแกรม · โครงงานคอมพิวเตอร์ เรื่อง โปรแกรมค

5 2.3 จะมใหเลอกประเภทของไฟลครบ ใหเลอกไปท C/C++ source แลวกด Go

2.4 กด Next > 2.5 เราจะเขยนโปรแกรมภาษา C ครบ ใหเลอกท C แลวกด Next > 2.6 โปรแกรมจะถามเราวาจะเซฟไฟลไวทไหนแลวกชออะไร ใหกดท ปม ... ดานบนเพอ

เลอกต าแหนงไฟล 2.7. ตงชอไฟลแลวกด Save แลวตามดวย Finish เปนการเสรจสนขนตอนการลงโปแกรม

Code::Blocks 3. การทดสอบการเขยนโปรแกรม

3.1. เขยนโปรแกรมดวยภาษาซ

1 2 3 4 5

#include<stdio.h> int main() { printf("Hello Word \n"); }

รปท 1 ทดสอบเขยนโปรแกรมภาษาซ แสดงขอความ "Hello World" 3.2. การตรวจสอบโคดโปรแกรมวาถกตองตามหลกการเขยนโปรแกรมหรอไมนนใหเลอกท

แ ถ บ Menu bar ด า น บ น ให เ ล อ ก ท Build แ ล ว เ ล อ ก Compile current file ห ร อ จ ะกด Ctrl + Shift + F9 ขนตอนนคอเราจะเปลยนจากโคดของโปรแกรมใหเปนโปรแกรมทท างานไดจรง

3.2.1 ถาหากโคดโปรแกรมถกตอง ชอง Logs & others ดานลางจะขนวา 0 errors , 0 varnings 3.3. การทดสอบโปรแกรมทไดเขยนขนนน สามารถท าไดโดยการเลอกแถบ Menu bar แลว

เลอก ค าสง Run หรอสามารถท าไดอกวธการหนงคอ การกดปม Ctrl + F10 3.4 เมอใชค าสง Run แลว โปรแกรม Close::block จะท าการแสดงผลลพธทไดจากการ

เขยนโปรแกรมออกมา โดยแสดงขอความวา "Hello World" ในสวนของหนาตาง Output 3.5 การบนทกไฟลโปรแกรมภาษาซ ทไดเขยนขนนน สามารถท าไดโดยการเลอกทเมนหลก

File แลวเลอกค าสง Save all files หรอท าการกดปม Ctrl-Shift-S แทนกไดเชนกน 4. ขอผดพลาดของโปรแกรม

4.1 ขอผดพลาดจากการเขยนโปรแกรม (Compile Error) เปนขอผดพลาดทเกดจากการเขยนค าสงผด ไมตรงกบโครงสรางของภาษาซ ซง

จะมผลท าใหโปรแกรมทเขยนขนไมสามารถแปลความหมายและท างานไดจากนนโปรแกรม

Page 11: โครงงานคอมพิวเตอร์ เรื่อง โปรแกรม · โครงงานคอมพิวเตอร์ เรื่อง โปรแกรมค

6 จะบอกถงสาเหต และแสดงจดทผดพลาดต าแหนงนน ๆ

4.2 ขอผดพลาดจากการท างานของโปรแกรม (Runtime Error) ขอผดพลาดประเภทนเปนขอผดพลาด (Error) ทตรวจพบไดยากกวาแบบแรก

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

5. การค านวณหาคา BMI ดชนมวลกำย หรอ Body Mass Index (BMI) เปนคำดชนทค ำนวณจำกน ำหนกและสวนสง เพอใช เปรยบเทยบควำมสมดลระหวำงน ำหนกตว ตอควำมสงของมนษยนนเอง ซง Adolphe Quetelet ชำวเบลเยยม เปนผคดคนขน และถกน ำมำใชกนอยำงแพรหลำย ดชนมวลกำย คอ กำรวดดชนมวลรำงกำย Body Mass Index (BMI) คอ อตรำสวนระหวำงน ำหนกตอสวนสง ทใชบงวำอวนหรอผอม ในผใหญ ตงแต อำย 20 ปขนไป ควำมส ำคญของกำรรคำดชนมวลรำงกำย เพอดอตรำกำรเสยงตอกำรเกดโรคตำงๆ ถำ คำทค ำนวนได มำกหรอนอยเกนไป เพรำะถำเปนโรคอวนแลว จะมภำวะเสยงตอกำรเปนโรคควำมดนโลหต สง โรคเบำหวำน โรคหวใจขำดเลอด และโรคนวในถงน ำด แตในขณะเดยวกน ผทผอมเกนไป กจะเสยงตอ กำรตดเชอ ประสทธภำพในกำรท ำงำนของรำงกำยลดลง ดงนนควรรกษำระดบน ำหนกใหอยในเกณฑปกต 5.1 วธค านวณ ดชนมวลกาย(Body Mass Index)

สตรค ำนวณดชนมวลกำยคอ [ดชนมวลกำย= น ำหนกตว / ควำมสง ยกก ำลงสอง] 40 หรอมำกกวำน : โรคอวนขนสงสด 35.0 - 39.9: โรคอวนระดบ 2 คณเสยงตอกำรเกดโรค ทมำกบควำมอวน หำกคณมเสนรอบเอวมำกกวำเกณฑปกตคณจะเสยงตอกำรเกดโรคสง คณตองควบคมอำหำร และออกก ำลงกำยอยำง จรงจง 28.5 - 34.9: โรคอวนระดบ 1 และหำกคณ มเสนรอบเอวมำกกวำ 90 ซม.(ชำย) 80 ซม.(หญง) คณจะมโอกำศเกดโรคควำมดน เบำหวำนสง จ ำเปนตองควบคมอำหำร และออกก ำลงกำย23.5 - 28.4: น ำหนกเกนหากคณมกรรมพนธเปนโรคเบาหวาน หรอไขมนในเลอดสงตองพยำยำมลดน ำหนกใหดชนมวลกำยต ำกวำ 23 18.5 - 23.4: น ำหนกปกต และมปรมำณไขมนอย ใน เกณฑปก ต มกจะไม คอยม โรคร ำย อบ ตกำร ณ ของโรคเบำหวำน ควำมดนโลหตสงต ำกวำผทอวนกวำนนอยกวำ 18.5: น ำหนกนอยเกนไป ซ งอำจจะเกดจำกนกกฬำทออกก ำลงกำยมำก และไดรบสำรอำหำรไม เพยงพอ วธแกไข ตองรบประทำนอำหำร ทม คณภำพ และมปรมำณพลงงำนเพยงพอ และออกก ำ ลงกำย อยำงเหมำะสม

Page 12: โครงงานคอมพิวเตอร์ เรื่อง โปรแกรม · โครงงานคอมพิวเตอร์ เรื่อง โปรแกรมค

7 6. โครงงานคอมพวเตอร

6.1 ความหมายและประเภทของโครงงาน โครงงำนคอมพวเตอร เปนกำรน ำเอำควำมรในดำนกำรเขยนโปรแกรม มำใชรวมกบอปกรณ

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

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

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

6.2.2. โครงงานพฒนาเครองมอ เปนโครงงำนเพอพฒนำเรองมอมำใชชวยสรำงงำนประยกตตำง ๆ ซงโดยสวนใหญ

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

Page 13: โครงงานคอมพิวเตอร์ เรื่อง โปรแกรม · โครงงานคอมพิวเตอร์ เรื่อง โปรแกรมค

8 ตำง ๆ บนเครองคอมพวเตอรเปนไปไดโดยงำย ซงรปทไดสำมำรถน ำไปใชงำนตำง ๆ ไดมำกมำย ส ำหรบซอฟตแวรชวยในกำรมองวตถในมมตำง ๆ ใชส ำหรบชวยในกำรออกแบบ สงของตำง ๆ เชน โปรแกรมประเภท 3D โปรแกรมจ ำลองกำรบน โปรแกรมจ ำลอง กำรสรำงเครอขำย เปนตน

6.2.3. โครงงานจ าลองทฤษฎ

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

6.2.4. โครงงานประยกตใชงาน เปนโครงงำนทใชคอมพวเตอรในกำรสรำงผลงำนเพอประยกตใชงำนจรงในชวต

ประจ ำวน เชน ซอฟตแวรส ำหรบกำรออกแบบและตกแตงอำคำรซอฟตแวรส ำหรบกำรผสมส ซอฟตแวรส ำหรบกำรระบคนรำย เปนตน โครงงำนงำนประเภทนจะมกำรประดษฐฮำรดแวร ซอฟตแวร หรออปกรณใชสอยตำงๆ ซงอำจจะสรำงใหมหรอปรบปรงดดแปลงของเดมทมอย แลวใหมประสทธภำพสงขนกได โครงงำนลกษณะนจะตองศกษำและวเครำะหควำมตองกำร ของผใชกอนแลวน ำขอมลทไดมำใชในกำรออกแบบ และพฒนำสงของนน ๆ ตอจำกนน ตองมกำรทดสอบกำรท ำงำนหรอทดสอบคณภำพของสงประดษฐแลวปรบปรงแกไขใหมควำมสมบรณ โครงงำนประเภทนนกเรยนตองใชควำมรเกยวกบเครองคอมพวเตอร ภำษำ โปรแกรม และเครองมอตำง ๆ ทเกยวของ รวมทงอำจใชวธทำงวศวกรรมฮำรดแวร และซอฟตแวรในกำรพฒนำดวย เปนโครงงำนพฒนำซอฟตแวรเกมเพอควำมร และ/หรอ ควำมเพลดเพลน เชน เกมหมำกรก เกมหมำกฮอส เกมกำรค ำนวณเลข ซงเกมทพฒนำขนน นำจะเนนใหเปนเกมทไมรนแรง เนนกำรใชสมองเพอฝกคดอยำงมหลกกำร โครงงำน ประเภทนจะมกำรออกแบบลกษณะและกฎเกณฑกำรเลนเพอใหนำสนใจแก ผ เ ลน พรอมทงใหควำมรสอดแทรกไปดวย ผพฒนำควรจะไดท ำกำรส ำรวจและรวบรวม ขอมลเกยวกบเกมตำง ๆ ทมอยทวไปและน ำมำปรบปรงหรอพฒนำขนใหมเพ อใหเปนเกม ทแปลกใหมและนำสนใจแกผเลนกลมตำง

Page 14: โครงงานคอมพิวเตอร์ เรื่อง โปรแกรม · โครงงานคอมพิวเตอร์ เรื่อง โปรแกรมค

9

บทท 3 วธการจดท าโครงงาน

1. วสดและอปกรณ 1. คอมพวเตอร 2. โปรแกรม Code::Block 3. สตรค ำนวณคำBMI 4. อนเทอรเนต

2. วธการจดท าโครงงาน 2.1 วเคราะหปญหา (Analysis) > ตองรบขอมลเลขทศนยม 2 ตวเขำมำในโปรแกรม วเครำะห ก ำหนดให h เกบคำสวนสง ก ำหนดให ไ เกบคำน ำหนก > ค ำนวณคำ BMI โดยใชสตรw/(h*h)

2.2 วางแผนและออกแบบ (Planing & Design) วำงแผน คอ กำรน ำปญหำทวเครำะหไดจำกขนตอนท 1 มำวำงแผนอยำงเปนขนตอน จะ

ตองเขยนโปรแกรมเพอแกปญหำอยำงไร กำรวำงแผนอยำงเปนขนตอนน เรยกวำ อลกอรต (Algorithm) ซงอลกอรทมแบงออกเปน 2 รปแบบ คอ

1. ซโดโคด (Pseudocode)

การเขยนซโดโคดภาษาไทย การเขยนซโดโคดภาษาองกฤษ

Algorithm กำรหำผลบวกของเลขทง 2 จ ำนวน 1. เรมตน 2. รบคำสวนสง (h) 3. รบคำน ำหนก (w) 4. ค ำนวณหำคำ BMI 5. แสดงคำ BMI และขอเสนนอแนะ 6. สนสด

Algorithm Average_Sum 1. START 2. READ h 3. READ w 4. BMI = w/(h*h) 5. Print BMI 6. END

Page 15: โครงงานคอมพิวเตอร์ เรื่อง โปรแกรม · โครงงานคอมพิวเตอร์ เรื่อง โปรแกรมค

10 2. โฟลวชำรต (Flowchart)

Page 16: โครงงานคอมพิวเตอร์ เรื่อง โปรแกรม · โครงงานคอมพิวเตอร์ เรื่อง โปรแกรมค

11 3. เขยนโปรแกรม (Coding)

#include<stdio.h> int main()

{ float h,w,bmi,height; printf("Body mass index(BMI) Calculator;"); printf("\nEnter Height(m);"); scanf("%f",&h); printf("Enter Weight(kg);"); scanf("%f",&w); bmi=w/(h*h); printf("Body mass index (BMI) is %.2f",bmi); if(bmi>30) printf("\nObesity"); if(bmi>30) printf("\nLosing weight will improve your health."); if(bmi>=25&&bmi<30) printf("\nOverweight"); if(bmi>=25&&bmi<30) printf("\nIt's a good idea to lose some weight for your health's sake."); if(bmi>=18.5&&bmi<25) printf("\nNormal weight"); if(bmi>=18.5&&bmi<25) printf("\nyou're are a healthy weight, and should aim to stay that way."); if(bmi>=0&&bmi<18.5) printf("\nUnderweight"); if(bmi>=0&&bmi<18.5) printf("\nYou may need to gain weight.");

}

Page 17: โครงงานคอมพิวเตอร์ เรื่อง โปรแกรม · โครงงานคอมพิวเตอร์ เรื่อง โปรแกรมค

12 4. ทดสอบโปรแกรม

รนครงท 1

READ h is : 1.57 READ w is : 49

BMI of 49/(1.57*1.57) is 19.88

รนครงท 2

READ h is : 1.63 READ w is : 42

BMI of 42/(1.63*1.63) is 15.81

รนครงท 3

READ h is : 1.30 READ w is : 36

BMI of 36/(1.30*1.30) is 21.30

5. จดท ำคมอ (Documentation)

ชอโปรแกรม หำคำดชนมวลกำย BMI

ตวแปรทใช h เกบคำทศนยม(สวนสง) w เกบคำทศนยม(น ำหนก) bmi เกบคำผลคณของสวนส.และผลหำรของน ำหนกและสวนสง

ชนดของขอมล h,w,BMI เปนขอมลชนดทศนยม

วธการแกปญหา ใชสมกำร bmi = w/(h*h)

Page 18: โครงงานคอมพิวเตอร์ เรื่อง โปรแกรม · โครงงานคอมพิวเตอร์ เรื่อง โปรแกรมค

13

บทท 4 ผลการศกษา

1. การวเคราะหระบบ

1. วตถประสงคของงาน แสดงคำ BMI

2. ออกแบบผลลพธ (Output) แสดงคำ BMI

3. ขอมลน าเขา (Input) ไดแก ขอมลน ำเขำทผใชปอน

4. ชอตวแปรทใช h = เกบคำสวนสง (เมตร) w = เกบคำน ำหนก(กโลกรม) bmi = ดชนมวลรำงกำย

5. ขนตอน/ล าดบงาน 1. ประกำศตวแปร h,w,bmi เปนทศนยม 2. ตวแปร bmi เกบผลลพธของ w/(h*h) 3. ถำbmi>30 4. แสดงคำObesityและLosing weight will improve your health. 5. ถำbmi>=25 แต bmi<30 6. แสดงคำOverweighและIt's a good idea to lose some weight for your health's sake. 7. ถำbmi>=18.5 แต bmi<25 8. แสดงคำNormal weightและYou're are a healthy weight, and should aim to stay that way. 9. ถำbmi>=0 แต bmi<18.5 10. แสดงคำUnderweightและYou may need to gain weight.

Page 19: โครงงานคอมพิวเตอร์ เรื่อง โปรแกรม · โครงงานคอมพิวเตอร์ เรื่อง โปรแกรมค

14 2. การทดสอบระบบ

1. ผใชใสคำสวนสงของตวเอง(เมตร)แลวกด enter

2. ผใชใสคำน ำหนกตวเอง(กโลกรม)แลวกด enter

3.โปรแกรมจะแสดงคำ bmi และ ค ำแนะน ำ

Page 20: โครงงานคอมพิวเตอร์ เรื่อง โปรแกรม · โครงงานคอมพิวเตอร์ เรื่อง โปรแกรมค

15

บทท 5 สรปผลและขอเสนอแนะ

สรปผลการศกษา

1. ไดศกษำเรองโปรแกรมค ำนวณหำคำ BMI ดวยภำษำซ ซงเปนเรองทกลมสนใจไดอยำงละเอยด ลกซงมำกขน ท ำใหมควำมเขำใจมำกขน

2. ไดเผยแพรควำมรเรองกำรค ำนวณคำ BMI 3. ไดน ำควำมรทไดจำกกำรเรยนโปรแกรม Code::blocks มำปรบใชกบกำรค ำนวณหำคำ BMI

ขอเสนอแนะ

1. ควรใหควำมส ำคญกบกำรออกก ำลงกำยมำกขนเพอเสรมสรำงใหรำงกำยสมบรณแขงแรง และ ลดควำมเสยงทจะกอใหเกดโรคอวนหรอน ำหนกทเกนเกณฑมำตรฐำน

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

1. เวลำวำงคนในกลมไมตรงกน 2. Code ค ำนวณคำ BMI ผดพลำดท ำใหเสยเวลำในกำรแกไข

Page 21: โครงงานคอมพิวเตอร์ เรื่อง โปรแกรม · โครงงานคอมพิวเตอร์ เรื่อง โปรแกรมค

16

บรรณานกรม

1. https://www.honestdocs.co/bmi-body-mass-index-calculator 2. http://www.research-system.siam.edu/images/thesistee/computer_science/1_2558/- planing_and_control/06_ch2.pdf 3. https://www.facebook.com/1241537999284959/photos/a.1241807749257984- /1448310728607684/?type=3&theater 4. https://www.heartfoundation.org.au/your-heart/know-your-risks/healthy-weight/bmi-calculator