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

Slides:



Advertisements
งานนำเสนอที่คล้ายกัน
คำสั่งควบคุมในโปรแกรม Interactive C
Advertisements

อัลกอริทึ่มทำงานวนซ้ำ
Lecture 5: ทางเลือกแบบหลายทาง
สรุปคำสั่ง if(เงื่อนไข)
scanf(“%d”,&a); a = (2+3)*4/5; b= a*5/100; if(a<0) ……..
คำสั่ง while และ คำสั่ง do..while
ครั้งที่ 8 Function.
ควบคุมการทำงานด้วยเงื่อนไข Control Statement
การแสดงผล และการรับข้อมูล การแสดงผล และการรับข้อมูล.
Control Statement if..else switch..case for while do-while.
คำสั่งในการควบคุมโปรแกรม
Control Statement for while do-while.
บทที่ 3 ตอนที่ 1 คำสั่งเงื่อนไขและการตัดสินใจ(p
Data Structures and Algorithms
Lecture no. 5 Control Statements
Lecture 4: ทางเลือก, เงื่อนไขของทางเลือก
การควบคุมทิศทางการทำงาน
คำสั่ง while ควบคุมการทำงานวนซ้ำ กรณีระบบงานมีลักษณะตรวจสอบเงื่อนไขก่อน แล้วเข้าสู่ส่วนลำดับงานคำสั่งที่กำหนดไว้ การเขียนคำสั่ง while ต้องกำหนดนิพจน์แบบตรรกะเป็นเงื่อนไขมีค่าในหน่วยความจำเป็น.
Week 15 C Programming.
คำสั่งเพื่อการกำหนดเงื่อนไข
CE 112 บทที่ 5 การทำซ้ำในภาษา C
รับและแสดงผลข้อมูล.
โครงสร้างควบคุม 1. โครงสร้างควบคุมแบบวนทางเลือก
ตัวแปรชุด.
Arrays.
บทที่ 6 ตัวแปรอาร์เรย์ (Array of Variable)
การเขียนผังงานแบบโครงสร้าง
ตัวอย่างการใช้คำสั่ง IF_THEN
บทที่ 11 การเขียนโปรแกรมภาษาซี
หน่วยที่ 1 พื้นฐานภาษา C
หน่วยที่ 4: คำสั่งควบคุมโปรแกรม (Control Flow Command)
Flowchart รูปแบบ If ซ้อน If ก็คือ การเอา If ไปไว้ใน If ทางฝั่ง True  โดยโครงสร้าง If ซ้อน If นั้นเอาไว้ใช้กับ กรณีตรวจสอบเงื่อนไขที่มากกว่า 2 กรณี เพราะเนื่องจาก.
ตัวอย่างโปรแกรมคำนวณหาพื้นที่สี่เหลี่ยม
คำสั่งควบคุมการทำงาน
Flow Control.
การคำนวณทางคณิตศาสตร์ ตัวดำเนินการ
การเขียนโปรแกรมภาษาซี
Chapter 5 คำสั่งควบคุมการทำซ้ำ
Chapter 4 คำสั่งควบคุมทิศทาง
โครงสร้างควบคุมการทำงาน
ง30212 การเขียนโปรแกรมภาษาคอมพิวเตอร์ โรงเรียนปลวกแดงพิทยาคม
คำสั่ง while และ do…while
หมวดวิชาคอมพิวเตอร์ โรงเรียนพะเยาพิทยาคม โดย อ.วัชระ การสมพจน์
การรับและพิมพ์ข้อมูลเบื้องต้น
Week 2 Variables.
Week 5 การทำซ้ำโดย while loop และ do while loop
การประมวลผลสายอักขระ
Computer Programming for Engineers
Week 7 การเขียนโปรแกรมเบื้องต้น
Week 5 การทำซ้ำโดย while loop และ do while loop
คำสั่งควบคุมขั้นตอน Flow control statements
1 Special Operators Special Operators ตัวดำเนินการพิเศษ Increment and decrement operators Conditional Operator.
2 /* ข้อความนี้เป็นเพียงคำอธิบาย ไม่มีผลต่อขั้นตอนการ ทำงานของโปรแกรม */ /* A simple program to display a line of text */ #include void main ( ) { printf.
Recursion การเรียกซ้ำ
การออกแบบโครงสร้าง (Structured Design)
การเขียนโปรแกรมเบื้องต้น
คำสั่งเงื่อนไข (Condition Statement)
การเขียนโปรแกรมแบบวนซ้ำ: คำสั่ง while คำสั่ง do….while
อัลกอริทึ่มทำงานวนซ้ำ
อ. วชิระ หล่อประดิษฐ์. ตัว ดำเนินกา ร ศัพท์เฉพาะตัวอย่ าง ผลลัพธ์ ให้ a=3; b=2; Greater thana > b;True
Computer Programming Asst. Prof. Dr. Choopan Rattanapoka
บทที่ 7 เงื่อนไขในภาษาซี
การเขียน แบบวนซ้ำ , วนลูป
CONDITION Computer Programming Asst. Prof. Dr. Choopan Rattanapoka.
การเขียนโปรแกรม (ภาษาซี)
การทำซ้ำ Pisit Nakjai.
Computer Programming การเขียนโปรแกรม คอมพิวเตอร์ สัปดาห์ที่ 6 คำสั่งควบคุมการทำงานแบบ เงื่อนไขและคำสั่งควบคุมการ ทำงานแบบวนซ้ำ.
รูปแบบของการใช้คำสั่ง for for( ตัวแปร = ค่าเริ่มต้น ; นิพจน์ตรรกะ ; ค่าเพิ่มหรือค่าลด ) { statement(s); } ตัวอย่าง กรณีกำหนดการวนซ้ำเป็นค่าคงที่ For(n=1;n
Computer Programming การเขียนโปรแกรมคอมพิวเตอร์ สัปดาห์ที่ 5 การเขียนโปรแกรมแบบทางเลือก การเขียนโปรแกรมแบบวนซ้ำ.
บทที่ 4 ตัวแปร (Variables)
ใบสำเนางานนำเสนอ:

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

โครงสรางควบคุมการทํางาน แบบเรียงลำดับ (Sequential) แบบทางเลือก (Condition) แบบวนซ้ำ (Iteration) 2

โครงสรางควบคุมการทํางาน แบบเรียงลำดับ (Sequential) แบบทางเลือก (Condition) แบบวนซ้ำ (Iteration) 3

ตรวจสอบเงื่อนไข ตรวจสอบเงื่อนไขแบบสองทางเลือก ตรวจสอบเงื่อนไขแบบหลายทางเลือก ตัวตรวจสอบ ตัวตรวจสอบ ….. ทางเลือก ที่ 1 ทางเลือก ที่ 2 ทางเลือก ที่ 1 ทางเลือก ที่ 2 ทางเลือก ที่ 3 ….. 4

คำสั่ง IF รูปแบบ ตัวอย่าง if (<conditional expression>) { <statement (s)> } ตัวอย่าง if (x>0) printf(“x เป็นจำนวนเต็มบวก”); 5

#include <stdio.h> void main() { float score_in; printf ("Enter score 001-100 : \n"); scanf("%f",&score_in); if ( score_in >= 60) printf("PASS\n"); } 6

คำสั่ง IF-ELSE รูปแบบ if (<conditional expression>) { <statement (s)> } else { } 7

#include <stdio.h> void main() { float score_in; printf ("Enter score 001-100 : \n"); scanf("%f",&score_in); if ( score_in >= 60) printf("PASS\n"); else printf(“Not pass\n"); }

คำสั่ง IF ซ้อน รูปแบบ if (<conditional expression 1>) { <statement (s)> } else { if (<conditional expression 2>) { } รูปแบบ 9

คำสั่ง IF ซ้อน รูปแบบ if (<conditional expression 1>) { <statement (s)> } else if (<conditional expression 2>) { } else { } รูปแบบ 10

ต.ย ของการตรวจสอบเงื่อนไขแบบสองทางเลือก จงเขียนโปรแกรมเพื่อรับจำนวนเต็ม 2 จำนวน หลังจากนั้นทำการเปรียบเทียบ เลขทั้งสองเพื่อหาตัวเลขที่มีค่ามากที่สุด แล้วนำมาแสดงทางจอภาพ #include <stdio.h> void main() { int x,y; //input part printf("Enter x : "); scanf("%d",&x); printf("Enter y : "); scanf("%d",&y); //process and output part if (x>y) { printf("x is greater than y"); } else if (y>x) { printf("y is greater than x"); printf("y is equal to x"); ต.ย ของการตรวจสอบเงื่อนไขแบบสองทางเลือก 11

ต.ย การตรวจสอบเงื่อนไขแบบหลายทางเลือก จงเขียนโปรแกรมเพื่อการตรวจสอบเลขจํานวนใด ๆ วาเปนจํานวนบวก จํานวนลบ หรือจํานวนศูนย #include <stdio.h> void main() { int x; //input part printf("Enter x : "); scanf("%d",&x); //process and output part if (x>0) { printf("x is positive integer"); } else if (x<0) printf("x is negative integer"); } else printf("x is equal to 0"); ต.ย การตรวจสอบเงื่อนไขแบบหลายทางเลือก 12

#include <stdio.h> void main() { float score_in; printf ("Enter score 001-100 : \n"); scanf("%f",&score_in); if ( score_in >= 80 && score_in <= 100) { printf(“Excellent\n"); printf(“Good bye”\n); } else if (score_in >=60 && score_in <= 79) printf(“Good\n"); else if(score_in >=1 && score_in <= 59) printf(“Bad\n”); else printf(“Not in range\n”);

#include <stdio.h> void main() { float score_in; printf ("Enter score 001-100 : \n"); scanf("%f",&score_in); if ( score_in <=59) printf(“Bad\n”); else if (score_in <=79) printf(“Good\n"); else if(score_in <= 100) printf(“Excellent\n”); else printf(“Not in range\n”); }

ต.ย การตรวจสอบเงื่อนไขแบบหลายทางเลือก จงเขียนอัลกอลึทึมเพื่อตัดเกรด โดยใส่ให้ผู้ใช้ใส่คะแนน โดยมีเงื่อนไข การให้เกรดดังนี้ คะแนน 80 ขึ้นไปได้เกรด “A” คะแนน 70 ขึ้นไปได้เกรด “B” คะแนน 60 ขึ้นไปได้เกรด “C” คะแนน 50 ขึ้นไปได้เกรด “D” ต่ำกว่า 50 ลงไปได้เกรด “F” แล้วแสดงผลเกรดบนหน้าจอ #include <stdio.h> void main() {  int score;  char grade;  clrscr();  printf("Enter Score : ");  scanf("%d",&score); ต.ย การตรวจสอบเงื่อนไขแบบหลายทางเลือก 15

Algorithm : ต.ย การตรวจสอบเงื่อนไขแบบหลายทางเลือก  if (score < 50)    grade = 'F';  else if (score < 60)     grade = 'D';  else if (score < 70)       grade = 'C';  else if (score < 80)         grade = 'B';  else if (score <= 100)          grade = 'A';  printf("you get %c",grade); } Algorithm : ต.ย การตรวจสอบเงื่อนไขแบบหลายทางเลือก 16

#include <stdio.h> void main() { int ch; float area; //Menu printf(" MENU\n " "1. Circle Area Calculator\n" "2. Rectangular Area Calculator\n" "++++++++++++++++++++++++\n" ); printf("Enter choice : "); scanf("%d",&ch); 17

18 //process and output part if (ch == 1) { float radius; printf("\nEnter circle 's radius : "); scanf("%f",&radius); area = 3.14*radius*radius; //printf("This circle 's area is %f",3.14*radius*radius); printf("This circle 's area is %f",area); } else { if (ch == 2) { float width,length; printf("\nEnter rectangular 's width : "); scanf("%f",&width); printf("\nEnter rectangular 's length : "); scanf("%f",&length); printf("This rectangular 's area is %f",width*length); } else printf("\nPlese try again!!! you enter wrong choice"); } 18

คำสั่ง SWITCH รูปแบบ const-expr จะต้องเป็น int หรือ char เท่านั้น switch (expression) { case const-expr1 : <statement>; break; case const-expr2 : <statement>; …. …… default : <statement>; } รูปแบบ const-expr จะต้องเป็น int หรือ char เท่านั้น 19

default : printf(“this number is greater than 2”); } int n = 1; switch (n) { case 1 : printf(“one”); break; case 2 : printf(“two”); default : printf(“this number is greater than 2”); } 20

โครงสรางควบคุมการทํางาน แบบเรียงลำดับ (Sequential) แบบทางเลือก (Condition) แบบวนซ้ำ (Iteration) 21

แบบวนซ้ำ (Iteration) ลักษณะการตรวจสอบเงื่อนไข คำสั่ง FOR ทำกิจกรรมก่อนการตรวจสอบเงื่อนไขการวน คำสั่ง DO …. WHILE ทำกิจกรรมหลังการตรวจสอบเงื่อนไขการวน คำสั่ง WHILE คำสั่ง FOR 22

ส่วนประกอบสำคัญ ค่าเริ่มต้น เพื่อเข้า Loop (Expression1) 23

คำสั่ง DO-WHILE รูปแบบ ตัวอย่าง expression1; do { <statement (s)> expression3; } while (expression2); รูปแบบ ตัวอย่าง i=1; do { <statement (s)> i++; } while (i<5) ; 24

จงเขียนโปรแกรมเพื่อหาคา 23 จงเขียนโปรแกรมเพื่อหาคา 23 #include <stdio.h> void main() { int sum = 1,i=1; do { sum *= 2; ++i; } while (i<=3); printf("The value of 2^3 is %d",sum); } ใช้คำสั่ง DO-WHILE 25

จงเขียนอัลกอลึทึมเพื่อหาคา XN เมื่อ N เปนจํานวนเต็มบวกใด ๆ #include <stdio.h> void main() { int sum = 1,i=1,x,n; printf("Enter x : "); scanf("%d",&x); printf("Enter n : "); scanf("%d",&n); if (n != 0) { do { sum *= x; ++i; }while (i<=n); } printf("The value of x^n is %d",sum); ใช้คำสั่ง DO-WHILE 26

คำสั่ง WHILE รูปแบบ ตัวอย่าง expression1; while (expression2) { <statement (s)> expression3; } ตัวอย่าง i=1; while (i<5) { <statement (s)> i++; } 27

จงเขียนโปรแกรมเพื่อหาคา 23 จงเขียนโปรแกรมเพื่อหาคา 23 #include <stdio.h> void main() { int sum = 1,i=1; while (i<=3) { sum *= 2; ++i; } printf("The value of 2^3 is %d",sum); ใช้คำสั่ง WHILE 28

จงเขียนอัลกอลึทึมเพื่อหาคา XN เมื่อ N เปนจํานวนเต็มบวกใด ๆ #include <stdio.h> void main() { int sum = 1,i=1,x,n; printf("Enter x : "); scanf("%d",&x); printf("Enter n : "); scanf("%d",&n); if (n != 0) { while (i<=n){ sum *= x; ++i; } printf("The value of x^n is %d",sum); ใช้คำสั่ง WHILE 29

คำสั่ง FOR รูปแบบ ตัวอย่าง for (expression1; expression2; expression3) { <statement (s)> } ตัวอย่าง for (i=1;i<5;i++) { <statement (s)> } 30

จงเขียนโปรแกรมเพื่อหาคา 23 จงเขียนโปรแกรมเพื่อหาคา 23 #include <stdio.h> void main() { for (int i=1,sum=1;i<=3;++i) sum *= 2; } printf("The value of 2^3 is %d",sum); ใช้คำสั่ง FOR 31

#include <stdio.h> void main() { int sum = 1; for (int i=1;i<=3;++i) { sum *= 2; } printf("The value of 2^3 is %d",sum); #include <stdio.h> void main() { int sum,i; sum = 1; for ( i=1;i<=3;++i) { sum *= 2; } printf("The value of 2^3 is %d",sum);

จงเขียนอัลกอลึทึมเพื่อหาคา XN เมื่อ N เปนจํานวนเต็มบวกใด ๆ #include <stdio.h> void main() { int sum = 1,x,n; printf("Enter x : "); scanf("%d",&x); printf("Enter n : "); scanf("%d",&n); if (n != 0) { for (int i=1;i<=3;++i) { sum *= x; } printf("The value of x^n is %d",sum); ใช้คำสั่ง FOR 33

#include <stdio.h> void main() { int sum,x,n; sum = 1; printf("Enter x : "); scanf("%d",&x); printf("Enter n : "); scanf("%d",&n); if (n != 0) { for (int i=1;i<=n;++i) { sum *= x; } printf("The value of x^n is %d",sum); #include <stdio.h> void main() { int sum,x,n,i; sum = 1; printf("Enter x : "); scanf("%d",&x); printf("Enter n : "); scanf("%d",&n); if (n != 0) { for (i=1;i<=n;++i) { sum *= x; } printf("The value of x^n is %d",sum);

ข้อควรระวังของ FOR for (; ;) { } จะเกิด infinite loop 35

แบบฝึกหัด

จงเขียนโปรแกรมเพื่อทำการตรวจสอบว่าตัวเลขที่รับมาเป็นเลขคู่ หรือเลขคี่ #include <stdio.h> void main() { int x; printf("Enter x : "); scanf("%d",&x); if (x%2 == 1) { printf("x is odd number"); } else { if (x%2 == 0) { printf("x is even number"); } 37

จงเขียนโปรแกรมเพื่อทำการตรวจสอบว่าอักษรที่รับมาเป็นสระ หรือพยัญชนะ #include <stdio.h> #include <ctype.h> void main() { char ch; printf("Enter x : "); scanf("%c",&ch); ch = tolower(ch); if ((ch == 'a')||(ch == 'e')||(ch == 'i')||(ch == 'o')||(ch == 'u')) printf("This character is vowel"); else printf("This character is consonant"); } 38

จงเขียนโปรแกรมเพื่อทำการบวกเลขตั้งแต่ 1 ถึงค่าที่รับเข้ามา #include <stdio.h> void main() { int n,i=1,sum=0; printf(“Enter n”); scanf(“%d”,&n); do { sum += i; ++i; } while (i<=n); printf(“sum is = %d\n”,sum); } ใช้คำสั่ง DO-WHILE 39

จงเขียนโปรแกรมเพื่อทำการบวกเลขตั้งแต่ 1 ถึงค่าที่รับเข้ามา #include <stdio.h> void main() { int n,i=1,sum=0; printf(“Enter n”); scanf(“%d”,&n); while (i<=n) { sum += i; ++i; } printf(“sum is = %d\n”,sum); ใช้คำสั่ง WHILE 40

จงเขียนโปรแกรมเพื่อทำการบวกเลขตั้งแต่ 1 ถึงค่าที่รับเข้ามา #include <stdio.h> void main() { int n; printf(“Enter n”); scanf(“%d”,&n); for (int i=1,sum=0;i<=n; ++i) sum += i; printf(“sum is = %d\n”,sum); } ใช้คำสั่ง FOR 41

#include <stdio.h> void main() { int n,sum; sum = 0; printf("Enter n : "); scanf("%d",&n); for (int i=1;i<=n;++i) sum += i; printf("sum is = %d\n",sum); } #include <stdio.h> void main() { int n,sum,i; sum = 0; printf("Enter n : "); scanf("%d",&n); for (i=1;i<=n;++i) sum += i; printf("sum is = %d\n",sum); }

จงเขียนโปรแกรมเพื่อแสดงตารางสูตรคูณของ 2 2 x 1 = 2 2 x 2 = 4 …. 2 x 12 = 24 #include <stdio.h> void main() { int i=1; do { printf("2 X %d = %d\n",i,i*2); ++i; } while (i<=12); } ใช้คำสั่ง DO-WHILE 43

จงเขียนโปรแกรมเพื่อแสดงตารางสูตรคูณของ 2 2 x 1 = 2 2 x 2 = 4 …. 2 x 12 = 24 #include <stdio.h> void main() { int i=1; while (i<=12){ printf("2 X %d = %d\n",i,i*2); ++i; } ใช้คำสั่ง WHILE 44

จงเขียนโปรแกรมเพื่อแสดงตารางสูตรคูณของ 2 2 x 1 = 2 2 x 2 = 4 …. 2 x 12 = 24 #include <stdio.h> void main() { for(int i=1;i<=12;++i) printf("2 X %d = %d\n",i,i*2); } ใช้คำสั่ง FOR 45

#include <stdio.h> void main() { for(int i=1;i<=5;++i) 2 3 4 5 #include <stdio.h> void main() { for(int i=1;i<=5;++i) printf("%d",i); } #include <stdio.h> void main() { for(int i=1;i<=5;++i) printf("%d\n",i); } ใช้คำสั่ง FOR 46

#include <stdio.h> void main() { for(int i=1;i<=5;++i) { +1 ++2 +++3 ++++4 +++++5 #include <stdio.h> void main() { for(int i=1;i<=5;++i) { for(int j=1;j<=i;++j) printf("+"); printf("%d\n",i); } ใช้คำสั่ง FOR 47

#include <stdio.h> void main() { for(int i=5;i>=1;--i) { 5 5 5 5 5 4 4 4 4 3 3 3 2 2 1 #include <stdio.h> void main() { for(int i=5;i>=1;--i) { for(int j=1;j<=i;++j) printf("%d",i); printf("\n"); } ใช้คำสั่ง FOR 48