ค ำน ำ - wordpress.com...สุดท้ายขอขอบคุณ...

116

Upload: others

Post on 01-Jun-2020

1 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: ค ำน ำ - WordPress.com...สุดท้ายขอขอบคุณ ผศ.ดร.ประกอบ ใจมั่น ที่ให้ค าปรึกษาชี้แนะจนหนังสือคู่มือการเขียน

Page 2: ค ำน ำ - WordPress.com...สุดท้ายขอขอบคุณ ผศ.ดร.ประกอบ ใจมั่น ที่ให้ค าปรึกษาชี้แนะจนหนังสือคู่มือการเขียน
Page 3: ค ำน ำ - WordPress.com...สุดท้ายขอขอบคุณ ผศ.ดร.ประกอบ ใจมั่น ที่ให้ค าปรึกษาชี้แนะจนหนังสือคู่มือการเขียน

ค ำน ำ

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

สดทายขอขอบคณ ผศ.ดร.ประกอบ ใจมน ทใหค าปรกษาชแนะจนหนงสอคมอการเขยนโปรแกรมภาษา C เลมนส าเรจเสรจสนไดดวยด

คณะผจดท ำ 21 กนยำยน 2560

Page 4: ค ำน ำ - WordPress.com...สุดท้ายขอขอบคุณ ผศ.ดร.ประกอบ ใจมั่น ที่ให้ค าปรึกษาชี้แนะจนหนังสือคู่มือการเขียน

สำรบญ เรอง หนำ ค ำน ำ ก สำรบญ ข สำรบญตำรำง ค สำรบญภำพ ง บทท 1 กำรเขยนโปรแกรม 2 1.1 หลกการเขยนโปรแกรม 2 1.2 โครงสรางการท างานของการเขยนโปรแกรม 10 บทท 2 ควำมรเกยวกบภำษำซ 26 2.1 โครงสรางภาษาซ 27 2.2 ตวแปรในภาษาซ 32 2.3 การเขยนขอคดเหน 37 2.4 ค าสงเบองตนในภาษาซ 38 2.5 ตวด าเนนการในภาษาซ 47 2.6 ล าดบความส าคญของเครองหมาย 52 บทท 3 กำรเขยนโปรแกรมแบบตำมล ำดบ 55 3.1 หลกการเขยนโปรแกรมแบบตามล าดบ 56 บทท 4 กำรเขยนโปรแกรมแบบมทำงเลอก 60 4.1 ค าสงทใชในการเขยนโปรแกรมแบบเลอกท า 61 4.2 ค าสง Switch Case 69 บทท 5 กำรเขยนโปรแกรมแบบวนซ ำ 79 5.1 ลกษณะการเขยนโปรแกรมแบบวนซ า 80 5.2 ค าสงทใชในการเขยนโปรแกรมแบบวนซ า 83 บรรณำนกรม 97

Page 5: ค ำน ำ - WordPress.com...สุดท้ายขอขอบคุณ ผศ.ดร.ประกอบ ใจมั่น ที่ให้ค าปรึกษาชี้แนะจนหนังสือคู่มือการเขียน

สำรบญตำรำง

ตำรำงท หนำ ตารางท 2.1 ชนดขอมลในภาษาซ ตารางท 2.2 ค าสงวนในภาษาซ ตารางท 2.3 ตวอยางชอตวแปรทเหมาะสม ตารางท 2.4 รหสแทนประเภทขอมล ตารางท 2.5 รหสควบคมการจดรปแบบ ตารางท 2.6 ตวด าเนนการทางคณตศาสตร ตารางท 2.7 ตวด าเนนการก าหนดคา ตารางท 2.8 ตวด าเนนการเพมและลดคา ตารางท 2.9 ตวด าเนนการเชงสมพนธ ตารางท 2.10 ตวด าเนนการทางตรรกะ ตารางท 2.11 ล าดบความส าคญของเครองหมาย ตารางท 5.1 ตวด าเนนการเพมและลดคา

Page 6: ค ำน ำ - WordPress.com...สุดท้ายขอขอบคุณ ผศ.ดร.ประกอบ ใจมั่น ที่ให้ค าปรึกษาชี้แนะจนหนังสือคู่มือการเขียน

สำรบญภำพ

ภำพท บทท 1 กำรเขยนโปรแกรม (Programming principles)

ภาพท 1.1 แสดงขนตอนการพฒนาโปรแกรม ภาพท 1.2 แสดงตวอยางการวเคราะหโปรแกรม ภาพท 1.3 แสดงผลรนของโปรแกรม ภาพท 1.4 แสดงการท างานแบบตามล าดบ ภาพท 1.5 แสดงตวอยางการเขยนโปรแกรมแบบตามล าดบตวอยางท 1 ภาพท 1.6 แสดงตวอยางการเขยนโปรแกรมแบบตามล าดบตวอยางท 2 ภาพท 1.7 แสดงโปรแกรมแบบมทางเลอกแบบ 1 ทางเลอก ภาพท 1.8 แสดงการท างานโปรแกรมแบบมทางเลอกแบบ 1 ทางเลอกตวอยางท 3 ภาพท 1.9 แสดงการท างานโปรแกรมแบบมทางเลอกแบบ 1 ทางเลอกตวอยางท 4ภาพท 1.10 แสดงโครงสรางการท างานโปรแกรมแบบมทางเลอกแบบ 2 ทางเลอกภาพท 1.11 แสดงการท างานโปรแกรมแบบมทางเลอกแบบ 2 ทางเลอกตวอยางท 5 ภาพท 1.12 แสดงโครงสรางการท างานโปรแกรมแบบมหลายทางเลอก (มการ

ตดสนใจมากกวา 1ครง) ภาพท 1.13 แสดงโครงสรางการท างานโปรแกรมแบบมหลายทางเลอก (มการ

ตดสนใจมากกวา 1ครง) ตวอยางท 6 ภาพท 1.14 แสดงโครงสรางการท างานโปรแกรมแบบท าซ า ภาพท 1.15 แสดงตวอยางการท างานโปรแกรมแบบท าซ าตวอยางท 7 ภาพท 1.16 แสดงตวอยางการท างานโปรแกรมแบบท าซ าตวอยางท 8

บทท 2 ควำมรเกยวกบภำษำซ ภาพท 2.1 โครงสรางภาษาซ ภาพท 2.2 โปรแกรมแสดงชอ ภาพท 2.3 โปรแกรมบวกเลข 2 จ านวน ภาพท 2.4 โปรแกรมบวกเลข 2 จ านวนโดยการรบคาจากผใช ภาพท 2.5 การประกาศตวแปรแบบชดขอความ ภาพท 2.6 โปรแกรมการแสดงคาตวแปร num ภาพท 2.7 การก าหนดคาตวแปรโดยใชค าสง #define

หนำ

3 6 9

10 11 12 13 14 15 16 17

18

19 20 22 23

27 30 31 31 34 36 36

Page 7: ค ำน ำ - WordPress.com...สุดท้ายขอขอบคุณ ผศ.ดร.ประกอบ ใจมั่น ที่ให้ค าปรึกษาชี้แนะจนหนังสือคู่มือการเขียน

สำรบญภำพ (ตอ)

ภำพท ภาพท 2.8 การปรบโปรแกรมโดยใชค าสง #define ภาพท 2.9 การเขยนขอคดเหนแบบ 1 บรรทด ภาพท 2.10 การเขยนขอคดเหนแบบหลายบรรทด ภาพท 2.11 การใชค าสง scanf ภาพท 2.12 การใชค าสง scanf รบคาหลายคา ภาพท 2.13 การรบขอมลแบบชดขอความ ภาพท 2.14 การใชค าสง printf ตวอยางท 18 ภาพท 2.15 การใชค าสง printf ตวอยางท 19 ภาพท 2.16 การใชค าสง printf และ scanf ภาพท 2.17 การใชค าสง printf และ scanf แสดงผลตวแปร ภาพท 2.18 การใชรหสแทนขอมล ภาพท 2.19 การใชสญลกษณควบคมการจดรปแบบ ภาพท 2.20 แสดงการประยกตใชตวด าเนนการทางคณตศาสตร ภาพท 2.21 การประยกตใชตวด าเนนการ += ภาพท 2.22 การประยกตใชตวด าเนนการกบการวนซ า ภาพท 2.23 การประยกตใชตวด าเนนการ ภาพท 2.24 การประยกตใชตวด าเนนการ ภาพท 2.25 การประยกตใชตวด าเนนการ

บทท 3 กำรเขยนโปรแกรมแบบตำมล ำดบ (Sequential Program) ภาพท 3.1 แสดงล าดบผงงาน ภาพท 3.2 แสดงโปรแกรมแบบตามล าดบรบขอมลสวนตวของนกศกษา ภาพท 3.3 ผลรนของโปรแกรมเมอรบคาขอมลเสรจจะจบการท างานทนท ภาพท 3.4 แสดงโปรแกรมแบบตามล าดบน าคาทอยในตวแปรมาแสดงผลลพธ ภาพท 3.5 แสดงผลลพธการแสดงผลเพมเขามาอก 1 กระบวนการ

บทท 4 กำรเขยนโปรแกรมแบบมทำงเลอก (Selection Structures) ภาพท 4.1 หนาจอแสดงค าสงเลอกท าแบบทางเดยว ภาพท 4.2 การเขยนโปรแกรมแบบ 1 ทางเลอก ภาพท 4.3 การเขยนโปรแกรมแบบ 1 ทางเลอก

หนำ 37 38 38 39 40 41 42 42 43 44 45 47 48 49 49 50 51 52

56 57 58 58 59

61 61 62

Page 8: ค ำน ำ - WordPress.com...สุดท้ายขอขอบคุณ ผศ.ดร.ประกอบ ใจมั่น ที่ให้ค าปรึกษาชี้แนะจนหนังสือคู่มือการเขียน

สำรบญภำพ (ตอ)

ภำพท ภาพท 4.4 ค าสงเลอกท าแบบ 2 ทางเลอก (if else) ภาพท 4.5 การเขยนโปรแกรมแบบ 2 ทางเลอก ภาพท 4.6 การเขยนโปรแกรมแบบ 2 ทางเลอกโปรแกรมรบคาคะแนน ภาพท 4.7 ค าสงเลอกท าแบบหลายทางเลอก (if else if else) ภาพท 4.8 การเขยนโปรแกรมแบบหลายทางเลอก ภาพท 4.9 โปรแกรมค านวณเงนเดอน ภาพท 4.10 การตรวจเชคอายกอนอนญาต ภาพท 4.11 ค าสง Switch case ภาพท 4.12 การเลอกใหแสดงแสดงตวเลข โดยไมใช ค าสง break ภาพท 4.13 โปรแกรม switch case โดยไมใช ค าสง break; ภาพท 4.14 โปรแกรม switch case แสดงเลขคและเลขค ภาพท 4.15 โปรแกรมเครองคดเลข ภาพท 4.16 โปรแกรมรายการทวร ภาพท 4.17 โปรแกรมใหรางวล

บทท 5 กำรเขยนโปรแกรมแบบวนซ ำ (Loop Program) ภาพท 5.1 แสดงรปแบบการท างานแบบวนรอบ ภาพท 5.2 แสดงการเขยนโปรแกรมของการแสดงผลตวเลข 1-10 ภาพท 5.3 แสดงผลการเขยนโปรแกรมทไมสามารถจบการท างานได ภาพท 5.4 การเขยนโปรแกรม 1-1000 ภาพท 5.5 แสดงโปรแกรมแสดง สตรคณ จากหลงมาหนา ภาพท 5.6 แสดงโปรแกรมค านวณหาคาเกรดเฉลย ภาพท 5.7 แสดงโปรแกรมผลรวมของตวเลข 1-1000 ภาพท 5.8 เปนการแสดงการหาผลรวมของตวเลข 1-1000 (กรณถาเงอนไขเปนเทจ) ภาพท 5.9 หาผลรวมของตวเลข 1-1000 (กรณถาเงอนไขเปนเทจ) ของโปรแกรม

While ภาพท 5.10 แสดงโปรแกรมการสอบถามกอนออกจากโปรแกรม โดยใช Do..While ภาพท 5.11 แสดงโปรแกรมค านวณหาเกรดเฉลยโดยใชค าสง Do..While ภาพท 5.12 แสดงโปรแกรมเกมสการสมตวเลข

หนำ 62 63 64 65 66 68 68 69 71 72 72 73 75 77

81 84 85 85 86 87 89 90

91 91 92 94

Page 9: ค ำน ำ - WordPress.com...สุดท้ายขอขอบคุณ ผศ.ดร.ประกอบ ใจมั่น ที่ให้ค าปรึกษาชี้แนะจนหนังสือคู่มือการเขียน

สำรบญภำพ (ตอ)

ภำพท ภาพท 5.13 แสดงโปรแกรมแสดงตวเลข 1-10 โดยใชค าสง For ภาพท 5.14 แสดงโปรแกรมหาคามากทสดและนอยทสด โดยใชค าสง For ภาพท 5.15 แสดงโปรแกรมสตรคณโดยใช For ภาพท 5.16 แสดงโปรแกรมแสดงสตรคณ จะหยดการท างานเมอผใชปอน คา ภาพท 5.17 แสดงโปรแกรมเกมส OX โดยมผเลน 2 คนแขงกน

หนำ 95 96 97 98

100

Page 10: ค ำน ำ - WordPress.com...สุดท้ายขอขอบคุณ ผศ.ดร.ประกอบ ใจมั่น ที่ให้ค าปรึกษาชี้แนะจนหนังสือคู่มือการเขียน
Page 11: ค ำน ำ - WordPress.com...สุดท้ายขอขอบคุณ ผศ.ดร.ประกอบ ใจมั่น ที่ให้ค าปรึกษาชี้แนะจนหนังสือคู่มือการเขียน

1. สำระส ำคญ

กอนการเรมเขยนโปรแกรมผเรยนจะตองมความรเกยวกบหลกการเขยนโปรแกรม เนองจากการพฒนาโปรแกรมหนง จะตองใชความรความเขาใจเกยวกบขนตอนการท างานของโปรแกรมหากผพฒนาไมมพนฐานความรเบองตนในการจดล าดบกระบวนการกอนการเรมเขยนโปรแกรมหรอพฒนาโครงงาน การเขยนโปรแกรมใหประสบความส าเรจอาจเปนเรองยาก หลกการเขยนโปรแกรมจะท าใหผเรยนไดเหนภาพรวมของกระบวนการกอนการเขยนโปรแกรม อกหนงองคประกอบทจะท าใหผเรยนสามารถเขยนโปรแกรมไดคอการเขาใจโครงสรางการท างานของโปรแกรม เนองจากในการเขยนโปรแกรมนนจะตองมโครงสรางการท างาน โปรแกรมบางโปรแกรมมโครงสรางทซบซอน ผเรยนจ าเปนตองทราบรายละเอยดแตละโครงสรางการท างานของโปรแกรม เพอจดล าดบความเขาใจและตอยอดความรสการเขยนโปรแกรมทมความซบซอน โครงสรางการท างานของโปรแกรมเปนการบอกลกษณะการท างานของโปรแกรม เพอสรางความเขาใจกอนการเขยนโปรแกรมในรปแบบทถกตองตามหลกโครงสรางการท างาน จงเปนสงส าคญทผเรยนจะตองทราบรายละเอยด ในสวนของบทท 2 จะอธบายผเรยนเกยวกบรายละเอยดทผเรยนจ าเปนตองทราบดงตอไปน 2. จดประสงคกำรเรยนร 2.1 เขาใจหลกการเขยนโปรแกรม 2.2 อธบายโครงสรางการท างานของโปรแกรม 2.3 เขยนโปรแกรมไดอยางถกตอง 3. สำระกำรเรยนร 3.1 หลกการเขยนโปรแกรม 3.2 โครงสรางการท างานของโปรแกรม

Page 12: ค ำน ำ - WordPress.com...สุดท้ายขอขอบคุณ ผศ.ดร.ประกอบ ใจมั่น ที่ให้ค าปรึกษาชี้แนะจนหนังสือคู่มือการเขียน

2

1.1 หลกกำรเขยนโปรแกรม การเขยนโปรแกรมคอมพวเตอรเปนการพฒนาซอฟตแวรหรอชดค าสงเพอสงการใหคอมพวเตอร

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

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

ภำพท 1.1 แสดงขนตอนการพฒนาโปรแกรม

Planning

Utilize Analysis

Program Development

Document

Development

Test Edit and Improve

Page 13: ค ำน ำ - WordPress.com...สุดท้ายขอขอบคุณ ผศ.ดร.ประกอบ ใจมั่น ที่ให้ค าปรึกษาชี้แนะจนหนังสือคู่มือการเขียน

3

1.1.2 ข นตอนกำรพฒนำโปรแกรมประกอบดวย 7 ข นตอนดงน 1.1.2.1 กำรวำงแผนกำรท ำงำน (Planning) กระบวนการวางแผนการท างานเปนกระบวนการเรมตนของการพฒนาโปรแกรม เพอใหผพฒนา

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

1.1.2.2 กำรวเครำะห (Analysis) ในกระบวนการวเคราะห เปนกระบวนการในการหาทมาของปญหาเพอรวมวเคราะหการท างาน

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

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

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

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

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

Page 14: ค ำน ำ - WordPress.com...สุดท้ายขอขอบคุณ ผศ.ดร.ประกอบ ใจมั่น ที่ให้ค าปรึกษาชี้แนะจนหนังสือคู่มือการเขียน

4

การประมวลผลหลกของโปรแกรม เชน วธการคดรายไดสทธ การประมวลผลยอยของการประมวลผลหลก เชนวธการคดคาลวงเวลา โครงสรางการท างานของโปรแกรม แบบมทางเลอก แบบวนซ า สวนของโครงสรางการ

ท างานของโปรแกรมจะอธบายอกทในบทถดไป 3. สวนของกำรแสดงผลลพธ (Output) ในสวนของการแสดงผลลพธเปนสวนของการพจารณา

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

ตวอยำง 1. รบขอมล (Input)

1.1 รบคาเกยวกบพนกงาน รหส ชอ นามสกล 1.2 รบคาเกยวกบรายรบพนกงาน อตราเงนเดอนทไดรบ เงนประจ าต าแหนง จ านวนชวโมงการท างานลวงเวลา

2. กำรประมวลผล (Process) 2.1 การค านวณหาจ านวนเงน อตราคาลวงเวลา (จ านวนชวโมง x อตราคาลวงเวลาตอชวโมง) 2.2 การค านวณหารายรบสทธทไดรบ อตราเงนเดอน + เงนประจ าต าแหนง + จ านวนเงนคาลวงเวลา

3. กำรแสดงผลลพธ (Output) 3.1 รายละเอยดทจะแสดงออกสหนาจอ 3.2 รปแบบการแสดงผลลพธ จะเหนวา หากฝกวเคราะหโดยมองหาสวนของขอมลน าเขา การประมวลผล และการแสดงผลลพธ จะท าใหสามารถสรปความคดและมองเหนภาพของความตองการชดเจนมากยงขน

Page 15: ค ำน ำ - WordPress.com...สุดท้ายขอขอบคุณ ผศ.ดร.ประกอบ ใจมั่น ที่ให้ค าปรึกษาชี้แนะจนหนังสือคู่มือการเขียน

5

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

อลกอรทม คอ การออกแบบกระบวนการหรอขนตอนกอนการลงมอเขยนโปรแกรม ในขนตอนน

