50
Iteration Statement การเขียนโปรแกรมค้าสั่งวนซ้้า

Iteration Statement - sci.udru.ac.thsci.udru.ac.th/websci/download/com/rewadee/com_program/iteration.pdf · จงเขียนโปรแกรมแสดงสูตรคูณ

  • Upload
    others

  • View
    2

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Iteration Statement - sci.udru.ac.thsci.udru.ac.th/websci/download/com/rewadee/com_program/iteration.pdf · จงเขียนโปรแกรมแสดงสูตรคูณ

Iteration Statement

การเขยนโปรแกรมคาสงวนซา

Page 2: Iteration Statement - sci.udru.ac.thsci.udru.ac.th/websci/download/com/rewadee/com_program/iteration.pdf · จงเขียนโปรแกรมแสดงสูตรคูณ

โครงสรางการเขยนโปรแกรมแบบวนซา (Iteration)

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

Page 3: Iteration Statement - sci.udru.ac.thsci.udru.ac.th/websci/download/com/rewadee/com_program/iteration.pdf · จงเขียนโปรแกรมแสดงสูตรคูณ

คาสงวนซา (Iteration) ในภาษา C

แบงเปน 3 คาสง ดงนfor statementwhile statementDo …while statement

Page 4: Iteration Statement - sci.udru.ac.thsci.udru.ac.th/websci/download/com/rewadee/com_program/iteration.pdf · จงเขียนโปรแกรมแสดงสูตรคูณ

คาสง for คาสง for เหมาะสาหรบกรณทรจานวนรอบการทางานวนซาทแนนอน รปแบบคาสง for มดงน

ตวอยาง พมพเลข 1 - 10

for(กาหนดคาเรมตนใหตวแปรนบรอบ; นพจนเงอนไขทตรวจสอบ; ปรบคารอบการทางานของตวแปรนบรอบ){ คาสงทใหทางานซา}

for(int i=1; i <= 10 ; i++){ printf(‚%d\n‛ , i); }

//กาหนดคาเรมตนใหตวแปร i = 1 ; ตรวจสอบเงอนไข i <= 10;เพมคาใหตวแปร i รอบละ 1//แตละรอบการทางาน พมพคาจากตวแปร i

Page 5: Iteration Statement - sci.udru.ac.thsci.udru.ac.th/websci/download/com/rewadee/com_program/iteration.pdf · จงเขียนโปรแกรมแสดงสูตรคูณ

ลกษณะการทางานของคาสง for การทางานของ loop จะเรมจากคาเรมตนทกาหนด จานวนรอบการทางาน ขนอยกบนพจนเงอนไขทตงไว การปรบคาตวนบรอบของ loop สงผลตอจานวนรอบททางาน ตวอยาง

for (i=1; i <= 10; i++) { …. }

ตวนบรอบ(i) เรมตนท 1 เงอนไขการทางาน เมอคาของ i ยงมคานอยกวาหรอเทากบ 10ปรบคาตวนบรอบเพมขนรอบละ 1 คา

Page 6: Iteration Statement - sci.udru.ac.thsci.udru.ac.th/websci/download/com/rewadee/com_program/iteration.pdf · จงเขียนโปรแกรมแสดงสูตรคูณ

ลกษณะการทางานของคาสง for ตวอยาง

for (count=1; i <= 100; i += 2) { …. }

ตวนบรอบ(count)เรมตนท 1 เงอนไขการทางาน เมอคาของ count ยงมคานอยกวาหรอเทากบ 100ปรบคาตวนบรอบเพมขนรอบละ 2 คา

for (count=100; i >= 0; i--) { …. }

ตวนบรอบ(count)เรมตนท 100 เงอนไขการทางาน เมอคาของ count ยงมคามากกวาหรอเทากบ 0ปรบคาตวนบรอบลดลงรอบละ 1 คา

Page 7: Iteration Statement - sci.udru.ac.thsci.udru.ac.th/websci/download/com/rewadee/com_program/iteration.pdf · จงเขียนโปรแกรมแสดงสูตรคูณ

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

