Chapter 5 คำสั่งควบคุมการทำซ้ำ

Slides:



Advertisements
งานนำเสนอที่คล้ายกัน
โครงสร้างโปรแกรมภาษา C
Advertisements

อัลกอริทึ่มทำงานวนซ้ำ
คำสั่ง while และ คำสั่ง do..while
การเขียนโปรแกรม แบบมีโครงสร้าง (ต่อ)
Control Statement if..else switch..case for while do-while.
Control Statement for while do-while.
การโปรแกรมควบคุมแบบทำงานซ้ำ
Lecture 4: ทางเลือก, เงื่อนไขของทางเลือก
ตัวอย่าง Flowchart.
LAB # 4 Computer Programming 1 1. พิจารณาโปรแกรมต่อไปนี้
LAB # 5 Computer Programming 1 1.
คำสั่ง while ควบคุมการทำงานวนซ้ำ กรณีระบบงานมีลักษณะตรวจสอบเงื่อนไขก่อน แล้วเข้าสู่ส่วนลำดับงานคำสั่งที่กำหนดไว้ การเขียนคำสั่ง while ต้องกำหนดนิพจน์แบบตรรกะเป็นเงื่อนไขมีค่าในหน่วยความจำเป็น.
Week 15 C Programming.
คำสั่งเพื่อการกำหนดเงื่อนไข
CE 112 บทที่ 5 การทำซ้ำในภาษา C
รับและแสดงผลข้อมูล.
Lab 8: คำสั่ง Do-While อ.ณัฐพงศ์ พยัฆคิน.
อ.อรวรรณ เชาวลิต For คำสั่งวนซ้ำ อ.อรวรรณ เชาวลิต
Repetitive Instruction
คำสั่งวนซ้ำ (Looping)
โครงสร้างควบคุม 1. โครงสร้างควบคุมแบบวนทางเลือก
คำสั่งควบคุมการทำงาน
WHILE..DO คำสั่งควบคุมให้ทำงานซ้ำ โดยที่ต้องตรวจสอบเงื่อนไขก่อนที่จะทำ
Looping การวนรอบ บทที่ 4.
While by Accords (IT SMART CLUB 2006) by Accords 1.
หน่วยที่ 4: คำสั่งควบคุมโปรแกรม (Control Flow Command)
ตัวอย่างโปรแกรมคำนวณหาพื้นที่สี่เหลี่ยม
คำสั่งควบคุมการทำงาน
สุพจน์ สวัตติวงศ์ gamepad.pigcanfly.com
Flow Control.
Page: 1 การโปรแกรมเชิงวัตถุด้วยภาษา JAVA บุรินทร์ รุจจนพันธุ์.. ปรับปรุง 15 มิถุนายน 2550 Structure Programming มหาวิทยาลัยเนชั่น.
การเขียนโปรแกรมภาษาซี
Chapter 4 คำสั่งควบคุมทิศทาง
ง30212 การเขียนโปรแกรมภาษาคอมพิวเตอร์ โรงเรียนปลวกแดงพิทยาคม
การทำซ้ำด้วยคำสั่ง while
คำสั่ง while และ do…while
การเขียนเว็บเพจด้วยภาษา php ศูนย์คอมพิวเตอร์ โรงเรียนปลวกแดงพิทยาคม
คำสั่ง for ง30212 การเขียนโปรแกรมด้วยภาษาคอมพิวเตอร์
การรับและพิมพ์ข้อมูลเบื้องต้น
คำสั่งควบคุมการทำงานของ ActionScripts
การเขียนผังงานแบบทำซ้ำ
Week 5 การทำซ้ำโดย while loop และ do while loop
Chapter 5 การทำซ้ำโดย while loop และ do while loop
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.
การเขียนโปรแกรมเบื้องต้น
คำสั่งเงื่อนไข (Condition Statement)
หลักการเขียนโปรแกรม ( )
CHAPTER 4 Control Statements
การเขียนโปรแกรมแบบวนซ้ำ: คำสั่ง 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.
คำสั่งวนซ้ำ.
C-Programming บทที่ 8 การทำซ้ำ C Programming.
การรับและแสดงผลข้อมูล (Input/Output)
การเขียนโปรแกรมบนเว็บ (Web Programming) บทที่ 2: ทบทวนการเขียน ภาษา Java ใช้ร่วมกับ Html และการรับข้อมูลจาก Form.
การทำซ้ำ Pisit Nakjai.
Computer Programming การเขียนโปรแกรมคอมพิวเตอร์
Computer Programming การเขียนโปรแกรม คอมพิวเตอร์ สัปดาห์ที่ 6 คำสั่งควบคุมการทำงานแบบ เงื่อนไขและคำสั่งควบคุมการ ทำงานแบบวนซ้ำ.
รูปแบบของการใช้คำสั่ง for for( ตัวแปร = ค่าเริ่มต้น ; นิพจน์ตรรกะ ; ค่าเพิ่มหรือค่าลด ) { statement(s); } ตัวอย่าง กรณีกำหนดการวนซ้ำเป็นค่าคงที่ For(n=1;n
ผังงานโปรแกรม (Program Flowchart)
Nested loop.
ใบสำเนางานนำเสนอ:

Chapter 5 คำสั่งควบคุมการทำซ้ำ PROGRAMMING II

ค่าของนิพจน์ไม่ใช่ศูนย์ while statements คำสั่งที่ทำให้เกิดการทำซ้ำในขณะที่เงื่อนไขเป็นจริง while (นิพจน์) คำสั่ง; while (นิพจน์) { คำสั่ง1; คำสั่ง2; … คำสั่งn; } ค่าของนิพจน์ไม่ใช่ศูนย์ จริง คำสั่ง เท็จ เท็จ ค่าของนิพจน์ไม่ใช่ศูนย์ จริง บล็อคของคำสั่ง

Example Start C != ‘n’ End Get C Print C n y ‘a’<=C <= ‘z’

#include <stdio.h> #define NEWLINE '\n' void main ( ) { char c; scanf("%c", &c); //get first characters while (c != NEWLINE) { if ('a' <= c && c <= 'z') printf("%c", c); getchar(); scanf("%c", &c); } // End of while loop }

ตัวอย่าง จงเขียนโปรแกรมเพื่อทำการนับจำนวนหลักของเลขจำนวนเต็มที่ป้อน วิเคราะห์ ผลลัพธ์ จำนวนหลัก (digits) ข้อมูลนำเข้า เลขจำนวนเต็ม 1 จำนวน (number) วิธีประมวล รับข้อมูล จำนวนหลักของเลขจำนวนเต็มใดๆ จะเท่ากับจำนวนรอบของการ หารด้วย 10 จนกระทั้งตัวตั้งของการหารเป็น 0 แสดงผล

ตัวอย่าง (ต่อ) #include <stdio.h> void main ( ) { int digits = 0, number; printf(“Enter any integer number : ”); scanf(“%d”, &number); getchar(); while (number > 0) { number /= 10; digits += 1; } // end of while printf(“No. of digits of your input is %d\n”, digits);’ }

ค่าของนิพจน์ไม่ใช่ศูนย์ ค่าของนิพจน์ไม่ใช่ศูนย์ do - while statements คำสั่งที่ทำให้เกิดการทำซ้ำถ้าเงื่อนไขยังคงเป็นจริง do คำสั่ง; while (นิพจน์); do { คำสั่ง1; คำสั่ง2; … คำสั่งn; } while (นิพจน์); จริง คำสั่ง เท็จ ค่าของนิพจน์ไม่ใช่ศูนย์ จริง เท็จ ค่าของนิพจน์ไม่ใช่ศูนย์ บล็อคของคำสั่ง

ตัวอย่าง จงเขียนโปรแกรมเพื่อทำการนับจำนวนหลักของเลขจำนวน เต็มที่ป้อน จนกว่าไม่ต้องการทำต่อ วิเคราะห์ ผลลัพธ์ จำนวนหลัก (digits) ข้อมูลนำเข้า เลขจำนวนเต็ม 1 จำนวน (number) ทำงานต่อหรือไม่ (ans) วิธีประมวล รับข้อมูล จำนวนหลักของเลขจำนวนเต็มใดๆ จะเท่ากับจำนวนรอบของการหาร ด้วย 10 จนกระทั้งตัวตั้งของการหารเป็น 0 แสดงผล ถามความต้องการทำงานต่อหรือไม่?

#include <stdio.h> void main ( ) { int digits = 0, number; char ans; do { printf("Enter any integer number : "); scanf("%d", &number); getchar(); while (number > 0) { number /= 10; digits += 1; } printf("No. of digits of your input is %d\n", digits); printf("Do you want to continue (y/Y)?"); digits = 0; scanf("%c", &ans); } while (ans == 'y' || ans == 'Y');

for statements คำสั่งที่ทำให้เกิดการทำซ้ำที่ทราบจำนวนรอบ for (initialization;condition;update) statement; หรือ {statements} initialization condition False True Statement or {statements} update

ตัวอย่าง #include<stdio.h> void main(){ int digits, number; printf("Enter any integer number : "); scanf("%d", &number); getchar(); for(digits = 0; number > 0; digits += 1) number /= 10; printf("No. of digits of your input is %d\n", digits); }

for (digits=0; number>0; number /= 10, digits+=1); for(digits = 0; number > 0; digits += 1) number /= 10; for (digits=0; number>0; number /= 10, digits+=1); digits = 0; for (; number > 0; ) { number /= 10; digits += 1; }

คำถามท้ายบท ส่วนของโปรแกรมต่อไปนี้ ให้ผลการทำงานออกมาตรงกับข้อใด #include <stdio.h> main() { int i=0; do{ printf(“\ni=%d”,++i); }while(i<10); } แสดงตัวเลข 0-9 2) แสดงตัวเลข 1-10 3) แสดงตัวเลข 1-9 4) เป็นการวนลูปไม่หยุด

2. จากส่วนของโปรแกรมต่อไปนี้ จงหาว่าค่าของตัวแปร a_count, a และ b จะมีค่าเท่ากับเท่าไรเมื่อจบโปรแกรม #include <stdio.h> main() { int a=-10,b=3; float a_count = 0; while(a&&b) { if(a%2) { a_count++; a++; b--; } else printf(“a_count = %.4f\n”,a_count); printf(“a = %d\n”,a); printf(“b = %d\n”,b); a_count = 2.0000, a = -2, b = 0 a_count = 2.0000, a = -3, b = 0 a_count = 3.0000, a = -4, b = 0 a_count = 3.0000, a = -3, b = 0

3. จากส่วนของโปรแกรมที่มีการวนลูปด้วยคำสั่ง while ต่อไปนี้ จงหาว่าผลลัพธ์จะออกมาเป็นดังข้อ ใด #include <stdio.h> main() { int i=0, j=5; while(j>1) { if((i%j)==0) { printf(“\n”); j--; i=0; } printf(“$”); i++; $$$$ $$$ $$ $ $$$$$

4. ส่วนของโปรแกรมใดในข้อต่อไปนี้เป็นการแสดงตัวเลข 1 ถึง 5 ออกทางหน้าจอ 1) n=1; while(n!=5) printf(“%d”,n); 2) n=0; printf(“%d”,n+1); 3) n=0; while(n++!=5) 4) n=0; while(++n!=5)

5. จงแสดงผลลัพธ์ของโปรแกรมต่อไปนี้ #include <stdio 5. จงแสดงผลลัพธ์ของโปรแกรมต่อไปนี้ #include <stdio.h> main() { int a,b; for(a=1,b=10;a<10,b>5;a++,b--) printf(“%d”,a); } 6. จากโปรแกรมในข้อ 5. จงเขียนโปรแกรมใหม่โดยเปลี่ยนมาใช้คำสั่ง while แทน for 7. จากโปรแกรมในข้อ 3. จงเขียนโปรแกรมใหม่โดยเปลี่ยนมาใช้คำสั่ง for

8. จงเขียนโปรแกรมที่มีการวนรับจำนวนเต็มเข้ามาจนกว่าผู้ใช้จะป้อน -999 โดยโปรแกรมจะ คำนวณหาผลบวกของจำนวนทั้งหมดที่รับเข้ามา ตัวอย่างอินพุตของโปรแกรม ตัวอย่างเอาท์พุตของโปรแกรม Enter number : 12 Enter number : 530 Enter number : -142 Enter number : 81 Enter number : -999 Enter number : 12 Enter number : 530 Enter number : -142 Enter number : 81 Enter number : -999 ------------------------- Sum of all numbers = 481