จะน าเครองมอทชวยในการวเคราะหและออกแบบมาชวยเพอใหเหนภาพการท างานทชดเจนขน เชน การใชโฟรชารต (Flowchart) การใชรหสเทยม (Pseudo Code) เพอรางแบบการท างานของโปรแกรม รายละเอยดเกยวกบอลกอรทมจะอธบายในบทถดไป

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

จากโจทย ระบตองการใหเขยนโปรแกรมค านวณรายไดสทธใหกบพนกงานของบรษทแหงหนง สมมต หลงจากทเกบขอมลรายละเอยดแลวพบวา รายไดสทธมากจาก เงนเดอน + คาลวงเวลา + เงนประจ าต าแหนง จะไดอลกอรทมทออกแบบโดยโฟรชารต (Flowchart) และรหสเทยม (Pseudo Code) ดงน

Start

E_id,E_name,E_sur,C_ot,E_salary,E_position

Net_pay = 0Hour=250

Net_pay = E_salary +(Hour*C_ot)+E_postion

E_id,E_name,E_surname,Net_pay

Stop ภำพท 1.2 แสดงตวอยางการวเคราะหโปรแกรม

Net_pay Algorithm Start Set Net_pay =0,Hour=250 Input E_id,E_name,E_sur,C_ot, E_salary,E_position Compute Net_pay = E_salary

+(Hour*C_ot)+E_postion Display E_id,E_name,E_surname, Net_pay Stop

Page 16: ค ำน ำ - WordPress.com...สุดท้ายขอขอบคุณ ผศ.ดร.ประกอบ ใจมั่น ที่ให้ค าปรึกษาชี้แนะจนหนังสือคู่มือการเขียน

6

โดยท Net_pay คอ เงนเดอนสทธ Hour คอ อตราเงนคาลวงเวลาตอ 1 ชวโมง E_id คอ รหสพนกงาน E_name คอ ชอพนกงาน E_Surname คอ นามสกลพนกงาน E_position คอ อตราเงนคาต าแหนง C_ot คอ จ านวนชวโมงลวงเวลาท างาน จากตวอยางเปนการแสดง Algorithm ทใช โฟรชารตและรหสเทยมในการออกแบบการท างาน

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

1.1.3 กำรเขยนโปรแกรม (Development) กระบวนการเขยนโปรแกรมเปนกระบวนการหลงจากทผพฒนาโปรแกรมไดทราบปญหา

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

หลงจากไดวเคราะหและออกแบบการเรยนโปรแกรมแลว ตอไปเปนกระบวนการเขยนโปรแกรม ในการเขยนโปรแกรมสามารถใชภาษาคอมพวเตอรมาใชในการเขยนโปรแกรม ตวอยางภาษาคอมพวเตอรเชน ภาษาซ ภาษา PHP (Personal Home Page) ภาษา Basic ภาษา PASCAL เปนตน โดยในการเขยนโปรแกรมนน ปจจบนม Editer หลายโปรแกรมทสามารถรนการท างานผานระบบปฏบตการวนโดวนไดเลย ท าใหงายและสะดวกในการเขยนโปรแกรมมากยงขน และค าสงทใชในการเขยนโปรแกรมปจจบนใชภาษาธรรมชาต หรอ ภาษาทใชทวไปในการสงงานยงท าใหการเขยนโปรแกรมงายมากยงขน

หลกในกำรเขยนโปรแกรม 1. เขาใจโครงสรางการท างานของโปรแกรมในแตละภาษา

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

เขยนโปรแกรมโดยใชภาษาซแสดงค าสงในการเขยนโปรแกรมดวยภาษาซ ไดดงตอไปน

Page 17: ค ำน ำ - WordPress.com...สุดท้ายขอขอบคุณ ผศ.ดร.ประกอบ ใจมั่น ที่ให้ค าปรึกษาชี้แนะจนหนังสือคู่มือการเขียน

7

#include<stdio.h> main() { float Net_pay ,Hour ,E_salary,E_position; int C_ot; char E_id[10] ,E_name[30],E_sur[30]; printf(" Caculate Your Net_Salary\n"); printf("******************************\n");

printf("Input Employee_id :"); scanf("%d",&E_id);

printf("Input Employee_name :"); scanf("%s",&E_name); printf("Input Employee_surname :"); scanf("%s",&E_sur); printf("Input your salary :"); scanf("%f",&E_salary); printf("Input your Emoluments :"); scanf("%f",&E_position); printf("Input the number of overtime hours :"); scanf("%f",&Hour); Net_pay = E_salary + E_position +(Hour*250); printf("******************************\n"); printf(" Khun %s %s get %f bath\n",E_name,E_sur,Net_pay); printf("******************************\n");

}

Page 18: ค ำน ำ - WordPress.com...สุดท้ายขอขอบคุณ ผศ.ดร.ประกอบ ใจมั่น ที่ให้ค าปรึกษาชี้แนะจนหนังสือคู่มือการเขียน

8

ผลกำรรนโปรแกรม ภำพท 1.3 แสดงผลรนของโปรแกรม

จากตวอยางเปนการเขยนโปรแกรมโดยใชภาษาซในการเขยนโปรแกรม โดยใชโปรแกรม C

Free ลกษณะการเขยนโปรแกรมเขยนตามหลกไวยกรณของภาษาซ มการประกาศตวแปร การรบคา การประมวลผล และการแสดงผลลพธ

4. กำรทดสอบ (Test) กระบวนการทดสอบโปรแกรม เปนกระบวนการตรวจสอบความถกตองของการท างานของ

โปรแกรมเพอใหแนใจวาโปรแกรมทพฒนาขนไมไดมขอผดพลาด ซงความผดพลาดทเกดขนจะเกดขนได 2 กรณ คอ รปแบบชดค าสงผดพลาด (Syntax Error) และ ผลการท างานทผดพลาด (Logic Errors) ผพฒนาโปรแกรมจ าเปนตองทดสอบใหแนใจวาโปรแกรมมไดมขอผดพลาด กระบวนการในการทดสอบโปรแกรมสามารถด าเนนการไดหลายวธ เชน การทดสอบโดยสมกลมผใชทเกยวของ หรอการทดสอบโดยผเชยวชาญเฉพาะดาน เพอหาจดบกพรองกอนทจะน าไปใชงานจรง

5. กำรแกไขและปรบปรง (Edit and Improve) กระบวนการแกไขและปรบปรงเปนกระบวนทเกดขนหลงจากมการทดสอบโปรแกรม หากม

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

6. กำรจดท ำเอกสำรคมอ (Document) การจดท าเอกสารคมอ เปนอกขนตอนหนงขนตอนทมความส าคญ เนองจากขนตอนนเปน

ขนตอนของการอธบายการใชงานและสวนประกอบตาง ๆ ของโปรแกรม เพอเปนคมอในการปรบปรงงานหรอแกไขงานในอนาคต

7. กำรท ำไปใช (Utilize) กระบวนการน าโปรแกรมไปใชงานเปนกระบวนการสดทายของการพฒนาโปรแกรม ในการ

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

Page 19: ค ำน ำ - WordPress.com...สุดท้ายขอขอบคุณ ผศ.ดร.ประกอบ ใจมั่น ที่ให้ค าปรึกษาชี้แนะจนหนังสือคู่มือการเขียน

9

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

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

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

กำรท ำงำนแบบล ำดบ

1

2

ภำพท 1.4 แสดงการท างานแบบตามล าดบ

ชอรหสเทยม 1. start 2. statement 1 3. statement 2 4. statement n 5. stop

Page 20: ค ำน ำ - WordPress.com...สุดท้ายขอขอบคุณ ผศ.ดร.ประกอบ ใจมั่น ที่ให้ค าปรึกษาชี้แนะจนหนังสือคู่มือการเขียน

10

การท างานของโปรแกรมจะเรมจากค าสงท 1 ค าสงท 2 เรยงล าดบลงมาถงค าสงสดทายโดยการท างานของโปรแกรมจะท างานตามล าดบค าสง ไมมการเลอกท าค าสงใดค าสงหนง ไมมการวนกลบไปท าค าสงเดมซ า ตวอยำงผงงำนและรหสเทยมตำมล ำดบ ตวอยำงท 1 ผงงำนและรหสเทยม(Pseudo Code) แบบตำมล ำดบ โจทย การบวกเลข 2 จ านวนโดยไมรบคา

Start

Stop

Num1=5,Num2=10, Sum=0

Sum=Num1+Num2

Sum

ผงงำน (Flowchart)

ภำพท 1.5 แสดงตวอยางการเขยนโปรแกรมแบบตามล าดบตวอยางท 1 ค ำอธบำย 1. เรมตนการท างานโดยการก าหนดตวแปร Num1 ใหมคาเทากบ 5 ตวแปร Num2 มคาเทากบ 10 และก าหนดคา Sum=0

ชอรหสเทยม กำรบวกเลข 2 จ ำนวนโดยไมรบคำ

1. Start

2. Set Num1=5, Num2=10, Sum=0

3. Compute Sum=Num1+Num2

4. Display Sum

5. Stop

รหสเทยม PseudoCode

Page 21: ค ำน ำ - WordPress.com...สุดท้ายขอขอบคุณ ผศ.ดร.ประกอบ ใจมั่น ที่ให้ค าปรึกษาชี้แนะจนหนังสือคู่มือการเขียน

11

2. น าคา Num1 และ คา Num2 มาบวก เกบคาผลลพธไวทตวแปร Sum 3. แสดงคาตวแปร Sum 4. จบการท างาน ตวอยำงท 2 กำรแสดงผลคะแนนสอบของนกศกษำจ ำนวน 1 คน

start

score = 0

score = midterm+final+work

stop

s_id,s_name,s_surmidterm,final,work

s_id,s_name,s_sur,score

ภาพท 1.6 แสดงตวอยางการเขยนโปรแกรมแบบตามล าดบตวอยางท 2

ชอรหสเทยม กำรแสดงผลคะแนนสอบนกศกษำ 1 คน

1. Start 2. input s_id,s_name,s_sur,midterm,final,work 3. set score =0 4. compute score=midterm+final+work 5. Display score 6. Stop

โดยท s_id คอ รหสนกศกษา s_name คอ ชอนกศกษา s_sur คอ นามสกล midterm คอคะแนนสอบกลางภาค final คอ คะแนนสอบปลายภาค work คอ คะแนนงาน score คอ ผลรวมของคะแนน

Page 22: ค ำน ำ - WordPress.com...สุดท้ายขอขอบคุณ ผศ.ดร.ประกอบ ใจมั่น ที่ให้ค าปรึกษาชี้แนะจนหนังสือคู่มือการเขียน

12

ค ำอธบำย 1. เรมตนการท างานโดยการรบคาขอมล รหสนกศกษา (s_id) ชอนกศกษา (s_name) นามสกลนกศกษา (s_sur) คะแนนสอบกลางภาค (midterm) คะแนนสอบปลายภาค (final) คะแนนงาน (work) 2. ก าหนดใหตวแปร score ซงเปนตวแปรทใชในการเกบผลลพธมคาเทากบ 0 3. น าคาคะแนนสอบกลางภาค(midterm) + คะแนนสอบปลายภาค(final) + คะแนนงาน(work) 4. เกบคาผลลพธทไดไวทตวแปร score 5. แสดงคาตวแปร score 6. จบการท างาน

1.2.2 กำรท ำงำนแบบมทำงเลอก การท างานแบบมทางเลอก คอ ในกระบวนการท างานของโปรแกรมมสวนทตอง

ตดสนใจเลอกท าอยางใดอยางหนง ตามเงอนไขทก าหนดไวซงเงอนไขดงกลาวอาจม 1 เงอนไขหรอมากกวา 1 เงอนไขขนอยกบลกษณะการท างานของโปรแกรม

สำมำรถแบงรปแบบกำรท ำงำนแบบมทำงเลอก ออกไดดงตอไปน

1. การท างานแบบม 1 ทางเลอก 2. การท างานแบบม 2 ทางเลอก 3. การท างานแบบมหลายทางเลอก (มการตดสนใจมากวา 1 ครง)

การท างานในแตละแบบมขอแตกตางกนอยางไรอธบายไดจากภาพผงงานดงตอไปน

Page 23: ค ำน ำ - WordPress.com...สุดท้ายขอขอบคุณ ผศ.ดร.ประกอบ ใจมั่น ที่ให้ค าปรึกษาชี้แนะจนหนังสือคู่มือการเขียน

13

1.กำรท ำงำนโปรแกรมแบบมทำงเลอกแบบ 1 ทำงเลอก

start

1

2

3

stop

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

ชอรหสเทยม

1. start 2. statement 1 3. statement 2 4. if (condition) then statement 3 End if 5. stop

Page 24: ค ำน ำ - WordPress.com...สุดท้ายขอขอบคุณ ผศ.ดร.ประกอบ ใจมั่น ที่ให้ค าปรึกษาชี้แนะจนหนังสือคู่มือการเขียน

14

start

Get id_emp,sum_ot,salary

sum_ot>150

stop

Yes

NO

salary =salay +(salary*0.05)

Total salary bath

ภำพท 1.8 แสดงการท างานโปรแกรมแบบมทางเลอกแบบ 1 ทางเลอกตวอยางท 3

ค ำอธบำย 1. เรมตน โปรแกรมจะรบคารหสพนกงาน ชวโมงรวมของการท างานลวงเวลา และจ านวนเงนเดอน 2. เปรยบเทยบจ านวนชวโมงการท างานลวงเวลาวามากวา 150 หรอไม ถาใช ค านวณ เงนเดอน * 0.05 เพอหาเงนโบนสพเศษ ไดเทาไหรน าไปบวกกบเงนเดอนปจจบน 3. แสดงผลจ านวนเงนทไดรบ 4. จบการท างาน ตวอยำงท 4 การท างานโปรแกรมแบบมทางเลอกแบบ 1 ทางเลอก

ชอรหสเทยม เพมเงนโบนสพเศษ 1. start 2. Get id_emp, sum_ot ,salary 3. if (sum_ot>150)

then salary =salary +(salary*0.05)

End if 4. Display Total salary bath 5. stop

โดยท id_emp คอ รหสพนกงาน sum_ot คอ ผลรวมของชวโมงการท างานลวงเวลา salary คอ เงนเดอน

Page 25: ค ำน ำ - WordPress.com...สุดท้ายขอขอบคุณ ผศ.ดร.ประกอบ ใจมั่น ที่ให้ค าปรึกษาชี้แนะจนหนังสือคู่มือการเขียน

15

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

start

Num

Num>0

Num

stop

Yes

No

ภำพท 1.9 แสดงการท างานโปรแกรมแบบมทางเลอกแบบ 1 ทางเลอกตวอยางท 4 ค ำอธบำย 1. เรมตนการท างานรบคาตวเลขจ านวน 1 จ านวน 2. เปรยบเทยบคาตวเลขทรบเขามา มากกวา 0 หรอไม

ถาใช แสดงผลคาตวเลขจ านวนนน ถาไมใชออกจากการท างาน

3. จบการท างาน 2. กำรท ำงำนโปรแกรมแบบมทำงเลอกแบบ 2 ทำงเลอก

ชอรหสเทยม ตรวจเชคตวเลขทรบเขามา 1. start 2. Input num 3. if (Num>0)

then Display Num End if 4. stop

โดยท Num คอ ตวเลขทรบเขามา

Page 26: ค ำน ำ - WordPress.com...สุดท้ายขอขอบคุณ ผศ.ดร.ประกอบ ใจมั่น ที่ให้ค าปรึกษาชี้แนะจนหนังสือคู่มือการเขียน

16

start

1

2

3

stop

4

ภำพท 1.10 แสดงโครงสรางการท างานโปรแกรมแบบมทางเลอกแบบ 2 ทางเลอก ตวอยำงท 5 การท างานโปรแกรมแบบมทางเลอกแบบ 2 ทางเลอก

ชอรหสเทยม 1. start 2. statement 1 3. statement 2 4. if (condition) then statement 3

else statement 4 End if

5. stop

Page 27: ค ำน ำ - WordPress.com...สุดท้ายขอขอบคุณ ผศ.ดร.ประกอบ ใจมั่น ที่ให้ค าปรึกษาชี้แนะจนหนังสือคู่มือการเขียน

17

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

start

card_id , year_birth

age = 0

age = 2559-year_birth

Age>=18

AllowNot Allow

stop

No Yes

ภำพท 1.11 แสดงการท างานโปรแกรมแบบมทางเลอกแบบ 2 ทางเลอกตวอยางท 5 ค ำอธบำย

ชอรหสเทยม ตรวจเชคอำยกอนเขำสถำนบนเทง

1. start 2. input card_id ,year_birth 3. set age = 0 4. age = 2559-year_birth 5. if (age>=18) then print “Arrow”

else print “Not Arrow” End if

5. stop

โดยท card_id คอ รหสบตรประจ าตวประชาชน year_birht คอ ปเกด age คอ อาย

Page 28: ค ำน ำ - WordPress.com...สุดท้ายขอขอบคุณ ผศ.ดร.ประกอบ ใจมั่น ที่ให้ค าปรึกษาชี้แนะจนหนังสือคู่มือการเขียน

18

1. เรมตนโปรแกรมจะท าการรบหมายเลขบตรประจ าตวประชาชน และปทเกดเขาสระบบ 2. ก าหนดใหตวแปรอาย (age) มคาเทากบ 0 3. ค านวณหาอาย โดยน าปพ.ศ.ปจจบน – ปทเกด ไดผลลพธเทาไหรเกบไวท ตวแปรอาย 4. ตรวจสอบผล

ถาอายมากกวาหรอเทากบ 18 พมพขอความ Allow ถาไม พมพขอความ Not Allow 5. จบการท างาน 3. กำรท ำงำนโปรแกรมแบบมหลำยทำงเลอก (มกำรตดสนใจมำกกวำ 1คร ง)

start

1

2

1 3

stop

2 4

5 3

6

ภำพท 1.12 แสดงโครงสรางการท างานโปรแกรมแบบมหลายทางเลอก (มการตดสนใจมากกวา 1ครง)

ค าสงท 6 จะมหรอไมมกได

ชอรหสเทยม 1. start 2. statement 1 3. statement 2 4. if (condition1) then statement 3

else if (condition2) then statement 4 else if (condition3) then statement 5 else statement 6 End if

5. stop

Page 29: ค ำน ำ - WordPress.com...สุดท้ายขอขอบคุณ ผศ.ดร.ประกอบ ใจมั่น ที่ให้ค าปรึกษาชี้แนะจนหนังสือคู่มือการเขียน

19

จากภาพท 1.12 จะพบวาการตดสนใจจะมมากกวา 1 ครงหากการตดสนใจกอนหนาไมเปนจรงโปรแกรมจะพจารณาค าสงถดไปเรอยๆ จนกวาจะไมมทางเลอกใหตดสนใจ ตวอยำงท 6 ผงงำน (Flowchart) และรหสเทยม (Pseudo Code) กำรท ำงำนโปรแกรมแบบมหลำยทำงเลอก โจทย จงวเคราะหกระบวนการตดสนใจในการเลอกสาขาวชาเรยนจากผลการเรยนรายวชาคณตศาสตร โดยมเงอนไขดงน

ถาได เกรด A แนะน าใหเลอกสาขาวชา คณตศาสตร ถาได เกรด B แนะน าใหเลอกสาขาวชา คอมพวเตอร ถาได เกรด C แนะน าใหเลอกสาขาวชา สงคม นอกเหนอจากนนใหเลอก การจดการการทองเทยว