for (char letter = ‘A’; letter <= ‘Z’ ; letter++) { …. }

ประกาศตวนบรอบ(letter) เปนชนดขอมล char กาหนดคาเรมตนเปน A เงอนไขการทางาน เมอคาของ letter ยงมคานอยกวาหรอเทากบ Zปรบคาตวนบรอบเพมขนรอบละ 1 คา

Page 8: Iteration Statement - sci.udru.ac.thsci.udru.ac.th/websci/download/com/rewadee/com_program/iteration.pdf · จงเขียนโปรแกรมแสดงสูตรคูณ

ตวอยาง for (1) จงเขยนโปรแกรมหาผลรวมของเลขจานวนเตมตง 1 ถง 10

ผลลพธ

START

i =1 ,i <= 10 ,

i++

แสดง sum

STOP

sum= 0

sum= sum + i

Page 9: Iteration Statement - sci.udru.ac.thsci.udru.ac.th/websci/download/com/rewadee/com_program/iteration.pdf · จงเขียนโปรแกรมแสดงสูตรคูณ

ตวอยาง for (2) จงเขยนโปรแกรมเพอคานวณคาแฟกทอเรยล

(Factorials) n หรอ n! เมอคา n คอเลขจานวนเตมทรบจากผใช

START

i =1 ,i <= n ,

i++

แสดง n ,fac

STOP

fac= 1

fac= fac * i

รบคา n

Page 10: Iteration Statement - sci.udru.ac.thsci.udru.ac.th/websci/download/com/rewadee/com_program/iteration.pdf · จงเขียนโปรแกรมแสดงสูตรคูณ

ตวอยาง for (3) จงเขยนโปรแกรมแสดงสตรคณ 12 บรรทด โดยรบแมสตรคณทตองการจากผใช

START

i =1 ,i <= 12 ,

i++

แสดง n , i , n*i

STOP

รบคา n

ผลลพธ

Page 11: Iteration Statement - sci.udru.ac.thsci.udru.ac.th/websci/download/com/rewadee/com_program/iteration.pdf · จงเขียนโปรแกรมแสดงสูตรคูณ

ตวอยาง for (4) จงเขยนโปรแกรมพมพเครองหมาย * เปนรปสเหลยม โดยรบจานวนแถวและ

จานวนคอลมนจากผใช START

i =1 , i <= row ,i++

แสดง ‚ * ‛

i

STOP

รบคา row , col

j =1 , j <= col ,j++

แสดง บรรทดวาง

j

ผลลพธ

Page 12: Iteration Statement - sci.udru.ac.thsci.udru.ac.th/websci/download/com/rewadee/com_program/iteration.pdf · จงเขียนโปรแกรมแสดงสูตรคูณ

ตวอยาง for (5) จงเขยนโปรแกรมหาคะแนนสงสดและ

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

START

รบคา num

max = 0 , sum = 0

i =1 , i <= num ,i++

รบคา score

score > max

max = score

avg = sum / num

sum = sum+score

แสดง max , avg

STOP

False

True

Page 13: Iteration Statement - sci.udru.ac.thsci.udru.ac.th/websci/download/com/rewadee/com_program/iteration.pdf · จงเขียนโปรแกรมแสดงสูตรคูณ

ตวอยาง for (5)

Page 14: Iteration Statement - sci.udru.ac.thsci.udru.ac.th/websci/download/com/rewadee/com_program/iteration.pdf · จงเขียนโปรแกรมแสดงสูตรคูณ

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

while (เงอนไขทตรวจสอบ){ คาสงทใหทางานซา}

Page 15: Iteration Statement - sci.udru.ac.thsci.udru.ac.th/websci/download/com/rewadee/com_program/iteration.pdf · จงเขียนโปรแกรมแสดงสูตรคูณ

