Computer Programming การเขียนโปรแกรม คอมพิวเตอร์ สัปดาห์ที่ 6 คำสั่งควบคุมการทำงานแบบ เงื่อนไขและคำสั่งควบคุมการ ทำงานแบบวนซ้ำ.

Slides:



Advertisements
งานนำเสนอที่คล้ายกัน
อัลกอริทึ่มทำงานวนซ้ำ
Advertisements

คำสั่ง while และ คำสั่ง do..while
การเขียนโปรแกรม แบบมีโครงสร้าง (ต่อ)
Control Statement if..else switch..case for while do-while.
Control Statement for while do-while.
บทที่ 3 ตอนที่ 1 คำสั่งเงื่อนไขและการตัดสินใจ(p
Lecture no. 5 Control Statements
ตัวอย่าง Flowchart.
การควบคุมทิศทางการทำงาน
คำสั่ง while ควบคุมการทำงานวนซ้ำ กรณีระบบงานมีลักษณะตรวจสอบเงื่อนไขก่อน แล้วเข้าสู่ส่วนลำดับงานคำสั่งที่กำหนดไว้ การเขียนคำสั่ง while ต้องกำหนดนิพจน์แบบตรรกะเป็นเงื่อนไขมีค่าในหน่วยความจำเป็น.
ผังงานโปรแกรม (Program Flowchart)
บทที่ 5 การทำงานแบบวนซ้ำ
Week 15 C Programming.
คำสั่งเพื่อการกำหนดเงื่อนไข
CE 112 บทที่ 5 การทำซ้ำในภาษา C
ขอความสั่ง Switch/case/break/default
Repetitive Statements (Looping)
อ.อรวรรณ เชาวลิต For คำสั่งวนซ้ำ อ.อรวรรณ เชาวลิต
คำสั่งควบคุมการทำงาน
การประกาศตัวแปร “ตัวแปร” คือสิ่งที่เราสร้างขึ้นมาเพื่อใช้เก็บค่าต่างๆและอ้างอิงใช้งานภายในโปรแกรม ตามที่เรากำหนดขึ้น การสร้างตัวแปรขึ้นมาเราเรียกว่า.
การควบคุมทิศทางการทำงานของโปรแกรม
WHILE..DO คำสั่งควบคุมให้ทำงานซ้ำ โดยที่ต้องตรวจสอบเงื่อนไขก่อนที่จะทำ
Repetitive Or Iterative
คำสั่งควบคุมเงื่อนไข และการทำงานเป็นรอบ
หน่วยที่ 4: คำสั่งควบคุมโปรแกรม (Control Flow Command)
คำสั่งควบคุมการทำงาน
การเขียนโปรแกรมภาษาซี
Chapter 5 คำสั่งควบคุมการทำซ้ำ
Chapter 4 คำสั่งควบคุมทิศทาง
Chapter 7 Iteration Statement
โครงสร้างควบคุมการทำงาน
ครูรัตติยา บุญเกิด.
ครูรัตติยา บุญเกิด.
ง30212 การเขียนโปรแกรมภาษาคอมพิวเตอร์ โรงเรียนปลวกแดงพิทยาคม
คำสั่ง while และ do…while
คำสั่ง for ง30212 การเขียนโปรแกรมด้วยภาษาคอมพิวเตอร์
คำสั่งควบคุมการทำงานของ ActionScripts
Week 3 Flow Control in PHP
Week 6 การทำซ้ำโดย for loop
Week 2 Variables.
Week 5 การทำซ้ำโดย while loop และ do while loop
Computer Programming for Engineers
Week 6 การทำซ้ำโดย for loop
Chapter 5 การทำซ้ำโดย while loop และ do while loop
Week 5 การทำซ้ำโดย while loop และ do while loop
คำสั่งควบคุมขั้นตอน Flow control statements
2 /* ข้อความนี้เป็นเพียงคำอธิบาย ไม่มีผลต่อขั้นตอนการ ทำงานของโปรแกรม */ /* A simple program to display a line of text */ #include void main ( ) { printf.
CHAPTER 4 Control Statements
การเขียนโปรแกรมแบบวนซ้ำ: คำสั่ง while คำสั่ง do….while
หลักสูตรอบรมครู คอมพิวเตอร์ หลักสูตรอบรมครู คอมพิวเตอร์ หลักสูตรที่ ๑ ทักษะการโปรแกรม เบื้องต้น วันที่สาม.
อัลกอริทึ่มทำงานวนซ้ำ
ตัวแปร Array แบบ 1 มิติ การเขียนโปรแกรมแบบวนซ้ำ
อ. วชิระ หล่อประดิษฐ์. ตัว ดำเนินกา ร ศัพท์เฉพาะตัวอย่ าง ผลลัพธ์ ให้ a=3; b=2; Greater thana > b;True
สาขาวิชาเทคโนโลยี สารสนเทศ คณะเทคโนโลยีสารสนเทศ และการสื่อสาร.
Computer Programming Asst. Prof. Dr. Choopan Rattanapoka
การเขียน แบบวนซ้ำ , วนลูป
CONDITION Computer Programming Asst. Prof. Dr. Choopan Rattanapoka.
การเขียนโปรแกรม (ภาษาซี)
Week 6 For loop, break and continue (Control Structure 3)
C-Programming บทที่ 8 การทำซ้ำ C Programming.
การทำซ้ำ Pisit Nakjai.
Computer Programming การเขียนโปรแกรมคอมพิวเตอร์
Week 5 While and Do-While loop (Control Structure 2)
Computer Program คือ ขั้นตอนการทำงาน ของคอมพิวเตอร์
PHP: [5] คำสั่งควบคุม (Control statement)
Computer Programming การเขียนโปรแกรมคอมพิวเตอร์
Computer Programming การเขียนโปรแกรมคอมพิวเตอร์
Computer Programming การเขียนโปรแกรมคอมพิวเตอร์
บทที่ 7 การเขียนโปรแกรม แบบวนรอบทำซ้ำ (Loop) Part1
บทที่ 7 การเขียนโปรแกรม แบบวนรอบทำซ้ำ (Loop) Part2
ใบสำเนางานนำเสนอ:

Computer Programming การเขียนโปรแกรม คอมพิวเตอร์ สัปดาห์ที่ 6 คำสั่งควบคุมการทำงานแบบ เงื่อนไขและคำสั่งควบคุมการ ทำงานแบบวนซ้ำ

objectives เพื่อให้นิสิตรู้จักและเข้าใจคำสั่งควบคุมการ ทำงานแบบวนซ้ำในภาษาซี สามารถเขียนโปรแกรมภาษาซีโดยใช้คำสั่ง เพื่อให้คอมพิวเตอร์ทำงานแบบวนซ้ำได้ สามารถเขียนโปรแกรมภาษาซีให้มีทำงาน แบบวนซ้ำและกำหนดเงื่อนไขร่วมกันได้ สามารถนำความรู้เรื่องคำสั่งควบคุมการ ทำงานแบบวนซ้ำและกำหนดเงื่อนไขไป ประยุกต์เพื่อแก้ไขโจทย์ปัญหาใน ชีวิตประจำวันได้ได้อย่างถูกต้องเหมาะสม

Outline Switch 1 p p 2 Break & Continue 3 Assignment #6 4 For Loop

... case constant-expr-m: statement-m.1; statement-m.2;... statement-m.n; break; default: statement-d.1; statement-d.2;... statement-d.n; } switch (expression-1) { case constant-expr-1: statement-1.1; statement-1.2;... statement-1.n; break; case constant-expr-2: statement-2.1; statement-2.2;... statement-2.n; break;... Switch Condition Control Statement (1)

Condition Statement 2-1; Statement 2-2; …. Statement 2-n; Statement 1-1; Statement 1-2; …. Statement 1-n; Statement m-1; Statement m-2; …. Statement m-n; Statement 3-1; Statement 3-2; …. Statement 3-n; กรณี 1 กรณี 2กรณี 3Default Switch Condition Control Statement (2)

Example of Switch Control Statement(1) #include int main() { int d; printf("Enter a number from 1 to 9: "); scanf("%d", &d); switch (d) { case 1: puts("A stitch in time saves nine."); break; case 2: case 6: case 9: puts("Handsome is as handsome does."); break; default: puts("Very clever. Try again."); } return 0; }

#include int main() { int d; printf("Enter a number from 1 to 9: "); scanf("%d", &d); switch (d) { case 1: puts("A stitch in time saves nine."); break; case 2: break; case 6: break; case 9: puts("Handsome is as handsome does."); break; default: puts("Very clever. Try again."); } return 0; } Example of Switch Control Statement(2)

#include int main() { int color = 1; printf("Please choose a color(1: red,2: green,3: blue):\n"); scanf("%d", &color); switch (color) { case 1: printf("you chose red color\n"); break; case 2: printf("you chose green color\n"); break; case 3: printf("you chose blue color\n"); break; default: printf("you did not choose any color\n"); } return 0; } Example of Switch Control Statement(3)

Why need iteration loop? เหตุการณ์ที่เกิดขึ้นหลายรอบ เช่น โปรแกรมแสดง ชื่อ 20 ครั้ง เหตุการณ์ที่เกิดขึ้นหลายรอบ โดยมีการ เปลี่ยนแปลงค่า หรือมีเงื่อนไข เช่น แสดงผลเลข 0, 1, 2, …, 10 แสดงผลรวมของ 1,3,5,7, …, 99 แสดง ชื่อ ไปเรื่อย ๆ จนกว่าค่า X จะมากกว่า 30

Example 1 Example: จงเขียนผังงานและโปรแกรมเพื่อ แสดงตัวเลข ออกทางหน้าจอ Output Analysis แสดงผลเลข 0, 1, 2, …, 10 Input Analysis ไม่มี Process Analysis โปรแกรมแสดงผลเลข 0, 1, 2, …,10 Variable Define ไม่ใช้ ( หรือใช้ count เพื่อเพิ่มค่า )

Example 1 (cont.) #include int main() { printf ("0\t"); printf ("1\t"); printf ("2\t"); printf ("3\t"); printf ("4\t");... printf ("10\t"); return 0; } #include int main() { int count = 0; printf ("%d\t",count++);... printf ("%d\t",count++); return 0; }

Outline Switch 1 p p 2 Break & Continue 3 Assignment #6 4 For Loop

Structure of Iteration Loop Condition การปรับปรุงค่า (Modification) การทำงานภายในวงรอบ (Execution) การทดสอบเงื่อนไข (Condition) การกำหนดค่าเริ่มต้น (Initialization) Initialization Statement Modification True False

Pretest Loop ตรวจสอบเงื่อนไขก่อน

Posttest Loop ตรวจสอบเงื่อนไขทีหลัง

Type of Iteration Loop คำสั่งวนซ้ำแบบ Pretest loop 1. while loop 2. for loop คำสั่งวนซ้ำแบบ Posttest loop 3. do-while loop

For Loop (cont.) for (initial; expression; modification) { statement-1.1; statement-1.2;... statement-1.n; } initial เป็นส่วนที่ใช้กำหนดค่าเริ่มต้น ให้กับตัวแปร expression หรือ condition เป็นเงื่อนไข เพื่อพิจารณา modification เป็นส่วนที่เปลี่ยนแปลง ค่าตัวแปร statement-1, 2,..., n เป็นคำสั่งที่จะ ทำงานเมื่อเงื่อนไขเป็นจริง

Condition Initialization Statement -1-n Modification True False For Loop (cont.)

รูปแบบประโยค ( ; ; ) for(expression1 ; expression2 ; expression3) statement; หรือ {statements;} คำอธิบาย   ทำ expression1 เพียง 1 ครั้ง   ทำ expression2 แล้วตรวจสอบค่าว่าเป็น จริงหรือเท็จ   ถ้าเป็นจริงจะทำ statement ใน loop แล้วทำ expression3 ต่อ วนกลับ ไปทำ expression2   ถ้าเป็นเท็จจะไม่ทำ statement ใน loop For Loop (cont.)

Example 2 Example: จงเขียนผังงานและโปรแกรมเพื่อ ผลรวมของตัวเลข 0 – 100 พร้อมทั้งแสดง ผลลัพธ์ออกทางหน้าจอ Output Analysis แสดงผลเลขรวมของตัวเลขจาก Input Analysis ไม่มี Process Analysis โปรแกรมทำการบวกค่าเก็บไว้ในตัวแปร ผลลัพธ์ แล้วเพิ่มค่าจนถึง 100 Variable Define count เป็นตัวแปรชนิดจำนวนเต็มเพื่อ นับจำนวน sum เป็นจำนวนเต็มเพื่อเก็บค่าผลรวม

START sum=0 count<=100 True False count++ sum END sum=sum+count count=1 Example 2 (cont.)

#include int main() { int sum=0, count; for (count=1; count<=100; count++) { sum = sum + count ; } printf ("Summation of 1 to 100 = %d",sum); return 0; } Example 2 (cont.)

Example: จงเขียนผังงานและโปรแกรมสำหรับ แสดงผลอักษร a – z ออกทางจอภาพ โดยใช้ คำสั่ง for Output Analysis แสดงผล a – z ทางจอภาพ Input Analysis ไม่มี a b c d e f g h i j k l m n o p q r s t u v w x y z Example 3

Process Analysis  โปรแกรมทำการวนรอบเพื่อแสดงผลอักษร ตั้งแต่ a – z โดยการเพิ่มค่าตัวแปรขึ้นครั้ง ละ 1 ( ดูตาราง ASCII Code) Variable Define letter เป็นตัวแปรชนิดอักขระ printf ("%c\n",'a'); // printf ("%c\n",97); printf ("%c\n",'a'+1); // printf ("%c\n",98); printf ("%c\n",'a'+2); // printf ("%c\n",98); a b c Example 3 (cont.)

START letter letter<='z' True False letter++ letter END letter='a' Example 3 (cont.)

#include int main() { char letter; for (letter='a'; letter<='z'; letter++) { printf ("%c ",letter); } return 0; } Example 3 (cont.)

Example: จงเขียนผังงานและโปรแกรม แสดงผลรูปสี่เหลี่ยมขนาด n x n โดย โปรแกรมจะรอรับจำนวนเต็มจากผู้ใช้งาน ดัง ตัวอย่าง Please enter number : 4 Output **** Please enter number : 9 Output ********* Example 4

Output Analysis  ผลตัวเลข เป็นรูปสี่เหลี่ยมจัตุรัสขนาด เท่ากับจำนวนตัวเลขที่รับเข้ามา Input Analysis  เลขจำนวนเต็มที่ผู้ใช้ป้อนเข้ามา Process Analysis  โปรแกรมรอรับค่าจำนวนเต็มจากผู้ใช้งาน  โปรแกรมวนรอบเพื่อทำการแสดง '*' เป็น รูปสี่เหลี่ยมจัตุรัส Example 4 (cont.)

บรรทัดที่ 1 แสดงผล '\n' แล้วแสดงผล '*' จำนวนเท่ากับค่าที่รับมา บรรทัดที่ 2 แสดงผล '\n' แล้วแสดงผล '*' จำนวนเท่ากับค่าที่รับมา … บรรทัดที่ n แสดงผล '\n' แล้วแสดงผล '*' จำนวนเท่ากับค่าที่รับมา Variable Define num เป็นจำนวนเต็มเพื่อใช้เก็บค่าตัวเลขที่ ผู้ใช้ป้อน i เป็นจำนวนเต็มเพื่อใช้นับจำนวน บรรทัด j เป็นจำนวนเต็มเพื่อใช้นับจำนวน '*'

START num, i, j i<=num True False '\n' END i=1 num i++ j<=num j=1 j++ '*' True False Example 4 (cont.)

int main() { int num,i,j; printf ("Enter number : "); scanf ("%d",&num); for (i=1; i<=num; i++) { printf("\n"); for (j=1; j<=num; j++) { printf("*"); } return 0; } Example 4 (cont.)

Outline Switch 1 p p 2 Break & Continue 3 Assignment #6 4 For Loop

Break & Continue #include int main() { unsigned char letter; for (letter=1; letter<=20; letter++) { if(letter == 14) break; printf ("Inside Loop [%d]\n ",letter); } printf("Out side the Loop \n"); return 0; }

Break & Continue #include int main() { unsigned char letter; for (letter=1; letter<=20; letter++) { if(letter == 14) continue; printf ("Inside Loop [%d]\n ",letter); } printf("Out side the Loop \n"); return 0; }

for(;;) #include int main() { unsigned int letter = 0; for (;;) { scanf("%d",&letter); if(letter == 666) break; printf ("Inside Loop [%d]\n ",letter); } printf("Out side the Loop \n"); return 0; }

Outline Switch 1 p p 2 Break & Continue 3 Assignment #6 4 For Loop

Assignments #6 1. จงเขียนโปรแกรมแสดงสูตรคูณแม่ 2 2. จงเขียนโปรแกรมการจ่ายเงินของตู้ ATM โดยให้ผู้ใช้กรอกจำนวนเงินเข้ามาแล้ว โปรแกรมจะตรวจสอบว่าถูกต้องหรือไม่โดยมี เงื่อนไขว่า ATM จะจ่ายเงินให้ไม่เกิน และต้องมากกว่า 100 ซึ่งโปรแกรมจะต้อง คำนวณว่าต้องจ่ายเป็นธนบัตรมูลค่าต่างๆ อย่างละจำนวนกี่ใบโดยกำหนดให้ในเครื่อง ATM มีธนบัตรมูลค่าต่างๆดังนี้ ธนบัตรใบละ 1000 ธนบัตรใบละ 500 ธนบัตรใบละ 100

3. จงเขียนโปรแกรมแสดงผลรูปสี่เหลี่ยมขนาด n x n โดยโปรแกรมจะรอรับจำนวนเต็มจาก ผู้ใช้งาน ดังตัวอย่าง Please enter number : 4 Output **** * **** Please enter number : 9 Output ********* * ********* Assignments #6 (cont.)

4. จงเขียนโปรแกรม เมนูรับรายการอาหารจาก ลูกค้าเพื่อคำนวณ ราคาอาหารทั้งหมด โดยกำหนดให้โปรแกรมมี รายการดังนี้ 1. Pizza150 ฿ 2. Hamburger50 ฿ 3. Sandwich25 ฿ 4. Water10 ฿ 0. Calculate money โดยทุกครั้งที่เลือกเมนูรายการอาหารจะแสดง จำนวนอาหารที่สั่งไปแล้วด้วย Assignments #6 (cont.)

 ตัวอย่างการรันโปรแกรม เลือก 1 เพื่อสั่ง Pizza แสดงจำนวนของ และราคา รอรายการ เลือก 2 เพื่อสั่ง Hamburger เพิ่ม Assignments #6 (cont.)

แสดงจำนวนของ และ ราคา รอรายการ เลือก 4 เพื่อสั่ง Water แสดงจำนวนของ และราคา รอรายการ เลือก 2 เพื่อสั่ง Hamburger เพิ่ม Assignments #6 (cont.)

แสดงจำนวนของ และราคา รอรายการ เลือก 0 เพื่อจบรายรายและสรุปจำนวนเงิน Assignments #6 (cont.)