start

stop

Grade_math

Grade_math =’A’ Or Grade_math =’B’

Should you choose to study

math.

Grade_math =’B’ Or Grade_math =’b’

Grade_math =’C’ Or Grade_math =’c’

Should you choose to study

computer.

Should you choose to study

society.

Should you choose to study

tourism.

Yes

No

Yes

No

Yes

No

ภำพท 1.13 แสดงโครงสรางการท างานโปรแกรมแบบมหลายทางเลอก (มการตดสนใจมากกวา 1ครง)

ชอรหสเทยม แนะน าการเลอกสาขาวชาเรยนโดยพจารณาจากเกรดรายวชาคณตศาสตร 1. start 2. input Grade_math 3. if (Grade=’A’Or Grad=’a’) then display Should you choose to study math.

else if (Grade=’B’Or Grad=’b’) then display Should you choose to study

computer. else if (Grade=’C’Or Grad=’c’) then display Should you choose to study

society. else display Should you choose to study

tourism. End if

4. stop

Page 30: ค ำน ำ - WordPress.com...สุดท้ายขอขอบคุณ ผศ.ดร.ประกอบ ใจมั่น ที่ให้ค าปรึกษาชี้แนะจนหนังสือคู่มือการเขียน

20

ค ำอธบำย 1. เรมตนรบคาเกรดรายวชาคณตศาสตร โดยก าหนดใหเกบไวในตวแปร Grade_math 2. ท าการเปรยบเทยบคาเกรด โดยค าสง If การเปรยบเทยบครงแรกเปรยบเทยบวาได เกรด A หรอ a ถาใช แสดงค าวา Should you choose to study math. แตถาไมใชเกรด A หรอ a ใหเปรยบเทยบเงอนไขครงท 2 เปรยบเทยบวาได เกรด B หรอ b

ถาใช แสดงค าวา Should you choose to study computer. แตถาไมใชเกรด B หรอ b ใหเปรยบเทยบเงอนไขครงท 3 เปรยบเทยบวาได เกรด C หรอ c ถาใช แสดงค าวา Should you choose to study society. แตถาไมใช หมายความวาไมตรงกบเงอนไขใด ๆ เลย จะแสดงค าวา Should you choose to study tourism.

3. จบการท างาน 2.3.3 กำรท ำงำนแบบท ำซ ำ การท างานแบบท าซ าเปนลกษณะการท างานทท าค าสงเดมซ าหลาย ๆ รอบ โดยตรวจเชคจาก

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

รปแบบกำรท ำงำนแบบท ำซ ำ start

1

2

3

stop

ภำพท 1.14 แสดงโครงสรางการท างานโปรแกรมแบบท าซ า

Page 31: ค ำน ำ - WordPress.com...สุดท้ายขอขอบคุณ ผศ.ดร.ประกอบ ใจมั่น ที่ให้ค าปรึกษาชี้แนะจนหนังสือคู่มือการเขียน

21

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

ชอรหสเทยม รปแบบรหสเทยม แบบ Do..While 1. Start 2. Statement 1 3. Statement 2 4. Do {

Statement 3 Statement 4 } While (Condition) End DoWhile

5. stop

ชอรหสเทยม รปแบบรหสเทยมแบบ While 1. Start 2. Statement 1 3. Statement 2 4. While (Condition) {

Statement 3 Statement 4 } End While

5. stop

ชอรหสเทยม รปแบบรหสเทยม แบบ For 1. Start 2. Statement 1 3. Statement 2 4. For count to count {

Statement 3 Statement 4 } End While

5. stop

Page 32: ค ำน ำ - WordPress.com...สุดท้ายขอขอบคุณ ผศ.ดร.ประกอบ ใจมั่น ที่ให้ค าปรึกษาชี้แนะจนหนังสือคู่มือการเขียน

22

ตวอยำงผงงำน (Flowchart) และรหสเทยม (Pseudo Code) แบบท ำซ ำ ตวอยำงท 7 ผงงำน (Flowchart) และรหสเทยม (Pseudo Code) กำรท ำงำนโปรแกรมแบบวนซ ำ โจทย บวกสะสมเลขคจ านวน 10 จ านวน

Start

Stop

I=0,Sum=0

I<=10

Sum = Sum+2I=I+1

Yes

No

ภำพท 1.15 แสดงตวอยางการท างานโปรแกรมแบบท าซ า ค ำอธบำย 1. เรมตน 2. ก าหนดคาตวแปร I และตวแปร Sum ใหมคา = 0 3. ตรวจสอบเงอนไข คาตวแปร I มคานอยกวา หรอ เทากบ 10 หรอไม

ถาใช ประมวลผลโดยเอาคา Sum+2 และเกบผลลพธไวทตวแปร Sum และ เพมคาตวแปร I อก1 แลววนการท างานกลบไปท การตรวจสอบเงอนไข จะด าเนนการตรวจสอบเงอนไขและปฏบต

ชอรหสเทยม บวกสะสมเลขคจ านวน 10 จ านวน 1. Start 2. Set I =0 ,Sum = 0 3. For I to 10 4. Sum = Sum+2 5. Increment I=I+1 6. End For 7. Stop

Page 33: ค ำน ำ - WordPress.com...สุดท้ายขอขอบคุณ ผศ.ดร.ประกอบ ใจมั่น ที่ให้ค าปรึกษาชี้แนะจนหนังสือคู่มือการเขียน

23

ตามค าสงถาเงอนไขเปนจรงไปเรอย ๆ จนกวาการตรวจสอบเงอนไขออกมาแลวผลลพธจะเปนเทจ จงจะจบการท างาน

4. จบการท างาน ตวอยำงท 8 ผงงำน (Flowchart) และรหสเทยม (Pseudo Code) กำรท ำงำนโปรแกรมแบบวนซ ำ โจทย วเคราะหกระบวนการท างานของโปรแกรมของคดรายชอนกศกษาเพอเขารบทนจ านวน 10 คนโดยมเงอนไขคอ นกศกษาทไดจะตองมเกรดเฉลยมากกวา 3

start

stop

Grade

Count =0

Grade >3.00

Count < 10

Id_studeant

Yes

YesNo

No

Count = Count +1

ภำพท 1.16 แสดงตวอยางการท างานโปรแกรมแบบท าซ าตวอยางท 8

ชอรหสเทยม คดรายชอนกศกษาเพอเขารบทนจ านวน 10 คน 1. Start 2. Set Count =0 3. While (Count <10) 4. Input Grade 5. If Grade>3.00 6. Then Input Id_student 7. Else Go to stop 8. End If 9. Increment Count = Count +1 10. End While 11. Stop

Page 34: ค ำน ำ - WordPress.com...สุดท้ายขอขอบคุณ ผศ.ดร.ประกอบ ใจมั่น ที่ให้ค าปรึกษาชี้แนะจนหนังสือคู่มือการเขียน

24

ค ำอธบำย 1. เรมตน 2. ก าหนดคาตวเลข 3. ตรวจสอบเงอนไขการวนรอบ ถา Count < 10 4. ถาจรง รบคาเกรด (Grade) 5. ตรวจสอบคาเกรดทรบเขามา ถา คาเกรดมคามากกวา 3 6. รบรหสนกศกษา 7. จบการท างานของค าสง If 8. เพมจ านวนรอบการวน Count = Count +1 และวนกลบไปท างานขอท 3 9. จบการท างานนของค าสง While 10. จบการท างาน สรป เปนการอธบายเกยวกบหลกการเขยนโปรแกรมซงผเรยนจะตองมความรเกยวกบขนตอนในการพฒนาโปรแกรมซงประกอบดวย 7 ขนตอนคอ 1. การวางแผนการท างาน (Planning) เปนกระบวนการเรมตนของการพฒนาโปรแกรม เพอใหผพฒนาไดก าหนดขอบเขตการท างาน แผนการ และระยะเวลาในการด าเนนงานอยางชดเจน 2. การวเคราะห (Analysis) เปนกระบวนการในการหาทมาของปญหาเพอรวมวเคราะหการท างานของโปรแกรม การวเคราะหจะวเคราะหประเดนหลก 3 สวน ดงตอไปน 1. สวนของขอมลน าเขา (Input) 2. สวนของการประมวลผล (Process) และ 3. สวนของการแสดงผลลพธ (Output) 3. การเขยนโปรแกรม (Development) เปนกระบวนการหลงจากทผพฒนาโปรแกรมไดทราบปญหา วเคราะหกระบวนการ และความตองการของผใชแลว กอนการเขยนโปรแกรมผพฒนาอาจรางพมพเขยว หรอ อลกอรทมของโปรแกรมกอนลงมอเขยนโปรแกรม 4. การทดสอบ (Test) เปนกระบวนการตรวจสอบความถกตองของการท างานของโปรแกรมเพอใหแนใจวาโปรแกรมทพฒนาขนไมไดมขอผดพลาด ซงความผดพลาดทเกดขนจะเกดขนได 2 กรณ คอ รปแบบชดค าสงผดพลาด (Syntax Error) และ ผลการท างานทผดพลาด (Logic Errors) 5. การแกไขและปรบปรง (Edit and Improve) เปนกระบวนการปรบปรงแกไขสวนทมความผดพลาดหลงจากทมการทดสสอบโปรแกรม 6. การจดท าเอกสารคมอ (Document) เปนสวนของการเตรยมคมอการใชงานและคมอการพฒนาระบบเพอใหใชเปนเอกสารประกอบการใชงานและปรบปรงในอนาคต และ 7. การท าไปใช (Utilize) คอกระบวนการตดตงและสงมอบโปรแกรม นอกจากขนตอนการพฒนาโปรแกรมโครงสรางการงานขอวงโปรแกรมกเปนสวนส าคญทจะท าใหนกเขยนโปรแกรมสามารถพฒนาโปรแกรมไดอยางถกตองโครงสรางการท างานของโปรแกรม ประกอบดวย 1. โครงสรางการท างานแบบตามล าดบ 2. โครงสรางการท างานแบบทางเลอก 3. โครงสรางการท างานแบบท าซ า

Page 35: ค ำน ำ - WordPress.com...สุดท้ายขอขอบคุณ ผศ.ดร.ประกอบ ใจมั่น ที่ให้ค าปรึกษาชี้แนะจนหนังสือคู่มือการเขียน

1. สำระส ำคญ ส าหรบเนอหาในบทนจะกลาวถงความรเบองตนเกยวกบโปรแกรมภาษา C โดยประกอบไปดวยเรอง ความรเกยวกบภาษาซ โครงสรางอยางงายของโปรแกรมภาษา C ตวแปรในภาษาซ การเขยนขอคดเหน (Comment) ตวด าเนนการในภาษาซ และล าดบความส าคญของเครองหมาย โดยแตละเรองมความส าคญดงน 2. จดประสงคกำรเรยนร 2.1 อธบายการท างานในแตละสวนของโครงสรางภาษาซได 2.2 สามารถเลอกใชชนดตวแปรไดถกตอง 2.3 สามารถใชค าสงเบองตนในภาษาซได 2.4 อธบายล าดบความส าคญของเครองหมายได 3. สำระกำรเรยนร

3.1 โครงสรางภาษาซ 3.2 ตวแปรในภาษาซ 3.3 การเขยนขอคดเหน (Comment) 3.4 ค าสงเบองตนในภาษาซ (Basic Command) 3.5 ตวด าเนนการในภาษาซ 3.6 ล าดบความส าคญของเครองหมาย

Page 36: ค ำน ำ - WordPress.com...สุดท้ายขอขอบคุณ ผศ.ดร.ประกอบ ใจมั่น ที่ให้ค าปรึกษาชี้แนะจนหนังสือคู่มือการเขียน

26

[Principle of Programming in Education I]

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

2.1.1 สวนพรโพรเซสเซอรไดเรกทฟ (Preprocessor Directives) 2.1.2 สวนของการประกาศตวแปรและการก าหนดคาแบบทอนญาตใหทกสวนสามารถเรยกใช

งานได (Global Declaration) บางโปรแกรมอาจไมมกได 2.1.3 สวนของฟงกชนหลก (Function Main)

2.1.3.1 สวนของการประกาศตวแปรภายในและการก าหนดคาในฟงกชนหลก บางโปรแกรมอาจไมมกได

2.1.3.2 ค าสงประมวลผลโปรแกรม 2.1.4 สวนฟงกชนทสรางขนเอง (Used-defined functions) บางโปรแกรมอาจไมมกได

ภำพท 2.1 โครงสรางภาษาซ

ผลลพธของโปรแกรม

Preprocessor

Global Declaration

