บทที่
Download
1 / 40

บทที่ 5 - PowerPoint PPT Presentation


  • 90 Views
  • Uploaded on

บทที่ 5. การเขียนโปรแกรมแบบวนซ้ำ : คำสั่ง while คำสั่ง do….while. โครงสร้างควบคุม ( Control Structure). การควบคุมโปรแกรมให้ทำงานได้ตามต้องการ เราจำเป็นต้องมีความเข้าใจเกี่ยวกับโครงสร้างควบคุมของการเขียนภาษาโปรแกรม ประกอบด้วย ลำดับการทำงาน (Sequence) ทางเลือก , ตัดสินใจ (Decision)

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about ' บทที่ 5' - cassidy-jimenez


An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript

บทที่ 5

การเขียนโปรแกรมแบบวนซ้ำ:

คำสั่ง while

คำสั่ง do….while


Control structure
โครงสร้างควบคุม (Control Structure)

  • การควบคุมโปรแกรมให้ทำงานได้ตามต้องการ เราจำเป็นต้องมีความเข้าใจเกี่ยวกับโครงสร้างควบคุมของการเขียนภาษาโปรแกรม ประกอบด้วย

    • ลำดับการทำงาน(Sequence)

    • ทางเลือก,ตัดสินใจ (Decision)

    • การวนซ้ำ (Iteration)


การเขียนโปรแกรมแบบ วนซ้ำ

  • คำสั่ง for

  • คำสั่ง while

  • คำสั่ง do..while


While
การใช้ วนซ้ำwhile

  • ลูป while จะทำการตรวจสอบเงื่อนไขก่อน

  • หากพบว่าเงื่อนไขเป็นเท็จจะไม่เข้าไปทำ

    Statement(คำสั่ง) ภายในลูป


While1
คำสั่ง วนซ้ำ while

start

กำหนดค่าเริ่มต้น

เงื่อนไข

เท็จ

เปลี่ยนแปลงค่าตัวแปร

จริง

คำสั่งต่าง ๆ

คำสั่งถัดไป

End


1 2 3 100 while
โจทย์ วนซ้ำ : ให้แสดงข้อมูล 1,2,3,.. ,100 (คำสั่ง while)

start

int num=1

num<=100

เท็จ

num++

จริง

Print

num

End


While2
คำสั่ง วนซ้ำwhile

รูปแบบ

กำหนดค่าเริ่มต้น;

while(เงื่อนไข){

คำสั่งในลูป ; //สามารถมีได้มากกว่า 1 คำสั่ง

คำสั่งเปลี่ยนแปลงค่า;

}


ตัวอย่าง วนซ้ำ

ให้แสดงข้อมูล 20,15,10,5,0

int x=20;

while(x>0) {

System.out.println(x);

x=x-5;

}

System.out.println(“End Program”);

20

15

10

5

End Program


แบบฝึกหัด วนซ้ำ

  • ให้แสดงข้อมูล 1-100

  • ระหว่างเลข 1 – 100 ให้แสดงเฉพาะเลขคู่

  • เขียนโปรแกรมให้รับค่าข้อมูลตัวเลขแล้วแสดงค่าตัวเลขนั้น ทางหน้าจอแต่ถ้าระบุตัวเลขเป็น 999 จึงหยุด


ฝึกเขียนคำสั่ง วนซ้ำ

ในแต่ละ Loop ให้แสดงคำว่า “ Ture ”

จากนั้นสอบถาม User ว่าต้องการให้แสดงข้อความอีกหรือไม่

ถ้า User input y หรือ Y ให้แสดงข้อความอีก

ถ้า input ข้อมูลอื่นๆให้ ออกจากโปรแกรม



String
แนะนำคำสั่ง วนซ้ำตรวจสอบการมีค่าเท่ากันของ ข้อความ(String)

ตัวอย่าง

String x=“yes”;

โจทย์ต้องการทราบว่า ข้อความที่เขียน คือข้อความ yes ใช่หรือไม่

รูปแบบ

ตัวแปร.equals(ข้อความที่ต้องการ)

x.equals(“yes”)

ผลที่ได้จากคำสั่งนี้คือ true,false

หมายเหตุ : ค่าเริ่มต้นของตัวแปรประเภท String คือ null



โจทย์ วนซ้ำ

