แบบฝึกทกั ษะพ้นื ฐานการเขียนโปรแกรมคอมพวิ เตอร์ โครงสร้างการเขียนโปรแกรมแบบทาซ้า ตวั อยา่ งภาษา Pascal ผู้ ส อ น : จุ ฬ า ลั ก ษ ณ์ ถ า ไ ช ย ล า ภ า ค วิ ช า ค อ ม พิ ว เ ต อ ร์ ธุ ร กิ จ วิ ท ย า ลั ย อ า ชี ว ศึ ก ษ า ม ห า ส า ร ค า ม
114 การวเิ คราะห์ปัญหาและเขียนโปรแกรมแบบทาซ้า อ.จุฬาลักษณ์ ถาไชยลา ********************************* 1. จงคานวณผลบวกของเลข 10 จานวน โดยใหผ้ ูใ้ ชร้ ับทางแป้นพมิ พแ์ ลว้ คานวณหาค่าเฉลี่ย ส่ิงที่โจทย์ต้องการ 1. ผลบวกเลข 10 จานวน 2. คา่ เฉลี่ยเลข 10 จานวน ข้อมูลเข้า 1. เลข 10 จานวน ข้อมูลออก 1. ผลบวกเลข 10 จานวน 2. ค่าเฉลี่ยเลข 10 จานวน ตัวแปรท่ใี ช้ 1. ผลบวกเลข 10 จานวน : SUM อัลกอริทึม 2. คา่ เฉลี่ยเลข 10 จานวน : Avg 3. เลข 10 จานวน : Num 4. นบั จานวนเลข :I 1. เริ่มตน้ 2. กาหนดให้ I 1 , SUM 0, Avg 0 3. ในขณะที่ I <= 10 ทา 3.1 รบั คา่ Num 3.2 คานวณ SUM SUM + Num 3.3 I I + 1 4. คานวณ Avg Sum / 10 5. แสดงคา่ SUM , Avg 6. จบการทางาน
115 ผังงาน Start I 1 , SUM 0 , Avg 0 I <= 10 N Y Avg SUM / 10 SUM , Avg Read Num Stop SUM SUM + Num II+1 คาสั่งเทยี ม Begin I 1 While I <= 10 DO READ Num SUM SUM + Num I I+1 End while Avg SUM / 10 Write SUM ,Avg End
116 โปรแกรม ผลการรันโปรแกรม
117 2. จงสร้างโปรแกรมสูตรคูณ โดยใหผ้ ูใ้ ชร้ ะบแุ ม่สูตรคูณทต่ี อ้ งการ สิ่งที่โจทย์ต้องการ 1. สูตรคูณแม่ทผี่ ใู้ ชต้ อ้ งการ ข้อมูลเข้า 1. แม่สูตรคูณ ข้อมูลออก 1. สูตรคูณแม่ที่ผใู้ ชต้ อ้ งการ ตวั แปรท่ีใช้ 1. แม่สูตรคูณ =J 2. ตวั คูณ เร่ิมจาก 1 ถึง 12 = I 3. ผลคูณ = Mul อัลกอริทมึ 1. เริ่มตน้ 2. กาหนดให้ Mul 0 , I 1 3. รับคา่ J 4. ในขณะท่ี I <= 12 ทา 4.1 Mul I * J 4.2 พมิ พค์ ่า J , I , Mul 4.3 I I + 1 5. จบการทางาน
118 ผังงาน Start Mul 0 , I 1 Read J I <= 12 N Y Stop Mul I * J I , J , Mul II+1 คาส่ังเทียม Begin Mul 0 , I 1 READ J WHILE I <= 12 DO Mul I * J WRITE I , J , Mul I I+1 END WHILE End
119 โปรแกรม ผลการรันโปรแกรม
120 3. จงคานวณผลบวกของเลขคู่จาก 1-100 ส่ิงทโี่ จทย์ต้องการ 1. ผลบวกเลขคู่ 1-100 ข้อมูลเข้า ข้อมูลออก 1. เลขคู่ 1-100 ตัวแปรทใี่ ช้ อลั กอริทึม 1. ผลบวกเลขคู่ 1-100 ผังงาน 1. ผลบวกเลขคู่ 1-100 : SUM 2. นบั จานวนเลขคู่ : I 1. เร่ิมตน้ 2. กาหนดให้ I 2 , SUM 0 3. ในขณะที่ I <= 100 ทา 3.1 คานวณ SUM SUM + I 3.2 เพม่ิ คา่ I I + 2 4. แสดงคา่ SUM 5. จบการทางาน Start I 2 , SUM 0 I <= 100 N Y SUM SUM SUM + I Stop II+2
121 คาส่ังเทยี ม Begin โปรแกรม I 2 , SUM 0 While I <= 100 DO SUM SUM + I I I+2 End while Write SUM End ผลการรันโปรแกรม
122 4. จงคานวณคะแนนรวมและคะแนนเฉลี่ยของนกั เรียนแต่ละคน มีท้งั หมด 3 คน ขอ้ มูลประกอบดว้ ย ช่ือ,คะแนนภาษาไทย,คะแนนคณิตศาสตร์,คะแนนภาษาองั กฤษและคะแนนสงั คมศกึ ษา 1. ส่ิงท่ีโจทย์ต้องการ 1. คานวณคะแนนรวม 2. คานวณคะแนนเฉลี่ย 2. ข้อมูลเข้า 1. ช่ือนกั ศึกษา 2. คะแนนภาษาไทย 3. คะแนนคณิตศาสตร์ 4. คะแนนภาษาองั กฤษ 5. คะแนนสงั คมศกึ ษา 3.ข้อมูลออก 1. คะแนนรวม 2. คะแนนเฉล่ีย 4. ตวั แปรท่ใี ช้ = Name 1. ชื่อนกั ศึกษา = Thai 2. คะแนนภาษาไทย = Math 3. คะแนนคณิตศาสตร์ = Eng 4. คะแนนภาษาองั กฤษ = Social 5. คะแนนสงั คมศกึ ษา = Score 6. คะแนนรวม = AVG 7. คะแนนเฉลี่ย = I 8. นบั จานวนนกั ศกึ ษา
123 5. วีการประมวลผล 1. เริ่มตน้ การทางาน 2. กาหนดให้ I 1 , Score 0 , Avg 0 3. ในขณะท่ี I <= 3 ทา 3.1 รับขอ้ มูล Thai , Math , Eng , Social 3.2 คานวณคะแนนรวม Score Thai + Math + Eng + Social 3.3 คานวณคะแนนเฉล่ีย Avg Score / 4 3.4 แสดงค่า Sum , Avg 3.5 เพมิ่ คา่ I I + 1 4. จบการทางาน 6. ผงั งาน (Flowchart) Start I 1 , Score 0 , Avg 0 I <= 3 N Y Stop Read Thai , Math , Eng , Social Score Thai + Math + Eng + Social Avg Score / 4 SUM , Avg II+1
124 7. คาสั่งเทยี ม (Pseudo Code) Begin I 1 , Score 0 , Avg 0 WHILE I <= 3 DO READ Thai , Math , Eng , Social Score Thai + Math + Eng + Social Avg Score / 4 WRITE Sum , Avg II+1 END WHILE End โปรแกรม
125 ผลการรันโปรแกรม
126 5. จงคานวณรายไดส้ ุทธิของพนกั งาน 3 คน ขอ้ มลู ประกอบดว้ ย รหสั ประจาตวั ช่ือ เงนิ เดือน ภาษี ทา้ ยรายงานใหแ้ สดง เงนิ เดือนรวม เงนิ ภาษีรวม และรายไดส้ ุทธิรวม ส่ิงทตี่ ้องการ 1. เงินรายได้ 2. เงนิ เดือนรวม 3. เงนิ ภาษรี วม 4. รายไดส้ ุทธิรวม ผลลัพธ์ทต่ี ้องการ 1. เงินรายได้ 2. เงินเดือนรวม 3. เงนิ ภาษีรวม 4. รายไดส้ ุทธิรวม ข้อมูลนาเข้า 1. ชื่อพนกั งาน 2. เงินเดือน 3. เงินภาษี ตัวแปรทใ่ี ช้ 1. ชื่อพนกั งาน : Name 5. เงนิ รายได้ : Income 2. เงินเดือน : Salary 6. เงนิ ภาษี : Tax 3. เงินเดือนรวม : Tsalary 7. รายไดส้ ุทธิรวม : Tincome 4. เงินภาษีรวม : Ttax 8. นบั พนกั งาน : I วิธีการประมวลผล 1. เร่ิมตน้ การทางาน 2. กาหนดคา่ Income 0 , Ttax 0 , Tsalary 0, Income 0 ,I 1 3. ในขณะท่ี I<= 3ทา 3.1 อ่านคา่ Name , Salary , Tax 3.2 คานวณ Income Salary - Tax 3.3 คานวณ TSalary Tsalary + Salary 3.4 คานวณ TTax TTax + Tax 3.5 คานวณ Tincome Tincome + Income 3.6 แสดงคา่ Income 3.7 เพมิ่ ค่า I I + 1 4. พมิ พ์ Tsaalry , TIncome , TTax 5. จบการทางาน
6. ผงั งาน (Flowchart) 127 Start Tsalary,Ttax ,TIncome I 1 , Income0 , Tsalary0 , Ttax0 ,Tincome0 Stop I <= 3 N Y Read Name , Salary , Tax Income Salary - Tax Tsalary Tsalary + Salary Ttax Ttax + Tax Tincome Tincome + Income Income II+1
128 7. คาส่ังเทียม (Pseudo Code) Begin Tincome 0 , Ttax 0 , Tsalary 0, Income 0 ,I 1 WHILE I<= 3 DO READ Name , Salary , Tax Income Salary - Tax TSalary Tsalary + Salary Ttax Ttax + Tax Tincome Tincome + Income WRITE Income II+1 END WHILE WRITE Tsalary , Tincome , Ttax End โปรแกรม ผลการรันโปรแกรม
129 โปรแกรมโดยใช้ตวั แปรชนดิ Array 6. จงคานวณจานวนประชากรของจงั หวดั มหาสารคามในอีก 30 ปี ขา้ งหนา้ กาหนดอตั ราการเจริญเติบโตร้อยละ 3 โดยรับขอ้ มูลจานวนประชากรปัจจบุ นั ทางแป้นพมิ พ์ ส่ิงทีโ่ จทย์ต้องการ 1. จานวนประชากรอีก 30 ปี ข้อมูลเข้า 1. จานวนประชากรปัจจบุ นั ข้อมูลออก 1. จานวนประชากรอีก 30 ปี ตวั แปรทใี่ ช้
130 1. จานวนประชากร : PEOPLE I 2. นบั จานวนปี : อัลกอริทึม 1. เร่ิมตน้ 2. กาหนดให้ I 1 3. รบั คา่ PEOPLE 4. ในขณะที่ I <= 30 ทา 4.1 คานวณ PEOPLE PEOPLE + (PEOPLE * 0.03) 4.2 I I + 1 5. แสดงค่า PEOPLE 6. จบการทางาน ผังงาน Start I 1 Read PEOPLE N I <= 30 PEOPLE Stop Y PEOPLE PEOPLE + (PEOPLE * 0.03)
131 II+1 คาสั่งเทียม Begin I 1 READ PEOPLE WHILE I <= 30 DO PEOPLE PEOPLE + (PEOPLE * 0.03) I I+1 END WHILE WRITE PEOPLE End โปรแกรม ผลการรันโปรแกรม
132 7. จงคานวณเงินคา่ ซ้ือพรมของลูกคา้ จานวน 3 คน เมื่อบริษทั ประกาศลดราคาพรม 20% ใหก้ บั ลูกคา้ ท่ีซ้ือพรม มากกวา่ 85 หลา ในกรณีทีล่ ูกคา้ จา่ ยนอ้ ยกวา่ 10,000 บาท ลูกคา้ ตอ้ งจา่ ยค่าขนส่งเพม่ิ อีก 100 บาท ขอ้ มูลประกอบดว้ ย ชื่อลูกคา้ , จานวนหลาที่ซ้ือ , ราคาพรมต่อหลา สิ่งท่ตี ้องการ 1. เงินค่าซ้ือพรม 2. เงนิ ส่วนลด 3. เงนิ ค่าพรมสุทธิ ผลลัพธ์ทตี่ ้องการ 1. เงินคา่ ซ้ือพรม 2. เงินส่วนลด 3. เงนิ ค่าพรมสุทธิ ข้อมูลนาเข้า 1. ช่ือลูกคา้ 2. จานวนหลาทีซ่ ้ือ 3. ราคาพรมตอ่ หลา ตวั แปรท่ีใช้ : Name : Yard 1. ช่ือลูกคา้ : Price 2. จานวนหลาทีซ่ ้ือ : Money 3. ราคาพรมต่อหลา : Disc 4. เงนิ คา่ ซ้ือพรม : Net 5. เงนิ ส่วนลด : I 6. เงินคา่ พรมสุทธิ 7. นบั จานวนลุกคา้
133 วธิ ีการประมวลผล 1. เร่ิมตน้ การทางาน 2. กาหนดค่า Disc 0 , Money 0 , Net 0, I 1 3. ในขณะท่ี I<= 3 ทา 3.1 อ่านคา่ Name , Yard , Price 3.2 คานวณ Money Yard * Price 3.3 ถา้ Yard > 85 แลว้ ทา 3.3.1 คานวณ Disc Money * 0.20 3.4 คานวณ Net Money - Disc 3.5 ถา้ Net < 10000 แลว้ ทา 3.5.1 คานวณ Net Net + 100 3.6 แสดงค่า Money , Disc , Net 3.7 เพม่ิ คา่ I I + 1 4. จบการทางาน
6. ผงั งาน (Flowchart) 134 Stop Start I 1 , Disc 0 , Money 0 , Net 0 I <= 3 N Y Read Name , Yard , Price Money Yard * Price N Yard > 85 Y Disc Money * 0.20 Net Money - Disc N Net < 10000 Y Net Net + 100 Money , Disc , Net II+1
135 7. คาสั่งเทยี ม (Pseudo Code) Begin Disc 0 , Money 0 , Net 0, I 1 WHILE I<= 3 DO READ Name , Yard , Price Money Yard * Price IF Yard > 85 THEN Disc Money * 0.20 ENDIF Net Money - Disc IF Net < 10000 THEN Net Net + 100 ENDIF WRITE Money , Disc , Net II+1 END WHILE End
136 โปรแกรม ผลการรันโปรแกรม 8.จงคานวณค่าน้ามนั รถใหก้ บั พนกั งานท่ใี ชร้ ถส่วนตวั ในการทางานจานวน 3 คน โดยมีเกณฑก์ ารจ่ายเงินดงั น้ี ระยะทาง <= 700 กิโลเมตร ๆ ละ 3 บาท ระยะทาง > 700 กิโลเมตร ส่วนที่เกิน กิโลเมตรละ 2 บาท ขอ้ มูลเขา้ ประกอบดว้ ย ชื่อ, ระยะทางที่ใชร้ ถ ใหค้ านวณเงินที่พนกั งานแต่ละคนจะไดร้ ับและจานวนเงนิ ท้งั หมดทบี่ ริษทั ตอ้ งจา่ ย ส่ิงทีโ่ จทย์ต้องการ 1. เงินคา่ น้ามนั รถ 2. เงินคา่ น้ามนั รถท้งั หมด ข้อมูลเข้า 1. ชื่อพนกั งาน 2. ระยะทาง ข้อมูลออก
137 1. เงินค่าน้ามนั รถ 2. เงินค่าน้ามนั รถท้งั หมด ตวั แปรทใ่ี ช้ 1. ชื่อพนกั งาน : Name อัลกอริทมึ : Kilo 2. ระยะทาง : Money ผังงาน : Total 3. เงินคา่ น้ามนั รถ :I 4. เงนิ ค่าน้ามนั รถท้งั หมด 5. นบั จานวนเลข 1. เริ่มตน้ 2. กาหนดให้ I 1 , Money 0, Total 0 3. ในขณะที่ I <= 10 ทา 3.1 รบั ค่า Name , Kilo 3.2 ถา้ Kilo <= 700 แลว้ ทา 3.2.1 คานวณ Money Kilo * 3 มิฉะน้นั แลว้ 3.2.2 คานวณ Money (Kilo – 700) * 2 + (700 * 3) 3.3 คานวณ Total Total + Money 3.4 แสดงค่า Money 3.5 เพม่ิ ค่า I I + 1 4. แสดงค่า Total 5. จบการทางาน Start I 1 , Money 0, Total 0 I <= 10 N Y Total Stop Read Name , Kilo N Kilo <= 700
138 Money (Kilo – 700) * Y 2 + (700 * 3) Money Kilo * 3 Total Total + Money Money II+1 คาสั่งเทยี ม Begin I 1 , Money 0, Total 0 WHILE I <= 10 DO READ Name , Kilo IF Kilo <= 700 THEN Money Kilo * 3 ELSE Money (Kilo – 700) * 2 + (700 * 3) Total Total + Money WRITE Money
139 I I+1 END WHILE WRITE Total END โปรแกรม
140 ผลการรันโปรแกรม 9.คานวณรายไดส้ ุทธิของพนกั งาน จานวน 5 คน ขอ้ มูลประกอบดว้ ย รหสั พนกั งาน , ชื่อพนกั งาน , จานวนบตุ รและ เงินเดือน โดยบริษทั จะจ่ายเงนิ ช่วยเหลือบตุ รในอตั รา 200 บาทต่อบุตร 1 คน แต่จะจา่ ยไม่เกิน 3 คน ใหแ้ สดงรายได้ สุทธิรวมทา้ ยรายงาน ส่ิงที่โจทย์ต้องการ 1. เงินช่วยเหลือบุตร ข้อมูลเข้า 2. รายไดส้ ุทธิ 2. รายไดส้ ุทธิรวมท้งั หมด 1. รหสั พนกั งาน 2. ช่ือพนกั งาน 3. จานวนบุตร 4. เงินเดือน ข้อมูลออก 1. เงนิ ช่วยเหลือบตุ ร 2. รายไดส้ ุทธิ 2. รายไดส้ ุทธิรวมท้งั หมด
141 ตัวแปรทใ่ี ช้ 1. ช่ือพนกั งาน : Name 2. จานวนบตุ ร : Chil 3. เงินเดือน : Salary 4. เงนิ ช่วยเหลือบุตร : Help 5. รายไดส้ ุทธิ : Net 6. รายไดส้ ุทธิรวมท้งั หมด : Total 7. นบั จานวนพนกั งาน :I อลั กอริทมึ 1. เร่ิมตน้ ผังงาน 2. กาหนดให้ I 1 , Help 0, Net 0 , Total 0 3. ในขณะท่ี I <= 10 ทา 3.1 รบั ค่า Name , Chil , Salary 3.2 ถา้ Chil <= 3 แลว้ ทา 3.2.1 คานวณ Help Chil * 200 มิฉะน้นั แลว้ 3.2.2 คานวณ คานวณ Help 3 * 200 3.3 คานวณ Net Salary + Help 3.4 คานวณ Total Total + Net 3.5 แสดงค่า Help , Net 3.6 เพม่ิ คา่ I I + 1 4. แสดงค่า Total 5. จบการทางาน Start I 1 , Help 0, Net 0 , Total 0
I <= 10 N 142 Y Total Stop Read Name ,Chil , Salary N Chil <= 3 Help 3 * 200 Y Help Chil * 200 Total Total + Money Money II+1 คาสั่งเทยี ม Begin I 1 , Money 0, Total 0 WHILE I <= 10 DO READ Name , Kilo IF Kilo <= 700 THEN Money Kilo * 3 ELSE Money (Kilo – 700) * 2 + (700 * 3) Total Total + Money WRITE Money I I+1 END WHILE WRITE Total END
143 โปรแกรม ผลการรันโปรแกรม
144 10. จงเขียนโปรแกรมตดั เกรดใหน้ กั ศกึ ษา จานวน 3 คน จากเงอื่ นไขดงั น้ี ถา้ สอบได้ 80-100 คะแนน จะไดเ้ กรด 4 ถา้ สอบได้ 75-79 คะแนน จะไดเ้ กรด 3.5 ถา้ สอบได้ 70-74 คะแนน จะไดเ้ กรด 3 ถา้ สอบได้ 65-69 คะแนน จะไดเ้ กรด 2.5 ถา้ สอบได้ 60-64 คะแนน จะไดเ้ กรด 2 ถา้ สอบได้ 55-59 คะแนน จะไดเ้ กรด 1.5 ถา้ สอบได้ 50-54 คะแนน จะไดเ้ กรด 1 ถา้ สอบได้ 0-49 คะแนน จะไดเ้ กรด 0 ส่ิงที่โจทย์ต้องการ 1. เกรด ข้อมูลเข้า 1. ช่ือพนกั งาน ข้อมูลออก 2. คะแนน 1. เกรด ตวั แปรท่ใี ช้ 1. ชื่อนกั ศึกษา : Name Score 2. คะแนน : I 3. นบั จานวนนกั ศกึ ษา :
145 อัลกอริทมึ 1. เริ่มตน้ 2. กาหนดให้ I 1 3. ในขณะท่ี I <= 3 ทา 3.1 รับค่า Name , Score 3.2 ถา้ Score >= 80 แลว้ ทา แสดงขอ้ ความ “Grade 4” มิฉะน้นั แลว้ 3.3 ถา้ Score >= 75 แลว้ ทา แสดงขอ้ ความ “Grade 3.5” มิฉะน้นั แลว้ 3.4 ถา้ Score >= 70 แลว้ ทา แสดงขอ้ ความ “Grade 3” มิฉะน้นั แลว้ 3.5 ถา้ Score >= 65 แลว้ ทา แสดงขอ้ ความ “Grade 2.5” มิฉะน้นั แลว้ 3.6 ถา้ Score >= 60 แลว้ ทา แสดงขอ้ ความ “Grade 2” มิฉะน้นั แลว้ 3.7 ถา้ Score >= 55 แลว้ ทา แสดงขอ้ ความ “Grade 1.5” มิฉะน้นั แลว้ 3.8 ถา้ Score >= 50 แลว้ ทา แสดงขอ้ ความ “Grade 1” มิฉะน้นั แลว้ แสดงขอ้ ความ “Grade 0” 3.9 เพม่ิ ค่า I I + 1 4. จบการทางาน รหัสเทยี ม BEGIN I 1 WHILE I <= 3 DO READ Name , Score IF Score >= 80 THEN WRITE “Grade 4”
146 ELSE IF Score >= 75 THEN WRITE “Grade 3.5” ELSE IF Score >= 70 THEN WRITE “Grade 3” ELSE IF Score >= 65 THEN WRITE “Grade 2.5” ELSE IF Score >= 60 THEN WRITE “Grade 2” ELSE IF Score >= 55 THEN WRITE “Grade 1.5” ELSE IF Score >= 50 THEN WRITE “Grade 1” ELSE WRITE “Grade 0” I I+1 END WHILE END โปรแกรม
147 ผลการรันโปรแกรม 11.จงคานวณหากาไรขาดทุนจากการขายสินคา้ โดยกาหนดใหร้ บั ตน้ ทุนและราคาขายทางแป้นพมิ พ์ (สมมติขอ้ มูล 3 รายการ) แลว้ แสดงผลลพั ธด์ งั น้ี PRODUCT-NAME COST PRICE PROFIT ====================================================== XXX XXX XXX XXXX XXX XXX XXX XXXX ====================================================== สิ่งท่ตี ้องการ 1. กาไรจากการขายสินคา้ ข้อมูลออก 1. กาไรจากการขายสินคา้ รูปแบบตามโจทย์ ข้อมูลนาเข้า 1. ชื่อสินคา้ 2. ราคาทนุ 3. ราคาขาย ตัวแปรท่ีใช้
1. ชื่อสินคา้ : Name 148 2. ราคาทนุ : Cost Stop 3. ราคาขาย : Price 4. กาไรจากการขายสินคา้ : Profit 5. นบั จานวนสินคา้ :I วิธีการประมวลผล 1. เร่ิมตน้ การทางาน 2. กาหนดคา่ Profit 0 , I 1 3. ในขณะท่ี I<= 3 ทา 3.1 อ่านค่า Name , Cost , Price 3.2 คานวณ Profit Price - Cost 3.3 แสดงคา่ Name , Cost , Price , Profit 3.4 เพม่ิ คา่ I I + 1 4 จบการทางาน 6. ผังงาน (Flowchart) Start I 1 , Profit0 I <= 3 N Y Read Name , Cost , Price Profit Price - Cost Name , Cost , Price , Profit II+1
149 7. คาสั่งเทียม (Pseudo Code) Begin Profit 0 , I 1 WHILE I<= 3 DO READ Name , Cost , Price Profit Price - Cost WRITE Name , Cost , Price , Profit II+1 END WHILE End โปรแกรม ผลการรันโปรแกรม
150 12.คานวณรายไดส้ ุทธิของพนกั งาน 5 คน โดยบริษทั จะหกั ภาษี 3% ของรายได้ พร้อมท้งั คานวณรายไดส้ ุทธิของ พนกั งานทุกคน แลว้ แสดงผลลพั ธด์ งั น้ี EMPLOYEE NAME INCOME TAX NETINCOME ============================================================== XXX XXXX XXX XXX XXXX XXX XXXX XXX XXX XXXX ….. ……… …… …… …….. ============================================================== TOTAL : XXXX ============================================================== สิ่งทตี่ ้องการ 1. เงนิ ภาษี 2. รายไดส้ ุทธิ 3. รายไดส้ ุทธิรวม ผลลพั ธ์ท่ตี ้องการ 1. เงินภาษี 2. รายไดส้ ุทธิ 3. รายไดส้ ุทธิรวม ข้อมูลนาเข้า 1. รหสั พนกั งาน 2. ช่ือพนกั งาน 3. รายได้ ตวั แปรทีใ่ ช้ 1. รหสั พนกั งาน : ID Name 2. ช่ือพนกั งาน : Income Tax 3. รายได้ : Net Total 4. เงนิ ภาษี : I 5. รายไดส้ ุทธิ : 6. รายไดส้ ุทธิรวม : 7. นบั จานวนพนกั งาน :
วิธีการประมวลผล 151 Stop 1. เริ่มตน้ การทางาน 2. กาหนดคา่ Income 0 , Tax 0 , Net 0 , Total 0 , I 1 3. ในขณะท่ี I <= 10 ทา 4.1 อ่านคา่ ID , Name , Income 4.2 คานวณ Tax Income * 0.03 4.3 คานวณ Net Income - Tax 4.4 สะสมค่า Total Total + Net 4.5 แสดงคา่ ID , Name , Income , Tax , Net 4.6 เพม่ิ คา่ I I + 1 5. แสดงคา่ Total 6. จบการทางาน 6. ผังงาน (Flowchart) Start Income 0 , Tax 0 , Net 0 , Total 0 , I 1 I <= 10 N Y Read ID , Name , Income Tax Income * 0.03 Net Income - Tax Total Total = Net Tax , Net II+1
152 7. คาส่ังเทียม (Pseudo Code) Begin Income 0 , Tax 0 , Net 0 , Total 0 , I 1 WHILE I <= 10 DO READ ID , Name , Income Tax Income * 0.03 Net Income - Tax Total Total + Net WRITE ID , Name , Income , Tax , Net II+1 END WHILE WRITE Total End โปรแกรม
153 ผลการรันโปรแกรม
154 13.คานวณมูลคา่ สินคา้ โดยรับคา่ ช่ือลูกคา้ , จานวนสินคา้ ท่ซี ้ือ สมมตขิ อ้ มูล 5 รายการ ถา้ ซ้ือ นอ้ ยกวา่ 100 ช้ิน ราคาช้ินละ 100 บาท ถา้ ซ้ือ 100 - 200 ช้ิน ราคาช้ินละ 80 บาท ถา้ ซ้ือ มากกวา่ 200 ชิ้น ราคาชิ้นละ 50 บาท สิ่งทีโ่ จทย์ต้องการ 1. คานวณเงนิ ค่าสินคา้ ข้อมูลเข้า 1. ชื่อลูกคา้ 2. จานวนสินคา้ ทีซ่ ้ือ ข้อมูลออก 1. เงินค่าสินคา้ ตัวแปรท่ใี ช้ : Name 1. ชื่อลูกคา้ : Amount 2. จานวนสินคา้ ท่ีซ้ือ : Price 3. เงินค่าสินคา้ : I 4. นบั จานวนลูกคา้ อัลกอริทมึ 1. เร่ิมตน้ 2. กาหนดให้ Price 0 , I 1 3. ในขณะท่ี I <= 5 ทา 3.1 รบั ขอ้ มูล Name , Amount 3.2 ถา้ Amount < 100 แลว้ ทา Price Amount * 100 มิฉะน้นั แลว้ 3.3 ถา้ Amount <= 200 แลว้ ทา Price Amount * 80 มิฉะน้นั แลว้ Price Amount * 50 3.4 พมิ พ์ Price 3.5 เพมิ่ คา่ I I + 1 4. จบการทางาน
155 ผังงาน START Price 0 , I 1 I <= 5 N Y STOP Read Name , Amount Amount < 100 Y N Price Amount*100 Y Amount <= 200 Price Amount*80 N Price Amount*50 Price II+1 คาสั่งเทยี ม Begin Price 0 , I 1 WHILE I <= 5 DO READ Name , Amount IF Amount < 100 THEN Price Amount * 100 ELSE IF Amount <= 200 THEN Price Amount * 80 ELSE Price Amount * 50 WRITE Price II+1 END WHILE End
156 โปรแกรม ผลการรันโปรแกรม 14.คานวณค่าซกั รีดเดือนกนั ยายนของรา้ นสารคามคลีนนิ่ง ซ่ึงมีลกู คา้ มาใชบ้ ริการ 10 คน มีเงื่อนไขการคดิ คา่ ซกั รีดดงั น้ี น้าหนกั ผา้ 1 - 5 กิโลกรมั ๆ ละ 10 บาท น้าหนกั ผา้ 6 - 10 กิโลกรมั ๆ ละ 8 บาท ของส่วนท่ีเกิน น้าหนกั ผา้ มากกวา่ 10 กิโลกรัม ๆ ละ 5 บาท ของส่วนท่ีเกิน สิ่งที่โจทย์ต้องการ 1. คานวณเงนิ ค่าซกั รีด ข้อมูลเข้า 1. ชื่อลูกคา้ 2. น้าหนกั ผา้ ที่ซกั ข้อมูลออก 1. เงนิ ค่าซกั รีด ตวั แปรท่ีใช้ 1. ช่ือลูกคา้ : Name 2. น้าหนกั ผา้ ท่ีซกั : Weight 3. เงนิ คา่ ซกั รีด : money 4. นบั จานวนลูกคา้ : I อัลกอริทึม 1. เร่ิมตน้ 2. กาหนดให้ Money 0 , I 1 3. ในขณะที่ I <= 5 ทา 3.1 รบั ขอ้ มูล Name , Weight 3.2 ถา้ Weight <= 5 แลว้ ทา Money Weight * 10 มิฉะน้นั แลว้ 3.3 ถา้ Weight <= 10 แลว้ ทา Money (Weight-5) *8 + (5* 10)
157 มิฉะน้นั แลว้ Money (Weight-10) *5 + (5* 10) + (5*8) 3.4 พมิ พ์ Money 3.5 เพม่ิ คา่ I I + 1 4. จบการทางาน ผงั งาน START Money 0 , I 1 I <= 5 N Y STOP Read Name , Weight Weight <= 5 Y N MoneyWeight*10 Y Weight <= 10 N Money (Weight-5) *8 + (5* 10) Money (Weight-10) *5 + (5* 10) + (5*8) Money II+1 คาส่ังเทยี ม Begin Money 0 , I 1 WHILE I <= 5 DO READ Name , Weight IF Weight <= 5 THEN Money Weight * 10 ELSE IF Weight <= 10 THEN Money (Weight-5) *8 + (5* 10)
158 ELSE Money (Weight-10) *5 + (5* 10) + (5*8) WRITE Money II+1 END WHILE End โปรแกรม ผลการรันโปรแกรม 15.คานวณค่าน้าประปาของผใู้ ชน้ ้า 5 คน โดยจะตอ้ งจ่ายคา่ บารุงรักษามิเตอร์เดือนละ 50 บาทและคา่ ใชน้ ้าตามที่ใชจ้ ริง ขอ้ มูลเขา้ ประกอบดว้ ย หมายเลขผใู้ ชน้ ้า,ปริมาณการใชน้ ้า ถา้ ใชน้ ้าไม่ถึง 5 หน่วย ไม่คดิ ค่าน้า ถา้ ใชน้ ้า 5-20 หน่วย คิดค่าน้าหน่วยละ 2 บาท ถา้ ใชน้ ้า 21-50 หน่วย คดิ ค่าน้าหน่วยละ 2.50 บาท ถา้ ใชน้ ้า 51-100 หน่วย คิดคา่ น้าหน่วยละ 3 บาท ถา้ ใชน้ ้า > 100 หน่วย คดิ ค่าน้าหน่วยละ 3.50 บาท ส่ิงที่โจทย์ต้องการ 1. คานวณเงนิ ค่าน้าประปา ข้อมูลเข้า 1. หมายเลขผใู้ ชน้ ้า 2. ปริมาณการใชน้ ้า
159 ข้อมูลออก 1. เงนิ ค่าน้าประปา ตัวแปรท่ใี ช้ : ID : Water 1. หมายเลขผใู้ ชน้ ้า : Money 2. ปริมาณการใชน้ ้า : I 3. เงนิ ค่าน้าประปา 4. นบั จานวนลูกคา้ อลั กอริทึม 1. เร่ิมตน้ 2. กาหนดให้ Money 0 , I 1 3. ในขณะท่ี I <= 5 ทา 3.1 รบั ขอ้ มูล ID , Water 3.2 ถา้ Water < 5 แลว้ ทา Money 50 มิฉะน้นั แลว้ 3.3 ถา้ Water <= 20 แลว้ ทา Money (Water-5) *2 + 50 มิฉะน้นั แลว้ 3.4 ถา้ Water <= 50 แลว้ ทา Money (Water-20) *2.50 +(15*2)+ 50 มิฉะน้นั แลว้ 3.5 ถา้ Water <= 100 แลว้ ทา Money (Water-50) *3 +(30*2.5)+(15*2)+ 50 มิฉะน้นั แลว้ Money (Water-100) *3.5 +(50*3)+(30*2.5)+(15*2)+ 50 3.6 พมิ พ์ Money
160 3.7 เพมิ่ ค่า I I + 1 4. จบการทางาน ผงั งาน START Money 0 , I 1 I <= 5 N Y STOP Read ID , Water Water < 5 Y N Money 50 Y Water <= 20 Money (Water-5) *2 + 50 N Y Water <= 50 Money (Water-20) *2.50 +(15*2)+ 50 Y N Water <= 100
161 N Money (Water-50) *3 +(30*2.5)+(15*2)+ 50 Money (Water-100) *3.5 +(50*3)+(30*2.5)+(15*2)+ 50 Money II+1 คาสั่งเทียม Begin Money 0 , I 1 WHILE I <= 5 DO READ ID , Water IF Water < 5 THEN Money 50 ELSE IF Water <= 20 THEN Money (Water-5) *2 + 50 ELSE IF Water <= 50 THEN Money (Water-20) *2.50 +(15*2)+ 50 ELSE IF Water <= 100 THEN Money (Water-50) *3 +(30*2.5)+(15*2)+ 50 ELSE Money (Water-100) *3.5 +(50*3)+(30*2.5)+(15*2)+ 50 WRITE Money
162 II+1 END WHILE End โปรแกรม ผลการรันโปรแกรม *****************************
Search
Read the Text Version
- 1 - 50
Pages: