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

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

คำสั่งควบคุมการทำงาน

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


งานนำเสนอเรื่อง: "คำสั่งควบคุมการทำงาน"— ใบสำเนางานนำเสนอ:

1 คำสั่งควบคุมการทำงาน
Lecture 6 คำสั่งควบคุมการทำงาน To do: Hand back assignments Give out handouts to anybody who missed them last class Quick comments on PS3 Quick comments on grades READING: S+S: Appendix C

2 Objectives if statement switch statement break statement
while statement continue statement do-while statement for statement end program command No problem…that’s just about a semester worth of material in 80 minutes.

3 ในการเขียนโปรแกรมทุกภาษานั้น สิ่งที่พบเสมอในโปรแกรม ประกอบไปด้วยรูปแบบการเขียนโปรแกรม 2 ประเภทดังนี้
1. การเขียนโปรแกรมแบบมีการตัดสินใจ(Decision Statement) ซึ่งจะมีอยู่ 2 คำสั่ง ได้แก่ if และ switch - case 2. การเขียนโปรแกรมวนรอบการทำงาน(Iteration Statement) ซึ่งจะมีอยู่ 3 คำสั่ง ได้แก่ while , do-while และ for และยังมีคำสั่ง break ,continue และ exit เพื่อใช้ในการออกจากโปรแกรม

4 6.1 if statement คำสั่ง if คือคำสั่งสำหรับใช้เลือกทำคำสั่งโดยอาศัยการตรวจสอบจากเงื่อนไข(condition) มีรูปแบบการใช้งานดังนี้ if (condition) statement 1 หรือ else statement 2 กรณีที่มี จำนวน statement มากว่า 1 จะต้องมีวงเล็บปีกกาเป็นตัวกำหนด เช่น if (condition) {statement 1; statement 2; } else {statement 3; statement 4 ;} condition = เงื่อนไขที่ใช้ในการตรวจสอบ statement = คำสั่งดำเนินการ

5 กฎของคำสั่ง if ค่าที่เป็นเงื่อนไข(condition) จะต้องคร่อมด้วยวงเล็บเสมอ ค่าดังกล่าวอาจใช้ตัวแปร นิพจน์ หรือฟังก์ชันใส่ในจุดดังกล่าว จะทำ statement1เมื่อค่าที่ได้จากการตรวจสอบมีค่าไม่เท่ากับ 0 (จริง) จะทำ statement2เมื่อค่าที่ได้จากการตรวจสอบมีค่าเท่ากับ 0 (เท็จ) ค่าที่ได้จากการตรวจสอบจะต้องเป็นจำนวนเต็มเท่านั้น ในกรณีที่มี statement มากว่า 1 ให้คร่อม ด้วย { } ใช้คำ else โดดๆ โดยไม่มี else ไม่ได้

6 คำสั่งตัดสินใจ if…else
เงื่อนไข เท็จ จริง statement 1 statement 2

7 ตัวอย่างการใช้งาน if…else
#include <iostream.h> int main() { int n, d; cout << "Enter two integers: "; cin >> n >> d; if (n>=d) cout << n << " is greater than " << d << endl; else cout << n << " is less than " << d << endl; return 0; }

8 6.2 เงื่อนไขซ้อน คำสั่ง if ซึ่งเป็นการตัดสินใจที่มีมากกว่า 1 เงื่อนไขซ้อนกันมีรูปแบบการใช้งานดังนี้ if(condition1) statement1 if(condition2) statement2 else statement 3 else statement3 สามาเขียนได้เป็น if (condition1) statement 1 else if (condition2) statement 2

9 คำสั่งตัดสินใจ nest…if
เท็จ เงื่อนไข จริง statement 1 เท็จ เงื่อนไข จริง statement 2 statement 3

10 ตัวอย่างการใช้งาน #include <iostream.h> int main(){ int score;
cout << "Enter the test score: "; cin >> score; if (score > 100) cout << "Error: score is out of range."; else if (score >= 90) cout << 'A'; else if (score >= 80) cout << 'B'; else if (score >= 70) cout << 'C'; else if (score >= 60) cout << 'D'; else if (score >= 0) cout << 'F'; else cout << "Error: score is out of range."; return 0; }

11 6.3 switch case statement คำสั่ง switch คือคำสั่งสำหรับใช้เลือกตำแหน่งเริ่มต้นของคำสั่งที่ทำงานภายในกลุ่ม โดยอาศัยการตรวจสอบจากเงื่อนไข(condition) มีรูปแบบการใช้งานดังนี้ switch(variable){ case constant 1: statement; statement; … break; case constant 2: statement; statement; … break; case constant n: statement; statement; … break; default: statement } variable = ตัวแปรเก็บค่าของข้อมูล constant = ค่าคงที่ break = ออกจาก switch เมื่อเจอคำสั่ง break statement = คำสั่งดำเนินการ