1.ให้รับค่าข้อมูลคะแนน ทางแป้นพิมพ์ทีละคนจากนั้นแสดงผลคะแนนดังกล่าว

2. สอบถามผู้ใช้ว่าต้องการทำงานต่อ

หรือไม่(Y/N)

ถ้า Y ให้รับค่าข้อมูลคนต่อไป

ถ้า N ให้ออกจากโปรแกรม


โปรแกรม วนซ้ำ


โจทย์ วนซ้ำ

ให้รับค่าข้อมูล ชื่อ และคะแนนสอบทางแป้นพิมพ์ทีละคน

ถ้าคะแนน 50 ขึ้นไปคือสอบผ่าน ถ้าน้อยกว่า 50 คือสอบไม่ผ่าน

จากนั้นสอบถามผู้ใช้ว่า

ต้องการทำงานต่อหรือไม่(Y/N)

ถ้า Y ให้รับค่าข้อมูลคนต่อไป

ถ้า N ให้ออกจากโปรแกรม

กรุณาระบบชื่อ : som

กรุณาระบุคะแนน : 77

ผลสอบของ somคือ : Pass

ต้องการทำงานต่อหรือไม่ [y/n] : y

กรุณาระบบชื่อ : yai

กรุณาระบุคะแนน : 30

ผลสอบของ yaiคือ : Fail

ต้องการทำงานต่อหรือไม่ [y/n] : n

End Progam



โจทย์สำหรับนักศึกษา วนซ้ำ

ข้อ 1) ให้รับค่าข้อมูล ชื่อ และคะแนนสอบทางแป้นพิมพ์ทีละคน

ถ้าคะแนน 50 ขึ้นไปคือสอบผ่าน

จากนั้นสอบถามผู้ใช้ว่า

ต้องการออกจากโปรแกรมหรือไม่

(Y/N)?

ถ้า Y ให้ออกจากโปรแกรม

ถ้า Nให้รับค่าข้อมูลคนต่อไป

y


โจทย์สำหรับนักศึกษา วนซ้ำ

ข้อ 2 ) เขียนโปรแกรมรับข้อมูลปีเกิด (ระบุเป็นปี พ.ศ.) จากนั้นนำไปคำนวณอายุ แล้วแสดงผล

(ถ้าระบุ ปีมากกว่าหรือเท่ากับปี ปัจจุบันให้แสดงข้อความเตือน ว่า “ท่านระบุข้อมูลผิด”

หลังจากแสดงผล อายุ ให้สอบถามว่า ท่านต้องการออกจากโปรแกรมหรือไม่ [Y/N]

ถ้า y ให้ออกจากโปรแกรม

ถ้า n ให้กลับไปสอบถาม ปีเกิดใหม่อีกครั้ง


โจทย์สำหรับนักศึกษา วนซ้ำ

ข้อ 3) จงเขียนโปรแกรมคำนวณผลบวก ลบ คูณ และหาร จากตัวเลข 2 ตัวที่รับเข้าไปจากผู้ใช้แล้วนำตัวเลข 2 ตัวนี้ไปคำนวณผลตามที่ผู้ใช้ต้องการโดยให้ผู้ใช้เลือกจากหัวข้อดังนี้1. Plus (บวก)

2. Subtract (ลบ)

3. Multiply (คูณ)

4. Divide (หาร)

5. End Program (ออกโปรแกรม)


Break continue
แนะนำคำสั่ง วนซ้ำbreak และ continue

break; ถ้าโปรแกรมพบคำสั่งนี้ จะหลุดออกจากลูปการทำงานทัน

continue; ถ้าโปรแกรมพบคำสั่งนี้ จะทำให้หยุดการทำงานที่จุดนั้นแล้วย้อนกลับไปเริ่มต้นการทำงานที่ต้นลูปใหม่


Break continue1
break continue วนซ้ำ

คำสั่งต่าง ๆ

คำสั่งต่าง ๆ

break;

continue;

คำสั่งต่าง ๆ

คำสั่งต่าง ๆ

เงื่อน

ไข

เงื่อน

ไข

จริง

จริง

เท็จ

เท็จ

คำสั่ง นอกลูป

คำสั่ง นอกลูป


Break continue 1
ตัวอย่าง ทดสอบ วนซ้ำbreak ,continue…. (1)

