บทที่
This presentation is the property of its rightful owner.
Sponsored Links
1 / 40

บทที่ 5 PowerPoint PPT Presentation


  • 60 Views
  • Uploaded on
  • Presentation posted in: General

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

Download Presentation

บทที่ 5

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 6036302

บทที่ 5

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

คำสั่ง while

คำสั่ง do….while


Control structure

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

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

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

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

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


5 6036302

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

  • คำสั่ง 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 คำสั่ง

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

}


5 6036302

ตัวอย่าง

ให้แสดงข้อมูล 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


5 6036302

แบบฝึกหัด

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

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

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


5 6036302

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

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

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

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

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


5 6036302

ตัวอย่างแบบ ที่ 1 :


String

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

ตัวอย่าง

String x=“yes”;

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

รูปแบบ

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

x.equals(“yes”)

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

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


5 6036302

ตัวอย่างแบบ ที่ 2 :


5 6036302

โจทย์

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

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

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

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

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


5 6036302

โปรแกรม


5 6036302

โจทย์

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

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

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

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

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

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

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

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

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

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

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

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

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

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

End Progam


5 6036302

ตัวอย่างโปรแกรม


5 6036302

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

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

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

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

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

(Y/N)?

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

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

y


5 6036302

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

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

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

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

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

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


5 6036302

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

ข้อ 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(เงื่อนไข);


5 6036302

เปรียบเทียบ


5 6036302

โจทย์

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

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


5 6036302

โจทย์

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

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


5 6036302

ตัวอย่างโปรแกรม


5 6036302

โจทย์

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

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

0-49F

50-59D

60-69C

70-79B

80-100A

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


5 6036302

ตัวอย่างโปรแกรม


5 6036302

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

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

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

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

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


5 6036302

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

ให้นำโจทย์ที่ให้เขียนโปรแกรม นำไปเขียน เป็น 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


  • Login