12 กฎของคำสั่ง switch-case
ค่าที่ได้จากการตรวจสอบจะต้องเป็นจำนวนเต็มเท่านั้น ค่าดังกล่าวอาจใช้ตัวแปร นิพจน์ หรือฟังก์ชันใส่ในจุดดังกล่าว ตำแหน่งหลังเครื่องหมาย (:) หลังคำสงวน case คือตำแหน่งเริ่มทำงานของคำสั่ง ในกรณีที่ไม่มีใดตรงกับค่าตรวจสอบโปรแกรมจะกระโดไปทำ statement ที่อยู่หลัง default สามารถมี statement หลัง case ได้มากว่า 1 คำสั่ง

13 ตัวอย่างการใช้งาน switch-case
#include <iostream.h> int main(){ int score; cout<<“Enter the test score: “; cin>>score; switch (score/10){ case 10: case 9: cout << ‘A’ <<endl; << break; case 8: cout << ‘B’ <<endl; << break; case 7: cout << ‘C’ <<endl; << break; case 6: cout << ‘D’ <<endl; << break; case 5: case 4: case 3: case 2: case 1: case 0: cout << ‘F’ <<endl; <<break; default : cout << “Error: Score is out of range. \n”; }

14 6.4 for statement คำสั่ง for คือคำสั่งสำหรับใช้วนรอบในการทำ statement
for (initial ; condition ; update){ statement 1; statement 2; statement n; } initial = กำหนดค่าเริ่มต้นให้ตัวแปร condition = เงื่อนไขตรวจสอบการทำงาน update = การเพิ่มหรือลดค่าของนิพจน์

