หลกั การเขียนโปรแกรม วทิ ยาลยั อาชีวะศกึ ษา[ชื่อหลกั สูตร]
หลกั การเขยี นโปรแกรมจุดประสงคร์ ายวชิ า เพื่อให้ 1. มีทกั ษะในการวเิ คราะห์ข้นั ตอนวธิ ี (Algorithm) เพ่ือแกป้ ัญหาอยา่ งง่าย 2. รู้ข้นั ตอนวธิ ีการเขียนโปรแกรมเพอ่ื แกป้ ัญหา 3. มีทกั ษะในการเขียนผงั งาน (Flow chart) 4. มีทกั ษะในการเขียนรหสั เทียม (Pseudo Code) จากผงั งาน 5. ออกแบบและพฒั นาโปรแกรมขนาดเล็ก 6. มีกิจนิสยั การทางานอยา่ งมีระเบียบมาตรฐานรายวชิ า 1. อธิบายความหมายและความสาคญั ของหลกั การเขียนโปรแกรม 2. วเิ คราะห์ข้นั ตอน วธิ ีการแกป้ ัญหาดว้ ยคอมพิวเตอร์ 3. ประยกุ ตใ์ ชผ้ งั งานและรหสั เทียมช่วยการเขียนโปรแกรม 4. ออกแบบโปรแกรมขนาดเล็กคาอธิบายรายวชิ า ศึกษาและปฏิบตั ิเก่ียวกบั หลกั การ ข้นั ตอนวธิ ี วเิ คราะห์ปัญหา เขียนโปรแกรม กระบวนการทางานในหน่วยความจาของคอมพวิ เตอร์ ตรรกะกบั เซต ตรรกะกบั การแกโ้ จทยป์ ัญหาดว้ ยคอมพิวเตอร์ การเขียนผงั งานการเขียนรหสั เทียม การออกแบบและพฒั นาโปรแกรมขนาดเล็กการแบง่ หน่วยการเรียนรู้เน้ือหาการเรียนรู้หน่วยที่ 1 1. การนาคอมพิวเตอร์มาใชใ้ นการแกป้ ัญหา Solving Problem by Computer การศึกษาและทาความเขา้ ใจกบั ปัญหา Problem Statement การพจิ ารณาลกั ษณะขอ้ มูลนาเขา้ และแสดงผลขอ้ มูล Input / Output Description การทดลองแกไ้ ขปัญหาดว้ ยตนเอง Hand Example การพฒั นาลาดบั ข้นั ตอนวธิ ีการแกป้ ัญหา Algorithm Development การทดสอบข้นั ตอนวธิ ีการแกป้ ัญหา Testing
เน้ือหาการเรียนรู้หน่วยท่ี 2 2. การเขียนผงั งาน Flowchart สัญลกั ษณ์สาหรับการเขียนผงั งาน Symbol for Flowchart การเขียนซูโดโคด้ Pseudo Codeเน้ือหาการเรียนรู้หน่วยท่ี 3 3. ลกั ษณะโครงสร้างของผงั งาน Type of Flowchart โครงสร้างแบบลาดบั โครงสร้างแบบเลือกทา โครงสร้างแบบทาซ้าเน้ือหาการเรียนรู้หน่วยท่ี 4 4. การออกแบบและพฒั นาโปรแกรมขนาดเลก็ ดว้ ยภาษาซี ผงั งานกบั การเขียนโปรแกรม ความรู้เบ้ืองตน้ เกี่ยวกบั ภาษาซีสาระการเรียนรู้ เร่ือง การนาคอมพวิ เตอร์มาใชใ้ นการแกป้ ัญหา 1. ข้นั ตอนการวเิ คราะห์ปัญหา 2. Problem Statement 3. Input / Output Description 4. Hand Example 5. Algorithm Development 6. Testingผลการเรียนรู้ท่ีคาดหวงั 1. สามารถอธิบายข้นั ตอนการนาคอมพิวเตอร์เขา้ มาช่วยในการแกป้ ัญหาได้ 2. สามารถวเิ คราะห์สิ่งที่โจทยต์ อ้ งการได้ 3. สามารถแยกแยะขอ้ มูลท่ีเป็นขอ้ มูลนาเขา้ และขอ้ มูลที่ตอ้ งการแสดงผลได้ 4. สามารถเขียนรหสั เทียมได้ 5. สามารถทดสอบลาดบั ข้นั ตอนวธิ ีการทางานได้
การนาคอมพวิ เตอร์มาใช้ในการแก้ปัญหา Solving Problem by Computer การศึกษาและทาความเข้าใจกบั ปัญหา Problem Statement เป็นข้นั ตอนแรกในกระบวนการวิเคราะห์งานเพือ่ ใหไ้ ดม้ าซ่ึงขอ้ สรุปของปัญหา หรือส่ิงท่ีโจทยต์ อ้ งการ เพือ่ นาไปคน้ หาคาตอบและวธิ ีการต่าง ๆ ใหไ้ ดม้ าซ่ึงคาตอบที่จะนาไปแกป้ ัญหาน้นั ๆ โดยตอ้ งทาการวิเคราะห์ปัญหาใหล้ ะเอียดทุกข้นั ตอน แยกแยะปัญหาออกมาเป็นขอ้ ๆ เมื่อสามรถทาความเขา้ ใจกบั ปัญหาไดแ้ ลว้ จึงนาไปสู่กระบวนการในข้นั ตอนต่อไป การพจิ ารณาลกั ษณะข้อมูลนาเข้าและแสดงผลข้อมูล Input / Output Description เมื่อเสร็จจากการศึกษาและทาความเขา้ ใจกบั ปัญหาท่ีเกิดข้ึนแลว้ ทาให้ทราบวา่ จะใชเ้ คร่ืองคอมพิวเตอร์เขา้ มาช่วยในการแกไ้ ขปัญหาอยา่ งไร ข้นั ตอนต่อไปคือ การพิจารณาลกั ษณะขอ้ มูลนาเขา้ และการแสดงผลลพั ธ์ของขอ้ มูล สาหรับรูปแบบของผลลพั ธ์จะมีลกั ษณะของรายงานซ่ึงจะมีรายละเอียดมากนอ้ ยเพียงใดน้นั ข้ึนอยกู่ บั คาตอบของปัญหา ในส่วนของขอ้ มูลนาเขา้ จะตอ้ งพจิ ารณาวา่ ขอ้ มูลที่ตอ้ งป้อนเขา้ สู่เคร่ืองคอมพวิ เตอร์เพ่ือนาไปประมวลผลน้นั ควรมีคุณสมบตั ิ รูปแบบของขอ้ มูล ประเภทของขอ้ มูล หรือแหล่งท่ีมาของขอ้ มูลอยา่ งไร นอกจากน้ีควรต้งั ค่าของตวั แปรที่จะมารองรับคา่ ตา่ ง ๆ ใหส้ ่ือความหมาย เพื่อสะดวกและง่ายต่อการจดจา และเขียนโปรแกรมภาษาคอมพิวเตอร์ การทดลองแก้ไขปัญหาด้วยตนเอง Hand Example เนื่องจากการทางานของเคร่ืองคอมพวิ เตอร์น้นั จะมีประสิทธิภาพมากเพยี งใดยอ่ มข้ึนอยกู่ บั คาส่ังต่าง ๆ ท่ีโปรแกรมเมอร์เขียนข้ึนเพราะเครื่องคอมพิวเตอร์ไมส่ ามารถคิดคน้ คาสั่งหรือวธิ ีการใหม่ ๆ ข้ึนมาเองได้ ดงั น้นั ก่อนท่ีจะเขียนเป็นโปรแกรมเพ่ือใหเ้ คร่ืองคอมพวิ เตอร์ทาตามคาส่ังไดน้ ้นั จาเป็ นตอ้ งมีการทดลองแกไ้ ขปัญหา โดยการสมมติขอ้ มูลข้ึนมาทดลองกบั วธิ ีท่ีคิดคน้ ข้ึน ถา้ สามารถแกไ้ ขปัญหาน้นั ๆ ได้ ก็จะเริ่มข้นั ตอนของการพฒั นาลาดบั ข้นั ตอนวธิ ีการแกป้ ัญหาโดยการเขียนเป็นอลั กอริทึมตอ่ ไป ส่วนใหญ่การแกไ้ ขปัญหามกั จะนิยมนาเรื่องของคณิตศาสตร์เขา้ มาช่วยในการทางานเกี่ยวกบั การเขียนโปรแกรมคอมพิวเตอร์ดงั น้นั จึงตอ้ งมีความรู้เบ้ืองตน้ เก่ียวกบั โอเปอเรเตอร์ (Operator) ซ่ึงเป็นตวั ดาเนินการทางคณิตศาสตร์ ตรรกศาสตร์ มกั จะเป็นเคร่ืองหมายหรือสัญลกั ษณ์ต่าง ๆ เช่น เครื่องหมายในการคานวณ เคร่ืองหมายในการเปรียบเทียบ และนิพจน์ (Expression) ซ่ึงเป็นการนาเอาโอเปอเรเตอร์หลาย ๆ ตวั มารวมกนัตวั ดาเนินการทางคณิตศาสตร์ ตวั อยา่ ง ผลลพั ธ์ เคร่ืองหมาย ความหมาย 17+3 20 + บวก 17-3 14 - ลบ 17*3 51 * คูณ 17/3 5.67 / หาร 17%3 2 % หารเอาเศษ
ลาดบั ความสาคญั การทางานของโอเปอเรเตอร์ 1. () 2. ^ (ยกกาลงั ) 3. – (เคร่ืองหมายติดลบ) 4. *, /, % 5. +, - การพฒั นาลาดบั ข้นั ตอนวธิ ีการแก้ปัญหา Algorithm Development เป็นข้นั ตอนท่ีมีความสาคญั เพราะตอ้ งนาไปใชพ้ ฒั นาใหเ้ ป็นโปรแกรมภาษาคอมพิวเตอร์ต่อไป ข้นั ตอนน้ีเป็นการนาเอาข้นั ตอนของการทดลองแกไ้ ขปัญหาดว้ ยตนเองมาเรียงเป็นลาดบั ข้นั การทางานเป็ นขอ้ ๆ วา่ จะทางานใดก่อนหลงั เพ่อื นาไปสั่งงานใหเ้ คร่ืองคอมพิวเตอร์ทางาน ซ่ึงอลั กอริทึม น้นั คือการอธิบายถึงลาดบั ข้นั ตอนการทางานในลกั ษณะของขอ้ ความต้งั แต่ตอนแรกจนถึงข้นั ตอนสุดทา้ ยของการแกป้ ัญหา และจากน้นั จึงนาไปเขียนเป็น Pseudo Code ต่อไป การทดสอบข้ันตอนวธิ ีการแก้ปัญหา Testing เป็นข้นั ตอนสุดทา้ ยหลงั จากพฒั นาลาดบั ข้นั ตอนวธิ ีการแกป้ ัญหาเสร็จสิ้นแลว้ มีความจาเป็นอยา่ งยง่ิ ที่จะตอ้ งทาการทดสอบเพือ่ หาขอ้ ผดิ พลาดที่อาจเกิดข้ึนได้ โดยการทดสอบน้นั จะตอ้ งใชข้ อ้ มูลหลาย ๆ ชุดในการทดสอบเพอ่ื ใหค้ รอบคลุมการทางานท้งั หมดสาระการเรียนรู้ เรื่อง ผงั งาน 1. ผงั งาน 2. สญั ลกั ษณ์สาหรับเขียนผงั งาน 3. ลกั ษณะการเขียนผงั งานผลการเรียนรู้ท่ีคาดหวงั 1. สามารถอธิบายความหมายของผงั งานได้ 2. สามารถบอกประโยชนข์ องผงั งานได้ 3. สามารถบอกสญั ลกั ษณ์สาหรับเขียนผงั งานได้ 4. สามารถอธิบายความหมายของสัญลกั ษณ์ท่ีเขียนผงั งานได้ 5. สามารถอธิบายลกั ษณะการเขียนผงั งานที่ดีได้
การเขยี นผงั งาน Flowchart ผงั งาน (Flowchart) ผงั งาน (Flowchart) คือ การเขียนอธิบายข้นั ตอนวธิ ีการทางานในลกั ษณะของรูปภาพสัญลกั ษณ์ เนื่องจากทาใหส้ ามารถมองเห็นลาดบั ข้นั ตอนการทางานไดช้ ดั เจนกวา่ การอธิบายในลกั ษณะของขอ้ ความ สัญลกั ษณ์สาหรับการเขยี นผงั งาน Symbol for Flowchart 1. จุดเริ่มตน้ และจุดสิ้นสุดของผงั งาน 2. การประมวลผล 3. การนาเขา้ ขอ้ มูล การแสดงผลขอ้ มูลโดยไม่ระบุสื่อ 4. การนาเขา้ ขอ้ มูลผา่ นทางแป้นพมิ พ์ keyboard 5. การแสดงผลขอ้ มูลทางจอภาพ 6. การแสดงผลขอ้ มูลทางเคร่ืองพิมพ์ 7. การตดั สินใจเลือกทา 8. จุดเชื่อมต่อภายในหนา้ เดียวกนั 9. จุดเชื่อมต่อหนา้ อื่นๆ 10. ทิศทางการทางานของผงั งาน
ลกั ษณะการเขียนผงั งานลกั ษณะของผงั งานที่ดี มีดงั น้ี 1. ทุกผงั งานตอ้ งมีจุดเร่ิมตน้ และจุดสิ้นสุดอยา่ งละหน่ึงแห่งเท่าน้นั 2. ทุกสัญลกั ษณ์ตอ้ งมีลูกศรช้ีทิศทางอยา่ งละ 1 ลูกศร ยกเวน้ สัญลกั ษณ์ของการตดั สินใจ และสญั ลกั ษณ์ของ จุดเช่ือมต่อ 3. ทิศทางของลาดบั ข้นั ตอนการทางานนิยมเขียนจากบนลงล่าง จากซา้ ยไปขวา 4. ไม่ควรเขียนเส้นของลูกศรบอกทิศทางตดั กนั หรือทบั กนั หากจาเป็นควรใชจ้ ุดตอ่ แทนตวั อย่างการเขียนผงั งาน Start a,b sum = a + b “SUM =” sum Stop
สาระการเรียนรู้ เร่ือง ลกั ษณะโครงสร้างของผงั งาน 1. ลกั ษณะโครงสร้างของผงั งาน 2. โครงสร้างแบบลาดบั 3. โครงสร้างแบบเลือกทา 4. โครงสร้างแบบทาซ้าผลการเรียนรู้ที่คาดหวงั 1. สามารถบอกลกั ษณะโครงสร้างผงั งานได้ 2. สามารถอธิบายลกั ษณะโครงสร้างและการทางานโครงสร้างผงั งานแบบลาดบั ได้ 3. สามารถอธิบายลกั ษณะโครงสร้างและการทางานโครงสร้างผงั งานแบบเลือกทาได้ 4. สามารถอธิบายลกั ษณะโครงสร้างและการทางานโครงสร้างผงั งานแบบทาซ้าได้ ลกั ษณะโครงสร้างของผงั งาน Type of Flowchartโครงสร้างของผงั งานโดยพ้ืนฐานสามารถแบง่ ไดอ้ อกเป็ น 3 รูปแบบดงั น้ี1. โครงสร้างผงั งานแบบลาดับ ซ่ึงจดั เป็นโครงสร้างของผงั งานท่ีง่ายที่สุด เป็นการเรียงลาดบั การทางานจากบนลงล่างอยา่ งเป็นลาดบั ข้นั ตอน โดยจะใชส้ ญั ลกั ษณ์แบบใดกไ็ ด้ ยกเวน้ การตดั สินใจเลือกทา
2. โครงสร้างผงั งานแบบตดั สินใจเลือกทา เป็ นโครงสร้างของผงั งานท่ีมีทางเลือกใหก้ ระทาอยา่ งใดอยา่ งหน่ึง ซ่ึงสามารถแยกไดเ้ ป็น 3 รูปแบบ ดงั น้ี2.1 เงื่อนไขจริงหรือเทจ็ 2.2 เงื่อนไขจริงหรือเทจ็ 2.3 เง่ือนไขท่ีมีให้เลือกมากกวา่ 2 ทางจึงกระทาอยา่ งใดอยา่ งหน่ึง ตา่ งกต็ อ้ งกระทาตวั ดาเนินการทางตรรกะและเปรียบเทียบเคร่ืองหมาย ความหมาย ตวั อยา่ ง ผลลพั ธ์ 3>5 เทจ็> มากกวา่ 2 >= 2 จริง 3<2 เทจ็>= มากกวา่ หรือเทา่ กบั 1 <= 2 จริง 10 = = 10 จริง< นอ้ ยกวา่ 10 != 10 เทจ็ 3>2 && 2>1 จริง<= นอ้ ยกวา่ หรือเท่ากบั 5<10 || 5>10 จริง A= 0 !A จริง= = เท่ากบั!= ไมเ่ ทา่ กบั&& และ (AND)|| หรือ (OR)! นิเสธ (NOT)AB A && B A || B !A !BTT T T FFTF F T FTFT F T TFFF F F TTหมายเหตุ T แทน ประพจน์ท่ีมีค่าความจริงเป็นจริง F แทน ประพจน์ที่มีคา่ ความจริงเป็ นเทจ็
3. โครงสร้างผงั งานแบบทาซ้า เป็นโครงสร้างของผงั งานที่มีลกั ษณะการทางานเป็นรอบ โดยทางานกี่รอบน้นั ยอ่ มข้ึนอยกู่ บั เงื่อนไขของแตล่ ะผงั งานตัวอย่าง การวเิ คราะห์งานเมื่อนาคอมพิวเตอร์เขา้ มาใชใ้ นการแกป้ ัญหาเรื่องการคานวณหาพ้ืนที่รูปส่ีเหล่ียมโดยการรับขอ้ มูลผา่ นเขา้ มาทางแป้นพมิ พ์ การศึกษาและทาความเข้าใจกบั ปัญหา Problem Statementจากโจทยเ์ มื่อทาการศึกษาและทาความเขา้ ใจกบั ปัญหาแลว้ สิ่งที่โจทยต์ อ้ งการคือ พ้ืนที่ของรูปส่ีเหลี่ยม โดยมีการรับขอ้ มูลผา่ นแป้นพมิ พ์ ซ่ึงสามารถกาหนดขนาดของรูปใหค้ วามกวา้ ง และ ความยาว เป็นเทา่ ไรก็ได้ เนื่องจากการคานวณหาพ้ืนที่รูปสี่เหลี่ยมน้นั มีสูตรในการคานวณดงั น้ี ขนาดของพ้นื ที่ = ความกวา้ ง X ความยาว การพจิ ารณาลกั ษณะข้อมูลนาเข้าและแสดงผลข้อมูล Input / Output Descriptionการแสดงผลขอ้ มูลในรูปแบบของรายงานมีรูปแบบดงั น้ี ความกวา้ ง = …………. ความยาว = ................ พ้นื ที่ = ………….ขอ้ มูลนาเขา้ ไดแ้ ก่ ความกวา้ ง และความยาว ซ่ึงเป็นขอ้ มูลประเภท ตวั เลขจานวนจริง เพราะความกวา้ งและความยาวของรูปสี่เหลี่ยมน้นั ไมจ่ าเป็นตอ้ งมีขนาดเป็ นจานวนเตม็ เสมอไป อาจเป็นไปไดท้ ่ีมีกรณีของเลขจุดทศนิยมดงั น้นั เพ่ือใหล้ กั ษณะของขอ้ มูลครอบคลุมท้งั จานวนเตม็ และจานวนทศนิยม จึงกาหนดใหล้ กั ษณะของขอ้ มูลดงั กล่าวเป็นเลขจานวนจริง (หมายเหตุ ประเภทของขอ้ มูลท่ีใชใ้ นคอมพิวเตอร์ ดูท่ีภาคผนวก ก.)
การทดลองแก้ไขปัญหาด้วยตนเอง Hand Exampleจากสูตร การคานวณหาพ้ืนท่ีรูปส่ีเหลี่ยม = กวา้ ง X ยาว พ้ืนท่ีรูปสี่เหลี่ยม = 5 X 8เพราะฉะน้นั พ้นื ที่รูปส่ีเหล่ียม = 40จากการทดลองแกไ้ ขปัญหาดว้ ยตนเองน้นั ทาใหท้ ราบวา่ ขนาดของความกวา้ งและความยาวน้นั ตอ้ งมีคา่ > 0 เสมอจึงจะทาใหส้ ามารถคานวณหาขนาดของพ้ืนที่รูปสี่เหลี่ยมได้การพฒั นาลาดับข้นั ตอนวธิ ีการแก้ปัญหา Algorithm Developmentการเขียนอธิบายข้นั ตอนวธิ ีการแกป้ ัญหาจากโจทยก์ ารคานวณหาพ้ืนที่รูปสี่เหล่ียม1. เริ่มตน้2. รับคา่ ความกวา้ ง = 5 และ ความยาว = 8 ผา่ นแป้นพมิ พ์3. ตรวจสอบค่าความกวา้ งและความยาวตอ้ งมีค่า > 0 ถา้ ความกวา้ งและความยาว > 0 ใหค้ านวณหาพ้นื ที่ ถา้ ความกวา้ งและความยาวไม่ > 0 ใหจ้ บการทางาน4. คานวณหาพ้นื ท่ีโดยใชส้ ูตร พ้ืนที่รูปส่ีเหล่ียม = ความกวา้ ง X ความยาว5. แสดงผลลพั ธ์ตามรูปแบบของรายงานที่ไดอ้ อกแบบไว้6. จบการทางาน การทดสอบข้ันตอนวธิ ีการแก้ปัญหา Testingทดสอบขอ้ มูลชุดแรก ทดสอบขอ้ มูลชุดที่สองโดยใหค้ ่าความกวา้ ง = 7.5 ความยาว = 12 โดยใหค้ า่ ความกวา้ ง = -2 ความยาว = 51. Strat 1. Strat2. Input rec_wide = 7.5 2. Input rec_wide = -2rec_ long = 12 rec_ long = 53. rec_wide (7.5) && rec_long (12) > 0 3. rec_wide (-2) && rec_long (5) > 03.1 Yes goto 4 3.1 Yes goto 43.2 No goto 6 3.2 No goto 64. area (90) = rec_wide (7.5) * rec_long (12) 4. area = rec_wide * rec_long5. Print “Wide = ” rec_wide (7.5) 5. Print “Wide =” rec_widePrint “Long = ” rec_long (12) Print “Long = ” rec_longPrint “Area = ” area (90) Print “Area = ” area6. Stop 6. Stopหมายเหตุ ตวั เลขท่ีอยใู่ นเครื่องหมายวงเลบ็ เป็ นการแทนคา่ และผลของการคานวณจากการทดสอบขอ้ มูล
การเขียนผงั งาน Flowchart การเขียน Pseudo Code Start Start Input rec_wide, rec_long rec_wide,rec_long If rec_wide && rec_long > 0N rec_wide area = rec_wide*rec_long &&rec_long >0 Print “Wide =” rec_wide Y Print “Long =” rec_long Print “Area =”area area = rec_wide*rec_long else goto Stop Stop Print “Wide =”rec_wide Print “Long =”rec_long Print “Area = “area Stopตวั อย่างการนา Pseudo Code มาเขียนโปรแกรมด้วยภาษาคอมพวิ เตอร์ ภาษาเบสิค ภาษาปาสคาล10 Cls Program Calculate Area;20 Input rec_wide, rec_long VAR rec_wide, rec_long, area : Real;30 If rec_wide && rec_long > 0 Then Begin area = rec_wide * rec_long Area := 0; Else goto end Readln (rec_wide);40 Print “Wide =” rec_wide Readln (rec_long);50 Print “Long =” rec_long If rec_wide && rec_long > 0 then60 Print “Area =” area70 End area := rec_wide*rec_long; Writeln (“Wide =”,rec_wide :7:2); Writeln (“Long =”,rec_long :7:2); Writeln (“Area =”,area :7:2); Else End; End.
ภาษาจาวา ภาษาซีimport java.util.Scanner #include<stdio.h>class Calculate_Rectangle #include<conio.h>{ public static void main(String[ ] args) void main() { float rec_wide, rec_long, area; throws IOException clrscr(); { double rec_wide, rec_long, area = 0; printf(“enter wide of rectangle”); System.out.print(“Input wide =>”); scanf(“%f”,&rec_wide); System.out.print(“Input long =>”); printf(“enter long of rectangle”); Scanner sc = new Scanner(System.in); scanf(“%f”,&rec_long); rec_wide = Sc.nextdouble(); if (rec_wide && rec_long >0) rec_long = Sc.nextdouble(); { area = rec_wide*rec_long; if (rec_wide && rec_long >0) area = rec_wide * rec_long; printf(“Wide = %.2f\n”,rec_wide); System.out.println(“Wide = ” + rec_wide); printf(“Long = %.2f\n”,rec_long); System.out.println(“Long= ” + rec_long); printf(“Area = %.2f\n”,area); } System.out.println(“Area = ” + area); } getch(); } }สาระการเรียนรู้ เรื่อง การออกแบบและพฒั นาโปรแกรมขนาดเลก็ ดว้ ยภาษาซี 1. โครงสร้างของภาษาซี 2. กฎเกณฑก์ ารเขียนโปรแกรมภาษาซี 3. การแสดงผลขอ้ มูล และการรับค่าขอ้ มูลผา่ นแป้นพิมพ์ผลการเรียนรู้ท่ีคาดหวงั 1. สามารถเขียนโปรแกรมโครงสร้างของภาษาซีได้ 2. สามารถเขียนโปรแกรมภาษาซีถูกตอ้ งตามกฎเกณฑข์ องภาษา 3. สามารถใชค้ าสั่งในการรับและแสดงผลขอ้ มูลได้
การออกแบบและพฒั นาโปรแกรมขนาดเลก็ ด้วยภาษาซีโครงสร้างของภาษาซี ภาษาซีเป็นภาษาที่ประกอบไปดว้ ยฟังกช์ น่ั โดยในการเขียนโปรแกรมจะตอ้ งมีอยา่ งนอ้ ย 1 ฟังกช์ นั่ เสมอนนั่ ก็คือ ฟังกช์ นั่ main () ซ่ึงถือวา่ เป็นฟังกช์ นั่ หลกั ของภาษาซี ซ่ึงในโครงสร้างมีส่วนประกอบดงั น้ี # include<stdio.h> //การเรียกช้าลบรารีฟังกช์ น่ั # include<conio.h> main ( ) { clrscr( ); // ฟังกช์ น่ั เคลียร์จอภาพ int a, b, sum; // ประกาศชนิดตวั แปรท่ีใชใ้ นโปรแกรม a = 5; b = 3; sum = a + b; // การประมวลผล printf(“sum of a and b = %d”,sum); // แสดงผลการคานวณกฎเกณฑก์ ารเขียนโปรแกรมภ}าษาซี - ตอ้ งกาหนดส่วนตวั ประมวลผลก่อน - ตวั แปรท่ีตอ้ งใชง้ านตอ้ งประกาศชนิดของตวั แปรแตล่ ะประเภทใหถ้ ูกตอ้ ง - ตอ้ งมีฟังกช์ น่ั หลกั เสมอ - ใชเ้ ครื่องหมายปี กกา { } เป็ นตวั ขอบเขตของชุดคาสั่ง - ตอ้ งจบประโยคดว้ ยเครื่องหมาย ; - นิยมใชอ้ กั ษรตวั เลก็ ในการเขียนโปรแกรม - ใชเ้ คร่ืองหมายคอมมา่ , เป็ นตวั คนั่ ระหวา่ งตวั แปรหรือคา่ พารามิเตอร์ต่าง ๆ - การระบุหมายเหตุใหใ้ ชเ้ ครื่องหมาย /*…….*/ หรือ // ซ่ึงตวั คอมไพเลอร์จะไม่สนใจในขณะทา การคอมไพลโ์ ปรแกรม
การแสดงผลขอ้ มูล และการรับค่าขอ้ มูลผา่ นแป้นพมิ พ์ การแสดงผลขอ้ มูลและการรับคา่ ขอ้ มูลในภาษาซีจะตอ้ งมีรูปแบบถูกตอ้ งตามชนิดของตวั แปรที่นามาใช้โดยมีชนิดของตวั แปรดงั น้ี integer เป็นชนิดที่เก็บขอ้ มูลจานวนเตม็ floating point เป็นชนิดท่ีเก็บขอ้ มูลจานวนทศนิยม character เป็นชนิดท่ีเก็บตวั อกั ขระ จานวน 1 ตวั string เป็นชนิดท่ีเกบ็ ตวั อกั ขระมากกวา่ 1 ตวั หรือขอ้ ความ โดยใชว้ ธิ ีประกาศค่าเป็ น character ที่มีอาเรย์ เช่น ตอ้ งการใชต้ วั แปร name เกบ็ ชื่อพนกั งาน ใหป้ ระกาศ char name[20] หมายความวา่ ตวั แปรน้ีเก็บคา่ ช่ือพนกั งานไดจ้ านวน 20 ตวั อกั ขระรูปแบบที่ใชใ้ นการกาหนดการแสดงค่าและการรับคา่ ขอ้ มูล และรหสั การจดั รูปแบบการพมิ พ์ % d แสดงหรือรับขอ้ มูลตวั เลขจานวนเตม็ % f แสดงหรือรับขอ้ มูลตวั เลขทศนิยม % c แสดงหรือรับขอ้ มูลตวั อกั ขระ 1 ตวั % s แสดงหรือรับขอ้ มูลตวั อกั ขระมากกวา่ 1 ตวั \n ข้ึนบรรทดั ใหม่ \t เวน้ ระยะแทบ็ แนวนอน \a มีเสียงสัญญาณดงั beepคาสง่ั ที่ใชใ้ นการแสดงผลขอ้ มูล ไดแ้ ก่ คาสงั่ printf( ); printf (“คาอธิบาย รูปแบบท่ีใชใ้ นการแสดงค่าและรหสั การจดั รูปแบบการพมิ พ”์ , ตวั แปรที่แสดงคา่ );ตวั อย่าง printf (“Hello Computer”); printf (“Sum = %d\n”,sum);คาส่ังที่ใชใ้ นการรับขอ้ มูล ไดแ้ ก่ คาสง่ั scanf ( ); scanf (“รูปแบบที่ใชใ้ นการรับค่า”,ตวั แปรที่รับคา่ );ตวั อย่าง scanf (“%d”,&number); ถา้ เป็นตวั แปรชนิดตวั เลขตอ้ งมีเคร่ืองหมาย & นาหนา้ ตวั แปรเสมอ scanf (“%s”,name);ในกรณีที่มีการรับค่า แสดงค่า หลายจานวนใหค้ น่ั ตวั แปรดว้ ยเคร่ืองหมาย ,
ตวั อย่าง จงเขียนโปรแกรมภาษาซีเพอ่ื ทาการคานวณหาอายขุ องตวั เองในอีก 5 ปี ขา้ งหนา้ # include <stdio.h> # include <conio.h> main() { clrscr(); int age , next5y; age = 17; next5y = age + 5; printf(“Now I an %d years old”); printf(“Next 5 Years I am %d years old”,age); }ผล RUN Now I am 17 years old Next 5 Years I am 22 years old
ตวั อย่าง จงเขียนโปรแกรมภาษาซีเพ่อื ทาการรับค่าปี พ.ศ. แลว้ นามาเปลี่ยนเป็นปี ค.ศ. # include <stdio.h> # include <conio.h> main() { clrscr(); int age , next5y; printf(“How old are you?”); scanf(“%d”,&age); next5y = age + 5; printf(“Now I an %d years old”); printf(“Next 5 Years I am %d years old”,age); }ผล RUN Now I am 17 years old Next 5 Years I am 22 years old
าร ยอดเงินคงเหลือ2. การออกแบบ Output รายรับ .................................. บาท รายจ่าย .................................. บาท เงินคงเหลือ .................................. บาท3. ขอ้ มูลที่เป็น Input ไดแ้ ก่ 3.1 รายรับ 3.2 รายจา่ ย4. ตวั แปรท่ีใช้ 4.1 รายรับ income 4.2 รายจา่ ย expense 4.3 เงินคงเหลือ balance5. Process & Flow Chart 6. Pseudo Code start5.1 รับขอ้ มูลรายรับ และรายจา่ ย input income, expense balance = income - expense5.2 คานวณหาเงินคงเหลือ = รายรับ – รายจ่าย print “Income =”,income5.3 แสดงขอ้ มูลตาม Output “Expense =”,expense “Balance =”,balance start stop income, expense balance = income-expense “Income =” income “Expense =” expense “Balance =” balance stop
Search
Read the Text Version
- 1 - 18
Pages: