Control Statement if..else switch..case for while do-while.

Slides:



Advertisements
งานนำเสนอที่คล้ายกัน
โดยอาจารย์ศิริพร ศักดิ์บุญญารัตน์ ครูชำนาญการ โรงเรียนมหิดลวิทยานุสรณ์
Advertisements

การเขียนโปรแกรมด้วยคำสั่งเบื้องต้น
ทบทวน & ลุยโจทย์ (Midterm)
ครั้งที่ 8 Function.
ควบคุมการทำงานด้วยเงื่อนไข Control Statement
การแสดงผล และการรับข้อมูล การแสดงผล และการรับข้อมูล.
คำสั่งในการควบคุมโปรแกรม
การรับค่าและแสดงผล.
Control Statement for while do-while.
สายอักขระและ การประมวลผลสายอักขระ (String and String manipulation)
บทที่ 3 ตอนที่ 1 คำสั่งเงื่อนไขและการตัดสินใจ(p
Lecture no. 5 Control Statements
การควบคุมทิศทางการทำงาน
LAB # 3 Computer Programming 1
คำสั่ง while ควบคุมการทำงานวนซ้ำ กรณีระบบงานมีลักษณะตรวจสอบเงื่อนไขก่อน แล้วเข้าสู่ส่วนลำดับงานคำสั่งที่กำหนดไว้ การเขียนคำสั่ง while ต้องกำหนดนิพจน์แบบตรรกะเป็นเงื่อนไขมีค่าในหน่วยความจำเป็น.
ผังงานโปรแกรม (Program Flowchart)
คำสั่งแบบเลือกทำ Week 6.
Week 6 ประกาศค่าตัวแปร.
Week 15 C Programming.
คำสั่งเพื่อการกำหนดเงื่อนไข
CE 112 บทที่ 5 การทำซ้ำในภาษา C
การแสดงผล และการรับข้อมูล
รับและแสดงผลข้อมูล.
Lab 3: คำสั่งพื้นฐานสำหรับการรับและการแสดงผลข้อมูล
เนื้อหา ประเภทของโปรแกรมภาษา ขั้นตอนการพัฒนาโปรแกรม
คำสั่งควบคุมการทำงาน
ตัวแปรชุด.
ตัวอย่างการใช้คำสั่ง IF_THEN
การเขียนโปรแกรมเชิงวัตถุ ด้วยภาษาจาวา
Relational Operators by Accords (IT SMART CLUB 2006) by Accords 1.
คำสั่งควบคุม (Control Statement)
บทที่ 11 การเขียนโปรแกรมภาษาซี
คำสั่งควบคุมเงื่อนไข และการทำงานเป็นรอบ
หน่วยที่ นิพจน์ในภาษา C
หน่วยที่ 1 พื้นฐานภาษา C
หน่วยที่ 4: คำสั่งควบคุมโปรแกรม (Control Flow Command)
คำสั่งควบคุมการทำงาน
Flow Control.
ตัวดำเนินการ(Operator)
การเขียนโปรแกรมภาษาซี
Chapter 4 คำสั่งควบคุมทิศทาง
โครงสร้างควบคุมการทำงาน
ง30212 การเขียนโปรแกรมภาษาคอมพิวเตอร์ โรงเรียนปลวกแดงพิทยาคม
หมวดวิชาคอมพิวเตอร์ โรงเรียนพะเยาพิทยาคม โดย อ.วัชระ การสมพจน์
การรับและพิมพ์ข้อมูลเบื้องต้น
คำสั่งควบคุมการทำงานของ ActionScripts
Week 3 Flow Control in PHP
Week 2 Variables.
คำสั่งควบคุมขั้นตอน Flow control statements
2 /* ข้อความนี้เป็นเพียงคำอธิบาย ไม่มีผลต่อขั้นตอนการ ทำงานของโปรแกรม */ /* A simple program to display a line of text */ #include void main ( ) { printf.
การออกแบบโครงสร้าง (Structured Design)
คำสั่งเงื่อนไข (Condition Statement)
CHAPTER 4 Control Statements
ค21201 คณิตศาสตร์เพิ่มเติม 1
การเขียนโปรแกรมแบบวนซ้ำ: คำสั่ง while คำสั่ง do….while
โครงสร้างภาษาซี #include <stdio.h> void main() {
คำสั่งเกี่ยวกับการรับ และแสดงผล
บทที่ 4 คำสั่งควบคุมแบบมีทางเลือก
PHP การตรวจสอบเงื่อนไข.
Output of C.
บทที่ 7 เงื่อนไขในภาษาซี
การเขียน แบบวนซ้ำ , วนลูป
CONDITION Computer Programming Asst. Prof. Dr. Choopan Rattanapoka.
บทที่ 6 คำสั่งเงื่อนไข.
การเขียนโปรแกรม (ภาษาซี)
การรับและแสดงผลข้อมูล (Input/Output)
การเปรียบเทียบเงื่อนไข
Computer Programming การเขียนโปรแกรม คอมพิวเตอร์ สัปดาห์ที่ 6 คำสั่งควบคุมการทำงานแบบ เงื่อนไขและคำสั่งควบคุมการ ทำงานแบบวนซ้ำ.
ผังงานโปรแกรม (Program Flowchart)
Computer Programming การเขียนโปรแกรมคอมพิวเตอร์ สัปดาห์ที่ 5 การเขียนโปรแกรมแบบทางเลือก การเขียนโปรแกรมแบบวนซ้ำ.
ใบสำเนางานนำเสนอ:

Control Statement if..else switch..case for while do-while

คำสั่ง if

การทำงานของโปรแกรมโดยปกติ โครงสร้างลำดับ (Sequence Structure) เป็นการดำเนินการ คำสั่ง (statement) จากบนลงล่าง ทีละคำสั่ง add grade to total total = total + grade; count = count + 1; add 1 to count ผังงาน (flowchart) คำสั่งใน C

คำสั่ง if คำสั่งสำหรับการตรวจสอบเงื่อนไข if if..else if..else..if ใช้ควบคุมการทำงานแบบมีทางเลือก หากเงื่อนไขเป็นจริง  ให้ทำงานคำสั่งต่อจากเงื่อนไข หากเงื่อนไขเป็นเท็จ  ให้ทำงานคำสั่งในชุดถัดไป คำสั่งสำหรับการตรวจสอบเงื่อนไข if if..else if..else..if

สัญลักษณ์ที่ใช้ การเปรียบเทียบ เครื่องหมาย เท่ากัน == ไม่เท่ากัน != การเปรียบเทียบ เครื่องหมาย เท่ากัน == ไม่เท่ากัน != น้อยกว่า < น้อยกว่าหรือเท่ากับ <= มากกว่า > มากกว่าหรือเท่ากับ >=

การเปรียบเทียบ ค่าคงที่กับค่าคงที่ 5 > 3 20.5 < 30.25 ตัวแปรกับค่าคงที่ x != 10 a <= 150.5 ตัวแปรกับตัวแปร num1 = = num2 a >= b นิพจน์กับค่าคงที่ x + y > 5 y / 2 != 0

ในกรณีที่มีหลายคำสั่ง ต้องใส่เครื่องหมาย { }ครอบไว้ 1.คำสั่ง if รูปแบบ if (เงื่อนไข) คำสั่ง; //กรณีที่เงื่อนไขเป็นจริง คำสั่งชุดต่อไป; ผลลัพธ์ของการตรวจสอบ - จริง (true) จะทำงานคำสั่งใต้ if ไม่จริง (false) จะข้ามไปทำชุดคำสั่งต่อไป ในกรณีที่มีหลายคำสั่ง ต้องใส่เครื่องหมาย { }ครอบไว้

โครงสร้างการเลือกแบบ if grade >= 50 N Y write “Passed” if ( grade >= 50 ) printf( “Passed\n” ); ผังงาน (flowchart) คำสั่งใน C

printf(“You failed in this subject\n”); ตัวอย่าง if(grade < 50) printf(“You failed in this subject\n”); if(age > 60) printf(“You are old”);

ตัวอย่าง Input an integer value for x: 10 #include <stdio.h> #include <conio.h> #include<stdlib.h> void main() { int x, y; system(“cls”); printf( "Input an integer value for x: " ); scanf( "%d", &x ); printf( "Input an integer value for y: " ); scanf( "%d", &y ); if ( x == y ) printf( "x is equal to y\n" ); if ( x > y ) printf( "x is greater than y\n" ); if ( x < y ) printf( "x is smaller than y\n" ); getch(); } Input an integer value for x: 10 Input an integer value for y: 5 x is greater than y Input an integer value for x: 5 Input an integer value for y: 10 x is smaller than y Input an integer value for x: 5 Input an integer value for y: 5 x is equal to y

ตัวอย่าง How old are you? 16 You are less than 18 years old /* The use of if with a block of statements */ #include <stdio.h> #include <conio.h> void main() { int age; clrscr(); printf( "How old are you? "); scanf( "%d", &age ); if ( age < 18 ) printf( "You are less than 18 years old\n" ); printf( "You are so young\n" ); } printf( "You are %d years old\n", age ); How old are you? 16 You are less than 18 years old You are so young You are 16 years old How old are you? 22 You are 22 years old

2. คำสั่ง if..else if(เงื่อนไข) รูปแบบ if(เงื่อนไข) คำสั่งชุดที่ 1 ; //กรณีเงื่อนไขเป็นจริง else คำสั่งชุดที่ 2; //กรณีเงื่อนไขเป็นเท็จ คำสั่งชุดต่อไป; ผลลัพธ์ของการตรวจสอบ - จริง (true) จะทำงานคำสั่งชุดที่ 1 ไม่จริง (false) จะข้ามไปทำชุดคำสั่งชุดที่ 2

ตัวอย่าง ถ้า 10+20 มีค่าเท่ากับ 5 ให้แสดงคำว่า Equal แต่ถ้าไม่ใช่ ให้แสดงคำว่า Not Equal ถ้า Number หารด้วย 10 ลงตัว ให้แสดงคำว่า Good แต่ถ้าไม่ใช่ ให้แสดงคำว่า Bad ตอบ if (10+20==5) printf(“Equal”); else printf(“Not Equal”); ตอบ if (Number%10==0) printf(“Good”); else printf(“Bad”);

ตัวอย่าง Enter number : 20 This Number Less than or equal 100 #include<stdio.h> int main() { int number; printf(“Enter number : ”); scanf(“%d”,&number); if (number > 100) printf(“This Number more than 100\n”); else printf(“This Number Less than or equal 100\n”); return 0; } ตัวอย่าง Enter number : 20 This Number Less than or equal 100

ตัวอย่าง /* Determine if a number is odd or even */ #include <stdio.h> #include <conio.h> #include <stdlib.h> void main() { int num; system(“cls”); printf( "Enter a number: " ); scanf( "%d", &num ); if ( num % 2 == 0 ) printf( "Even number\n" ); else printf( "Odd number\n" ); } Enter a number: 5 Odd number Enter a number: 10 Even number

ข้อควรระวัง อย่าให้การเว้นระยะ ย่อหน้า (indentation) int x = 5, y = 5; ข้อควรระวัง คำสั่ง (Statements) ค่า x y อย่าให้การเว้นระยะ ย่อหน้า (indentation) ทำให้เกิดความสับสนได้ if (x == 10) x = x + 1; y = y + 1; 5 6 if ( x == 10 ) x = x + 1; y = y + 1; 5 6 ภาษา C จะไม่สนใจ ช่องว่าง (space), แท็บ (tab), การขึ้นบรรทัดใหม่ (newline) if ( x == 10 ) { x = x + 1; y = y + 1; } 5 5 การใส่เครื่องหมาย ; หลัง เงื่อนไข (condition) ใน if มีผลทำให้เกิด ความผิดพลาดทางตรรกะ (logic error) ได้ if ( x == 10 ); x = x + 1; y = y + 1; 6 6

3. คำสั่ง if..else..if รูปแบบ if(เงื่อนไขที่ 1) คำสั่งชุดที่ 1 ; //กรณีเงื่อนไขที่ 1 เป็นจริง else if(เงื่อนไขที่ 2) คำสั่งชุดที่ 2; //กรณีเงื่อนไขที่ 2 เป็นจริง ... else คำสั่งชุดที่ n;//กรณีที่นอกเหนือจากเงื่อนไขข้างต้น คำสั่งชุดต่อไป;

ตัวอย่าง Enter score: 76 Grade is C Enter score: 92 Grade is A #include <stdio.h> #include <conio.h> #include <stdlib.h> void main() { int score; char grade; system(“cls”); printf( "Enter score: " ); scanf( "%d", &score ); if ( score >= 90 ) grade = 'A'; else if ( score >= 80 ) grade = 'B'; else if ( score >= 70 ) grade = 'C'; else if ( score >= 60 ) grade = 'D'; else grade = 'F'; printf( "Grade is %c\n", grade ); } Enter score: 76 Grade is C Enter score: 92 Grade is A

ตัวอย่าง #include<stdio.h> int main() { int score; printf(“Enter score : ”); scanf(“%d”,&score); if (score >= 80) printf(“Excellent\n”); else if (score >= 70) printf(“Good\n”); else printf(“Fair\n”); return 0; } Enter score: 76 Good

ข้อสังเกต การจับคู่ if/else ใช้ หลักที่ว่า else จะจับคู่ if ( condition1 ) { if ( condition2 ) statement1; else statement2; } statement3; if ( condition1 ) if ( condition2 ) statement1; else statement2; statement3; การจับคู่ if/else ใช้ หลักที่ว่า else จะจับคู่ กับ if ตัวก่อนหน้านี้ที่ ใกล้ที่สุด if ( conditionA ) statementA; else if ( conditionB ) statementB; statementC; if ( conditionA ) statementA; else { if ( conditionB ) statementB; statementC; } เราสามารถใช้ เครื่องหมายวงเล็บ { } กับการใช้ if แบบซ้อน (nested if) ได้ เพื่อ ความชัดเจน

เพิ่มเติม การเชื่อมระหว่าง condition (ถ้ามีเงื่อนไขหลายอันที่ต้องตรวจสอบ) แต่ละเงื่อนไขไม่จำเป็นต้องใส่วงเล็บ AND -> && เงื่อนไขทุกเงื่อนไขต้องเป็นจริงทั้งหมด - จริง OR -> || จริงบางเงื่อนไข - จริง ตัวอย่าง if (x > 10 && x <= 15) printf(“OK”); if ((x > 10) || (y > 15)) x ต้องมากกว่า 10 และ x ต้องน้อยกว่าหรือเท่ากับ 15 จึงทำให้เงื่อนไขเป็นจริง x ต้อง > 10 หรือ y ต้อง >15 เป็นจริงอันใดอันนึง จึงทำให้เงื่อนไขเป็นจริง

แบบฝึกหัด จงเขียนโปรแกรมรับค่าเลขจำนวนเต็ม 2 จำนวนจากแป้นพิมพ์ จากนั้นให้ตรวจสอบเลขจำนวนเต็มตัวแรกมากกว่าเลขจำนวนเต็มตัวที่สองหรือไม่ ถ้าใช่ให้หาผลบวกของตัวเลข 2 จำนวนและแสดงผลออกทางจอภาพ ถ้าไม่ใช่ให้นำตัวเลขตัวแรกคูณตัวที่สองและแสดงผลออกทางจอภาพ ตัวอย่างหน้าจอการรับค่าและแสดงผล Input Enter Number1 : 10 Enter Number2 : 7 Output Result = 17 22

แบบฝึกหัด จงเขียนโปรแกรมรับค่าตัวเลข 2 ตัวและ choiceจากแป้นพิมพ์จากนั้นให้ตรวจสอบค่าchoice - ถ้าchoice เป็น ‘A’ ให้นำเลข 2 ตัวนั้นมาบวกกัน - ถ้าchoice เป็น ‘S’ ให้นำเลข 2 ตัวนั้นมาลบกัน - ถ้าchoice เป็น‘M’ ให้นำเลข 2 ตัวนั้นมาคูณกัน เมื่อได้ผลลัพธ์ให้แสดงผลลัพธ์นั้นออกทางหน้าจอ