15 กฎของคำสั่ง for เมื่อโปรแกรมทำงานมาถึงคำสั่ง for จะมีการกำหนดค่าเริ่มต้น initial แล้วจึงตรวจสอบว่าค่าเป็นเท็จหรือไม่ ถ้าเป็นเท็จจะออกจาก for แต่ถ้าเป็นจริงทำ statement ที่อยู่ภายใน เมื่อทำ statement ที่อยู่ภายในเสร็จจะกลับมาทำการ update ค่าของตัวแปร และกลับมาตรวจสอบเงื่อนไข วนเช่นนี้เรื่อยไป จะตรวจสอบจนกว่าจะตรวจสอบได้ค่าเป็น 0(เท็จ) จะตรวจสอบจนกว่าจะตรวจสอบได้ค่าเป็น 0 (ในรอบที่ตรวจสอบ ถ้าค่าได้เป็น 0 จะไม่มีการทำ statement ค่าที่ใช้ในการตรวจสอบ condition จะต้องเป็นจำนวนเต็ม ซึ่งอาจใช้ตัวแปร หรือ นิพจน์ หรือฟังก์ชันในจุดดังกล่าวได้

16 ตัวอย่างการใช้งาน for
//โปรแกรมหาผลรวมยกกำลังสอง #include <iostream.h> int main() { int n, sum = 0; cout << "Enter a positive integer: "; cin >> n; for (int i = 1; i <= n; i++) sum += i*i; cout << "The sum of the first " << n << " squares is " << sum << endl; return 0; }

17 ตัวอย่างการใช้งาน for
//โปรแกรมหาค่าแฟคทอเรียล #include <iostream.h> int main() { int n, f = 1; cout << "Enter a positive integer: "; cin >> n; for (int i = 2; i <= n; i++) f *= i; cout << n << " factorial is " << f << endl; return 0; }

18 6.5 while statement คำสั่ง while คือคำสั่งสำหรับใช้วนรอบในการทำ statement โดยจะทำการตรวจสอบ condition ถ้าผลการตรวจสอบเป็นจริง(true) มีค่าไม่เท่ากับศูนย์ statement จึงจะได้รับการประมวลผล และกลับมาตรวจสอบ condition ใหม่ จนกว่าค่าตรวจสอบจะเป็นเท็จ(false) จึงจะจบการทำงาน while (condition){ statement 1; statement 2; statement n; } condition = เงื่อนไขตรวจสอบการทำงาน statement = ประโยคคำสั่งที่ต้องการให้ประมวลผล

19 กฎของคำสั่ง while จะมีการตรวจสอบก่อนทำ statement ในแต่ละรอบ
ค่าที่ใช้ในการตรวจสอบ condition จะต้องเป็นจำนวนเต็ม ซึ่งอาจใช้ตัวแปร หรือ นิพจน์ หรือฟังก์ชันในจุดดังกล่าวได้

20 ตัวอย่างการใช้งาน while
//โปรแกรมหาของจำนวนยกกำลัง 3 เมื่อกด 0 จะออกจากโปรแกรม #include <iostream.h> int main() { int n; cout << "Enter positive integers. Terminate with 0.\n\t: "; cin >> n; while (n > 0) { cout << n << " cubed is " << n*n*n << "\n\t: "; } return 0;

21 Lab in class while statement
ทำการเขียนโปแกรมตามผลรวมยกกำลังสอง ตามสมการด้านล่าง ผลรวมให้เก็บไว้ในตัวแปร ชื่อ sum ค่าที่ป้อนให้เป็นจำนวนเต็มอย่างเดียว

22 6.6 do…while statement คำสั่ง do…while จะคล้ายกับคำสั่ง while แต่ต่างตรงที่จะทำ statement ก่อนตรวจสอบเงื่อนไข ดังนั้นจะมีการทำงานก่อน 1 ครั้งเสมอ do{ statement 1; statement 2; statement n; } while(condition); condition = เงื่อนไขตรวจสอบการทำงาน statement = ประโยคคำสั่งที่ต้องการให้ประมวลผล

23 กฎของคำสั่ง do…while จะตรวจสอบหลังทำ statement แล้ว
ค่าที่ใช้ในการตรวจสอบ condition จะต้องเป็นจำนวนเต็ม ซึ่งอาจใช้ตัวแปร หรือ นิพจน์ หรือฟังก์ชันในจุดดังกล่าวได้

24 ตัวอย่างการใช้งาน do…while
//โปรแกรมหาค่าแฟคทอเรียล #include <iostream.h> int main() { int n, f = 1; cout << "Enter a positive integer: "; cin >> n; cout << n << " factorial is "; do { f *= n; n--; } while (n > 1); cout << f << endl; return 0; }

25 6.7 break statement คำสั่ง break เราเรียนรู้มาแล้วว่ามันสมารถใช้ร่วมกับ switch ได้ แต่เมื่อเรานำมาประยุกต์ในการวนลูป คำสั่ง break ก็จะช่วยในการออกจากลูป(Loop) การทำงาน while (1) { if (i > n) break; // loop stops here when i > n sum += i*i; i++; }

26 6.8 continue statement คำสั่ง continue จะเป็นคำสั่งให้ไปเริ่มต้นทำงานที่ลูปใหม่ ส่วนคำสั่ง break ก็จะช่วยในการออกจากลูป(Loop) การทำงาน #include <iostream.h> int main() { int n; for (;;) { cout << "Enter int: "; cin >> n; if (n%2 == 0) continue; else if (n%3 == 0) break; cout << "\tBottom of loop.\n"; } cout << "\tOutside of loop.\n"; return 0;

27 6.9 goto statement คำสั่ง break ,continue และ switch เป็นคำสั่งที่ให้โปรแกรมออกไปทำงานที่จุดอื่นที่ไม่ใช้ตำแหน่งที่โปรแกรมจะต้องทำงานตามปรกติ โดยขึ้นอยู่กับแต่ละคำสั่งคำสั่ง break มีจุดหมายปลายทางคือคำสั่งถัดไปที่อยู่นอกลูป(Loop) การทำงาน ,continue คือเริ่มต้นลูปใหม่อีกครั้ง, switch จะกระโดดไปตำแหน่งที่ตรงกับตัวเลือก คำสั่งทั้งสามจะเป็นคำสั่งที่ทำให้โปรแกรมกระโดดข้ามการทำงาน statement อื่นๆ ตามปรกติ เพื่อไปยังจุดหมายปลายทางตามคำสั่งนั้น คำสั่ง goto เป็นคำสั่งกระโดดข้ามการทำงานอีกคำสั่งหนึ่ง ซึ่งตำแหน่งที่ต้องการจะกระโดดไปจะต้องระบุไว้ด้วยป้ายชื่อ(Label) กฎการตั้งชื่อ จะต้องถูกต้องตามกฎการตั้งชื่อ และหลังชื่อจะต้องลงท้ายด้วยทวิภาค(:)

28 ตัวอย่างการใช้งาน goto
//โปรแกรมการหลุดจากลูปซ้อน #include <iostream.h> int main() { int a, b, c; cin >> a >> b >> c; for (int i = 0; i < a; i++) { for (int j = 0; j < b; j++) for (int k = 0; k < c; k++) if (i*j*k > 100) goto esc; else cout << i*j*k << " "; esc: cout << endl; } return 0;

29 Lab in class mix ให้นักศึกษาทำการเขียนโปรแกรมเพื่อคาดเดาเลข 1,2,3 ว่าค่าจะเป็นเลขตัวไหน ค่าที่ป้อนให้เป็นจำนวนเต็มอย่างเดียว ถ้าเลือกค่าถูกต้องให้แสดงข้อความ You Win! ถ้าป้อนค่าไม่ถูกให้แสดงข้อความ You Lose! พร้อมกับป้อนค่าใหม่จนกว่าจะถูก

30 Lab in class mix //hint #include <stdlib.h>
#include <stdio.h> #include <time.h> void main(void){ int i; /* Seed the random-number generator with current time so that * the numbers will be different every time we run. */ unsigned seed = time(NULL); srand(seed); /* Display 1,2,3 numbers. */ for( i = 0; i < 10;i++ ) printf( " %d \n", rand()%3+1); }


ดาวน์โหลด ppt คำสั่งควบคุมการทำงาน

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


Ads by Google