Function Main {Local Declaration Statement1 . Used-defined functions

#include<stdio.h>

main() {

int num1=5, num2=10,sum=0;

sum =num1+num2; printf(“sum is:%d”,sum);

}

Page 37: ค ำน ำ - WordPress.com...สุดท้ายขอขอบคุณ ผศ.ดร.ประกอบ ใจมั่น ที่ให้ค าปรึกษาชี้แนะจนหนังสือคู่มือการเขียน

27

[Principle of Programming in Education I]

อธบำยกำรท ำงำนในแตละสวนของโครงสรำงภำษำซดงน 1. สวนพรโพรเซสเซอรไดเรกทฟ (Preprocessor Directives) เปนสวนแรกของ

โปรแกรมภาษาซ จ าเปนตองมเพราะสวนนเปนสวนทโปรแกรมจะเรยกท างานกอนทจะมการรนโปรแกรมเนองจากเปนการแจงใหคอมไลเลอรอานไฟลอนเขามาคอมไพลรวมดวย การเขยนพรโพรเซสเซอรไดเรกทฟ จะขนตนดวยเครองหมาย #หรอทเรยกวา ไดเรกทฟ แลวตามดวยชอ Header file ไดเรกทฟทนยมใชกนคอ #include เปนการดง Header file อนตามทระบมาคอมไฟลดวยดวย รปแบบ เชน

#include<stdio.h>เปนการดงค าสงทเกบไวใน Header file ทชอ stdio.hเขามากอนทจะประมวลผลซงเกบค าสงพนฐานเกยวกบการท างานเชนค าสงรบคา ค าสงแสดงผล

#defineท าหนาทในการก าหนดคาคงทใหกบทกตวแปรนนในทกต าแหนง ในโปรแกรม รปแบบ เชน #define num 1; หมายความวา ถาเจอตวแปร num ในโปรแกรมจะแทนคาทกต าแหนงดวยคา 1 #define Sum 5*4; หมายความวา ถาเจอตวแปร sum ในโปรแกรมจะแทนคาทกต าแหนงดวยคา 20 2. สวนของการประกาศตวแปรและการก าหนดคาแบบทอนญาตใหทกสวนสามารถเรยกใชงานได (Global Declaration) สวนนเปนสวนทใชในการประกาศตวแปร (Global Declaration) โดยการประกาศตวแปรดงกลาว ในทก ๆ สวนของโปรแกรมสามารถเรยกใชงานตวแปรดงกลาวได รปแบบ

#include<ชอ Header file>หรอ #include “ชอ Header file”

#define ชอตวแปร คาทก าหนด

ชนดขอมล ชอตวแปร

Page 38: ค ำน ำ - WordPress.com...สุดท้ายขอขอบคุณ ผศ.ดร.ประกอบ ใจมั่น ที่ให้ค าปรึกษาชี้แนะจนหนังสือคู่มือการเขียน

28

[Principle of Programming in Education I]

ตวอยำงกำรประกำศตวแปร Int num;

Int num =50; 3. สวนของฟงกชนหลก (Function Main) สวนของฟงกชนหลก เปนสวนทโปรแกรมท างานหลกการคอมไพลจะเรมท างานจาก

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

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

- ค าสงประมวลผลโปรแกรม เปนค าสงทสงใหคอมพวเตอรท างานซงค าสงดงกลาวอยภายในฟงกชนหลก เชนค าสง printf , scanf,if ,while เปนตน

4. ฟงกชนทสรางขนเอง (Used-defined functions) เปนการสรางฟงกชนเพอน ามาใชงานในโปรแกรมเอง โดยฟงกชนดงกลาวอยในเครองหมาย { } เพอบอกขอบเขตของการท างาน รายละเอยดการใชงานฟงกชนและการสรางฟงกชนจะอธบายในบทท 8กอนทจะเรมลงมอเขยนภาษาซผเรยนตองมความรเกยวกบรปแบบของการใชค าสงกฏของการเขยนโปรแกรมเพอใหถกตองตามโครงสรางของภาษา ซงวธการเขยนจะเขยนไปตามองคประกอบทไดอธบายไวขางตน แตทกโปรแกรมไมจ าเปนตองมครบทกองคประกอบโปรแกรมกสามารถท างานได ซงถอวาไมผดโครงสรางของภาษาแตอยางได ตวอยำงท 1 โปรแกรมแรกของกำรเขยนโปรแกรมภำษำซ โปรแกรมแสดงชอตวเอง

ภำพท 2.2 โปรแกรมแสดงชอ

#include<stdio.h> Main() { Printf(“Rutchanee”); }

Preprocessor Directives

Function main()

Page 39: ค ำน ำ - WordPress.com...สุดท้ายขอขอบคุณ ผศ.ดร.ประกอบ ใจมั่น ที่ให้ค าปรึกษาชี้แนะจนหนังสือคู่มือการเขียน

29

[Principle of Programming in Education I]

จากภาพท 2.2 เปนโปรแกรมในของภาษาซซงประกอบดวย 2 สวนคอ สวน Preprocessor Directives และ สวน Function main() โดยจากขอมลทอธบายเบองตนโครงสรางภาษาซประกอบดวย 4 สวน จากโปรแกรมดงกลาวจะเหนวามองคประกอบแค 2 สวน จงสรปไดวา โครงสรางของภาษาซในการเขยนโปรแกรมไมจ าเปนตองครบทกองคประกอบกสามารถรนโปรแกรมและแสดงผลลพธได แตตองมอยางนอย 2 สวน คอสวนของ Preprocessor Directives และ Function main() ตวอยำงท 2 โปรแกรมบวกเลข 2 จ ำนวน

ภำพท 2.3 โปรแกรมบวกเลข 2 จ านวน จากภาพท 2.3 เปนการบวกเลข 2 จ านวน โดยการก าหนดคาใหกบตวเลข 2 จ านวน คอตวแปร num1 มคาเทากบ 5 ตวแปร num2 มคาเทากบ 10 ประมวลผลโดยการเอาตวแปรทง 2 ตวมาบวกและเกบผลลพธไวทตวแปร sum ตวอยำงท 3 โปรแกรมบวกเลข 2 จ ำนวนโดยกำรรบคำจำกผใช ภำพท 2.4 โปรแกรมบวกเลข 2 จ านวนโดยการรบคาจากผใช

#include<stdio.h> Main() { int num1 =5,num2=10,sum=0; sum=num1+num2; printf(“sum is:%d\n”,sum); }

#include<sdtio.h> main() { int num1,num2,sum; printf(“Please input number:1”); scanf(“%d”,&num1); printf(“Please input number2:”); scanf(“%d”,&num2); sum=num1+num2; printf(“sum is:%d\n”,sum); }

Page 40: ค ำน ำ - WordPress.com...สุดท้ายขอขอบคุณ ผศ.ดร.ประกอบ ใจมั่น ที่ให้ค าปรึกษาชี้แนะจนหนังสือคู่มือการเขียน

30

[Principle of Programming in Education I]

จากภาพท 2.4 โปรแกรมการบวกเลข 2 จ านวนเปนการรบคาตวเลขจากผใช โดยใหผใชปอนตวเลขท 1 และตวเลขท 2 เกบไวในตวแปร num1 และตวแปร num2 จากนนใหประมวลผลโดยการบวก แลวเกบผลลพธไวทตวแปร sum แลวแสดงผลลพธคา sum

จากตวอยางทง 3 โปรแกรมจะสงเกตเหนวาในแตละค าสงจะถกปดทายดวยเครองหมาย ; (semi colon) ซงเปนขอบงคบของภาษาซเนองจากเปนการบอกใหโปรแกรมทราบวาFunction main() ผเขยนยงตองมความรเกยวเกยวกบการประกาศตวแปร การก าหนดคาใหตวแปร และค าสงทใชในการประมวลผล ขนตอนไปเปนการเรยนรเกยวกบตวแปรในภาษาซ 2.2 ตวแปรในภำษำซ ในการเขยนโปรแกรมจ าเปนอยางยงทจะตองมตวแปร เนองจากตวแปรเปนทเกบคาขอมลทน ามาใชกอนการประมวลผลและเกบผลลพธหลงการประมวลผล รปแบบการประกาศตวแปรในภาษาซ มรปแบบการประกาศตวแปรดงน 2.2.1 ชนดขอมลในภำษำซ ชนดของตวแปรในภาษาซมหลายชนดทน ามาใชในการเขยนโปรแกรม ตอไปนเปนชนดของภาษาซทใชงานบอย ตำรำงท 2.1 ชนดขอมลในภาษาซ

ชนดขอมล ขนาด ค าอธบาย ชวงของขอมล short 16 ใชเกบคาตวเลขจ านวนเตม

int 32 ใชเกบคาตวเลขจ านวนเตม -32768 ถง 32767 long 64 ใชเกบคาตวเลขจ านวนเตม float 32 ใชเกบคาตวเลขทศนยม 3.4E-38 ถง 3.4E+38 หรอ

ทศนยม 6 ต าแหนง double 64 ใชเกบคาตวเลขทศนยม 1.7E-308 ถง 1.7E+308

หรอ ทศนยม 12 ต าแหนง char 16 ใชเกบคาตวอกขระหนงตว ASCII character (-128 ถง

127)

ชนดขอมล ชอตวแปร ;

Page 41: ค ำน ำ - WordPress.com...สุดท้ายขอขอบคุณ ผศ.ดร.ประกอบ ใจมั่น ที่ให้ค าปรึกษาชี้แนะจนหนังสือคู่มือการเขียน

31

[Principle of Programming in Education I]

จากตารางท 1 นอกเหนอจากชนดขอมลทแสดงไวในตารางยงมชนดขอมลอน ๆ ทน ามาใชในการเขยนโปรแกรมภาษาซ เนองจากผเรยนยงเรมเขยนโปรแกรมเบองตนผเขยนจงเลอกเฉพาะชนดขอมลทนยมใชกนมาอธบายเพอใหงายตอการเขยนโปรแกรม 2.2.2 กำรต งชอตวแปรในภำษำซ ในการตงชอตวแปรในภาษาซจะตองตงชอใหเปนไปตามกฎของโครงสรางภาษาทไดก าหนดไว โดยมกฎการตงชอดงน 2.2.2.1 ชอตวแปรจะตองขนตนดวยตวอกษรหรอเครองหมาย _ เทานนจะขนตนดวยตวเลขหรอ สญลกษณอนใดๆ ไมได 2.2.2.2 ลงจากตวแรกชอตวแปรสามารถประกอบดวยตวอกษร ตวเลข เครองหมาย $ หรอ _ได 2.2.2.3 ชอตวแปรตองไมมชองวาง 2.2.2.4 ชอตวแปรใชตวพมพเลกและตวพมพใหญมความหมายตางกน 2.2.2.5 หามใชค าสงวน (reserved words) ค าสงวนคอ ค าทโปรแกรมรจก โดยมรปแบบการใชงานทแนนอน อนไดแก ตำรำงท 2.2 ค าสงวนในภาษาซ

ตำรำงท 2.3 ตวอยางชอตวแปรทเหมาะสม

auto double int struct break else long switch case enum register typedef char extern return union const float short unsigned continue for signed void default goto sizeof volatile do if static while

Number num เกบคำตวเลข N_student name เกบชอนกเรยน

S_student surname เกบนามสกลนกศกษา sum1 total เกบผลรวม salary E_salary เกบเงนเดอน

Page 42: ค ำน ำ - WordPress.com...สุดท้ายขอขอบคุณ ผศ.ดร.ประกอบ ใจมั่น ที่ให้ค าปรึกษาชี้แนะจนหนังสือคู่มือการเขียน

32

[Principle of Programming in Education I]

ชออน ๆ ทไมผดตามกฎทอธบายไวขางตนการตงชอตวแปรทดควรตงชอใหสอความหมายกบตวแปรทจะน ามาใชงาน ตวอยำงท 4 กำรประกำศตวแปรทถกตอง การประกาศตวแปรประเภท Interger ใชค าวา int แทน ประเภทขอมลแบบ interger ตวอยำงท 5 ตวอยำงกำรประกำศตวแปรทถกตอง int number; int total; int bonus; การประกาศตวแปรประเภท Float สามารถใชค าวา float น าหนาชอตวแปรไดเลย ตวอยำง 6 ตวอยำงกำรประกำศตวแปรทถกตอง float salary; float vat; float score; การประกาศตวแปรประเภทขอมลแบบ Character สามารถท าได 2 แบบ คอ ตวแปรแบบ Character ทใชเกบคาขอมล 1 ตวอกษร และ ตวแปรแบบ Character ทใชเกบคาขอมลเปนชดตวอกษร หรอขอความจะใชค าวา Char แทนประเภทขอมลแบบ Character ตวอยำงท 7 การประกาศตวแปรแบบ Character ในการเกบคาขอมล 1 ตวอกษร char choice; char gender; char number; ตวอยำงท 8 การเกบคาขอมลเปนชดตวอกษร หรอขอความ char name[30]; char address[150]; char tel[10]; การประกาศตวแปรโดยการเกบคาขอมลเปนชดตวอกษรหรอความ หลงชอตวแปรจะตองมการะบจ านวนไบรทใชในการเกบชดขอความนน ๆ ภำพท 2.5 การประกาศตวแปรแบบชดขอความ

#include<stdio.h> Main() { char name [30], gender; printf(“Input your name please:”); scanf(“%s”,name); printf(“Input your gender please:”); scanf(“%d”,&gender); }

Page 43: ค ำน ำ - WordPress.com...สุดท้ายขอขอบคุณ ผศ.ดร.ประกอบ ใจมั่น ที่ให้ค าปรึกษาชี้แนะจนหนังสือคู่มือการเขียน

33

[Principle of Programming in Education I]

จากภาพท 5.5 ตวแปร name ก าหนดใหจองพนทในหนวยความจ า จ านวน 30 ไบรหรอ 30 ตวอกษร ตวแปร gender เกบแบบ 1 ตวอกษร ไมตองมจ านวนไบรดานหลงสวนประเภทขอมลอน ๆ Short Long และ Double สามารถใชชอประเภทขอมลตามดวยชอตวแปรเชนเดยวกบ integer ได 2.2.3 กำรก ำหนดคำใหกบตวแปรในภำษำซ 2.2.3.1 กำรประกำศคำโดยใชเครองหมำย = การประกาศคาตวแปรเปนการก าหนดคาใหกบตวแปรทเราก าหนด โดยเมอมการเรยกใชตวแปรดงกลาว กจะมคาเทากบทก าหนดไวการประกาศคาโดยใชเครองหมาย = มรปแบบดงน

รปแบบกำรประกำศคำ ตวอยำงท 9 กำรก ำหนดคำใหกบตวแปร int num = 5; หมายความวา ตวแปร num มคาเทากบ 5 การก าหนดคาใหกบขอมลประเภทอกขระจะตองมเครองหมาย ‘ ‘ (single quote) ครอมคา

นน ๆ เชน char choice =’A’; และ การก าหนดใหกบชดขอความจะตองมเครองหมาย “ “ (Double quote) ครอมคานน ๆ เชน char name =”sumalee”; 2.2.3.2 กำรก ำหนดคำคงทดวย #define การประกาศคาคงทในลกษณะนไมตองมการประกาศชนดขอมล และไมตองใสเครองหมาย ; ปดทาย รปแบบกำรประกำศคำ ตวอยำงท 10 กำรก ำหนดคำใหตวแปร #define num 5 หมายความวา ตวแปร num มคาเทากบ 5 การก าหนดคาทง 2 แบบมขอแตกตางกนคอ การก าหนดคาในแบบแรกคาตวแปรจะถกก าหนดในขอบเขตของฟงกชนนน ๆ เชน

ชนดขอมล ชอตวแปร = คาทก าหนด

#define ชอคาคงท คาทตองการ

Page 44: ค ำน ำ - WordPress.com...สุดท้ายขอขอบคุณ ผศ.ดร.ประกอบ ใจมั่น ที่ให้ค าปรึกษาชี้แนะจนหนังสือคู่มือการเขียน

34

[Principle of Programming in Education I]

ตวอยำงท 11 โปรแกรมกำรแสดงคำตวแปร num

ภำพท 2.6 โปรแกรมการแสดงคาตวแปร num จากภาพท 2.6 ผลของการรนโปรแกรม ตวแปร num จะมคาเทากบ 5 ในค าสงแสดงผลท 1 และ จะมคาเทากบ 6 ในค าสงแสดงผลลพธท 2 คา คาของตวแปร num จะเปลยนแปลงไป การก าหนดโดยใช#define จะไมสามารถเปลยนแปลคาของตวแปรนน ๆ ได แตจะแทนคาทก าหนดในทกตวแปรพจารณาตวอยางตอไปน ตวอยำงท 12 กำรก ำหนดคำตวแปรโดยใชค ำสง #define

ภำพท 2.7 การก าหนดคาตวแปรโดยใชค าสง #define

#include<stdio.h> #define num5 main() {

int sum; printf(“num is %d\n”,num); num=num+5; printf(“num is %d\n”,num);

}

เขยนโปรแกรมในลกษณะแบบนจะไมสามารถรนโปรแกรมได เนองจากโปรแกรมไมอนญาตใหเปลยนแปลงคาของตวแปร num

#include<stdio.h> main() { int num=5; printf(“num is %d\n”,num); num=num+1; printf(“num is %d\n”,num); }

Page 45: ค ำน ำ - WordPress.com...สุดท้ายขอขอบคุณ ผศ.ดร.ประกอบ ใจมั่น ที่ให้ค าปรึกษาชี้แนะจนหนังสือคู่มือการเขียน

35

[Principle of Programming in Education I]

ตองปรบแกโปรแกรมใหม โดยประกาศตวแปร sum เพอเกบคาผลลพธของโปรแกรมใหม

ภำพท 2.8 การปรบโปรแกรมโดยใชค าสง #define จากภาพท 2.8 พจารณาตวแปร sum ทมาท าหนาทเกบผลลพธแทนตวแปร num เนองจากหากใชค าสง #define num5 คาในตวแปร num จะไมสามารถเปลยนแปลคาได 2.3 กำรเขยนขอคดเหน (Comment)

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

2.3.1 กำรเขยนขอคดเหนแบบบรรทดเดยว หมายถง การเขยนขอคดเหนแคเพยงบรรทดเดยว สามารถใชเครองหมาย // ในการระบวาสวนดงกลาวเปนขอคดเหน ตวอยำงท 13 การเขยนขอคดเหนแบบ 1 บรรทด

#include<stdio.h> #define num5 main() {

int sum; printf(“num is %d\n”,num); sum=num+5; printf(“num is %d\n”,num);

}

ประกาศตวแปร sum เพอน ามาเกบคาผลลพธ

Page 46: ค ำน ำ - WordPress.com...สุดท้ายขอขอบคุณ ผศ.ดร.ประกอบ ใจมั่น ที่ให้ค าปรึกษาชี้แนะจนหนังสือคู่มือการเขียน

36

[Principle of Programming in Education I]

ภำพท 2.9 การเขยนขอคดเหนแบบ 1 บรรทด จากภาพท 2.9 ในสวนของบรรทดแรกเปนการระบขอคดเหน This program---> Add และ บรรทดท 6 เปนการระบวาบรรทดน เปน Process โดยทง 2 บรรทดจะไมถกประมวลผล 3.2 กำรเขยนขอคดเหนแบบหลำยบรรทด หมายถง การเขยนขอคดเหนในโปรแกรมมากกวา 1 บรรทด โดยสามารถใชเครองหมาย /* ขอคดเหน */ ตวอยำงท 14 การเขยนขอคดเหนแบบหลายบรรทด

ภำพท 2.10 การเขยนขอคดเหนแบบหลายบรรทด ในสวนบรรทดท 7-8 เปนการระบขอคดเหนวา This program run for add 2 number and display sum value โดยประโยคนจะไมน ามาประมวลผล ขอด ของการเขยนขอคดเหนคอ เปนการอธบายโปรแกรมเพอชวยการการจ าสวนการท างานตาง ๆ ของโปแกรม งายตอการแกไขและพฒนาตอ 2.4 ค ำสงเบ องตนในภำษำซ (Basic Command) การท างานของโปรแกรมในภาษาซมค าสงทผเขยนตองเรยนรกอนทจะเรมเขยนโปรแกรมโดยในบทนจะอธบายเกยวกบค าสงทใชในการรบคาขอมล (Input) และค าสงทใชในการแสดงผล (Output) ซงเปนพนฐานของการเขยนโปรแกรม โดยจะอธบายรายละเอยดดงตอไปน

Page 47: ค ำน ำ - WordPress.com...สุดท้ายขอขอบคุณ ผศ.ดร.ประกอบ ใจมั่น ที่ให้ค าปรึกษาชี้แนะจนหนังสือคู่มือการเขียน

37

[Principle of Programming in Education I]

2.4.1 ค ำสงรบคำ (Input) ค าสงรบคาเปนค าสงรบคาขอมลจากผใชเพอน ามาเกบไวในโปรแกรมหรอน าคาดงกลาวไปประมวลผล โดยคาทรบเขามาจะถกเกบไวในตวแปร เพราะฉะนนกอนทจะมค าสงรบคาจากผใชจะตองมการประกาศตวแปรตามรปแบบทก าหนดไว และก าหนดชนดขอมลใหตรงกบคาทตองการรบเขามา 2.4.1.1 กำรรบคำจ ำนวนเดยว

การรบคาจ านวนเดยวเปนการบคาจากผใชแค 1 จ านวน โดยมตวแปรทใชในการเกบคา แค 1 จ านวน รปแบบค ำสงรบคำ

ค าสงในการรบคาขอมล เรมตนการใชงานโดยใชค าสง scanf ตอดวย control type หรอรหสแทนประเภทขอมลซงอยภายในเครองหมาย (Double quote) โดยรหสแทนประเภทขอมล คอ ชนดขอมลทรบเขามาเกบในตวแปร โดยจะอธบายถดไป และเครองหมาย &เปนการระบวาใหเกบในต าแหนงแอดเดรสทเทาไหรในหนวยความจ าของตวแปรทระบ ตวอยำง หมายความวา ใหรบคาจากผใชเปนเลขจ านวนเตม โดยน ามาเกบไวทตวแปร num แตอยากลมวาเวลาเขยนโปรแกรมรบคาขอมล จะตองมการประกาศตวแปรไวลวงหนา เพอน ามาเกบคาทจะรบเขามา ตวอยำง ท 15 การใชค าสง scanf ผลกำรรน

ภำพท 2.11 การใชค าสง scanf

scanf (“control type”, &variable list)

scanf (“รหสแทนประเภทขอมล”, &ชอตวแปรทใชเกบขอมล)

scanf(“%d”,&num);

Page 48: ค ำน ำ - WordPress.com...สุดท้ายขอขอบคุณ ผศ.ดร.ประกอบ ใจมั่น ที่ให้ค าปรึกษาชี้แนะจนหนังสือคู่มือการเขียน

38

[Principle of Programming in Education I]

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

2.4.1.2 กำรรบคำจำกผใชหลำยจ ำนวน การรบคาจากผใชหลายจ านวน คอรบคาเพอน ามาใชในโปรแกรมมากวา 1 จ านวน โดย

ตองมตวแปรทใชในการเกบคามากกวา 1 จ านวน สามารถกระท าไดเชนกน รปแบบ

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

และ &ชอตวแปรทใชเกบขอมล โดย &ชอตวแปรทใชเกบขอมลคดระหวางตวแปรดวยเครองหมาย, (Comma) ตามจ านวนทตองการรบขอมล

ตวอยำงท 16 การใชค าสง scanf รบคาหลายคา ผลรน

ภำพท 2.12 การใชค าสง scanf รบคาหลายคา จากภาพท 2.12 ผลรนของโปรแกรม เคอเซอรจะรอรบคาแรก และ รอรบคาทสองเพอน ามาเกบในตวแปร num1 และ num2

scanf (“control typecontrol type”, &variable list&variable list)

scanf (“รหสแทนประเภทขอมลรหสแทนประเภทขอมล”, &ชอตวแปรทใชเกบขอมล,&ชอตวแปรทใชเกบขอมล)

Page 49: ค ำน ำ - WordPress.com...สุดท้ายขอขอบคุณ ผศ.ดร.ประกอบ ใจมั่น ที่ให้ค าปรึกษาชี้แนะจนหนังสือคู่มือการเขียน

39

[Principle of Programming in Education I]

2.4.1.3 กำรรบคำประเภทขอมลแบบชดขอควำม (String) ในการรบคาประเภทขอมลแบบชดขอความจะแตกตางจากการรบขอมลจากประเภทขอมลชนดอน ๆ คอ ไมตองใสเครองหมาย &น าหนาชอตวแปร ตวอยำงท 17 การรบขอมลแบบชดขอความ

ภำพท 2.13 การรบขอมลแบบชดขอความ จากภาพท 2.13 โปรแกรมเปนการรบคาขอมลจากผใชมาเกบไวในตวแปร name และตวแปร gender จะสงเกตเหนวาในบรรทดท 6 จะไมมเครองหมาย &น าหนาตวแปร เหตผลเพราะขอมลประเภทนจะเปนขอมลแบบอารเรย การจดเกบขอมลมการจองพนทไวแลวจงไมตองชต าแหนงทจะไปเกบขอมล 2.4.2 ค ำสงแสดงผล (Output) การเขยนโปรแกรมจะตองมการแสดงผลออกสหนาจอเพอใหผใชไดรบทราบวาโปรแกรมมการท างานอยางไร และเพอเปนค าสงหรอค าอธบายใหกบผใชงาน ค าสงทใชในการแสดงผล ฟงกชน Prinft() เปนฟงกชนในภาษาซทท าหนาทในการแสดงผลลพธออกสหนาจอคอมพวเตอร โดยมหลายรปแบบดงตอไปน รปแบบท 1 แสดงอกขระหรอขอควำมออกสหนำจอ หลงค าสง printf จะเปนขอความทตองการแสดงผลออกหนาจอ โดยอยในวงเลบและอยภายใตเครองหมาย “ “ (Double quote) และปดทายดวย ; ตามรปแบบของโครงสรางภาษาซ

printf(“ขอความ”);

Page 50: ค ำน ำ - WordPress.com...สุดท้ายขอขอบคุณ ผศ.ดร.ประกอบ ใจมั่น ที่ให้ค าปรึกษาชี้แนะจนหนังสือคู่มือการเขียน

40

[Principle of Programming in Education I]

ตวอยำงท 18 การใชค าสง printf

ผลรน ภำพท 2.14 การใชค าสง printf จากภาพท 2.14 การแสดง ค าวา Hello my name is Rutchanee and my surname Sittisak โดยเรยกใชฟงกชน printf() จ านวน 2 ครง แตผลการแสดงจะอยในบรรทดเดยวกนเนองจากวา ไมใดใชรหสควบคมการจดรปแบบขอมล สญลกษณการจดรปแบบขอมลจะอธบายถดไป รปแบบท 2 แสดงคำทอยในผลลพธออกสหนำจอ ตวอยำงท 19 การใชค าสง printf ผลรน

ภำพท 2.15 การใชค าสง printf จากภาพท 2.15 ตวอยางโปรแกรมเปนการแสดงคาในตวแปร num ซงถกก าหนดคาไวใหเทากบ 10

printf(“รหสแทนประเภทขอมล”,ชอตวแปร);

printf(“control type”,variable);

Page 51: ค ำน ำ - WordPress.com...สุดท้ายขอขอบคุณ ผศ.ดร.ประกอบ ใจมั่น ที่ให้ค าปรึกษาชี้แนะจนหนังสือคู่มือการเขียน

41

[Principle of Programming in Education I]

ตวอยำงท 20 การใชค าสง printf และ scanf ผลรน

ภำพท 2.16 การใชค าสง printf และ scanf จากภาพท 2.16 เปนการรบคาขอมลมาเกบไวทตวแปร num จากนนน าคาตวแปรดงกลาวมาแสดงผล ตวอยำงท 21 การใชค าสง printf และ scanf ผลรน

ภำพท 2.17 การใชค าสง printf และ scanf แสดงผลตวแปร จากภาพท 2.17 ตวอยางการท างานของโปรแกรมเปนการผสมผสานระหวางการแสดงผลในรปแบบท 1 บรรทดท 5-10 และ แสดงผลจากตวแปร บรรทดท 12

2.4.3 รหสแทนประเภทขอมล (Control type) ใชแทนประเภทขอมลทจะน าขอมลดงกลาวไปเกบ หรอ น าขอมลมาแสดงผล โดยรหส

แทนประเภทขอมลจะเขยนอยภายในเครองหมาย ““(Double quote) และตามหลงดวยเครองหมาย %

Page 52: ค ำน ำ - WordPress.com...สุดท้ายขอขอบคุณ ผศ.ดร.ประกอบ ใจมั่น ที่ให้ค าปรึกษาชี้แนะจนหนังสือคู่มือการเขียน

42

[Principle of Programming in Education I]

ตำรำงท 2.4 รหสแทนประเภทขอมล รหสรปแบบ ชนดตวแปร ลกษณะกำรแสดงผลออกจอภำพ

%d integer ใชแสดงขอมลทเปนเลขจ านวนเตมฐานสบ %hd short integer ใชแสดงขอมลทเปนเลขจ านวนเตมฐานสบแบบ short %ld long integer ใชแสดงขอมลทเปนเลขจ านวนเตมฐานสบแบบ long %c char ใชแสดงขอมลทเปนตวอกษร %s string ใชแสดงขอมลทเปนตวแปรสตรงหรอชดตวอกษร %f float ใชแสดงขอมลทเปนเลขทศนยม ทไมมเลขยกก าลง %e float, double ใชแสดงขอมลทเปนเลขทศนยม ทมเลขชก าลง %lf double ใชแสดงขอมลทเปนเลขทศนยมแบบ double %% พมพเครองหมาย % %o int (octal) ใชแสดงขอมลทเปนเลขฐานแปด %x int (hexa) ใชแสดงขอมลทเปนเลขฐานสบหก

จากตารางท 4 แสดงรหสแทนประเภทขอมล ในการเขยนโปรแกรมการก าหนดตวแปรจะก าหนดตามประเภทของขอมลทตองการจดเกบ ซงแตละขอมลจ าเปนตองใชรหสแทนประเภทขอมลทแตกตางกนเพอแสดงผล ตวอยำง ท 22 การใชรหสแทนขอมล ผลรน

ภำพท 2.18 การใชรหสแทนขอมล จากภาพท 2.18 เปนการแสดงผลตามรปแบบและประเภทขอมลทก าหนด พจารณาผลรนดงตอไปน

Page 53: ค ำน ำ - WordPress.com...สุดท้ายขอขอบคุณ ผศ.ดร.ประกอบ ใจมั่น ที่ให้ค าปรึกษาชี้แนะจนหนังสือคู่มือการเขียน

43

[Principle of Programming in Education I]

1. ประเภทขอมลแบบ Intergerตวแปร numมการก าหนดคาเทากบ 5.0 ผลการแสดงคาของตวแปร numในหนาตางผลรนมคาเทากบ 5 สาเหตเพราะ ตวแปร numมประเภทขอมลแบบ Interger ซงเปนประเภทขอมลแบบจ านวนเตมจงไมแสดงเปนจดทศนยม 2. ประเภทขอมลแบบ long intผลการรนไดแสดงผลตามหมายเลขทระบ 3. ประเภทขอมลแบบ Float ตวแปร salary มการก าหนดคาไวเทากบ 35000.5050 ผลการแสดงคาของตวแปรในหนาตางผลรนมคาเทากบ 35000.50 ซงตดคา 50 ทเปนคา 2 ตวสดทายออก เนองจากวารปแบบการแสดงผลลพธระบไวใหแสดงจดทศนยมแค 2 ต าแหนง ผลการแสดงคาตวแปรจงเหลอแค 35000.50 4. ประเภทขอมลแบบ Double ตวแปร bonus ลกษณะการแสดงผลมลกษณะคลายกบขอท 4 คอ ก าหนดใหแสดงผลลพธแค 2 ตวต าแหนง หากพจารณาจะเหนวาโปรแกรมเพมคาใหกบจดทศนยมเนองจากจดทศนยม 2 ตวหลงมคาเทากบ 99 5. ประเภทขอมลแบบ Character ก าหนดให ตวแปร name เกบคาขอมล Rutchaneeจงแสดงค าวา Rutchanee ออกสหนาจอ 2.4.4 รหสควบคมกำรจดรปแบบ รหสควบคมการจดรปแบบเปนรหสทใชในการควบคมการแสดงผลออกสหนาจอ เพอจด

ระเบยบขอความตามรปแบบทตองการ ตำรำงท 2.5 รหสควบคมการจดรปแบบ

รปแบบรหส ควำมหมำย \a เสยงดงออกล าโพงหนงครง \b เลอน cursor ไปลบตวอกษรทางซายมอหนงตวอกษร \f ขนหนาใหม \n ขนบรรทดใหม \r เลอนเคอเซอรไปทางซายมอสดของบรรทด \t ตง tab ในแนวนอน \v ตง tab ในแนวตง \\ เครองหมาย \ \’ เครองหมาย ‘ \” เครองหมาย “ \? เครองหมาย ?

Page 54: ค ำน ำ - WordPress.com...สุดท้ายขอขอบคุณ ผศ.ดร.ประกอบ ใจมั่น ที่ให้ค าปรึกษาชี้แนะจนหนังสือคู่มือการเขียน

44

[Principle of Programming in Education I]

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

ผลรน

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

2.5.1 ตวด าเนนการทางคณตศาสตร (Arithmetic Operator) 2.5.2 ตวด าเนนการก าหนดคา (Assignment Operator) 2.5.3 ตวด าเนนการในการเพมและลดคา (Increment and Decrement Operators)

Page 55: ค ำน ำ - WordPress.com...สุดท้ายขอขอบคุณ ผศ.ดร.ประกอบ ใจมั่น ที่ให้ค าปรึกษาชี้แนะจนหนังสือคู่มือการเขียน

45

[Principle of Programming in Education I]

2.5.4 ตวด าเนนการเชงสมพนธ (Relational Operator) 2.5.5 ตวด าเนนการทางตรรกะ (Logical operator)

รำยละเอยดตวด ำเนนกำรแตละแบบมรำยละเอยดดงน

2.5.1 ตวด ำเนนกำรทำงคณตศำสตร เปนตวด าเนนการทใชในการประมวลหาคาผลลพธ ประกอบดวยตวด าเนนการ

ดงตอไปน ตำรำงท 2.6 ตวด าเนนการทางคณตศาสตร

ตวด ำเนนกำร ความหมาย ตวอยาง + การบวก A+B; - การลบ A-B; * การคณ A*B; / การหารเอาผล A/B; % การหารเอาเศษ A%B

จากตารางท 6 เปนการแสดงตวด าเนนการทางคณตศาสตร ตวอยำงท 24 การประยกตใชตวด าเนนการทางคณตศาสตร

ภำพท 2.20 แสดงการประยกตใชตวด าเนนการทางคณตศาสตร จากภาพท 2.20 แสดงการบวกเลข 2 จ านวน คอ ตวแปรทชอ num1 และ num2 โดย เกบผลลพธไวทตวแปร sum ตวด าเนนการทใชคอ เครองหมาย + ตวด าเนนการอน ๆ กใชในลกษณะเชนเดยวกน

2.5.2 ตวด ำเนนกำรก ำหนดคำ ตวด าเนนการก าหนดคา เปนตวด าเนนการทใชในการก าหนดคาใหกบตวแปรทน ามาใช

ในการประมวลผลประกอบดวยตวด าเนนการดงตอไปน

Page 56: ค ำน ำ - WordPress.com...สุดท้ายขอขอบคุณ ผศ.ดร.ประกอบ ใจมั่น ที่ให้ค าปรึกษาชี้แนะจนหนังสือคู่มือการเขียน

46

[Principle of Programming in Education I]

ตำรำงท 2.7 ตวด ำเนนกำรก ำหนดคำ ตวด าเนนการ ความหมาย ตวอยาง

= ก าหนดคาใหเทากบ (Assignment) a=b , a=5 +=

การเพมคา (Addition) a+=b มาจาก a = a+b -= การลบคา (Subtraction) a-=b มาจาก a = a-b *= การคณ (Multiply) a*=b มาจาก a = a*b /= การหารไดผลลพธจ านวนเตม (Devide) a/=b มาจาก a = a/b %= การหารไดผลลพธเศษ (Devide) a%bมาจาก a = a%b

จากตารางท 7 ตวด าเนนการในการก าหนดคา หมายถงท าหนาทในการก าหนดคาใหกบตวแปรทอยทางดานซายของตวด าเนนการ ตวอยำงท 25 การประยกตใชตวด าเนนการ ผลรน

ภำพท 2.21 การประยกตใชตวด าเนนการ += จากภาพท 2.21 แสดงการประยกตใชตวด าเนนการ += ซงตวด าเนนการ += มความหมายเทากบ การบวกของสองตวแปรและน าคาทไดมาเกบไวในตวแปรทางดานซายมอ ตวอยำงท 26 การประยกตใชตวด าเนนการกบการวนซ า ผลรน

ภำพท 2.22 การประยกตใชตวด าเนนการกบการวนซ า

Page 57: ค ำน ำ - WordPress.com...สุดท้ายขอขอบคุณ ผศ.ดร.ประกอบ ใจมั่น ที่ให้ค าปรึกษาชี้แนะจนหนังสือคู่มือการเขียน

47

[Principle of Programming in Education I]

จากภาพท 2.22 แสดงการประยกตใชตวด าเนนการกบการวนซ า โดยใชสญลกษณ += 2.5.3 ตวด ำเนนในกำรเพมและลดคำ ตวด าเนนการเพมและลดคาเปนตวด าเนนการทใชในการเพมคา หรอ ลดคาใหกบ

ตวแปร โดยการเพมคาจะเพมคาทละ 1 และลดคาทละ1 เชนกน

ตำรำงท 8 ตวด าเนนการเพมและลดคา ตวด ำเนนกำร ตวอยำง หรอเขยนอก

แบบ กำรน ำไปใช

++ x = i++ i = i + 1 จะน าคา i ไปใชกอนแลวจงเพมคา i ขน 1

x = ++i i = i + 1 จะเพมคาของ i ขน 1 แลวจงน าคา i ไปใช

-- x = i-- i = i - 1 จะน าคา i ไปใชกอนแลวจงลดคา i ลง 1

x = --i i = i - 1 จะลดคาของ i ลง 1 แลวจงน าคา i ไปใช

จากตารางท 8 ตวด าเนนการเพมและลดคา แบงออกเปน 2 แบบคอ เพมคาและลดคา การเพมและลดคาดงกลาวหมายความวาเพมหรอลดคาทละ1คา โดยพจารณาล าดบการประมวลผลจากล าดบเครองหมายวางไวในต าแหนงใดของตวแปร

2.5.3.1 กำรท ำงำนของนพจนเพมและลดคำ

i++ และ ++ i มความหมายเหมอนกนคอเปนการเพมคาของ i ขนครงละ 1 เพยงแตเมอน าไปใชรวมกบนพจนอนๆแลวล าดบการท างานของ i++ และ ++i จะแตกตางกน

Page 58: ค ำน ำ - WordPress.com...สุดท้ายขอขอบคุณ ผศ.ดร.ประกอบ ใจมั่น ที่ให้ค าปรึกษาชี้แนะจนหนังสือคู่มือการเขียน

48

[Principle of Programming in Education I]

ตวอยำงท 27 การประยกตใชตวด าเนนการ ผลรน

ภำพท 2.23 การประยกตใชตวด าเนนการ จากภาพท 2.23 การแสดงผลของตวแปร i และตวแปร j โดยจะเหนการท างานทแตกตางกนของการใช i++ และ ++j จากโปรแกรมก าหนดใหสองตวแปร i,jมคาเทากน แตผลจากการท างาน i++ มคาเทากบ 4 และ l มคาเทากบ 5 เนองจาก การใช i++ โปรแกรมจะน าคาของ ตวแปร i ไปใชในนพจนกอนหลงจากนนจงจะเพมคา แตกตางจากตวแปร j ทมการน าคาไปใชในนพจนกอน ตวแปร j จงมคาเทากบ 5 2.5.4 ตวด ำเนนกำรเชงสมพนธ ตวด าเนนการเชงสมพนธเปนตวด าเนนการทใชในการเปรยบเทยบหาผลลพธโดยคาค าตอบทเปนไปไดของการใชตวด าเนนการเชงสมพนธคอ เปนจรงมคาเปน 1 เปนเทจมคาเปน 0 รายละเอยดตวด าเนนการดงน ตำรำงท 2.9 ตวด าเนนการเชงสมพนธ

ตวด ำเนนกำร ควำมหมำย ตวอยำง < นอยกวา A<B <= นอยกวาหรอเทากบ A<=B > มากกวา A>B >= มากกวาหรอเทากบ A>=B == เทากบ A==B != ไมเทากบ A!=B

จากตารางท 9 ตวด าเนนการเชงสมพนธ เปนตวด าเนนการทใชในการเปรยบเทยบเพอหาผลลพธ

Page 59: ค ำน ำ - WordPress.com...สุดท้ายขอขอบคุณ ผศ.ดร.ประกอบ ใจมั่น ที่ให้ค าปรึกษาชี้แนะจนหนังสือคู่มือการเขียน

49

[Principle of Programming in Education I]

ตวอยำงท 28 การประยกตใชตวด าเนนการ ผลรน

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

2.5.5 ตวด ำเนนกำรทำงตรรกะ เปนตวด าเนนการทใชในการเชอมนพจนตงแต 2 นพจนเพอประมวลผลการท างานใหมความ

ถกตองและละเอยดยงขน มรายละเอยดตวด าเนนการทางตรรกะดบน

ตำรำงท 2.10 ตวด าเนนการทางตรรกะ ตวด ำเนนกำร ควำมหมำย ตวอยำง

&& และ A&&B || หรอ A||B ! ไม !A

จากตารางท 10 ตวด าเนนการทางตรรกะ ประกอบดวย 3 ตวด าเนนการคอ และ หรอ และ ไม โดยการเปรยบเทยบการประมวลผลจะพจารณาตามเกณฑดงนคอ 1. การเปรยบเทยบตวด าเนนการท 1 กบตวด าเนนการท 1 โดยสญลกษณ && (และ) เงอนไขนนจะเปนจรงถา ตวด าเนนการท 1 และตวด าเนนการท 2 เปนจรงทงค ถาไมใชแสดงวาผลลพธของเงอนไขนนเปนเทจ 2. การเปรยบเทยบตวด าเนนการท 1 กบตวด าเนนการท 1 โดยสญลกษณ || (หรอ) เงอนไขนนจะเปนจรงถา ตวด าเนนการท 1 และตวด าเนนการท 2 เปนเทจทงค ถาไมใชแสดงวาผลลพธของเงอนไขนนเปนจรง และ 3. หากสญลกษณ ! (นอต) อยหนาตวด าเนนการใดคานนจะเปนคาทตรงกนขามกบค าตอบเดม เชน หาคาเดมเปนจรง คากจะเปลยนเปนเทจ

Page 60: ค ำน ำ - WordPress.com...สุดท้ายขอขอบคุณ ผศ.ดร.ประกอบ ใจมั่น ที่ให้ค าปรึกษาชี้แนะจนหนังสือคู่มือการเขียน

50

[Principle of Programming in Education I]

ตวอยำงท 29 การประยกตใชตวด าเนนการ ผลรน

ภำพท 2.25 การประยกตใชตวด าเนนการ จากภาพท 2.25 แสดงการน าตวด าเนนการมาประยกตใชรวมกน ในการตรวจสอบเงอนไข โดยการประมวลผลในลกษณะนโปรแกรมจะประมวลผลเครองหมายในนพจนกอน ในทนคอ score>=50 และ score<80 จากนนจงน าผลของทง 2 นพนธมาเปรยบเทยบกน 2.6 ล ำดบควำมส ำคญของเครองหมำย ในการท างานของโปรแกรมมการจดล าดบความส าคญของเครองหมายทน ามาใชในการเปนตวด าเนนการ จากทไดกลาวมากอนหนามตวด าเนนการหลายประเภท เพราะฉะนนในการท างานของโปรแกรมหาก 1 โปรแกรมมตวด าเนนการมากกวา 1 ตว และผเขยนโปรแกรมไมทราบล าดบความส าคญของโปรแกรม อาจท าใหการเขยนโปรแกรมไดผลลพธทผดพลาดได จงมความจ าเปนตองเรยนรล าดบความส าคญของโปรแกรมดงน ตำรำงท 2.11 ล าดบความส าคญของเครองหมาย

ควำมส ำคญของล ำดบควำมส ำคญ

ตวด ำเนนกำร ทศทำงกำรประมวลผล

1 ( ) ซายไปขวา 2 !,++,- - ขวาไปซาย 3 *,/,% ซายไปขวา 4 +,- ซายไปขวา 5 <,<=,>,>= ซายไปขวา

Page 61: ค ำน ำ - WordPress.com...สุดท้ายขอขอบคุณ ผศ.ดร.ประกอบ ใจมั่น ที่ให้ค าปรึกษาชี้แนะจนหนังสือคู่มือการเขียน

51

[Principle of Programming in Education I]

ควำมส ำคญของล ำดบควำมส ำคญ

ตวด ำเนนกำร ทศทำงกำรประมวลผล