ลกษณะการทางานของคาสง while สามารถใชคาสง while กบการทางานซาทไมรรอบการทางานทแนนอน การจะทางานในคาสงทาซากรอบนน ขนอยกบเงอนไขทกาหนดในคาสง while ในกรณทใชคาสง while กบการทางานซาทกาหนดรอบไวลวงหนา มกจะตองกาหนดตวแปรทใชในการนบรอบการทางานคลายกบคาสง for แตในคาสงทาซาภายใน loop while ตองมคาสง ปรบคาตวนบรอบการทาซาดวย

Page 16: Iteration Statement - sci.udru.ac.thsci.udru.ac.th/websci/download/com/rewadee/com_program/iteration.pdf · จงเขียนโปรแกรมแสดงสูตรคูณ

ลกษณะการทางานของคาสง while เชนint count = 1;while (count <= 10){

printf(‚%d\n‛ , count) ;count++;

}

กาหนดคาเรมตนใหตวแปรนบรอบ(count) มคาเทากบ 1 เงอนไขการตรวจสอบ กอนทางานซา คอ ตวแปร count มคานอยกวาหรอเทากบ 10ถาเงอนไข เปนจรง เขาไปทางานใน loopถาเงอนไข เปนเทจ ออกจาก loop

คาสงใน loop

Page 17: Iteration Statement - sci.udru.ac.thsci.udru.ac.th/websci/download/com/rewadee/com_program/iteration.pdf · จงเขียนโปรแกรมแสดงสูตรคูณ

ลกษณะการทางานของคาสง while เชนint num;scanf(‚%d‛ , &num);while (num > 0){

printf(‚%d\n‛ , num) ;scanf(‚%d‛ , &num);

}

รบคาตวเลขจากผใชใสตวแปร numเงอนไขการตรวจสอบ กอนทางานซา คอ ตวแปร num มคามากกวา 0ถาเงอนไข เปนจรง เขาไปทางานใน loopถาเงอนไข เปนเทจ ออกจาก loop

คาสงใน loop

Page 18: Iteration Statement - sci.udru.ac.thsci.udru.ac.th/websci/download/com/rewadee/com_program/iteration.pdf · จงเขียนโปรแกรมแสดงสูตรคูณ

ตวอยาง while (1) จงเขยนโปรแกรมหาผลรวมของเลขจานวนเตมตง 1 ถง 10

ผลลพธ

//กาหนดคาเรมตน

//ตรวจสอบเงอนไข

//เพมคาใหตวนบรอบ

START

แสดง sum

STOP

sum= 0i = 1

sum= sum + i

i <= 10

i = i +1

False

True

Page 19: Iteration Statement - sci.udru.ac.thsci.udru.ac.th/websci/download/com/rewadee/com_program/iteration.pdf · จงเขียนโปรแกรมแสดงสูตรคูณ

ตวอยาง while (2) จงเขยนโปรแกรมเพอคานวณคาแฟกทอเรยล

(Factorials) n หรอ n! เมอคา n คอเลขจานวนเตมทรบจากผใช

START

แสดง n , fac

STOP

fac = 1 i = 1

fac = fac * i

i <= n

i = i +1

False

True

รบคา n//กาหนดคาเรมตน

//ตรวจสอบเงอนไข

//เพมคาใหตวนบรอบ

Page 20: Iteration Statement - sci.udru.ac.thsci.udru.ac.th/websci/download/com/rewadee/com_program/iteration.pdf · จงเขียนโปรแกรมแสดงสูตรคูณ

ตวอยาง while (3) จงเขยนโปรแกรมแสดงสตรคณ 12 บรรทด โดยรบแมสตรคณทตองการจากผใช

ผลลพธ

//กาหนดคาเรมตน

//ตรวจสอบเงอนไข

//เพมคาใหตวนบรอบ

START

STOP

i <= 12 False

True

รบคา n

แสดง n , i , n*i

i = i +1

i = 1

Page 21: Iteration Statement - sci.udru.ac.thsci.udru.ac.th/websci/download/com/rewadee/com_program/iteration.pdf · จงเขียนโปรแกรมแสดงสูตรคูณ

