ดาวน์โหลดงานนำเสนอ
งานนำเสนอกำลังจะดาวน์โหลด โปรดรอ
1
ใช้สำหรับ Turbo C++ Version 3.0
การควบคุมทิศทางการทำงานของโปรแกรม Control Structure (Selection) (บทที่ 4) ใช้สำหรับ Turbo C++ Version 3.0
2
การควบคุมทิศทางการทำงานของโปรแกรม
การควบคุมทิศทางการทำงานแบบเลือกทำ if, if-else, if-else if, switch การควบคุมทิศทางการทำงานแบบวนรอบ while, do-while, for คำสั่งประกอบการควบคุมทิศทาง break, continue, exit()
3
การควบคุมทิศทางแบบเลือกทำ if
condition : เงื่อนไขที่ให้ผลลัพธ์เป็น true หรือ false statement : คำสั่งที่จะให้ทำหากผลลัพธ์ของเงื่อนไขเป็น true หากมีคำสั่งมากกว่าหนึ่งคำสั่งจะะต้องมีเครื่องหมายปีกกาครอบคำสั่งไว้
4
ตัวอย่างการใช้งาน if age = 25 ผลลัพธ์ที่ได้ ? age = 14 ผลลัพธ์ที่ได้ ?
if (age >= 18) printf("of age\n"); printf("Good Luck"); age = 25 ผลลัพธ์ที่ได้ ? age = 14 ผลลัพธ์ที่ได้ ? age = 18 ผลลัพธ์ที่ได้ ? of age Good Luck Good Luck of age Good Luck
5
ตัวอย่างการใช้งาน if
6
ตัวอย่างการใช้งาน if ผลลัพธ์ที่ได้ ? ผลลัพธ์ที่ได้ ?
#include "stdio.h" main() { int magic = 123; // กำหนดค่า 123 ให้กับตัวแปร int guess; printf("Enter your guess: "); scanf("%d",&guess); if (guess == magic) printf("**Right**"); } ผลลัพธ์ที่ได้ ? ผลลัพธ์ที่ได้ ? Enter your guess: 100 ไม่แสดงค่าอะไรเลย Enter your guess: 100 Enter your guess: 123 Enter your guess: 123 **Right**
7
ตัวอย่าง if จงรับค่าจำนวนเต็มเข้ามา ไม่ว่าจะเป็นเลขบวกหรือลบ จากนั้นจะแสดงข้อมูลเป็นเลขบวกทางหน้าจอ โดยข้อมูลที่รับมานั้นจะถูกตรวจสอบว่าเป็นเลขลบหรือไม่ถ้าเป็นให้คูณด้วย -1 main() { int x; printf("INPUT NUMBER: "); scanf("%d",&x); if(x<0) x=x*-1; printf("OUTPUT %d",x); } main() { int x; printf("INPUT NUMBER: "); scanf("%d",&x); ? printf("OUTPUT %d",x); } ผลลัพธ์ที่ได้ ? INPUT NUMBER: 10 OUTPUT 10 INPUT NUMBER: 10 INPUT NUMBER: -5 OUTPUT 5 INPUT NUMBER: -5
8
การควบคุมทิศทางแบบเลือกทำ if-else
if-else ใช้ในกรณีที่มีทางเลือกอยู่สองทางหาก condition เป็น true จะทำ statement ชุด A หาก condition เป็น false จะทำ statement ชุด B
9
ตัวอย่างการใช้งาน if-else
#include<stdio.h> #include<conio.h> void main(void) { int score; clrscr(); scanf("%d",&score); if (score >= 60) printf("You pass "); else printf("You fail "); printf("Have a nice day"); return; } ผลลัพธ์ที่ได้ ? ผลลัพธ์ที่ได้ ? 59 You fail Have a nice day 59 You fail Have a nice day 79 You pass Have a nice day 79 You pass Have a nice day
10
ตัวอย่างการใช้งาน if-else
11
ตัวอย่าง if-else จงรับค่าเลขจำนวนเต็มจากแป้นพิมพ์ จากนั้นจะนำไปเปรียบเทียบกับ 0 ว่าค่าที่รับเข้ามานั้นเป็นบวกหรือลบ จากนั้นจะแสดงประเภทของตัวเลขออกมา main() { int num; printf("enter a number: "); scanf("%d",&num); if (num < 0) //ตรวจสอบว่าค่าที่รับน้อยกว่า 0 หรือไม่ printf("number is negative"); //ถ้าน้อยกว่า 0 บอกว่าเป็นค่าลบ else printf("number is positive"); //ถ้าค่ามากกว่า 0 บอกว่าเป็นค่าบวก getch(); }
12
ตัวอย่าง if-else จงทายตัวเลข ถ้าตัวเลขที่ใส่เข้าไปถูกต้องเครื่องจะแจ้งว่าถูกต้อง ถ้าไม่ถูกต้องเครื่องจะตอบว่าตัวเลขที่ใส่ไปมากกว่าหรือน้อยกว่าโดยใช้ตัวดำเนินการเลือกทำในโปรแกรม main() { int magic = 123; //กำหนดตัวเลขเป็น 123 int guess; printf("Enter your guess"); scanf("%d",&guess); if(guess == magic) printf("**Right**"); printf("%d is the magic number ",magic); } else (guess > magic)? printf("High") : printf("Low"); main() { int magic = 123; //กำหนดตัวเลขเป็น 123 int guess; printf("Enter your guess"); scanf("%d",&guess); ? }
13
ตัวอย่าง if-else โปรแกรมต่อไปนี้เป็นโปรแกรมคำนวณราคาต้นทุนสินค้า ถ้าหากผลิตมากกว่า 10 ชิ้นจะชิ้นละ 6.5 บาท แต่ถ้าไม่เกิน 10 ชิ้นจะราคาชิ้นละ 7 บาท main() { int Number; float cost; printf("Enter number : "); scanf("%d",&Number); if(Number >= 10) cost = Number * 6.5; else cost = Number * 7; printf("Cost = %0.2f\n",cost); } ผลลัพธ์ที่ได้ ? Enter number : 5 Cost = 35.00 Enter number : 5 Enter number : 10 Cost = 65.00 Enter number : 10
14
กฎพื้นฐานการใช้คำสั่ง if
การใช้ statement-if ในการเลือกทำแบบต่างๆ มีกฎที่ควรจำดังต่อไปนี้ นิพจน์ของ if จะต้องอยู่ในวงเล็บและให้ผลลัพธ์ออกมาเป็นจริงหรือเท็จ ในส่วนของ if และ else ไม่ต้องมีเครื่องหมาย semicolon Statement สามารถมีผลกระทบต่อนิพจน์ได้ Statement หลัง if และหลัง else สามารถเป็น Statement รวมได้แต่ต้องอยู่ในเครื่องหมายปีกกา Statement หลัง if และ statement หลัง else สามารถสลับกันได้แต่ต้องทำ complement กับนิพจน์ของ if
15
การใช้คำสั่งเลือกทำแบบ nested if statement
เป็นการใช้คำสั่งเลือกทำนี้สามารถนำหลายๆคำสั่งมาซ้อนกันได้ ถ้าต้องการให้มีการเลือกทำหลายทางเลือก if(expr 1) else statement 3; false expr1 true if(expr 2) statement 1; else statement 2; expr2 stmt 3 stmt 2 stmt 1
16
การควบคุมทิศทางแบบเลือกทำ if-else if
17
แผนภาพแสดงการทำงาน if-else if
18
ตัวอย่าง nested if statement
#include <stdio.h> int main() { int a,b; printf("Please enter two integer: "); scanf("%d %d",&a,&b); if(a<=b) if(a<b) printf("%d < %d\n",a,b); else printf("%d = %d\n",a,b); printf("%d > %d\n",a,b); return 0; } ผลลัพธ์ที่ได้ ? Please enter two integer: -2 9 -2 < 9 Please enter two integer: -2 9
19
ตัวอย่างการใช้งาน if-else if
20
ตัวอย่างการใช้งาน if-else if
#include<stdio.h> int x; main() { clrscr; printf("Enter Score(0..100):"); scanf("%d",&x) if(x>=90) printf("EXCELLENT"); else if(x>=80) printf("Good"); else if(x>=70) printf("FAIR"); else printf("FAIL"); } ผลลัพธ์ที่ได้ ? Enter Score(0..100): 70 FAIR Enter Score(0..100): 70 ผลลัพธ์ที่ได้ ? Enter Score(0..100): 85 GOOD Enter Score(0..100): 85
21
Statement ที่ลดรูปแล้ว
การลดรูปเงื่อนไข การเขียนโปรแกรมโดยใช้คำสั่ง if นั้นบางครั้งเราสามารถลดรูปคำสั่ง if ลงได้เพื่อให้โค้ดของโปรแกรมสั้นลง Statement ต้นแบบ Statement ที่ลดรูปแล้ว if (5) printf("Hello"); else printf("Bye"); if (a!=0) statement if (a) if (a == 0) if (!a)
22
ตัวดำเนินการเลือกค่า
จะมีการใช้เครื่องหมาย question mark (?) และเครื่องหมาย colon (:) กระทำกับนิพจน์สามนิพจน์ เราสามารถนำมาใช้แทนการใช้คำสั่ง if แบบง่ายๆ ได้ โดยมีรูปแบบคือ expression 1 ? expression 2 : expression 3 ถ้าหากการกระทำของนิพจน์แรกเป็นจริงหรือมีค่าไม่เท่ากับศูนย์ โปรแกรมจะไปทำนิพจน์ที่สอง ถ้าเป็นเท็จจะไปทำนิพจน์ที่สาม ดังตัวอย่างต่อไปนี้ a == b ? c-- : c++; จากตัวอย่างถ้าหากค่าในตัวแปร a เท่ากับ b จะทำการลดค่าตัวแปร c ลงหนึ่งค่า ถ้าหากค่าในตัวแปร a ไม่เท่ากับ b จะทำการเพิ่มค่าตัวแปร c ขึ้นหนึ่งค่า
23
printf("%s\n",grade >= 60 ? "Passed" : "Failed");
ตัวอย่าง printf("%s\n",grade >= 60 ? "Passed" : "Failed"); จากตัวอย่างถ้าค่า grade มากกว่าหรือเท่ากับ 60 จะพิมพ์คำว่า Passed ถ้าน้อยกว่า 60 จะพิมพ์คำว่า Failed x = 10; y = x > 9 ? 100 : 200; จากตัวอย่างถ้า y มีค่ามากกว่า 9 จะทำให้ตัวแปร y เท่ากับ 100 แต่ถ้า y มีค่าไม่มากว่า 9 จะทำให้ตัวแปร y เท่ากับ 200 ตัวดำเนินการเลือกค่าดังกล่าวจะใช้แทนคำสั่ง if ที่มีการเขียนดังนี้ if (x > 9) y = 100; else y = 200;
24
การควบคุมทิศทางแบบเลือกทำ - switch
25
การควบคุมทิศทางแบบเลือกทำ - switch
26
การใช้คำสั่ง switch มีสิ่งสำคัญ 4 ประการคือ
คำสั่ง switch ต่างจากคำสั่ง if ตรงที่ switch สามารถทดสอบเงื่อนไขได้หลายอย่าง แต่คำสั่ง if จะตรวจสอบเฉพาะความสัมพันธ์ หรือลอจิกเท่านั้น ค่าคงที่ของคำสั่ง switch สามารถมีค่าซ้ำกันได้ ถ้าค่าคงที่เป็นตัวอักษร คำสั่ง switch จะมองเป็นเลขจำนวนเต็ม ค่า default จะมีหรือไม่มีก็ได้
27
switch - แผนภาพแสดงการทำงาน
28
switch - ตัวอย่างการใช้งาน
29
การควบคุมทิศทางการทำงานของโปรแกรม Control Structure (Selection)
Question ?
งานนำเสนอที่คล้ายกัน
© 2024 SlidePlayer.in.th Inc.
All rights reserved.