![Page 1: Web Application Programming 2 ยนท 2/2556 204202 IT II 10 ต วอย างโครงสร าง Do While จงเข ยนผ งโปรแกรมเพ อหาผลบวกของเลขค](https://reader031.vdocuments.mx/reader031/viewer/2022022500/5aa488597f8b9ae7438c39a2/html5/thumbnails/1.jpg)
Web Application Programming 2ภาควชาวทยาการคอมพว เตอ ร มหาวทยาลย เ ชยงใหม
![Page 2: Web Application Programming 2 ยนท 2/2556 204202 IT II 10 ต วอย างโครงสร าง Do While จงเข ยนผ งโปรแกรมเพ อหาผลบวกของเลขค](https://reader031.vdocuments.mx/reader031/viewer/2022022500/5aa488597f8b9ae7438c39a2/html5/thumbnails/2.jpg)
A.3 โครงสรางแบบวนซ า
เปนโครงสรางทวนท างานไดหลาย ๆ รอบตามตองการ เรยกวา ลป
(Loop) และตองก าหนดเงอนไขเพอใหหยดการวนซ า โดยม 3
รปแบบดงน
B.1. While Loop
B.2. Do While Loop
B.3. For Loop
ภาคการเรยนท 2/2556 204202 IT II 2
![Page 3: Web Application Programming 2 ยนท 2/2556 204202 IT II 10 ต วอย างโครงสร าง Do While จงเข ยนผ งโปรแกรมเพ อหาผลบวกของเลขค](https://reader031.vdocuments.mx/reader031/viewer/2022022500/5aa488597f8b9ae7438c39a2/html5/thumbnails/3.jpg)
B.1 โครงสรางวนซ าแบบ While
เปนโครงสรางทก าหนดใหท าการ วนซ าถาเงอนไขเปนจรง และจะ หยดเมอเงอนไข
เปนเทจ
จะตรวจเงอนไขกอน ถาเงอนไขเปนเทจในคร งแรก จะไมวนเขาลป (Pretesting)
ภาคการเรยนท 2/2556 204202 IT II 3
WHILE condition
Process 1
Process 2
END WHILE
![Page 4: Web Application Programming 2 ยนท 2/2556 204202 IT II 10 ต วอย างโครงสร าง Do While จงเข ยนผ งโปรแกรมเพ อหาผลบวกของเลขค](https://reader031.vdocuments.mx/reader031/viewer/2022022500/5aa488597f8b9ae7438c39a2/html5/thumbnails/4.jpg)
ภาคการเรยนท 2/2556 204202 IT II 4
ตวอยางโครงสราง While
จงเขยนผงโปรแกรมเพอหาคะแนนเฉลยของนกศกษา จ านวน 30 คน
วเคราะหโจทย
วตถประสงคหลก หาคะแนนเฉลยของนกศกษาจ านวน 30 คน
ผลลพธทตองการ คะแนนเฉลย
ขอมลเขา คะแนนของนกศกษา
![Page 5: Web Application Programming 2 ยนท 2/2556 204202 IT II 10 ต วอย างโครงสร าง Do While จงเข ยนผ งโปรแกรมเพ อหาผลบวกของเลขค](https://reader031.vdocuments.mx/reader031/viewer/2022022500/5aa488597f8b9ae7438c39a2/html5/thumbnails/5.jpg)
ภาคการเรยนท 2/2556 204202 IT II 5
วเคราะหโจทย(ตอ)
ตวแปรทเกยวของ X แทน คะแนนของนกศกษา
MEAN แทน คะแนนเฉลยของนกศกษา
I แทน จ านวนนกศกษา (so far)
SUM แทน คะแนนรวมของนกศกษา
การประมวลผล SUM = 0 และ I = 0
while I < 30 ท า
read X
SUM = SUM + X
I = I + 1
end while
MEAN = SUM / I
![Page 6: Web Application Programming 2 ยนท 2/2556 204202 IT II 10 ต วอย างโครงสร าง Do While จงเข ยนผ งโปรแกรมเพ อหาผลบวกของเลขค](https://reader031.vdocuments.mx/reader031/viewer/2022022500/5aa488597f8b9ae7438c39a2/html5/thumbnails/6.jpg)
ภาคการเรยนท 2/2556 204202 IT II 6
STARTSum = 0, I = 0WHILE I < 30
READ XSum = Sum+XI=I+1
END WHILE
Mean = Sum/30
PRINT “Mean is”, MeanSTOP
Flowchart & Pseudo code ของโปรแกรม
![Page 7: Web Application Programming 2 ยนท 2/2556 204202 IT II 10 ต วอย างโครงสร าง Do While จงเข ยนผ งโปรแกรมเพ อหาผลบวกของเลขค](https://reader031.vdocuments.mx/reader031/viewer/2022022500/5aa488597f8b9ae7438c39a2/html5/thumbnails/7.jpg)
ตวอยางขอมลเขา และผลลพธ
ขอมลเขา ผลลพธ
23 30 44 7 48 80 6 32 96 79 67 7 17 10 66 73 21 39 36 51 98 44 16 96 100 99 72 46 41 30
Mean is 58.57
ภาคการเรยนท 2/2556 204202 IT II 7
![Page 8: Web Application Programming 2 ยนท 2/2556 204202 IT II 10 ต วอย างโครงสร าง Do While จงเข ยนผ งโปรแกรมเพ อหาผลบวกของเลขค](https://reader031.vdocuments.mx/reader031/viewer/2022022500/5aa488597f8b9ae7438c39a2/html5/thumbnails/8.jpg)
ลองท าด (แบบฝกหด WHILE)•จงหาผลคณของตวเลขทเรยงกน ตงแต 45 ถง 115
•จงหาผลบวกของตวเลขทเรยงกน และมคาหางกนเทากบ 5 ตงแต 50 ถง 9575
• หาคามากทสดจากตวเลข N ตว ทผใชปอนเขามา
ภาคการเรยนท 2/2556 204202 IT II 8
![Page 9: Web Application Programming 2 ยนท 2/2556 204202 IT II 10 ต วอย างโครงสร าง Do While จงเข ยนผ งโปรแกรมเพ อหาผลบวกของเลขค](https://reader031.vdocuments.mx/reader031/viewer/2022022500/5aa488597f8b9ae7438c39a2/html5/thumbnails/9.jpg)
B.2 โครงสรางวนซ าแบบ Do While
เปนโครงสรางทก าหนดใหท าการวนซ าเมอเงอนไขเปนจรง และจะหยดเมอเงอนไข
เปนเทจ
ไมวาเงอนไขจะเปนอยางไร จะท าค าส ง 1 คร งเสมอ (Post-testing)
ภาคการเรยนท 2/2556 204202 IT II 9
DO
Process 1
Process 2
WHILE condition
![Page 10: Web Application Programming 2 ยนท 2/2556 204202 IT II 10 ต วอย างโครงสร าง Do While จงเข ยนผ งโปรแกรมเพ อหาผลบวกของเลขค](https://reader031.vdocuments.mx/reader031/viewer/2022022500/5aa488597f8b9ae7438c39a2/html5/thumbnails/10.jpg)
ภาคการเรยนท 2/2556 204202 IT II 10
ตวอยางโครงสราง Do While
จงเขยนผงโปรแกรมเพอหาผลบวกของเลขคต งแต 2 ถง 100
การวเคราะหโจทย
วตถประสงคหลก หาผลบวกของเลขคต งแต 2 ถง 100
ผลลพธทตองการ Summation is
ขอมลเขา -
ตวแปรทใช S แทน ผลบวก
I แทน เลขจ านวนค
การประมวลผล S = 0 และ I = 2
Do S = S + I และ I = I + 2 While I <= 100
![Page 11: Web Application Programming 2 ยนท 2/2556 204202 IT II 10 ต วอย างโครงสร าง Do While จงเข ยนผ งโปรแกรมเพ อหาผลบวกของเลขค](https://reader031.vdocuments.mx/reader031/viewer/2022022500/5aa488597f8b9ae7438c39a2/html5/thumbnails/11.jpg)
ภาคการเรยนท 2/2556 204202 IT II 11
Flowchart & Pseudo code ของโปรแกรม
STARTS= 0, I = 2
DO S = S+ II = I + 2
WHILE I <= 100
PRINT “Summation is”, S
STOP
![Page 12: Web Application Programming 2 ยนท 2/2556 204202 IT II 10 ต วอย างโครงสร าง Do While จงเข ยนผ งโปรแกรมเพ อหาผลบวกของเลขค](https://reader031.vdocuments.mx/reader031/viewer/2022022500/5aa488597f8b9ae7438c39a2/html5/thumbnails/12.jpg)
ตวอยางขอมลเขา และผลลพธ
ขอมลเขา ผลลพธ
ไมม Summation is 2550
ภาคการเรยนท 2/2556 204202 IT II 12
![Page 13: Web Application Programming 2 ยนท 2/2556 204202 IT II 10 ต วอย างโครงสร าง Do While จงเข ยนผ งโปรแกรมเพ อหาผลบวกของเลขค](https://reader031.vdocuments.mx/reader031/viewer/2022022500/5aa488597f8b9ae7438c39a2/html5/thumbnails/13.jpg)
แบบฝกหด DO WHILE
จากแบบฝกหดตดเกรดใน Slide IF ELSE (หนา 32)
ใหเพมการท างานโดยใหรบคาคะแนนเพอหาเกรดเรอย ๆ จนกวาผใชจะกรอกคะแนนทมคาตดลบ ใหใชโครงสราง DO WHILE
ภาคการเรยนท 2/2556 204202 IT II 13
![Page 14: Web Application Programming 2 ยนท 2/2556 204202 IT II 10 ต วอย างโครงสร าง Do While จงเข ยนผ งโปรแกรมเพ อหาผลบวกของเลขค](https://reader031.vdocuments.mx/reader031/viewer/2022022500/5aa488597f8b9ae7438c39a2/html5/thumbnails/14.jpg)
ภาคการเรยนท 2/2556 204202 IT II 14
B.3 โครงสรางวนซ าแบบ FOR
เปนโครงสรางทก าหนดจ านวนใหท าการวนซ าทแนนอน
แตกตางจาก 2 รปแบบทกลาวมาแลวทไมจ าเปนตองทราบ จ านวนคร งกอน
แตใชการตรวจสอบเงอนไข
FOR I=1 TO N
Process 1
Process 2
END FOR
![Page 15: Web Application Programming 2 ยนท 2/2556 204202 IT II 10 ต วอย างโครงสร าง Do While จงเข ยนผ งโปรแกรมเพ อหาผลบวกของเลขค](https://reader031.vdocuments.mx/reader031/viewer/2022022500/5aa488597f8b9ae7438c39a2/html5/thumbnails/15.jpg)
ภาคการเรยนท 2/2556 204202 IT II 15
ตวอยางโครงสราง Forจงเขยนผงโปรแกรมเพอหาคา N แฟกทอเรยล (factorial)
การวเคราะหโจทย
วตถประสงคหลก คา N แฟกทอเรยล
ผลลพธทตองการ N! is
ขอมลเขา N
ตวแปรทใช N แทน ตวเลขทตองการหาแฟกทอเรยล
Fact แทน แฟกทอเรยล
I แทน จ านวนนบ
การประมวลผล Fact = 1
ท าซ า For I=1 to N ท า Fact = Fact * I
![Page 16: Web Application Programming 2 ยนท 2/2556 204202 IT II 10 ต วอย างโครงสร าง Do While จงเข ยนผ งโปรแกรมเพ อหาผลบวกของเลขค](https://reader031.vdocuments.mx/reader031/viewer/2022022500/5aa488597f8b9ae7438c39a2/html5/thumbnails/16.jpg)
ภาคการเรยนท 2/2556 204202 IT II 16
Flowchart & Pseudo code ของโปรแกรมSTART
Fact = 1READ N
IF N >= 0 THENIF N != 0 THEN
For I=1 TO N Fact = Fact * I
END For
PRINT “Factorial is”, FactELSE
PRINT “0 Factorial is 1”END IF
ELSE PRINT “Invalid data”
END IF
STOP
![Page 17: Web Application Programming 2 ยนท 2/2556 204202 IT II 10 ต วอย างโครงสร าง Do While จงเข ยนผ งโปรแกรมเพ อหาผลบวกของเลขค](https://reader031.vdocuments.mx/reader031/viewer/2022022500/5aa488597f8b9ae7438c39a2/html5/thumbnails/17.jpg)
ตวอยางขอมลเขา และผลลพธ
ขอมลเขา ผลลพธ
N = 5 Factorial is 120
N = 0 0! = 1
N = -1 Invalid data
N = a Invalid data
ภาคการเรยนท 2/2556 204202 IT II 17
![Page 18: Web Application Programming 2 ยนท 2/2556 204202 IT II 10 ต วอย างโครงสร าง Do While จงเข ยนผ งโปรแกรมเพ อหาผลบวกของเลขค](https://reader031.vdocuments.mx/reader031/viewer/2022022500/5aa488597f8b9ae7438c39a2/html5/thumbnails/18.jpg)
แบบฝกหด FOR
จงใช For ในการ บวกเลขคสะสม เรมจาก เลข 11 ถง 99
จงเขยนอลกอรทมของการการสรางภาพดงน
ภาคการเรยนท 2/2556 204202 IT II 18
![Page 19: Web Application Programming 2 ยนท 2/2556 204202 IT II 10 ต วอย างโครงสร าง Do While จงเข ยนผ งโปรแกรมเพ อหาผลบวกของเลขค](https://reader031.vdocuments.mx/reader031/viewer/2022022500/5aa488597f8b9ae7438c39a2/html5/thumbnails/19.jpg)
ขอควรค านงเวลาออกแบบ Flowchart
การจดภาพ ทศทางของผงงาน◦ทศทางเรมจากบนลงลาง และจากซายไปขวา
◦สญลกษณทใชตองเปนตามมาตรฐาน อาจมขนาดตางๆ กนแตรปรางเปนสดสวนตามความเหมาะสม
◦ ในการโยงความสมพนธใหยดตามความเกยวของของกระบวนการ
◦หลกเลยงการโยงเสนไปมา ในทศทางทตดกน ใหใชสญลกษณ เชอมตอแทน
◦กระบวนการควรเชอมอยางตอเนองจากจดเรมตน ไปยงจดสนสด
ภาคการเรยนท 2/2556 204202 IT II 19
![Page 20: Web Application Programming 2 ยนท 2/2556 204202 IT II 10 ต วอย างโครงสร าง Do While จงเข ยนผ งโปรแกรมเพ อหาผลบวกของเลขค](https://reader031.vdocuments.mx/reader031/viewer/2022022500/5aa488597f8b9ae7438c39a2/html5/thumbnails/20.jpg)
ตวแปรชด (Array) เปนการก าหนดตวแปรส าหรบการเกบขอมลหลาย ๆ คาภายใต ตวแปรชอเดยวกน แตจ าเปนตองระบตวบงช(Subscript) เชน A(0) A(1) A(2) ทงสามตวแปรเกบคา 3 คาภายใตชอตวแปรเดยวกน
การอางคาท าไดโดยระบตวบงช ซงตวบงชอาจอยในรปตวแปรเดยวเชน A(i) โดย i มคาเปน 0-2 เปนตน
ตวแปรชดมทง 1 มต (One Dimension Array) 2 มต (Two Dimension Array) และ หลายมต (Multi Dimension Array)
ทงนขนอยกบชนดของปญหาและการแกปญหาของผ เขยน ในทนจะกลาวเฉพาะตวแปรชดมตเดยวและตวแปรชด 2 มต
ภาคการเรยนท 2/2556 204202 IT II 20
![Page 21: Web Application Programming 2 ยนท 2/2556 204202 IT II 10 ต วอย างโครงสร าง Do While จงเข ยนผ งโปรแกรมเพ อหาผลบวกของเลขค](https://reader031.vdocuments.mx/reader031/viewer/2022022500/5aa488597f8b9ae7438c39a2/html5/thumbnails/21.jpg)
เปนตวแปรทมตวบงชเพยงตวเดยว และสามารถแสดงการแทน
ขอมลของตวแปรเปนลกษณะตารางทมแถว หรอคอลมนเดยวดงรป
ตวแปรชดมตเดยว
ภาคการเรยนท 2/2556 204202 IT II 21
![Page 22: Web Application Programming 2 ยนท 2/2556 204202 IT II 10 ต วอย างโครงสร าง Do While จงเข ยนผ งโปรแกรมเพ อหาผลบวกของเลขค](https://reader031.vdocuments.mx/reader031/viewer/2022022500/5aa488597f8b9ae7438c39a2/html5/thumbnails/22.jpg)
เปนตวแปรทมตวบงชสองตว และสามารถแสดงการแทน
ขอมลของตวแปรเปนลกษณะตารางทมแถวและคอลมน
ตามทระบ โดยตองระบคาแถวแลวค นดวยเครองหมาย ,
จากนนใหระบคาคอลมนดงรป
ตวแปรชดสองมต
ภาคการเรยนท 2/2556 204202 IT II 22
![Page 23: Web Application Programming 2 ยนท 2/2556 204202 IT II 10 ต วอย างโครงสร าง Do While จงเข ยนผ งโปรแกรมเพ อหาผลบวกของเลขค](https://reader031.vdocuments.mx/reader031/viewer/2022022500/5aa488597f8b9ae7438c39a2/html5/thumbnails/23.jpg)
ภาคการเรยนท 2/2556 204202 IT II 23
ตวอยางการเขยนผงโปรแกรมโดยใชตวแปรชดมตเดยว
จงเขยนผงโปรแกรมรบเลขจ านวนเตมบวกชดหนงไมทราบจ านวน แลว
หาวามกจ านวนทมคามากกวาคาเฉลยของเลขชดน หยดอานคาจากตว
แปรชดเมอคาในตวแปรชด นอยกวาหรอเทากบ 0
การวเคราะหโจทย
วตถประสงคหลก จ านวนเลขทมคามากกวาคาเฉลย
ผลลพธทตองการ There are … numbers
ขอมลเขา เลขจ านวนเตมบวก
ตวแปรทใช A(I) แทน เลขจ านวนเตมใด ๆ
N แทน จ านวนเลขทมากกวาคาเฉลย
![Page 24: Web Application Programming 2 ยนท 2/2556 204202 IT II 10 ต วอย างโครงสร าง Do While จงเข ยนผ งโปรแกรมเพ อหาผลบวกของเลขค](https://reader031.vdocuments.mx/reader031/viewer/2022022500/5aa488597f8b9ae7438c39a2/html5/thumbnails/24.jpg)
ภาคการเรยนท 2/2556 204202 IT II 24
การวเคราะหโจทย(ตอ)
ตวแปรทใช I,J แทน จ านวนนบ
SUM แทนผลบวกของเลขจ านวนเตม
M แทน คาเฉลยของเลขจ านวนเตม
การประมวลผล ก าหนด SUM, I, J, N = 0 รบคา A(I)
ท าซ าขณะท A(I) > 0 หา SUM = SUM + A(I)
นบจ านวนขอมล I = I + 1 และรบคา A(I)
หา M = SUM/I
ท าซ าขณะท J < I ถา A(I) > M ให N = N + 1
แลวเพมคา J = J + 1
แสดงคา N
![Page 25: Web Application Programming 2 ยนท 2/2556 204202 IT II 10 ต วอย างโครงสร าง Do While จงเข ยนผ งโปรแกรมเพ อหาผลบวกของเลขค](https://reader031.vdocuments.mx/reader031/viewer/2022022500/5aa488597f8b9ae7438c39a2/html5/thumbnails/25.jpg)
ภาคการเรยนท 2/2556 204202 IT II 25
FLOWCHART
![Page 26: Web Application Programming 2 ยนท 2/2556 204202 IT II 10 ต วอย างโครงสร าง Do While จงเข ยนผ งโปรแกรมเพ อหาผลบวกของเลขค](https://reader031.vdocuments.mx/reader031/viewer/2022022500/5aa488597f8b9ae7438c39a2/html5/thumbnails/26.jpg)
PSEUDOCODE
WHILE J < I
IF A(J) > M THENN = N + 1
END IFJ = J + 1
END WHILEPRINT “There are”, N, “numbers”
STOP
STARTSUM, I, J, N = 0READ A(I)
WHILE A(I) > 0SUM = SUM + A(I)I = I + 1READ A(I)
END WHILE
M = SUM / I
1 2
![Page 27: Web Application Programming 2 ยนท 2/2556 204202 IT II 10 ต วอย างโครงสร าง Do While จงเข ยนผ งโปรแกรมเพ อหาผลบวกของเลขค](https://reader031.vdocuments.mx/reader031/viewer/2022022500/5aa488597f8b9ae7438c39a2/html5/thumbnails/27.jpg)
ภาคการเรยนท 2/2556 204202 IT II 27
ตวอยางการเขยนผงโปรแกรมโดยใชตวแปรชดสองมต
จงเขยนผงโปรแกรมเพอหาผลบวกดานทะแยงของเมตรกซ
ขนาด N x N
การวเคราะหโจทย
วตถประสงคหลก ผลบวกดานทะแยงของเมตรกซขนาด N x N
ผลลพธทตองการ The Summation is
ขอมลเขา ขนาดของเมตรกซ N
เลขจ านวนเตม จ านวน N x N
ตวแปรทใช N แทน จ านวนคอลมนและแถว
S1แทน ผลบวกดานทะแยงดานทหนง
![Page 28: Web Application Programming 2 ยนท 2/2556 204202 IT II 10 ต วอย างโครงสร าง Do While จงเข ยนผ งโปรแกรมเพ อหาผลบวกของเลขค](https://reader031.vdocuments.mx/reader031/viewer/2022022500/5aa488597f8b9ae7438c39a2/html5/thumbnails/28.jpg)
ภาคการเรยนท 2/2556 204202 IT II 28
การวเคราะหโจทย(ตอ)
ตวแปรทใช S2 แทน ผลบวกดานทะแยงดานทสอง
A(I,J) แทนเลขจ านวนเตม
การประมวลผล S1 = S1 + A(I,I)
S2 = S2 + A(I,J)
![Page 29: Web Application Programming 2 ยนท 2/2556 204202 IT II 10 ต วอย างโครงสร าง Do While จงเข ยนผ งโปรแกรมเพ อหาผลบวกของเลขค](https://reader031.vdocuments.mx/reader031/viewer/2022022500/5aa488597f8b9ae7438c39a2/html5/thumbnails/29.jpg)
ภาคการเรยนท 2/2556 204202 IT II 29
FLOWCHART
![Page 30: Web Application Programming 2 ยนท 2/2556 204202 IT II 10 ต วอย างโครงสร าง Do While จงเข ยนผ งโปรแกรมเพ อหาผลบวกของเลขค](https://reader031.vdocuments.mx/reader031/viewer/2022022500/5aa488597f8b9ae7438c39a2/html5/thumbnails/30.jpg)
PSEUDOCODESTART S1, S2 = 0READ NI = OWHILE I < N
J = 0WHILE J < N
READ A(I,J)J = J + 1
END WHILEI = I +1
END WHILEI = 0, J = N – 1
WHILE I < NS1 = S1 + A(I,I)S2 = S2 + A(I,J)I = I + 1 J = J + 1
END WHILEPRINT “Summation is ”, S1 PRINT “Summation is ”, S2
STOP
![Page 31: Web Application Programming 2 ยนท 2/2556 204202 IT II 10 ต วอย างโครงสร าง Do While จงเข ยนผ งโปรแกรมเพ อหาผลบวกของเลขค](https://reader031.vdocuments.mx/reader031/viewer/2022022500/5aa488597f8b9ae7438c39a2/html5/thumbnails/31.jpg)
แบบฝกหด Array
จงเขยนรหสเทยม จากตวอยาง Array ทง 2 ตวอยาง
จงวเคราะหปญหา เขยนผงโปรแกรม และรหสเทยม ของปญหา◦ การหาผลคณของตวเลขทกตวใน Array A ขนาด 2 มต (A[i][j])◦ การบวกเมตรกซ A,B ขนาด M*N
ภาคการเรยนท 2/2556 204202 IT II 31