ดาวน์โหลดงานนำเสนอ
งานนำเสนอกำลังจะดาวน์โหลด โปรดรอ
1
Control Statement for while do-while
2
คำสั่ง for
3
คำสั่ง for เมื่อต้องการให้เกิดการทำงานซ้ำ
ใช้เมื่อไหร่ เมื่อต้องการให้เกิดการทำงานซ้ำ เมื่อรู้ว่าจะต้องทำซ้ำกี่ครั้ง ถ้าไม่รู้ว่าทำซ้ำกี่รอบอย่าใช้
4
รูปแบบคำสั่ง for for(initialization;condition;increment) statement;
statement : คำสั่งที่ทำงานใน loop ถ้ามีมากกว่า 1 คำสั่ง ต้องเป็น compound statements อยู่ในเครื่องหมาย { }
5
คำสั่ง for (for Statement) (ต่อ)
for ( initialization; condition; increment ) statement; กำหนดค่าเริ่มต้นให้ตัวแปร เงื่อนไข Y คำสั่ง.... เพิ่มค่าตัวแปร N
6
Ex1 จงเขียนโปรแกรมแสดงการพิมพ์ค่า 1 – 100 ออกทางหน้าจอโดยใช้คำสั่ง for
#include<stdio.h> void main() { int i; for(i=1;i <= 100;i++) printf(“%d\n”,i); } เงื่อนไขในการวนรอบ ถ้ายังไม่ถึง 100 ให้ทำต่อ ให้ค่าเริ่มต้น เพิ่มค่าทีละ 1
7
กฎการใช้คำสั่ง for 1.การเพิ่มค่าในแต่ละรอบจะเป็นเท่าไรก็ได้ เช่น
for(x = 0;x<=100;x+= 5) printf(“%d\n”,x); 2.ในส่วนของการเปลี่ยนค่า นอกจากการเพิ่มค่า (increment) สามารถกำหนดให้มีการลดค่าของตัวแปรที่ใช้ในการวนรอบได้ for(x = 100;x>0;x--)
8
กฎการใช้คำสั่ง (ต่อ) 3.ตัวแปรที่ใช้ในการวนรอบอาจกำหนดให้เป็นชนิด char ได้ for(ch = ‘a’;ch<=‘z’;ch++) printf(“character = %c\n”,ch); 4.ตัวแปรที่ใช้ในการวนรอบ(ควบคุมการทำงาน)มีได้มากกว่า 1 ตัว for(x = 0,y=0;x+y<100;x++,y++) printf(“%d\n”,x+y);
9
กฎการใช้คำสั่ง (ต่อ) 5. ถ้าไม่มีในส่วนของการเปลี่ยนค่าอาจทำให้เกิดเป็น loop ที่ไม่จบสิ้น for(x = 1;x <= 10;) printf(“%d\n”,x); 6. ถ้าไม่มีส่วนใดเลยในคำสั่ง for จะเกิด loop ไม่จบสิ้นเช่นกัน for(;;) // ถึงแม้ไม่มีส่วนใดเลย ก็ยังต้องมีเครื่องหมาย ; printf(“Hello BC322\n”);
10
Ex2 จากโปรแกรม จะได้ผลลัพธ์เป็นอย่างไร
#include <stdio.h> #include <conio.h> void main() { int count; clrscr(); for ( count = 1; count <=5; count++ ) printf( "%d\n", count ); getch(); } ตอบ 1 2 3 4 5
11
Flowchart START count=1 N count<=5 Y STOP Write count Count=Count+1
12
Ex3 จากโปรแกรม จะได้ผลลัพธ์เป็นอย่างไร
#include <stdio.h> #include <conio.h> void main() { int count; clrscr(); for (count = 10; count >= 0; count -= 2) printf( "%2d\n",count ); getch(); } ตอบ 10 ^8 ^6 ^4 ^2 ^0
13
คำสั่ง while และ คำสั่ง do..while
13
14
คำสั่ง while ใช้เมื่อไหร่ เมื่อต้องการให้เกิดการทำงานซ้ำ
ไม่รู้ว่าจะต้องทำซ้ำกี่ครั้ง (รู้ก็ใช้ได้) รู้ว่าทำซ้ำเมื่อไหร่ จะทำงานเมื่อเงื่อนไขเป็นจริง 14
15
รูปแบบ while - เงื่อนไข ใช้สำหรับการเปรียบเทียบ เช็คเงื่อนไขก่อน
{ คำสั่ง; // ถ้ามีมากกว่า 1 คำสั่งต้องมี {} } - เงื่อนไข ใช้สำหรับการเปรียบเทียบ เช็คเงื่อนไขก่อน ถ้าจริง ทำ ถ้าไม่จริง ไม่ทำ ใช้ทำงานแทนคำสั่ง for ได้ 15
16
การใช้ while จะต้องมี 3 สิ่งคือ
ค่าเริ่มต้นการเข้า loop (อาจรับค่าหรือกำหนดค่า) กำหนดเงื่อนไข (loop ทำเมื่อเงื่อนไขเป็นจริง) มีการเปลี่ยนแปลงค่าตัวแปรก่อนวนกลับไปตรวจสอบเงื่อนไข 16
17
เงื่อนไข N Y คำสั่ง while ค่าเริ่มต้นของตัวแปร
อาจรับค่าหรือกำหนดค่าเริ่มต้นก่อนเข้า loop ค่าเริ่มต้นของตัวแปร เงื่อนไข N Y คำสั่ง คำสั่งเพื่อเปลี่ยนค่าตัวแปร ก่อนตรวจสอบเงื่อนไข 17
18
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 18
19
Ex2 จงเขียนโปรแกรม เพื่อรับค่าน้ำหนักเพื่อน 10 คน แล้วหาค่าผลรวมของน้ำหนัก
#include<stdio.h> void main() { int i = 1; float weight,Sum=0; while (i <= 10) printf(“Enter weight : “) scanf(“%f”,&weight); Sum=Sum+weight; i=i+1; } printf(“Sum of weights = %.f”,Sum); getch(); 1 2 3 19
20
Ex3 จงหาผลรวมของเลข 1-10 ตอบ 55 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 ตอบ 55 2 3 20
21
Ex4 โปรแกรมคำนวณค่าเฉลี่ยของคะแนน 3 ค่า
/* Find the average of scores */ #include <stdio.h> #include <conio.h> void main() { int count; float score, total = 0, average; clrscr(); count = 1; while (count <= 3) printf( "Enter score: " ); scanf( "%f", &score ); total =total+ score; count=count+1; } average = total / count; printf( "The average is %.2f\n", average ); Ex4 โปรแกรมคำนวณค่าเฉลี่ยของคะแนน 3 ค่า Enter score: 82.50 Enter score: 84.00 Enter score: 78.50 The average is 1 2 3 21
22
คำสั่ง do..while ใช้เมื่อไหร่ เมื่อต้องการให้เกิดการทำงานซ้ำ
ไม่รู้ว่าจะต้องทำซ้ำกี่ครั้ง (รู้ก็ใช้ได้) รู้ว่าจะหยุดทำเมื่อไหร่ ในครั้งแรกของการทำงานจะไม่มีการทดสอบเงื่อนไข 22
23
รูปแบบdo-while do { คำสั่ง; // ถ้ามีมากกว่า 1 คำสั่งต้องมี {}
คำสั่ง; // ถ้ามีมากกว่า 1 คำสั่งต้องมี {} } while (เงื่อนไข); จะมีการตรวจสอบเงื่อนไข ภายหลังจากทำงานมาแล้ว 1 รอบ 23
24
do..while คำสั่ง เงื่อนไข Y N คำสั่ง 24
25
Ex จงเขียนโปรแกรมแสดงค่า 1 – 10 ออกทางจอภาพ
#include<stdio.h> void main() { int i = 1; do printf(“i = %d”,i); i=i+1; } while (i <= 10); } 25
26
ข้อสรุป for, while, do..while สามารถใช้แทนกันได้
คำสั่งที่ต้องการทำซ้ำ; กำหนดค่าเริ่มต้น; while(เงื่อนไข) { คำสั่งที่ต้องการทำซ้ำ; การเปลี่ยนแปลงค่า; } กำหนดค่าเริ่มต้น; do { คำสั่งที่ต้องการทำซ้ำ; การเปลี่ยนแปลงค่า; }while(เงื่อนไข); 03/04/60 26
27
การใช้งาน loop ในกรณีที่รู้จำนวนรอบ for ,while,do..while
27
28
Ex จงเขียนโปรแกรมเพื่อคำนวณอายุของเพื่อน 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 ใช้ Do while 28
29
แบบ for #include <stdio.h> #include <conio.h> void main()
{ int Year,Age,i; clrscr(); for(i=1;i<=10;i++) printf(“Enter Year%d : “,i); scanf(“%d”,&Year); Age=2553-Year; printf(“Student%d is %d year\’s old\n”,i,Age); } getch(); 29
30
แบบ while #include <stdio.h> #include <conio.h>
void main() { int Year,Age,i; i=1; while (i<=10) printf(“Enter Year%d : “,i); scanf(“%d”,&Year); Age=2553-Year; printf(“Student%d is %d year\’s old\n”,i,Age); i=i+1; } getch(); แบบ while 30
งานนำเสนอที่คล้ายกัน
© 2024 SlidePlayer.in.th Inc.
All rights reserved.