ตวอยาง while (4) จงเขยนโปรแกรมพมพ

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

START

รบคา row , col

i <= row

i = 1

j = 1

j <= col

แสดง ‚ * ‛

j = j + 1

แสดง บรรทดวาง

i = i + 1

False

True

False

TrueSTOP

Page 22: Iteration Statement - sci.udru.ac.thsci.udru.ac.th/websci/download/com/rewadee/com_program/iteration.pdf · จงเขียนโปรแกรมแสดงสูตรคูณ

ตวอยาง while (4)

//กาหนดคาเรมตน ตวแปรนบ loop นอก

//ตรวจสอบเงอนไข loop นอก

//ประกาศและกาหนดคาเรมตน ตวแปรนบ loop ใน

//ตรวจสอบเงอนไข loop ใน

//เพมคาใหตวนบรอบ loop นอก

//เพมคาใหตวนบรอบ loop ใน

Page 23: Iteration Statement - sci.udru.ac.thsci.udru.ac.th/websci/download/com/rewadee/com_program/iteration.pdf · จงเขียนโปรแกรมแสดงสูตรคูณ

ตวอยาง while (5) จงเขยนโปรแกรมหาคะแนนสงสดและ

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

START

รบคา num

max = 0 , sum = 0

รบคา score

score > max

max = score

avg = sum / num

sum = sum+score

แสดง max , avg

STOP

False

True

i <= num

i = 1

i = i + 1

True

False

Page 24: Iteration Statement - sci.udru.ac.thsci.udru.ac.th/websci/download/com/rewadee/com_program/iteration.pdf · จงเขียนโปรแกรมแสดงสูตรคูณ

ตวอยาง while (5)

Page 25: Iteration Statement - sci.udru.ac.thsci.udru.ac.th/websci/download/com/rewadee/com_program/iteration.pdf · จงเขียนโปรแกรมแสดงสูตรคูณ

ตวอยาง while (6)จงเขยนโปรแกรมเพอแจกแจงความถของอายสมาชกชมลลาศ ดงน

อายตากวา 20 , 21 – 30 , 31 – 40 , 41 – 50 , 51 – 60 และ มากกวา 60 ป

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

กาหนดตวแปรทใชage = อายของสมาชกแตละคนn1 = จานวนสมาชกทมอายตากวา 20 ปn2 = จานวนสมาชกทมอาย 21 – 30 ปn3 = จานวนสมาชกทมอาย 31 – 40 ปn4 = จานวนสมาชกทมอาย 41 – 50 ปn5 = จานวนสมาชกทมอาย 51 – 60 ปn6 = จานวนสมาชกทมอายมากกวา 60 ป

Page 26: Iteration Statement - sci.udru.ac.thsci.udru.ac.th/websci/download/com/rewadee/com_program/iteration.pdf · จงเขียนโปรแกรมแสดงสูตรคูณ

START

รบคา age

n1=0 , n2 =0 , n3 = 0n4 =0 , n5 =, n6 = 0

age>=1 และ age<=150

age <= 20 n1 = n1 + 1

age>=21 และ age<=30 n2= n2 + 1

age>=31 และ age<=40 n3= n3 + 1

age>=41 และ age<=50 n4= n4 + 1

age>=51 และ age<=60 n5= n5+ 1

n6= n6+ 1

รบคา age

แสดง n1 , n2 , n3 , n4 , n5 , n6

STOP

True True

True

True

True

True

False

False

False

False

False

False

Page 27: Iteration Statement - sci.udru.ac.thsci.udru.ac.th/websci/download/com/rewadee/com_program/iteration.pdf · จงเขียนโปรแกรมแสดงสูตรคูณ

ตวอยาง while (6)

มตอหนาตอไป

Page 28: Iteration Statement - sci.udru.ac.thsci.udru.ac.th/websci/download/com/rewadee/com_program/iteration.pdf · จงเขียนโปรแกรมแสดงสูตรคูณ

ตวอยาง while (6)

