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

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

หลักสูตรอบรมครู คอมพิวเตอร์ หลักสูตรอบรมครู คอมพิวเตอร์ หลักสูตรที่ ๑ ทักษะการโปรแกรม เบื้องต้น วันที่สาม.

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


งานนำเสนอเรื่อง: "หลักสูตรอบรมครู คอมพิวเตอร์ หลักสูตรอบรมครู คอมพิวเตอร์ หลักสูตรที่ ๑ ทักษะการโปรแกรม เบื้องต้น วันที่สาม."— ใบสำเนางานนำเสนอ:

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


ดาวน์โหลด ppt หลักสูตรอบรมครู คอมพิวเตอร์ หลักสูตรอบรมครู คอมพิวเตอร์ หลักสูตรที่ ๑ ทักษะการโปรแกรม เบื้องต้น วันที่สาม.

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


Ads by Google