เขียนคำสังแสดงตัวเลข 1  10


Break continue 2
ตัวอย่าง ทดสอบ วนซ้ำbreak ,continue….(2)

เขียนคำสังแสดงตัวเลข 1 ถึง 10 แต่ไม่แสดงข้อมูล 4 และ 7


Break continue 3
ตัวอย่าง ทดสอบ วนซ้ำbreak ,continue….(3)

จากตัวเลข 1 ถึง 10 ให้แสดงข้อมูล แต่ถ้าข้อมูลเป็นเลข 7 ให้จบโปรแกรม


Break continue2
ตัวอย่าง ทดสอบ วนซ้ำbreak ,continue


Do while
การใช้ วนซ้ำdo….while

  • การใช้ do..while นั้น จะใช้เมื่อเราต้องการเข้าสู่การทำงานของลูป (Loop) อย่างน้อย 1 ครั้ง

    โดยจะวางนิพจน์ทดสอบค่า(เงื่อนไข)ไว้ตอนท้ายของ Loop


Do while1
คำสั่ง วนซ้ำ do…while

start

กำหนดค่าตัวแปรเริ่มต้น

คำสั่งต่าง ๆภายในลูป

ตัวแปรเปลี่ยนแปลงค่า

จริง

เท็จ

เงื่อนไข

End


1 2 3 100 do while
โจทย์ วนซ้ำ : ให้แสดงข้อมูล 1,2,3,.. ,100 (คำสั่ง do…while)

start

int num=1

Print

num

num++

num<=100

เท็จ

จริง

End


Do while2
คำสั่ง วนซ้ำdo…while

รูปแบบ

ตัวแปรกำหนดค่าเริ่มต้น

do{

คำสั่งในลูป; //สามารถมีได้มากกว่า 1 คำสั่ง

คำสั่งเปลี่ยนแปลงค่า;

} while(เงื่อนไข);



โจทย์ วนซ้ำ

  • แสดงข้อมูล 1-100

    2. เขียนโปรแกรมให้รับค่าข้อมูลตัวเลขแล้วแสดงค่าตัวเลขนั้น ทางหน้าจอแต่ถ้าระบุตัวเลขเป็น 999 จึงหยุด


โจทย์ วนซ้ำ

จงเขียนโปรแกรมสามารถรับค่าตัวเลขได้เรื่อย ๆไม่จำกัดจำนวนรอบ เมื่อ User ต้องการจบการทำงาน ให้ป้อนเลข 0 จากนั้น แสดงผลรวม (sum) ตัวเลขทั้งหมดที่ป้อนเข้าไป

และข้อความ “Bye..Bye..End of Program”


ตัวอย่าง วนซ้ำโปรแกรม


โจทย์ วนซ้ำ

เขียนโปรแกรมให้สามารถระบุจำนวน ที่ต้องการ input คะแนน

จากนั้นนำคะแนนที่ input ไปตัดเกรด

0-49 F

50-59 D

60-69 C

70-79 B

80-100 A

เมื่อครบจำนวน ให้แสดงข้อมูล คะแนนและผลเกรดที่ได้



โจทย์สำหรับนักศึกษา วนซ้ำ

ข้อ 4) ให้รับข้อมูลราคา สินค้า(รับทศนิยมได้) และจำนวนสินค้าที่ซื้อของรายการนั้น

โดยสามารถรับราคา และจำนวน ไม่จำกัดจำนวนรอบ

จนกระทั้ง ผู้ใช้ ป้อนข้อมูลเป็น 000 จึงสรุป

ผลรวมของยอดเงิน ที่ต้องจ่าย


การบ้านเพิ่มเติม วนซ้ำ

ให้นำโจทย์ที่ให้เขียนโปรแกรม นำไปเขียน เป็น Flow Chart


1 2 3 100 do while1
โจทย์ วนซ้ำ : ให้แสดงข้อมูล 1,2,3,.. ,100 (คำสั่ง do…while)

start

int num=1

Print

num

num++

num<=100

เท็จ

จริง

End


1 2 3 100 while1
โจทย์ วนซ้ำ : ให้แสดงข้อมูล 1,2,3,.. ,100 (คำสั่ง while)

start

int num=1

num<=100

เท็จ

num++

จริง

Print

num

End


ad