6 = =,!= ซายไปขวา 7 && ซายไปขวา 8 || ซายไปขวา 9 *=,/=,%=,+=,-= ขวามาซาย

จากตารางท 11 เปนการจดล าดบความส าคญของเครองหมายทใชในการด าเนนการประมวลผล โดยหมายเลข 1 เปนตวด าเนนการทมล าดบความส าคญมากทสดการประมวลผลโปรแกรมหากเจอเครองหมายมากกวาหนงเครองหมายโปรแกรมจะประมวลผลตามล าดบความส าคญของเครองหมายตาราง สรป

การเขยนโปรแกรมในภาษาซผเรยนจ าเปนตองมความรความเขาใจเกยวกบโครงสรางของภาษาโดยโครงสรางการเขยนโปรแกรมในภาษาซจะประกอบดวยสวน 4 สวนหลกดงน

1. สวนพรโพรเซสเซอรไดเรกทฟ (Preprocessor Directives) 2. สวนของการประกาศตวแปรและการก าหนดคาแบบทอนญาตใหทกสวนสามารถเรยกใชงาน

ได (Global Declaration) บางโปรแกรมอาจไมมกได 3. สวนของฟงกชนหลก (Function Main) 3.1 สวนของการประกาศตวแปรภายในและการก าหนดคาในฟงกชนหลก บางโปรแกรม

อาจไมมกได 3.2 ค าสงประมวลผลโปรแกรม 4. สวนฟงกชนทสรางขนเอง (Used-defined functions) บางโปรแกรมอาจไมมกได ในบางโปรแกรมไมจ าเปนจะตองมครบทกสวน แตสวนทจ าเปนและส าคญตองมคอ สวนของ

พรโพรเซสเซอรไดเรกทฟ (Preprocessor Directives) และสวนของฟงกชนหลก (Function Main) ทกโปรแกรมจ าเปนตองม ค าสงทน ามาใชในการเขยนโปรแกรมในบทนเปนค าสงอยางงายเพอฝกใหผเรยนไดทราบวธการใชงานค าสงรบคา (scanf) และค าแสดงผล (printf) สญลกษณแทนขอมลและตวด าเนนการตาง ๆ ในภาษาซเพอเปนพนฐานในการเขยนโปรแกรมตอไป

Page 62: ค ำน ำ - WordPress.com...สุดท้ายขอขอบคุณ ผศ.ดร.ประกอบ ใจมั่น ที่ให้ค าปรึกษาชี้แนะจนหนังสือคู่มือการเขียน

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

Page 63: ค ำน ำ - WordPress.com...สุดท้ายขอขอบคุณ ผศ.ดร.ประกอบ ใจมั่น ที่ให้ค าปรึกษาชี้แนะจนหนังสือคู่มือการเขียน

53

[Principle of Programming in Education I]

3.1 หลกกำรเขยนโปรแกรมแบบตำมล ำดบ (Sequential Program) การเขยนโปรแกรมแบบตามล าดบเปนการเขยนโปรแกรมทมลกษณะการท างานจากบนลงลางโดยไมมการกระโดดขามการท างาน หรอมการตดสนใจใหเลอกประมวลผลใด ๆ มรปแบบการท างาน ดงน

Start

Statement1

Statement2

Statement3

Statement4

Stop

ภำพท 3.1 แสดงล าดบผงงาน “จดสงเกต” กำรเขยนโปรแกรมแบบเรยงล ำดบเปนกำรเขยนโปรแกรมดวยไมไดก ำหนดวำวธกำรใดจะอยกอนหรออยหลง ในการเขยนโปรแกรมแบบตามล าดบจะเปนการน าค าสงในการรบคา ค าสงการประมวลผล และค าสงการแสดงผลลพธมาใช โดยค าสงพนฐานทเราน ามาใชไดแก ค าสง Printf, Scanf, Put, Putchar, Get, Getchar เปนตน และตวด าเนนการตาง ๆ เชนเครองหมาย +, -, *, / ในบทนจะเนนใหผเรยนไดเรยนรและรจกใชเครองมอ ค าสง ในการด าเนนการเขยนโปรแกรมแบบตามล าดบซงเปนการเขยนโปรแกรมทงายทสด การท างานของโปรแกรมแบบตามล าดบเปนการท างานตามล าดบค าสงในโปรแกรม มตวอยางดงตอไปน

Page 64: ค ำน ำ - WordPress.com...สุดท้ายขอขอบคุณ ผศ.ดร.ประกอบ ใจมั่น ที่ให้ค าปรึกษาชี้แนะจนหนังสือคู่มือการเขียน

54

[Principle of Programming in Education I]

ตวอยำงกำรเขยนโปรแกรมแบบตำมล ำดบ ตวอยำงท 1 โปรแกรมแบบตามล าดบ โจทย วเคราะหดวยผงงานและเขยนโปรแกรมรบขอมลสวนตวของนกศกษา

Start

Stop

ID,S_name,S_sur,S_gpa,S_tel

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

#include<stdio.h> main() { char id[10],S_name[20],S_sur,S_tel; float S_gpa; printf("Input your ID:"); scanf("%s",&id); printf("Input your Name:"); scanf("%s",&S_name); printf("Input your Surname:"); scanf("%s",&S_sur); printf("Input your Telephone:"); scanf("%s",&S_tel); printf("Input your GPA:"); scanf("%s",&S_gpa); }

Page 65: ค ำน ำ - WordPress.com...สุดท้ายขอขอบคุณ ผศ.ดร.ประกอบ ใจมั่น ที่ให้ค าปรึกษาชี้แนะจนหนังสือคู่มือการเขียน

55

[Principle of Programming in Education I]

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

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

#include<stdio.h> main() { char id[10],S_name[20],S_sur[20],S_tel[10]; float S_gpa; printf("Input your ID:"); scanf("%s",&id); printf("Input your Name:"); scanf("%s",&S_name); printf("Input your Surname:"); scanf("%s",&S_sur); printf("Input your Telephone:"); scanf("%s",&S_tel); printf("Input your GPA:"); scanf("%f",&S_gpa); printf("******************************************\n"); printf("Your Data:\n"); printf("-------------------------------------------------------\n"); printf("ID Name Surname Tel GPA \n"); printf("%s %s %s %s %.2f\n",id,S_name,S_sur,S_tel,S_gpa); printf("-------------------------------------------------------\n"); printf("Thank you!!\n"); }

Page 66: ค ำน ำ - WordPress.com...สุดท้ายขอขอบคุณ ผศ.ดร.ประกอบ ใจมั่น ที่ให้ค าปรึกษาชี้แนะจนหนังสือคู่มือการเขียน

56

[Principle of Programming in Education I]

ภำพท 3.5 แสดงโปรแกรมแบบตามล าดบน าคาทอยในตวแปรมาแสดงผลลพธการแสดงผลเพมเขามาอก 1 กระบวนการ จะเหนวาสวนทเพมเขานนเปนสวนของการแสดงผลของคาทอยในตวแปรโดยจะสงเกตไดจากบรรทดทลอมรอบดวยเสนทแสดง บรรทดนจะเปนการน าคาทอยในตวแปรมาแสดง โดยในบทท 2 เราไดเรยนรเกยวกบรหสรปแบบขอมล โดยรหสรปแบบขอมลทน ามาใชนนจะตองตรงกบรปแบบขอมลทประกาศตวแปรไวตงแตเรมตน เชน %s หมายความวาแทนรหสรปแบบขอมลทเปนชดขอความ %f หมายความวาแทนรหสรปแบบขอมลทเปน Float %.2f หมายความวา รปแบบขอมลทแสดงผลใหแสดงผลทศนยม 2 ต าแหนง %.3f หมายความวา รปแบบขอมลทแสดงผลใหแสดงผลทศนยม 3 ต าแหนง ในบรรทดการแสดงผลหลงเครองหมายคอมมา (,) จะเปนชอตวแปรทจะน ามาแสดงผล สามารถใสคาตวแปรกคากไดแตจะตองคนดวยเครองหมายคอมมา (,) และดานหนาของบรรทดจะตองมรหสรปแบบขอมลชนดนน ๆ ปรากฏอย จดสงเกต กำรเอำคำในตวแปรมำแสดงผลน นจะตองใชรหสรปแบบขอมลคกบชอตวแปร โดยชนดขอมลกบรหสรปแบบขอมลจะตองเปนชนดเดยวกน เชน ถำประกำศตวแปรเปนชดขอควำมจะใช %d ไมสำมำรถกระท ำได จะตองเปน %s เทำน น เพรำะฉะน นนกศกษำทกคนจะตองท ำใหไดวำชนดขอมลใดใชรหสรปแบบขอมลใด สรป ผงงานแบบล าดบเปนผงงานทมโครงสรางการกระท าตามล าดบกจกรรมกอนหลงทเรยงเปนล าดบตอเนองกนไปเรอย ๆ การเขยนผงงานแบบล าดบจะเปนโครงสรางทงายทสดเหมาะส าหรบงานทไมมความซบซอน ไมมการตรวจสอบเงอนไข และไมตองการท างานซ า ๆ แตในบางครงผงงานแบบล าดบมกจะไปรวมอยในผงงานแบบเลอก และแบบท าซ าในกรณทมกจกรรมท างานตอเนองกนไปเรอย ๆ โดยสวนมากจะเปนการจดวาง กจกรรมจากบนลงลาง และจากซายไปขวา

printf("******************************************\n"); printf("Your Data:\n"); printf("-------------------------------------------------------\n"); printf("ID Name Surname Tel GPA \n"); printf("%s %s %s %s %.2f\n",id,S_name,S_sur,S_tel,S_gpa); printf("-------------------------------------------------------\n");

Page 67: ค ำน ำ - WordPress.com...สุดท้ายขอขอบคุณ ผศ.ดร.ประกอบ ใจมั่น ที่ให้ค าปรึกษาชี้แนะจนหนังสือคู่มือการเขียน

1. สำระส ำคญ

การท างานแบบทางเลอก (Selection) หรอเรยกอกอยางหนงวา การท างานแบบตดสนใจ (Decision) นนคอเราสามารถใหโปรแกรมเลอกท างานอยางใดอยางหนงได โดยใชเงอนไขเปนตวก าหนดการท างานตามค าสง โดยทวไปโปรแกรมจะก าหนดเอาไววาถาเงอนไขเปนจรงโปรแกรมจะไปท างานอยางหนง แตถาเงอนไขเปนเทจโปรแกรมกจะไปท างานอกอยางหนง นนกหมายความวา โปรแกรมจะเลอกท างานทศทางใดทศทางหนงเทานน เชน เมอเราขบขรถไปถงทางสามแยก เราจะตองตดสนใจไปทางใดทางหนง ไมสามารถวงไปทงสองทางไดในเวลาเดยวกน

2. จดประสงคกำรเรยนร

2.1 ผเรยนบอกลกษณะการท างานแบบทางเลอกได 2.2 ผเรยนหาผลลพธของการท างานแบบทางเลอกได 2.3 ผเรยนบอกความแตกตางของการท างานแบบทางเลอกได

3. สำระกำรเรยนร 3.1 ค าสงทใชในการเขยนโปรแกรมแบบเลอกท า 3.2 ค าสง Switch case

Page 68: ค ำน ำ - WordPress.com...สุดท้ายขอขอบคุณ ผศ.ดร.ประกอบ ใจมั่น ที่ให้ค าปรึกษาชี้แนะจนหนังสือคู่มือการเขียน

58

[Principle of Programming in Education I]

4.1 ค ำสงทใชในกำรเขยนโปรแกรมแบบเลอกท ำ 4.1.1 ค ำสงเลอกท ำแบบทำงเดยว (if) ค าสง if เปนการตรวจเชคเงอนไขแบบทางเลอกเดยว จะมค าสงหลงการตรวจเชคเงอนไขแคค าสงเดยว มรปแบบการใชค าสง if ดงน

ภำพท 4.1 หนาจอแสดงค าสงเลอกท าแบบทางเดยว โดยท Conditionคอเงอนไขทใชตรวจเชค รปแบบการเขยนเงอนไขเปนการเชคนพจน 2 นพจน โดยเอาตวด าเนนการเชงสมพนธ (Relational Operator) และตวด าเนนการทางตรรกะ ใชในการเขยนเงอนไข ตวอยำง การเขยนเงอนไข (score > 50 ) หรอ (score >80 ) && (score <50) (Choice !=’A’) (num%2=0) (num1-num2 > 20) Action statement เปนค าสงทใหประมวลผลถาเงอนไขเปนจรง ตวอยำง การเขยนโปรแกรมแบบ 1 ทางเลอก โจทย โปรแกรมแสดงค าวา Pass ถาคะแนนมากวาหรอเทากบ 50

ภำพท 4.2 การเขยนโปรแกรมแบบ 1 ทางเลอก

if (Condition) { Action statement }

Page 69: ค ำน ำ - WordPress.com...สุดท้ายขอขอบคุณ ผศ.ดร.ประกอบ ใจมั่น ที่ให้ค าปรึกษาชี้แนะจนหนังสือคู่มือการเขียน

59

[Principle of Programming in Education I]

ตวอยำง การเขยนโปรแกรมแบบ 1 ทางเลอก โจทย โปรแกรมรบคาคะแนน 2 ครงประมวลผลเพอหาผลรวมแลวแสดงผลวา Pass ถาผลรวมคะแนนมคามากวา 50

ภำพท 4.3 การเขยนโปรแกรมแบบ 1 ทางเลอก จากทงสองโปรแกรมเปนการแสดงขอความ Pass ในหนาจอ ถา ผลคะแนน score มคามากกวา 50 โดยโปรแกรมท 1 เปนการก าหนดคา ใหกบตวแปร score โปรแกรมท 2 เปนการหาผลรวมระหวาง คะแนนกลางภาค (Midterm) และ คะแนนปลายภาค (Final) 4.1.2 ค ำสงเลอกท ำแบบ 2 ทำงเลอก (if else) ค าสงเลอกท าแบบ 2 ทางเลอกเปนการเขยนโปรแกรมเพอตรวจเชคเงอนไขถาเงอนไขเปนจรงท าอยางหนง ถาเงอนไขเปนเทจ ท าอกอยางหนง

ภำพท 4.4 ค าสงเลอกท าแบบ 2 ทางเลอก (if else)

if (Condition) { Action statement1 }else {

Action statement2 }

Page 70: ค ำน ำ - WordPress.com...สุดท้ายขอขอบคุณ ผศ.ดร.ประกอบ ใจมั่น ที่ให้ค าปรึกษาชี้แนะจนหนังสือคู่มือการเขียน

60

[Principle of Programming in Education I]

โดย Condition เงอนไขทใชตรวจเชค Action statement1 เปนค าสงทใหประมวลผลถาเงอนไขเปนจรง Action statement2 เปนค าสงทใหประมวลผลถาเงอนไขเปนเทจ ตวอยำง การเขยนโปรแกรมแบบ 2 ทางเลอก โจทย โปรแกรมพจารณาผลคะแนน ถาคะแนนมากวา 50 แสดงค าวา Pass ถาไมแสดงค าวา Fail

ภำพท 4.5 การเขยนโปรแกรมแบบ 2 ทางเลอก ตวอยำง การเขยนโปรแกรมแบบ 2 ทางเลอก โจทย โปรแกรมรบคาคะแนน 2 ครงประมวลผลเพอหาผลรวมแลวแสดงผลวา Pass ถาผลรวมคะแนนมคามากวา 50 และแสดงค าวา Fail ถาผลรวมของคะแนนไมถง 50

ภำพท 4.6 การเขยนโปรแกรมแบบ 2 ทางเลอก

Page 71: ค ำน ำ - WordPress.com...สุดท้ายขอขอบคุณ ผศ.ดร.ประกอบ ใจมั่น ที่ให้ค าปรึกษาชี้แนะจนหนังสือคู่มือการเขียน

61

[Principle of Programming in Education I]

4.1.3 ค ำสงเลอกท ำแบบหลำยทำงเลอก (if else if else) ค าสงเลอกท าแบบหลายทางเลอก คอ การทโปรแกรมหนง ๆ จะตองมการตดสนใจมากกวา 1 ทางเลอก หรอท าการเปรยบเทยบหลายครง โดยค าสงทใชคอ if ซอน if โดยมรปแบบดงน

ภำพท 4.7 ค าสงเลอกท าแบบหลายทางเลอก (if else if else) โดยท Condition เงอนไขทใชตรวจเชค Action statement1 เปนค าสงทใหประมวลผลถาเงอนไขกอนหนาเปนจรง Action statement2 เปนค าสงทใหประมวลผลถาเงอนไขกอนหนาเปนจรง Action statement3 เปนค าสงทใหประมวลผลถาเงอนไขกอนหนาเปนจรง Action statement4 เปนค าสงทใหประมวลผลถาเงอนไขกอนหนาเปนเทจ

if (Condition) { Action statement1 }else if(Condition) {

Action statement2 }else if(Condition) { Action statement3 }else Action statement4

Page 72: ค ำน ำ - WordPress.com...สุดท้ายขอขอบคุณ ผศ.ดร.ประกอบ ใจมั่น ที่ให้ค าปรึกษาชี้แนะจนหนังสือคู่มือการเขียน

62

[Principle of Programming in Education I]

ตวอยำง การเขยนโปรแกรมแบบหลายทางเลอก โจทย โปรแกรมหาผลรวมของคะแนนและแสดงค าวา Best ,Good และ Fail

ภำพท 4.8 การเขยนโปรแกรมแบบหลายทางเลอก ตวอยำง การเขยนโปรแกรมแบบหลายทางเลอก โจทย โปรแกรมค านวณเงนเดอนจากเงนเดอนทไดรบและคาท างานลวงเวลาโดย คดชวโมงละ 300 บาท และหกเงนออมตามอตราเปอรเซนของเงนเดอน โดยมเงอนไขดงน

ถา เงนเดอน > 30000 หก 2000 บาท เงนเดอน < 30000 แตมากกวา 20000 หก 1000 บาท เงนเดอน <20000 แตมากกวา 10000 หก 500 บาท เงนเดอน <= 10000 หก 250 บาท

Page 73: ค ำน ำ - WordPress.com...สุดท้ายขอขอบคุณ ผศ.ดร.ประกอบ ใจมั่น ที่ให้ค าปรึกษาชี้แนะจนหนังสือคู่มือการเขียน

63

[Principle of Programming in Education I]

ภำพท 4.9 โปรแกรมค านวณเงนเดอน

Page 74: ค ำน ำ - WordPress.com...สุดท้ายขอขอบคุณ ผศ.ดร.ประกอบ ใจมั่น ที่ให้ค าปรึกษาชี้แนะจนหนังสือคู่มือการเขียน

64

[Principle of Programming in Education I]

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

ภำพท 4.10 การตรวจเชคอายกอนอนญาต หลงจากทไดเรยนรค าสงทใชในการเขยนโปรแกรมแบบทางเลอกโดยใชค าสง If else แลว ตอไปเปนค าสงทใชในการเขยนโปรแกรมทางเลอกเชนเดยวกนแตเปนการใชอกหนงค าสง นนคอค าสง Switch Case 4.2 ค ำสง Switch case ค าสง Switch case เปนค าสงทใชในการเขยนโปรแกรมเพอประมวลผลการท างานคลาย ๆ กบ If else คอเปนการท างานแบบมทางเลอก แตการใช Switch case สวนใหญจะน ามาใชในการเชคขอมลทถกตองเทยงตรง เชน การตรวจเชคเมนทเลอกเขามา เพอเรยกใชฟงกชนยอยอนท างานตอ รปแบบของ Switch case มรปแบบดงน

