Important Announcement
PubHTML5 Scheduled Server Maintenance on (GMT) Sunday, June 26th, 2:00 am - 8:00 am.
PubHTML5 site will be inoperative during the times indicated!

Home Explore การวิเคราะห์แบบทำซ้ำ

การวิเคราะห์แบบทำซ้ำ

Published by chulalak thachaila, 2019-10-02 09:36:40

Description: การวิเคราะห์แบบทำซ้ำ

Search

Read the Text Version

แบบฝึกทกั ษะพ้นื ฐานการเขียนโปรแกรมคอมพวิ เตอร์ โครงสร้างการเขียนโปรแกรมแบบทาซ้า ตวั อยา่ งภาษา 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 II+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 II+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 II+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 II+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 II+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 , Income0 , Tsalary0 , Ttax0 ,Tincome0 Stop I <= 3 N Y Read Name , Salary , Tax Income Salary - Tax Tsalary  Tsalary + Salary Ttax  Ttax + Tax Tincome  Tincome + Income Income II+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 II+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 II+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 II+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 II+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 II+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 II+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 , Profit0 I <= 3 N Y Read Name , Cost , Price Profit  Price - Cost Name , Cost , Price , Profit II+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 II+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 II+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 II+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 II+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 II+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 MoneyWeight*10 Y Weight <= 10 N Money (Weight-5) *8 + (5* 10) Money (Weight-10) *5 + (5* 10) + (5*8) Money II+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 II+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 II+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 II+1 END WHILE End โปรแกรม ผลการรันโปรแกรม *****************************


Like this book? You can publish your book online for free in a few minutes!
Create your own flipbook