ดาวน์โหลดงานนำเสนอ
งานนำเสนอกำลังจะดาวน์โหลด โปรดรอ
ได้พิมพ์โดยChirawan Kitjakarn ได้เปลี่ยน 10 ปีที่แล้ว
1
หลักสูตรอบรมครู คอมพิวเตอร์ หลักสูตรอบรมครู คอมพิวเตอร์ หลักสูตรที่ ๑ ทักษะการโปรแกรม เบื้องต้น วันที่สาม
2
การวนซ้ำ การวนซ้ำเกิดการรวมงานที่เกิดขึ้นซ่ำ ๆ กัน เข้ามา
3
คำสั่งลูป while รูปแบบ while ( นิพจน์เงื่อนไข ) { คำสั่งที่วนลูป ; ………… compound statements …………. } คำสั่ง loop หรือคำสั่ง วนซ้ำ
4
ผังการทำงานคำสั่งลูป while Expression statement true false ตรวจสอบเงื่อนไขก่อน
5
ตัวอย่าง : หาผลรวมของเลข 1 ถึง 10 sum = 0; i = 1; while (i<=10) { sum += i; i++; } i=i+1 sum = sum+i i = 1 sum = 0 T F i<=10
6
void main ( ) { int i ; i = 0 ; while ( i < 10 ) { printf (“I love C Programming \n”) ; i = i + 1 ; } ตัวอย่าง โปรแกรมแสดงการใช้ คำสั่งลูป while วนรอบทำซ้ำ 10 ครั้ง
7
void main ( ) { int i =1 ; while (i < 10) printf (“I Love C Programming\n”); } ข้อถึงระวัง คำสั่งลูป while วนรอบ ทำซ้ำไม่รู้จบ เกิดขึ้นได้เพราะเหตุใด ? อธิบาย
8
รูปแบบ for ( exp1 ; exp2 ; exp3 ) { คำสั่งวนรอบ ; ……. } เป็นคำสั่งที่ใช้ในการควบคุมให้มีการวนรอบ คำสั่งหลาย ๆ รอบ โดยนิพจน์ที่ 1 คือการกำหนดค่าเริ่มต้นให้กับตัว แปรที่ใช้ในการวนรอบ นิพจน์ที่ 2 เป็นการเปรียบเทียบ ก่อนที่จะวนรอบถ้า เงื่อนไขของนิพจน์ เป็นจริงจะมีการทำงานตามคำสั่งวนรอบ นิพจน์ที่ 3 เป็นคำสั่งในการ กำหนดค่าที่จะเปลี่ยนแปลงไปในแต่ละรอบ for
9
for Loop Operation for loop statements loop Condition (Exp2) false true loop initialise Statement (Exp1) loop completion Statement (Exp3)
10
ตัวอย่าง : หาผลรวมของเลข 1 ถึง 10 for (sum=0,i=1; i<=10; i++ ) sum += i; T F i=i+1 i<=10 sum = sum+i i = 1 sum = 0
11
void main ( ) { int n ; for (n = 5 ; n > 0 ; n--) printf(“%d\n”,n); } ตัวอย่าง โปรแกรมแสดงการลดค่าตัว แปรทีละหนึ่งในแต่ละรอบของการทำงาน ในคำสั่งลูป for
12
void main ( ) { int n ; for (n = 2 ; n < 10 ; n += 3) printf(“%d\n”,n); } ตัวอย่าง โปรแกรมแสดงการเพิ่มค่าตัว แปรทีละ 3 ในแต่ละรอบของการทำงานใน คำสั่งลูป for
13
รูปแบบ do statement; while ( นิพจน์เงื่อนไข ); เช่น num = 2; do { num++; printf(“Now no is %d\n”,num); } while (num == 10) do-while
14
ตัวอย่าง : หาผลรวมของเลข 1 ถึง 10 i = 0 sum = 0 sum=sum+i i=i+1 F i<10 T sum = 0; i = 0; do { i++; sum += i; } while (i<10);
15
while vs do-while the while statement tests a condition at the start of the loop the do-while statement tests a condition at the end of the loop
16
คำสั่ง break ใช้เมื่อต้องการให้การทำงานสามารถหลุดออกจากลูปและกระโดด ไปยังคำสั่งที่อยู่นอกลูปทันที โดยไม่ต้องตรวจสอบเงื่อนไขใด ๆ คำสั่ง continue ใช้เมื่อต้องการให้การทำงานนั้น ย้อนกลับไปวนรอบใหม่อีกครั้ง ซึ่งมีลักษณะที่ตรงข้ามกับคำสั่ง break break และ continue
17
Activity Number = 5; while (Number > 0) { Sum = Sum + Number ; Number = Number - 1 ; } printf(“The sum is %c\n”, Sum); what will the following code output?
18
Activity Break
19
Activity Feedback Number = 5; while (Number > 0) { Sum = Sum + Number ; Number = Number - 1 ; } printf(“The sum is %c\n”, Sum); output depends on initial value of Sum if Sum is zero at start: “The sum is 15” must always initialise a sum to zero!
20
Activity Sum = 0 ; while (Number > 0) { Sum = Sum + Number ; Number = Number - 1; } printf(“The sum is %c\n”, Sum); what will the following code output?
21
Activity Break
22
Activity Feedback output depends on initial value of Number must initialise variables in while condition! Sum = 0 ; while (Number > 0) { Sum = Sum + Number ; Number = Number - 1; } printf(“The sum is %c\n”, Sum);
23
Activity Sum = 0 ; Number = 5; while (Number > 0) { Sum = Sum + Number ; Number++; } printf(“The sum is %c\n”, Sum); What will the following code output?
24
Activity Break
25
Activity Feedback loop will never end – an infinite loop this is a logic error! Always check loop conditions carefully. Sum = 0 ; Number = 5; while (Number > 0) { Sum = Sum + Number ; Number++; } printf(“The sum is %c\n”, Sum);
26
คำสั่ง goto ประกอบด้วย 2 ส่วน คือ - ตัวคำสั่ง goto เป็นคำสั่งให้กระโดดไปยังตำแหน่งที่กำหนด โดยจะกำหนดเป็นชื่อ เรียกว่า label name - ชื่อ (label name) เป็นตัวกำหนดตำแหน่งที่คำสั่งจะกระโดด ไปทำงาน ข้อควรระวัง ! คำสั่งนี้ถือเป็นคำสั่งที่ควรหลีกเลี่ยงในการเขียนโปรแกรม แต่ถ้าจำเป็นหรือหลีกเลี่ยงไม่ได้เท่านั้น จึงจะใช้คำสั่งนี้ goto และ label
27
#include main() { int sum,n; for(n=1;n<10;n++) if (n==5) goto part1; else printf(“%d\n”,n); part1 : printf(“Interrupt with no. 5\n”); } ตัวอย่าง goto
28
Activity: ต้องการโปรแกรมที่หาผลรวม ของเลขจำนวนเต็ม โดยโปรแกรมจะหยุดเมื่อ กด -9 is the following logic OK? Sum = 0 ; do { printf(“Enter a number (-9 to quit) ==> “); scanf(“%d”, Number); Sum = Sum + Number; } while (Number != -9); printf(“Sum = %d”, Sum); if not, fix it.
29
Activity Break
30
Activity Feedback ต้องการโปรแกรมที่หาผลรวมของเลขจำนวนเต็ม โดย โปรแกรมจะหยุดเมื่อกด -9 the problem with the logic is that it will include –9 in the sum – it should be: Sum = 0 ; do { printf(“Enter a number (-9 to quit) ==> “); scanf(“%d”, Number); if (Number != -9) Sum = Sum + Number; } while (Number != -9); printf( “Sum = %d”, Sum); note: you will often see loop conditions repeated in do-while statements
31
Activity Number = 5 ; Sum = 0 ; do { Sum += Number ; Number-- ; } while (Number > 0) ; Code the following as a while loop: ให้เปลี่ยน do-while loop เป็น while loop
32
Activity Break
33
Activity Feedback Number = 5 ; Sum = 0 ; while (Number > 0) { Sum += Number ; Number-- ; } note: loop condition remains the same... loop condition controls value of variable during the final trip through the loop – so, it should be the same
34
while vs do-while difference between while and do-while is that while allows for the possibility that the task in the loop is performed 0 times with do-while, the task in the loop is performed at least once hence, while is more flexible - that’s why we started with it
งานนำเสนอที่คล้ายกัน
© 2024 SlidePlayer.in.th Inc.
All rights reserved.