งานนำเสนอกำลังจะดาวน์โหลด โปรดรอ

งานนำเสนอกำลังจะดาวน์โหลด โปรดรอ

คำสั่ง while และ คำสั่ง do..while

งานนำเสนอที่คล้ายกัน


งานนำเสนอเรื่อง: "คำสั่ง while และ คำสั่ง do..while"— ใบสำเนางานนำเสนอ:

1 คำสั่ง while และ คำสั่ง do..while
BC322 ครั้งที่ 5 คำสั่ง while และ คำสั่ง do..while BC322 : Computer Programming (ครั้งที่ 5)

2 คำสั่ง while จะใช้เมื่อ... เมื่อต้องการให้เกิดการทำงานซ้ำ
การทำงานซ้ำ : รู้จำนวนรอบหรือไม่รู้จำนวนรอบการทำงานก็ทำได้ เช็คเงื่อนไขก่อน ถ้าจริง ทำ ถ้าไม่จริง ไม่ทำ ใช้ทำงานแทนคำสั่ง for ได้ BC322 : Computer Programming (ครั้งที่ 5)

3 รูปแบบ คำสั่งwhile while (เงื่อนไข) { คำสั่ง1; คำสั่ง2; ..... }
BC322 : Computer Programming (ครั้งที่ 5)

4 การใช้ while จะต้องมี 3 สิ่งคือ
ค่าเริ่มต้นการเข้า loop (อาจรับค่าหรือกำหนดค่า) กำหนดเงื่อนไข (loop ทำเมื่อเงื่อนไขเป็นจริง) มีการเปลี่ยนแปลงค่าตัวแปรก่อนวนกลับไปตรวจสอบเงื่อนไข BC322 : Computer Programming (ครั้งที่ 5)

5    เงื่อนไข N Y while คำสั่ง ...
อาจรับค่าหรือกำหนดค่าเริ่มต้นก่อนเข้า loop ค่าเริ่มต้นของตัวแปร เงื่อนไข N Y คำสั่ง ... คำสั่งเพื่อเปลี่ยนค่าตัวแปร ก่อนตรวจสอบเงื่อนไข BC322 : Computer Programming (ครั้งที่ 5)

6 แบบที่ 1 กรณีที่รู้จำนวนรอบในการทำงาน
BC322 : Computer Programming (ครั้งที่ 5)

7 Ex1 จงเขียนโปรแกรมแสดงค่า 1 – 10 ออกทางจอภาพ
#include<stdio.h> void main() { int i = 1; while (i <= 10) printf(“i = %d”,i); i=i+1; } getch(); 1 2 3 BC322 : Computer Programming (ครั้งที่ 5)

8 Ex2 จงเขียนโปรแกรม เพื่อรับค่าน้ำหนักเพื่อน 20 คน แล้วหาค่าผลรวมของน้ำหนัก
Input : Output : START ตัวอย่างผลรัน Enter weight : 45.7 Enter weight : 67.2 .... Sum of weight = kg. BC322 : Computer Programming (ครั้งที่ 5)

9 Solution BC322 : Computer Programming (ครั้งที่ 5)

10 ตอบ........... Ex3 จงหาผลรวมของเลข 1-10 1 2 3 #include <stdio.h>
#include <conio.h> void main() { int num, sum; clrscr(); num = 1; sum = 0; while (num <= 10) sum =sum+ num; num=num+1; } printf( "%d\n", sum ); 1 ตอบ 2 3 BC322 : Computer Programming (ครั้งที่ 5)

11 float score, total ............, average;
/* Find the average of scores */ #include <stdio.h> void main() { int count; float score, total , average; while ( ) printf( "Enter score: " ); scanf( ); total =total+ score; } average = printf( "The average is %6.2f\n", average ); Ex4 โปรแกรมคำนวณค่าเฉลี่ยของคะแนน 3 ค่า จงเติมคำสั่งที่ขาดหายไป BC322 : Computer Programming (ครั้งที่ 5)

12 แบบที่ 2 กรณีที่ไม่รู้จำนวนรอบในการทำงาน
BC322 : Computer Programming (ครั้งที่ 5)

13 Ex5 โปรแกรมเพื่อรับค่าอายุเพื่อน แต่จะหยุดรับเมื่ออายุเป็นเลข 0 แล้วหาค่าผลรวมอายุ
#include<stdio.h> void main() { int age,Sum=0; printf(“Enter Age (0 to stop) : “); scanf(“%d”,&age); while (age != 0) Sum=Sum+age; } printf(“Summary is %d”,Sum); 1 2 3 BC322 : Computer Programming (ครั้งที่ 5)

14 START Flowchart Ex5 BC322 : Computer Programming (ครั้งที่ 5)

15 Ex6 ร้านขายของแห่งหนึ่งต้องการเขียนโปรแกรมเพื่อคำนวณหายอดเงินที่ลูกค้าจะต้องชำระภายหลังจากการซื้อสินค้า โดยจะหยุดการทำงานเมื่อจำนวนสินค้าเป็น 0 ตัวอย่างการรับค่าและแสดงผล Enter amount : 2 Enter price : 20 You must pay 40 baht * * * * * * * * * * * * * * * * * * Enter amount : 8 Enter price : 60 You must pay 480 baht Enter amount : 0 Thank you Input : Output : BC322 : Computer Programming (ครั้งที่ 5)

16 Solution Ex6 BC322 : Computer Programming (ครั้งที่ 5)

17 คำสั่ง do..while จะใช้เมื่อ ..... เมื่อต้องการให้เกิดการทำงานซ้ำ
ไม่รู้ว่าจะต้องทำซ้ำกี่ครั้ง (รู้ก็ใช้ได้) รู้ว่าจะหยุดทำเมื่อไหร่ ในครั้งแรกของการทำงานจะไม่มีการทดสอบเงื่อนไข(ทำฟรี 1 รอบ) BC322 : Computer Programming (ครั้งที่ 5)

18 รูปแบบdo-while จะมีการตรวจสอบเงื่อนไข ภายหลังจากทำงานมาแล้ว 1 รอบ do {
คำสั่ง1; คำสั่ง2; ... } while (เงื่อนไข); จะมีการตรวจสอบเงื่อนไข ภายหลังจากทำงานมาแล้ว 1 รอบ BC322 : Computer Programming (ครั้งที่ 5)

19 คำสั่ง เงื่อนไข Y N คำสั่ง flowchart do..while
BC322 : Computer Programming (ครั้งที่ 5)

20 Ex7 จงเขียนโปรแกรมแสดงค่า 1 – 10 ออกทางจอภาพ
#include<stdio.h> void main() { int i = 1; do printf(“i = %d”,i); i=i+1; } while (i <= 10); } BC322 : Computer Programming (ครั้งที่ 5)

21 จากนั้นให้ขึ้นข้อความ Do you want to continue (‘Y/N’) ?
Ex 8 จงเขียนโปรแกรมเพื่อรับค่าตัวเลข 1 จำนวนเพื่อตรวจสอบว่าเป็นเลขคู่(Even number) หรือเป็นเลขคี่(Odd Number) จากนั้นให้ขึ้นข้อความ Do you want to continue (‘Y/N’) ? เพื่อถามว่าต้องการจะรับค่าตัวเลขตัวถัดไปหรือไม่ ถ้าผู้ใช้กดปุ่ม Y จะให้มีการรับค่าตัวเลขถัดไป ถ้าผู้ใช้กดปุ่ม N โปรแกรมจะจบการทำงาน ตัวอย่างการรับค่าและแสดงผล Enter Number : 20 20 is even number Do you want to continue(Y/N) : Y * * * * * * * * * * * * * * * * * * Enter amount : 15 15 is odd number Do you want to continue(Y/N) : N BC322 : Computer Programming (ครั้งที่ 5)

22 Solution Ex8 BC322 : Computer Programming (ครั้งที่ 5)

23 +++ข้อสรุป+++ for, do, do..while สามารถใช้แทนกันได้
คำสั่งที่ต้องการทำซ้ำ; กำหนดค่าเริ่มต้น; while(เงื่อนไขที่เป็นจริง) { คำสั่งที่ต้องการทำซ้ำ; การเปลี่ยนแปลงค่า; } กำหนดค่าเริ่มต้น; do { คำสั่งที่ต้องการทำซ้ำ; การเปลี่ยนแปลงค่า; }while(เงื่อนไขที่เป็นจริง); BC322 : Computer Programming (ครั้งที่ 5)

24 การใช้งาน loop ในกรณีที่รู้จำนวนรอบ  for ,while,do..while
BC322 : Computer Programming (ครั้งที่ 5)

25 ตัวอย่าง เปรียบเทียบ for, while
Ex9 โปรแกรมแสดงคำว่า Hello 5 ครั้ง #include<stdio.h> void main() { for(i=1;i<=5;i++) printf(“Hello\n”); printf(“*******\n”); } #include<stdio.h> void main() { i=1; while(i<=5) printf(“Hello\n”); printf(“*******\n”); i=i+1; } BC322 : Computer Programming (ครั้งที่ 5)

26 Ex10 จงเขียนโปรแกรมเพื่อคำนวณอายุของเพื่อน 10 คน โดยจะต้องรับปี พ. ศ
ตัวอย่างการรับค่าและแสดงผลทางหน้าจอ Enter Year1 : 2530 Student1 is 20 year’s old. * * * * * * * * * * * * * * * * * * * * Enter Year2 : 2532 Student1 is 18 year’s old. .... Enter Year10 : 2528 Student1 is 22 year’s old. เขียนโปรแกรม 2 ข้อ ใช้ for ใช้ while BC322 : Computer Programming (ครั้งที่ 5)

27 Solution Ex10 แบบ for BC322 : Computer Programming (ครั้งที่ 5)

28 Solution Ex10 แบบ while BC322 : Computer Programming (ครั้งที่ 5)

29 คราวหน้า Test เรื่อง while (ก่อนเรียน)
BC322 : Computer Programming (ครั้งที่ 5)


ดาวน์โหลด ppt คำสั่ง while และ คำสั่ง do..while

งานนำเสนอที่คล้ายกัน


Ads by Google