Page 29: Iteration Statement - sci.udru.ac.thsci.udru.ac.th/websci/download/com/rewadee/com_program/iteration.pdf · จงเขียนโปรแกรมแสดงสูตรคูณ

จงเขยนโปรแกรมเพอจาแนกเพศของสมาชกชมลลาศ โดยรบขอมลเพศของสมาชกแตละคนจากผใช ถาเปนเพศชาย ใหปอน M ถาเปนเพศหญง ใหปอน F ถาปอนขอมลเพศ นอกเหนอจากคา M หรอ F โปรแกรมจะหยดรบคาและแสดงขอมลสรปจานวนเพศของสมาชกชมรม

ตวแปรทใชในการประมวลผลsex แทน เพศ

num แทน จานวนสมาชกทงหมด male แทน จานวนสมาชกเพศชาย

female แทน จานวนสมาชกเพศหญง

29

ตวอยาง while (7)

Page 30: Iteration Statement - sci.udru.ac.thsci.udru.ac.th/websci/download/com/rewadee/com_program/iteration.pdf · จงเขียนโปรแกรมแสดงสูตรคูณ

START

รบคา sex

num = 0male = 0

female = 0

sex = ‘M’ หรอ sex = ‘F’

num = num + 1

sex = ‘M’

male = male + 1 female = female + 1

TrueFalseTrue

รบคา sex

แสดง num , male , female

STOP

False

30

ตวอยาง while (7)

Page 31: Iteration Statement - sci.udru.ac.thsci.udru.ac.th/websci/download/com/rewadee/com_program/iteration.pdf · จงเขียนโปรแกรมแสดงสูตรคูณ

31

ตวอยาง while (6)

Page 32: Iteration Statement - sci.udru.ac.thsci.udru.ac.th/websci/download/com/rewadee/com_program/iteration.pdf · จงเขียนโปรแกรมแสดงสูตรคูณ

ตวอยางผลลพธ

32

ตวอยาง while (7)

Page 33: Iteration Statement - sci.udru.ac.thsci.udru.ac.th/websci/download/com/rewadee/com_program/iteration.pdf · จงเขียนโปรแกรมแสดงสูตรคูณ

จงเขยนโปรแกรมคานวณคาแรงของพนกงาน โดยใหรบชอพนกงาน รหสการทางาน จานวนชม.การทางาน โดยกาหนดอตราคาแรง/ชม. ตามเงอนไข ตอไปน ถารหสการทางาน A กาหนดให อตราคาแรง 500 บาท/ชม. ถารหสการทางาน B กาหนดให อตราคาแรง 400 บาท/ชม. ถารหสการทางาน C กาหนดให อตราคาแรง 300 บาท/ชม. ถารหสการทางาน D กาหนดให อตราคาแรง 200 บาท/ชม.

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

33

ตวอยาง while (8)

Page 34: Iteration Statement - sci.udru.ac.thsci.udru.ac.th/websci/download/com/rewadee/com_program/iteration.pdf · จงเขียนโปรแกรมแสดงสูตรคูณ

ตวอยาง while (8)START

sumPay = 0answer = y

answer = y

รบคา emp_name , code , hr

code

rate = 500 rate = 400 rate = 300 rate = 200 rate = 0

แสดง ‚Invalid code‛

pay = rate * hr

แสดง emp_name , code , hr , rate , pay

‘A’ ‘B’ ‘C’ ‘D’ อน ๆ

1

2True

False

3

Page 35: Iteration Statement - sci.udru.ac.thsci.udru.ac.th/websci/download/com/rewadee/com_program/iteration.pdf · จงเขียนโปรแกรมแสดงสูตรคูณ

ตวอยาง while (8)1

sumPay = sumPay + pay

รบคา answer

แสดง ‚ทางานตอ ใชหรอไม ?‛2

3

แสดง sumPay

STOP

Page 36: Iteration Statement - sci.udru.ac.thsci.udru.ac.th/websci/download/com/rewadee/com_program/iteration.pdf · จงเขียนโปรแกรมแสดงสูตรคูณ