Page 75: ค ำน ำ - WordPress.com...สุดท้ายขอขอบคุณ ผศ.ดร.ประกอบ ใจมั่น ที่ให้ค าปรึกษาชี้แนะจนหนังสือคู่มือการเขียน

65

[Principle of Programming in Education I]

ภำพท 4.11 ค าสง Switch case

จากรปแบบของค าสง จะขนตนดวยค าสง swithตอดวย วงเลบเปด และวงเลบปด ภายในวงเลบเปนคา value_expressionคอ ของตวแปรท ใช ในการตรวจสอบกอนจะเลอกท าค าส ง โดยคา value_expressionจะเปนคาทมชนดขอมลเปนแบบ interger(จ านวนเตม) หรอ ชนดขอมลแบบ char เทานน โดยประเภทขอมลอน ๆ ไมสามารถทจะตรวจสอบได หลงจากนนสงทอยใน ปกกาเปด { และ ปกกาปด } จะเปน คาทใชในการตรวจสอบ

หลงค าสง case คอ constantExpressionเปนคาทใชในการตรวจสอบ หากคาดงกลาวตรงกบคาของ value_expressionจะท าตามค าสง (statement) ทอยหลงค าสง case โดยค าสงหลงค าสง case จะมกค าสงกไดขนอยกบโปรแกรมนน ๆ

ฟงกชน break; เปนฟงกชนทใหค าสงหยดการท างาน โดยค าสง break จะมหรอไมมกได แตถามโปรแกรมจะหยดการท างานแคค าสง break แตถาหากไมม โปรแกรมจะรนการท างานหลงจากค าสง break ดวย

ค าสง default หลงค าสง default เปนการท างานหรอค าสงประมวลผลทนอกเหนอจากเงอนไขทก าหนด หากเปรยบเทยบกบค าสง if else ค าสง default เปรยบไดกบค าสง else คอ นอกเหนอจากเงอนไขใด ๆ แลวใหท าค าสงดงกลาว โดย default จะมหรอไมมกได

switch (Value_expression) {

case constantExpression_1: statement_1; break;

case constantExpression_2: statement_2; break; case constantExpression_3: statement_3; break; default: statement; }

Page 76: ค ำน ำ - WordPress.com...สุดท้ายขอขอบคุณ ผศ.ดร.ประกอบ ใจมั่น ที่ให้ค าปรึกษาชี้แนะจนหนังสือคู่มือการเขียน

66

[Principle of Programming in Education I]

ตวอยำง โปรแกรม switch case โจทย การเลอกใหแสดงแสดงตวเลข โดยไมใช ค าสง break

ภำพท 4.12 การเลอกใหแสดงแสดงตวเลข โดยไมใช ค าสง break

Page 77: ค ำน ำ - WordPress.com...สุดท้ายขอขอบคุณ ผศ.ดร.ประกอบ ใจมั่น ที่ให้ค าปรึกษาชี้แนะจนหนังสือคู่มือการเขียน

67

[Principle of Programming in Education I]

จากโปรแกรม เปนการรบคา Choice จากผใช โดยก าหนดให Choice ทปอนเขามามประเภทขอมลเปนแบบจ านวนเตม ในโปรแกรมไมมการใชค าสงbreak; ดงนนจะเหนไดวา หากผใชปอนขอมลเลขใด ๆ เขามา โปรแกรมจะแสดงผลตงแตเลขนน ๆ และในกรณทไมไดปอนหมายเลขทอยใน case จะแสดงคาทอยหลงค าสง default เพยงอยางเดยว

ตวอยำง โปรแกรม switch case โดยไมใช ค าสงbreak; โจทย การเลอกใหแสดงแสดงตวเลข โดยใช ค าสง break

ภำพท 4.13 โปรแกรม switch case โดยไมใช ค าสงbreak;

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

Page 78: ค ำน ำ - WordPress.com...สุดท้ายขอขอบคุณ ผศ.ดร.ประกอบ ใจมั่น ที่ให้ค าปรึกษาชี้แนะจนหนังสือคู่มือการเขียน

68

[Principle of Programming in Education I]

ตวอยำง โปรแกรม switch case โจทย แสดงเลขคและเลขค

ภำพท 4.14 โปรแกรม switch case แสดงเลขคและเลขค

จากตวอยางโปรแกรมจะเปนการประมวลผลเพอแสดงค าวา Odd number และ ค าวา Even number ใหสงเกต ค าสงหลง ค าวา switch จะสงเกตเหนวาภายในวงเลบเปนการประมวลหาผลลพธซงเราสามารถกระท าได แตผลลพธทออกมาจะตองเปนจ านวนเตม ( interger) เทานน โปรแกรมจงจะสามารถตรวจสอบคาได โดยในตวอยางเปนการ Modulate 2 กบคาของตวเลขทรบเขามา เพอคนหาวาคาดงกลาวเปนคาบวก หรอ คาลบแลวใหโปรแกรมแสดงผลลพธ

Page 79: ค ำน ำ - WordPress.com...สุดท้ายขอขอบคุณ ผศ.ดร.ประกอบ ใจมั่น ที่ให้ค าปรึกษาชี้แนะจนหนังสือคู่มือการเขียน

69

[Principle of Programming in Education I]

ตวอยำง โปรแกรม switch case โจทย โปรแกรมเครองคดเลข

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

Page 80: ค ำน ำ - WordPress.com...สุดท้ายขอขอบคุณ ผศ.ดร.ประกอบ ใจมั่น ที่ให้ค าปรึกษาชี้แนะจนหนังสือคู่มือการเขียน

70

[Principle of Programming in Education I]

ตวอยำง โปรแกรม switch case โจทย จงเขยนโปรแกรมรายการทวร

Page 81: ค ำน ำ - WordPress.com...สุดท้ายขอขอบคุณ ผศ.ดร.ประกอบ ใจมั่น ที่ให้ค าปรึกษาชี้แนะจนหนังสือคู่มือการเขียน

71

[Principle of Programming in Education I]

ภำพท 4.16 โปรแกรมรายการทวร จากตวอยางโปรแกรมเปนเปนการเขยนโปรแกรม Switch case ประยกตใชโปรแกรม Tour โดยใหเลอก ประเทศทจะไป เมอเลอกประเทศแลว กระบจ านวน โปรแกรมจะค านวณราคาใหวาทงหมดจะตองจายเทาไหร ตวอยำง การประยกตใช if else และ switch case รวมกน โจทย โปรแกรมใหรางวลถาไดเกรด A ในรายวชาการเขยนโปรแกรม

Page 82: ค ำน ำ - WordPress.com...สุดท้ายขอขอบคุณ ผศ.ดร.ประกอบ ใจมั่น ที่ให้ค าปรึกษาชี้แนะจนหนังสือคู่มือการเขียน

72

[Principle of Programming in Education I]

Page 83: ค ำน ำ - WordPress.com...สุดท้ายขอขอบคุณ ผศ.ดร.ประกอบ ใจมั่น ที่ให้ค าปรึกษาชี้แนะจนหนังสือคู่มือการเขียน

73

[Principle of Programming in Education I]

ภำพท 4.17 โปรแกรมใหรางวล จากตวอยางโปรแกรมทก าหนดให เปนโปรแกรมใหรางวลกบผเรยนทไดเกรด A ในรายวชาการเขยนโปรแกรมภาษา C โดยรางวล ม 3 ตวเลอกคอ 1. Backpack 2. Casio watch 3. Big doll ถาได เกรด A สามารถเลอกอยางใดอยางหนงได แตถาไมไดเกรด A กจะปรากฏค าวา You grade ______ You don’t have anything.

Page 84: ค ำน ำ - WordPress.com...สุดท้ายขอขอบคุณ ผศ.ดร.ประกอบ ใจมั่น ที่ให้ค าปรึกษาชี้แนะจนหนังสือคู่มือการเขียน

74

[Principle of Programming in Education I]

สรป การท างานของโปรแกรมแบบตามล าดบเปนลกษณะการท างานจากบนลงลางไมมการตดสนลอกท าแตอยางไร มความแตกตางจากโปรแกรมแบบมทางเลอกซงเปนการเขยนโปรแกรมเมอตองมการตดสนใจในการประมวลผลเลอกท า ในภาษาซค าสงทน ามาใชในการเขยนโปรแกรมเลอกท า คอใชค าสง If else และ switch case ทงสองค าสงมรปแบบและวธการใชเพอน ามาประยกตใชกบโปรแกรมทตองมการเปรยบเทยบคาหรอตดสนใจ ค าสง if else สามารถแบงลกษณะการท างานออกเปน 3 แบบ 1.การท างานแบบทางเลอกเดยว ใชค าสง if แลวตามดวยเงอนไขทใชในการตดสนใจ หากเงอนไขเปนเทจจะท าค าสงสดทาย 2. การท างานแบบสองทางเลอก ใชค าสง if else แลวตามดวยเงอนไขทใชในการตดสนใจ หากเงอนไขเปนจรงจะท าตามทางเลอกทหนงและหากเงอนไขเปนเทจจะท าตามทางเลอกทสอง และ 3. การท างานแบบหลายทางเลอก ใชค าสง if else แลวตามดวยเงอนไขทใชในการตดสนใจ หากเงอนไขเปนจรงจะท าตามทางเลอกทหนง และหากเงอนไขเปนเทจจะด าเนนการตรวจสอบเงอนไขท 2 และเงอนไขตอไปเรอย ๆ หากไมพบเงอนไขใดทเปนจรงจะท าค าสงสดทาย ค าสง Switch case นยมน าค าสง Switch case มาใชในการเขยนโปรแกรมทมตวเลอกใหเลอกเชนกน ทงสองค าสงนสามารถใชแทนกนได มขอแตกตางกนเลกนอยคอ การใชค าสง Switch case ไมสามารถประมวลผลเปรยบเทยบผลของตวด าเนนการเปลยนเทยบได แต หากตวเปรยบเทยบมผลทตรงกบเงอนไขค าสง Switch case จงจะด าเนนการประมวลผลได

Page 85: ค ำน ำ - WordPress.com...สุดท้ายขอขอบคุณ ผศ.ดร.ประกอบ ใจมั่น ที่ให้ค าปรึกษาชี้แนะจนหนังสือคู่มือการเขียน

1. สำระส ำคญ

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

1.1 ค าสง While 1.2 ค าสง DO…While 1.3 ค าสง For

Page 86: ค ำน ำ - WordPress.com...สุดท้ายขอขอบคุณ ผศ.ดร.ประกอบ ใจมั่น ที่ให้ค าปรึกษาชี้แนะจนหนังสือคู่มือการเขียน

76

[Principle of Programming in Education I]

กำรเขยนโปรแกรมแบบวนซ ำ (Loop Program) ในบทท 4 ทผานมาผเรยนไดเรยนรเกยวกบการเขยนโปรแกรมแบบตามล าดบและแบบทางเลอก

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

1. ลกษณะการเขยนโปรแกรมแบบวนซ า 1.1 รปแบบการท างานแบบวนซ า

2. ค าสงทใชในการเขยนโปรแกรมแบบวนซ า 2.1 While

2.2 Do..While 2.3 For

แตละเนอหามรายละเอยดดงตอไปน 5.1 ลกษะกำรเขยนโปรแกรมแบบวนซ ำ

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

Page 87: ค ำน ำ - WordPress.com...สุดท้ายขอขอบคุณ ผศ.ดร.ประกอบ ใจมั่น ที่ให้ค าปรึกษาชี้แนะจนหนังสือคู่มือการเขียน

77

5.1.1 รปแบบกำรท ำงำนแบบวนซ ำ การท างานแบบวนซ า คอการประมวลผลการท างานในลกษณะเดยวกบหลาย ๆ ครงหาก การ

ออกจากการประมวลผลจะพจารณาจากเงอนไขทก าหนด พจารณารปแบบการวนซ าไดดงตอไปน

ภำพท 5.1 แสดงรปแบบการท างานแบบวนรอบ

หรอ

Page 88: ค ำน ำ - WordPress.com...สุดท้ายขอขอบคุณ ผศ.ดร.ประกอบ ใจมั่น ที่ให้ค าปรึกษาชี้แนะจนหนังสือคู่มือการเขียน

78

จากภาพท 5.1 รปแบบการท างานแบบวนรอบสงเกตทเงอนไขการท างานของโปรแกรมจะพบวาการหยดการท างานจะพจารณาตามเงอนไขทก าหนด

ในการเขยนโปรแกรมแบบท าซ าโดยใชภาษาซลกษณะการเขยนโปรแกรมพจารณาไดจากตวอยางดงตอไปน

ตวอยำงท 1 กำรท ำงำนแบบท ำซ ำ เชน แสดงค าวา Hello 10 ครง

จากตวอยางจะเปนการแสดงค าวา Hello จ านวน 10 ครง ลกษณะการท างานแบบวนซ าจะเปน

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

5.1.2 ตวด ำเนนกำรเพมคำและลดคำ ตวด าเนนการเพมคาและลดคามความส าคญตอการเขยนโปรแกรมวนซ าเนองจากการวนซ าแต

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

ตำรำงท 5.1 ตวด าเนนการเพมและลดคา

ตวด ำเนนกำร ตวอยำง หรอเขยนอกแบบ

กำรน ำไปใช

++ x = i++ i = i + 1 จะน าคา i ไปใชกอนแลวจงเพมคา i ขน 1

x = ++i i = i + 1 จะเพมคาของ i ขน 1 แลวจงน าคา i ไปใช

Page 89: ค ำน ำ - WordPress.com...สุดท้ายขอขอบคุณ ผศ.ดร.ประกอบ ใจมั่น ที่ให้ค าปรึกษาชี้แนะจนหนังสือคู่มือการเขียน

79

ตวด ำเนนกำร ตวอยำง หรอเขยนอกแบบ

กำรน ำไปใช

-- x = i-- i = i - 1 จะน าคา i ไปใชกอนแลวจงลดคา i ลง 1

x = --i i = i - 1 จะลดคาของ i ลง 1 แลวจงน าคา i ไปใช

5.2 ค ำสงทใชในกำรเขยนโปแกรมแบบวนซ ำ

ค าสงทน ามาใชเขยนโปรแกรมในการเขยนโปรแกรมวนซ าในภาษาซ ประกอบดวยค าสงจ านวน 3 ค าสง คอ

1. ค าสง While 2. ค าสง Do..While 3. ค าสง For

ทง 3 ค าสง มลกษณะการท างานทเหมอนกนคอจะมการตรวจสอบเงอนไขและด าเนนการไปเรอย ๆ จนกวาจะตรวจสอบพบวาเงอนไขดงกลาวเปนเทจจรงจะออกจากการประมวลผล 5.2.1 ค ำสง While ค าสง While เปนค าสงทสงใหโปรแกรมท างานซ า หรอวนซ า จนกวาโปรแกรมจะตรวจสอบเงอนไขแลวพบวาเงอนไขเปนเทจในการเขยนโปรแกรมดวยรปแบบค าสง While มรปแบบค าสง While ดงตอไปน 5.2.1.1 รปแบบค ำสง While โดย Condition เปนเงอนไขทใชในการตรวจสอบ ถาเงอนไขเปนจรงจงจะท า Statement Statement คอ ชดค าสงทจะใหโปรแกรมท างาน เพอชวยใหผเรยนเขาใจการใชค าสง While มากยงขนพจารณาตวอยางดงตอไปน

while(condition) statement;

Page 90: ค ำน ำ - WordPress.com...สุดท้ายขอขอบคุณ ผศ.ดร.ประกอบ ใจมั่น ที่ให้ค าปรึกษาชี้แนะจนหนังสือคู่มือการเขียน

80

5.2.1.2 ตวอยำงกำรใชค ำสง While ตวอยำงท 2 โปรแกรมค าสงวนซ า (Loop) โจทย การแสดงตวเลข 1 -10 โดยใชค าสง While

ผลรนโปรแกรม

ภำพท 5.2 แสดงการเขยนโปรแกรมของการแสดงผลตวเลข 1-10 จากตวอยางเปนการแสดงผลของตวเลข 1-10 โดยใชค าสง While สงเกตวาหลงค าสง While จะ

มเครองหมาย ปกกาเปด และ ปกกาปด เพอบอกขอบเขตของค าสง While หาไมใสเครองหมายปกกาผลรนโปรแกรมจะเปนดงน

Page 91: ค ำน ำ - WordPress.com...สุดท้ายขอขอบคุณ ผศ.ดร.ประกอบ ใจมั่น ที่ให้ค าปรึกษาชี้แนะจนหนังสือคู่มือการเขียน

81