ตวอยาง while (8)

Page 37: Iteration Statement - sci.udru.ac.thsci.udru.ac.th/websci/download/com/rewadee/com_program/iteration.pdf · จงเขียนโปรแกรมแสดงสูตรคูณ

ตวอยาง while (8)

Page 38: Iteration Statement - sci.udru.ac.thsci.udru.ac.th/websci/download/com/rewadee/com_program/iteration.pdf · จงเขียนโปรแกรมแสดงสูตรคูณ

คาสง do{ … }while คาสง do…while เปนคาสงทางานซา โดยจะใหทางานในคาสงหรอกลมคาสงทาซากอน 1 รอบ แลวจงคอยตรวจสอบเงอนไขวาจะใหทางานซาอหรอไม ถาเงอนไขทตรวจสอบใหผลเปนจรง จะใหไปทางานในคาสงหรอกลมคาสงทาซา 1 รอบ แลวกลบมาตรวจสอบเงอนไขอกครง ถาเงอนไขทตรวจสอบใหผลเปนเทจ จะออกจากคาสง do…while ทนท รปแบบคาสง do…while ดงน

do { คาสงทใหทางานซา }while (เงอนไขทตรวจสอบ) ;

Page 39: Iteration Statement - sci.udru.ac.thsci.udru.ac.th/websci/download/com/rewadee/com_program/iteration.pdf · จงเขียนโปรแกรมแสดงสูตรคูณ

ลกษณะการทางานของคาสง do…while สามารถใชคาสง do…while กบการทางานซาทไมรรอบการทางานทแนนอน เชนเดยวกบ คาสง while การจะทางานในคาสงทาซากรอบนน ขนอยกบเงอนไขทกาหนดในคาสง while ในกรณทใชคาสง do…while กบการทางานซาทกาหนดรอบไวลวงหนา มกจะตองกาหนดตวแปรทใชในการนบรอบการทางานคลายกบคาสง for และ while แตในคาสงทาซาภายใน loop do…while ตองมคาสง ปรบคาตวนบรอบการทาซาดวย

Page 40: Iteration Statement - sci.udru.ac.thsci.udru.ac.th/websci/download/com/rewadee/com_program/iteration.pdf · จงเขียนโปรแกรมแสดงสูตรคูณ

ลกษณะการทางานของคาสง do…while เชน

int count = 1;do {

printf(‚%d\n‛ , count) ;count++;

} while (count <= 10) ;

กาหนดคาเรมตนใหตวแปรนบรอบ(count) มคาเทากบ 1 เรมตนทางานใน loopเงอนไขการตรวจสอบ กอนทางานซา คอ ตวแปร count มคานอยกวาหรอเทากบ 10ถาเงอนไข เปนจรง กลบเขาไปทางานใน loop อกถาเงอนไข เปนเทจ ออกจาก loop

คาสงใน loop

Page 41: Iteration Statement - sci.udru.ac.thsci.udru.ac.th/websci/download/com/rewadee/com_program/iteration.pdf · จงเขียนโปรแกรมแสดงสูตรคูณ

ลกษณะการทางานของคาสง do…while เชน

int num;do{

scanf(‚%d‛ , &num);printf(‚%d\n‛ , num) ;

} while (num > 0) ;

เรมตน loopรบคาตวเลขจากผใชใสตวแปร numเงอนไขการตรวจสอบ กอนทางานซา คอ ตวแปร num มคามากกวา 0ถาเงอนไข เปนจรง เขาไปทางานใน loopถาเงอนไข เปนเทจ ออกจาก loop

คาสงใน loop

Page 42: Iteration Statement - sci.udru.ac.thsci.udru.ac.th/websci/download/com/rewadee/com_program/iteration.pdf · จงเขียนโปรแกรมแสดงสูตรคูณ

ตวอยาง do…while (1) จงเขยนโปรแกรมหาผลรวมของเลขจานวนเตมตง 1 ถง 10

ผลลพธ

//กาหนดคาเรมตน