ภำพท 5.3 แสดงผลการเขยนโปรแกรมทไมสามารถจบการท างานได จากภาพท 5.3 จะเหนวาโปรแกรมมผลรนโปรแกรมทผดพลาดเนองจากไดผลลพธทไมตรงกบความตองการ มสาเหตมาจากการไมใสเครองหมาย { ปดขอบเขตของการวนซ า ตวอยำงท 3 โปรแกรมค าสงวนซ า (Loop) โจทย โปรแกรมแสดงผลรวมของตวเลข 1-1000

ผลรนโปรแกรม ภำพท 5.4 การเขยนโปรแกรม 1-1000

โปรแกรมจะแสดง เลข 1 ซ า ๆ จนไมมวนหยด เนองจากโปรแกรมจะท างานแคค าสงทอยหลงค าสง While เทานน เพราะหากมค าสงทตองด าเนนการมากกวา 1 ค าสง หลงค าสง While จ าเปนอยางยงทตองใสปกกาเปดและปกกาปดไวดวยเสมอ

Page 92: ค ำน ำ - WordPress.com...สุดท้ายขอขอบคุณ ผศ.ดร.ประกอบ ใจมั่น ที่ให้ค าปรึกษาชี้แนะจนหนังสือคู่มือการเขียน

82

จากตวอยางเปนการแสดงผลรวมของตวเลข 1 -1000 จะสงเกตเหนวา การแสดงผลจะใหแสดงผลแคครงสดทายเพยงครงเดยวค าสงการแสดงผลจงออกนอกเครองหมายปกกา

ตวอยำงท 4 โปรแกรมค าสงวนซ า (Loop) โจทย โปรแกรมแสดง สตรคณ จากหลงมาหนา

ผลรนโปรแกรม

ภำพท 5.5 แสดงโปรแกรมแสดง สตรคณ จากหลงมาหนา

จากตวอยางเปนการรบคาแมสตรคณจากผใช จากนนน ามาหาผลการคณ และลดคาแมสตรคณท

ละ 1 โดยการลดคาการเขยนโปรแกรมไดน าตวด าเนนการในการลดคามาใชคอ (num--) ซงหากพจารณาจากตวอยางจะสงเกตเหนไดวา เมอมการลดคาจะตองมการก าหนดคาเรมตนไวกอนเพอใหทราบจ านวนเรมตนทชดเจน และใหโปรแกรมหยดการท างานโดยการตรวจสอบจากเงอนไขทก าหนด

Page 93: ค ำน ำ - WordPress.com...สุดท้ายขอขอบคุณ ผศ.ดร.ประกอบ ใจมั่น ที่ให้ค าปรึกษาชี้แนะจนหนังสือคู่มือการเขียน

83

ตวอยำงท 5 โปรแกรมค าสงวนซ า (Loop) โจทย โปรแกรมค านวณหาคาเกรดเฉลย

ผลรนโปรแกรม

ภำพท 5.6 แสดงโปรแกรมค านวณหาคาเกรดเฉลย

Page 94: ค ำน ำ - WordPress.com...สุดท้ายขอขอบคุณ ผศ.ดร.ประกอบ ใจมั่น ที่ให้ค าปรึกษาชี้แนะจนหนังสือคู่มือการเขียน

84

จากตวอยางโปรแกรมเปนการค านวณเกรดเฉลยของนกศกษา โดยลงทะเบยนจ านวน 5 รายวชา และใหใสขอมลรายวชา ผลเกรดทไดเทยบอตราการคดแลวใหใสเปนตวเลข เชน เกรด A =4 เกรด B=3 และใหใสจ านวนหนวยกต (Unit) จากนนเอาผลรวมของคะแนนและผลรวมของหนวยกตมาหารเพอแสดงผลออกมาเปนเกรดเฉลยทมต าแหนงจดทศนยม 3 ต าแหนง

5.2.2 ค ำสง Do..While ค าสง Do..Whileมลกษณะการท างานเชนเดยวกบค าสง While แตค าสง Do..Whileจะให

โปรแกรมประมวลผลการท างานกอนถงจะเปรยบเทยบเงอนไข แตการเปรยบเทยบเงอนไขกมลกษณะเชนเดยวกบ ค าสง While คอ ถาเงอนไขเปนจรง ถงจะท าถาเปนเทจจงจะออกจากโปรแกรม ขอสงเกตความแตกตางระหวางค าสง While และ Do..Whileคอ ค าสง Do.. While จะตองผานการประมวลผลค าสงอยางนอย 1 ครงไมวาเงอนไขนนจะเปนจรง หรอ เทจ ในขณะท ค าสง While ไมตองถาเงอนไขนนเปนเทจ

5.2.2.1 รปแบบค ำสง Do While

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

การท างานของค าส ง Do. .While เรมตนดวยค าส ง Do แลวตามดวย Statement โดย Statement คอชดค าสงทจะใหประมวลผล แลวตอดวยค าสง While หลงค าสง While จะเปนวงเลบ ภายในวงเลบคอเงอนไขทใหตรวจสอบ เพอชวยใหผเรยนเขาใจการใชค าสง Do..While มากยงขนพจารณาตวอยางดงตอไปน

Do { Statement; } While(condition);

Page 95: ค ำน ำ - WordPress.com...สุดท้ายขอขอบคุณ ผศ.ดร.ประกอบ ใจมั่น ที่ให้ค าปรึกษาชี้แนะจนหนังสือคู่มือการเขียน

85

ตวอยำงท 6 โปรแกรมค าสงวนซ า (Loop) โจทย หาผลรวมของตวเลข 1-1000

ผลรนโปรแกรม ภำพท 5.7 แสดงโปรแกรมผลรวมของตวเลข 1-1000

จากตวอยางโปรแกรมเปนการใชค าสง Do..While โดยการท างานของโปรแกรมจะท าตามค าสงกอนการตรวจสอบเงอนเงอนไข และเมอตรวจสอบเงอนไขแลวพบวาเงอนไขเปนจรงกจะวนไปท างานอกวนไปเรอย ๆ จนตรวจสอบวาเงอนไขทตรวจสอบเปนเทจ ตวอยำงท 7 โปรแกรมค าสงวนซ า (Loop) โจทย หาผลรวมของตวเลข 1-1000 (กรณถาเงอนไขเปนเทจ)

Page 96: ค ำน ำ - WordPress.com...สุดท้ายขอขอบคุณ ผศ.ดร.ประกอบ ใจมั่น ที่ให้ค าปรึกษาชี้แนะจนหนังสือคู่มือการเขียน

86

ผลรนโปรแกรม

ภำพท 5.8 เปนการแสดงการหาผลรวมของตวเลข 1-1000 (กรณถาเงอนไขเปนเทจ) จากภาพท 5.8 จะสงเกตเหนวาหากเงอนไขทใชในการตรวจสอบมคาเปนเทจตงแตเรมตน การท างานของโปรแกรมท างานได 1 ครง ซงแสดงผลลพธเปน 1 มความแตกตางกนกบค าสง While เพราะถาใชค าสง While แลวตรวจสอบเงอนไขพบวาเงอนไขเปนเทจโปรแกรมจะไมเกดการประมวลผลใด ๆ ผลลพธทไดกจะแตกตางกน ตวอยำงท 8 โปรแกรมค าสงวนซ า (Loop) โจทย หาผลรวมของตวเลข 1-1000 (กรณถาเงอนไขเปนเทจ) ของโปรแกรม While

Page 97: ค ำน ำ - WordPress.com...สุดท้ายขอขอบคุณ ผศ.ดร.ประกอบ ใจมั่น ที่ให้ค าปรึกษาชี้แนะจนหนังสือคู่มือการเขียน

87

ผลรนโปรแกรม ภำพท 5.9 หาผลรวมของตวเลข 1-1000 (กรณถาเงอนไขเปนเทจ) ของโปรแกรม While

จากภาพท 5.9 จะสงเกตไดวาผลลพธทปรากฏมคาเทากบ 0.00 เนองจากเงอนไขเปนเทจโปรแกรมจงไมเกดการประมวลผลใด ๆ สรปผลจากการรนโปรแกรมทงสองตวอยางไดวา โปรแกรม Do..While จะไดผลลพธเปน 1 ในขณะทโปรแกรม While ไดผลลพธเปน 0 เนองจาก Do..While ท างานกอน ตรวจเชคเงอนไขทหลง และค าสง While ตรวจเชคกอนถงจะท างานผลลพธทไดจรงมความแตกตางกนดงทปรากฏ ตวอยำงท 9 โปรแกรมค าสงวนซ า (Loop) โจทย การสอบถามกอนออกจากโปรแกรม โดยใช Do..While

ผลรนโปรแกรม

ภำพท 5.10 แสดงโปรแกรมการสอบถามกอนออกจากโปรแกรม โดยใช Do..While

จากภาพท 5.10 เปนการแสดงโปรแกรมการสอบถามกอนออกจากโปรแกรม โดยใช Do..While โปรแกรมจะยงคงรนการท างานไปเรอย ๆ จนกวาจะตรวจสอบพบตวอกษร y

Page 98: ค ำน ำ - WordPress.com...สุดท้ายขอขอบคุณ ผศ.ดร.ประกอบ ใจมั่น ที่ให้ค าปรึกษาชี้แนะจนหนังสือคู่มือการเขียน

88

ตวอยำงท 10 โปรแกรมค าสงวนซ า (Loop) โจทย การโปรแกรมค านวณหาเกรดเฉลยโดยใชค าสง Do..While

ผลรนโปรแกรม

ภำพท 5.11 แสดงโปรแกรมค านวณหาเกรดเฉลยโดยใชค าสง Do..While

จากตวอยางจะสงเกตเหนไดวาการใช While และ Do..While มลกษณะการท างานทคลายคลง

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

Page 99: ค ำน ำ - WordPress.com...สุดท้ายขอขอบคุณ ผศ.ดร.ประกอบ ใจมั่น ที่ให้ค าปรึกษาชี้แนะจนหนังสือคู่มือการเขียน

89

ตวอยำงท 11 โปรแกรมค าสงวนซ า (Loop) โจทย โปรแกรมเกมสการสมตวเลข

Page 100: ค ำน ำ - WordPress.com...สุดท้ายขอขอบคุณ ผศ.ดร.ประกอบ ใจมั่น ที่ให้ค าปรึกษาชี้แนะจนหนังสือคู่มือการเขียน

90

ผลรนโปรแกรม

ภำพท 5.12 แสดงโปรแกรมเกมสการสมตวเลข

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

5.2.3 ค ำสง For หลงจากไดเรยนรค าสง While และ Do..While ไปแลว ตอไปเปนค าสง For ซงค าสง For เปน

ค าสงทใชเขยนโปรแกรมในการวนซ าหรอท าซ าเชนกน แตค าสง For จะมขอแตกตางจากค าสง While และ Do..Whileคอ ค าสง For จะรวมการก าหนดคาเรมตน เงอนไข และ การเพม ลด คาไวในค าสง For พจารณารปแบบค าสง For ดงตอไปน

5.2.3.1 รปแบบค ำสง For

โดยท Initial คอ การก าหนดคาเรมตนใหกบตวแปร Condition คอ เงอนไขทใชในการตรวจสอบ

Increment or decrease คอ การลดคา หรอ การเพมคาของตวแปร Statement คอ ค าสงทใหโปรแกรมท างานถาเงอนไขเปนจรง

เพอชวยใหผเรยนเขาใจการใชค าสง For มากยงขนพจารณาตวอยางดงตอไปน

for(Initial;Condition; Increment or decrease); Statement ;

Page 101: ค ำน ำ - WordPress.com...สุดท้ายขอขอบคุณ ผศ.ดร.ประกอบ ใจมั่น ที่ให้ค าปรึกษาชี้แนะจนหนังสือคู่มือการเขียน

91

ตวอยำงท 12 โปรแกรมค าสงวนซ า (Loop) โจทย โปรแกรมแสดงตวเลข 1-10 โดยใชค าสง For

ผลรนโปรแกรม ภำพท 5.13 แสดงโปรแกรมแสดงตวเลข 1-10 โดยใชค าสง For

จากภาพท 5.13 โปรแกรมแสดงตวเลข 1-10 จะสงเกตเหนวาการใชค าสง For จะเปนการก าหนดคา เงอนไข และการเพมลดคา ภายในวงเลบ For ท าใหงายและไมสบสนในการเขยนโปรแกรม

Page 102: ค ำน ำ - WordPress.com...สุดท้ายขอขอบคุณ ผศ.ดร.ประกอบ ใจมั่น ที่ให้ค าปรึกษาชี้แนะจนหนังสือคู่มือการเขียน

92

ตวอยำงท 13 โปรแกรมค าสงวนซ า (Loop) โจทย โปรแกรมหาคามากทสดและนอยทสด โดยใชค าสง For

y ผลรนโปรแกรม

ภำพท 5.14 แสดงโปรแกรมหาคามากทสดและนอยทสด โดยใชค าสง For

Page 103: ค ำน ำ - WordPress.com...สุดท้ายขอขอบคุณ ผศ.ดร.ประกอบ ใจมั่น ที่ให้ค าปรึกษาชี้แนะจนหนังสือคู่มือการเขียน

93

จากตวอยางโปรแกรมเปนการท างาน โดยใหผใชปอนคาจ านวนตวเลขเขามาจากจ านวน 5 คาจากนนหาคาตวเลขทมคานอยทสด และมคามากทสด โดยโปรแกรมมการท างานรวมกบค าสง if ในการตรวจสอบเงอนไข ตวอยำงท 14 โปรแกรมค าสงวนซ า (Loop) โจทย โปรแกรมสตรคณโดยใช For

ผลรนโปรแกรม

ภำพท 5.15 แสดงโปรแกรมสตรคณโดยใช For

จากภาพท 5.15 เปนโปรแกรมสตรคณโดยรบคาแมสตรคณจากนนใชค าสง For ในการวนซ า

Page 104: ค ำน ำ - WordPress.com...สุดท้ายขอขอบคุณ ผศ.ดร.ประกอบ ใจมั่น ที่ให้ค าปรึกษาชี้แนะจนหนังสือคู่มือการเขียน

94

ตวอยำงท 15 การประยกตใชค าสงวนซ ารวมกน ค าสง Do..Whileและค าสง For โจทย โปรแกรมแสดงสตรคณ จะหยดการท างานเมอผใชปอน คา N

ผลรนโปรแกรม

ภำพท 5.16 แสดงโปรแกรมแสดงสตรคณ จะหยดการท างานเมอผใชปอน คา N

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

Page 105: ค ำน ำ - WordPress.com...สุดท้ายขอขอบคุณ ผศ.ดร.ประกอบ ใจมั่น ที่ให้ค าปรึกษาชี้แนะจนหนังสือคู่มือการเขียน

95

ตวอยำงท 16 การประยกตใชค าสงวนซ ากบเกมส โจทย โปรแกรมเกมส OX โดยมผเลน 2 คนแขงกน

Page 106: ค ำน ำ - WordPress.com...สุดท้ายขอขอบคุณ ผศ.ดร.ประกอบ ใจมั่น ที่ให้ค าปรึกษาชี้แนะจนหนังสือคู่มือการเขียน

96

ผลรนโปรแกรม

ภำพท 5.17 แสดงโปรแกรมเกมส OX โดยมผเลน 2 คนแขงกน

จากภาพท 5.17 โปรแกรมเปนการเลนเกมส OX โดยมผเลนคนท1 และคนท 2 ผลดกนเลน มการน าค าสง For และค าสง Do..While มาใชในการเขยนโปรแกรม การเขยนโปรแกรมแบบวนซ าสามารถน าค าสงตาง ๆ มาประยกตใชรวมกนไดและโปรแกรมหนง ๆ สามารถใชค าสงวนซ ากครงกได สรป

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

1. ค าสง While เปนค าสงทสงใหโปรแกรมท างานซ า หรอวนซ า จนกวาเงอนไขทก าหนดจะเปนจรง

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

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

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

Page 107: ค ำน ำ - WordPress.com...สุดท้ายขอขอบคุณ ผศ.ดร.ประกอบ ใจมั่น ที่ให้ค าปรึกษาชี้แนะจนหนังสือคู่มือการเขียน

97

บรรณำนกรม

บญสบ โพธศร และชยธร ฉตรสวรรณ. (มปป.). กำรเขยนโปรแกรมคอมพวเตอร 1. กรงเทพฯ : ศนยสงเสรมอาชวะ.

ปญญาพล หอระตะ. (2545). หลกกำรเขยนโปรแกรมภำษำซ. (พมพครงท 1). กรงเทพฯ: โรงพมพ คลงนานาวทยา

ประภาพร ชางไม. (2551). คมอกำรเขยนโปรแกรมภำษำซ ฉบบผเรมตน. กรงเทพฯ: โอดซ อน ไฟดสตรพวเตอร เซนเตอร จ ากด.

อรพน ประวตบรสทธ. (2556). คมอเขยนโปรแกรมดวยภำษำ C ฉบบสมบรณ. (พมพครงท1). กรงเทพฯ:บรษท โปรวชน จ ากด.

โอภาส เ อยมส ร ว งศ . (2552). กำร เข ยน โปรแกรมด วยภำษำซ (Programming with C) . กรงเทพมหานคร : ซเอด.

Page 108: ค ำน ำ - WordPress.com...สุดท้ายขอขอบคุณ ผศ.ดร.ประกอบ ใจมั่น ที่ให้ค าปรึกษาชี้แนะจนหนังสือคู่มือการเขียน

98

ประวตผเขยน

ชอ-สกล นายวศษฐศกด บญจตต 5781135004 วฒทางลกเสอ BTC สามญรนใหญ ต าแหนงทางลกเสอ รองผก ากบกองลกเสอกองท 4 กลมท 1 โรงเรยนนาบอน ระดบการศกษาปจจบน สาขาวชา คอมพวเตอร คณะครศาสตร มหาวทยาลยราชภฏนครศรธรรมราช จบการศกษา ระดบประกาศนยบตรวชาชพ (ปวช.) สาขาวชาคอมพวเตอรธรกจ วทยาลยเทคโนโลยภาคใต (เอส.เทค.)

Page 109: ค ำน ำ - WordPress.com...สุดท้ายขอขอบคุณ ผศ.ดร.ประกอบ ใจมั่น ที่ให้ค าปรึกษาชี้แนะจนหนังสือคู่มือการเขียน

99

ประวตผเขยน

ชอ-สกล นางสาวสกาวเดอน สขแกว 5781135021 ระดบการศกษาปจจบน สาขาวชา คอมพวเตอร คณะครศาสตร มหาวทยาลยราชภฏนครศรธรรมราช จบการศกษา ระดบมธยมศกษาตอนปลาย สายวทย-คณต โรงเรยนแหลมราษฎรบ ารง

Page 110: ค ำน ำ - WordPress.com...สุดท้ายขอขอบคุณ ผศ.ดร.ประกอบ ใจมั่น ที่ให้ค าปรึกษาชี้แนะจนหนังสือคู่มือการเขียน

100

ประวตผเขยน

ชอ-สกล นางสาวจฑารตน ไชยพล 5781135023 ระดบการศกษาปจจบน สาขาวชา คอมพวเตอร คณะครศาสตร มหาวทยาลยราชภฏนครศรธรรมราช จบการศกษา ระดบมธยมศกษาตอนปลาย สายวทย-คณต โรงเรยนเวยงสระ

Page 111: ค ำน ำ - WordPress.com...สุดท้ายขอขอบคุณ ผศ.ดร.ประกอบ ใจมั่น ที่ให้ค าปรึกษาชี้แนะจนหนังสือคู่มือการเขียน

101

ประวตผเขยน

ชอ สกล นางสาวนภาภรณ พรมทองแกว 5781135018 ระดบการศกษาปจจบน สาขาคอมพวเตอร คณะครศาสตร

มหาวทยาลยราชภฏนครศรธรรมราช จบการศกษา ระดบประกาศนยบตรวชาชพ วทยาลยการอาชพหวไทร สาขาคอมพวเตอร

Page 112: ค ำน ำ - WordPress.com...สุดท้ายขอขอบคุณ ผศ.ดร.ประกอบ ใจมั่น ที่ให้ค าปรึกษาชี้แนะจนหนังสือคู่มือการเขียน

102

ประวตผเขยน

ชอ- สกล นางสาวนภาพร สมยกาญจน 5781135027 ระดบการศกษาปจจบน สาขาขาวชาคอมพวเตอร คณะครศาสตร มหาวทยาลยราชภฏนครสรธรรมราช

จบการศกษา ระดบประกาศนยบตรวชาชพ (ปวช.) สาขาวชาคอมพวเตอรธรกจ

วทยาลยอาชวศกษานครศรธรรมราช

Page 113: ค ำน ำ - WordPress.com...สุดท้ายขอขอบคุณ ผศ.ดร.ประกอบ ใจมั่น ที่ให้ค าปรึกษาชี้แนะจนหนังสือคู่มือการเขียน

103

ประวตผเขยน

นางสาววรรณวสา จนทศรรหสนกศกษา 5781135019 วทยาลยเทคโนโลยพณชยการหาดใหญ. สาขาคอมพวเตอร ปวช.

Page 114: ค ำน ำ - WordPress.com...สุดท้ายขอขอบคุณ ผศ.ดร.ประกอบ ใจมั่น ที่ให้ค าปรึกษาชี้แนะจนหนังสือคู่มือการเขียน

104

ประวตผเขยน

นางสาวณฐรกา ทองเกต รหสนกศกษา 5781135017 แผนการเรยนศลป-ค านวณ โรงเรยนเตรยมอดมศกษาภาคใต

Page 115: ค ำน ำ - WordPress.com...สุดท้ายขอขอบคุณ ผศ.ดร.ประกอบ ใจมั่น ที่ให้ค าปรึกษาชี้แนะจนหนังสือคู่มือการเขียน

105

Page 116: ค ำน ำ - WordPress.com...สุดท้ายขอขอบคุณ ผศ.ดร.ประกอบ ใจมั่น ที่ให้ค าปรึกษาชี้แนะจนหนังสือคู่มือการเขียน

106