//ตรวจสอบเงอนไข//เพมคาใหตวนบรอบ

START

แสดง sum

STOP

sum= 0i = 1

sum= sum + i

i <= 10

i = i +1

False

True

Page 43: Iteration Statement - sci.udru.ac.thsci.udru.ac.th/websci/download/com/rewadee/com_program/iteration.pdf · จงเขียนโปรแกรมแสดงสูตรคูณ

ตวอยาง do…while (2) จงเขยนโปรแกรมเพอคานวณคาแฟกทอเรยล

(Factorials) n หรอ n! เมอคา n คอเลขจานวนเตมทรบจากผใช

START

แสดง n , fac

STOP

fac = 1 i = 1

fac = fac * i

i <= n

i = i +1

False

True

รบคา n

//กาหนดคาเรมตน

//ตรวจสอบเงอนไข//เพมคาใหตวนบรอบ

Page 44: Iteration Statement - sci.udru.ac.thsci.udru.ac.th/websci/download/com/rewadee/com_program/iteration.pdf · จงเขียนโปรแกรมแสดงสูตรคูณ

ตวอยาง do…while (3) จงเขยนโปรแกรมแสดงสตรคณ 12 บรรทด โดยรบแมสตรคณทตองการจากผใช

ผลลพธ

//กาหนดคาเรมตน

//ตรวจสอบเงอนไข//เพมคาใหตวนบรอบ

START

STOP

i <= 12False

True

รบคา n

แสดง n , i , n*i

i = i +1

i = 1

Page 45: Iteration Statement - sci.udru.ac.thsci.udru.ac.th/websci/download/com/rewadee/com_program/iteration.pdf · จงเขียนโปรแกรมแสดงสูตรคูณ

ตวอยาง do…while (4) จงเขยนโปรแกรมพมพ

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

START

รบคา row , col

i <= row

i = 1

j = 1

j <= col

แสดง ‚ * ‛

j = j + 1

แสดง บรรทดวาง

i = i + 1

False

True

False

True

STOP

Page 46: Iteration Statement - sci.udru.ac.thsci.udru.ac.th/websci/download/com/rewadee/com_program/iteration.pdf · จงเขียนโปรแกรมแสดงสูตรคูณ

ตวอยาง do…while (4)

Page 47: Iteration Statement - sci.udru.ac.thsci.udru.ac.th/websci/download/com/rewadee/com_program/iteration.pdf · จงเขียนโปรแกรมแสดงสูตรคูณ

ตวอยาง do…while (5) จงเขยนโปรแกรมหาคะแนนสงสดและ

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

START

รบคา num

max = 0 , sum = 0

รบคา score

score > max

max = score

avg = sum / num sum = sum+score

แสดง max , avg

STOPFalse

True

i <= num

i = 1

i = i + 1

True

False

A

A

Page 48: Iteration Statement - sci.udru.ac.thsci.udru.ac.th/websci/download/com/rewadee/com_program/iteration.pdf · จงเขียนโปรแกรมแสดงสูตรคูณ

ตวอยาง do…while (5)

Page 49: Iteration Statement - sci.udru.ac.thsci.udru.ac.th/websci/download/com/rewadee/com_program/iteration.pdf · จงเขียนโปรแกรมแสดงสูตรคูณ

คาสง Break คาสง break จะหยดการทางานใน loop และทางานในคาสงตอไปทอยนอก loop

Ex. วนลปพมพคา 1-10 แตถาตวนบรอบมคา 5 ใหหยดการทางาน

Page 50: Iteration Statement - sci.udru.ac.thsci.udru.ac.th/websci/download/com/rewadee/com_program/iteration.pdf · จงเขียนโปรแกรมแสดงสูตรคูณ

คาสง continued คาสง continue จะหยดการทางานของ loop รอบปจจบน และไปทางานไปทางานใน loop รอบตอไป

Ex. วนลปพมพคา 1-10 แตถาตวนบรอบมคา 5 ใหขามการทางานรอบนน