SlideShare a Scribd company logo
1 of 16
บทที่ 7 การทำาซ้ำ้า
7.1 การทำาซ้ำ้าโดยการใช้ While-
do
7.2 การทำาซ้ำ้าโดยใช้ For
7.3 การทำาซ้ำ้าโดยการใช้ Do-
Until
Copyright (c) 2006 by Sasalak Tongkaw2
COMPUTER PROGRAMMING AND ALGORITH
การทำาซ้ำ้า
หมายถึง การทำาอะไรซ้ำ้าๆ หรือคำานวณซ้ำ้า โดย
การใช้ วงวน (looping) การทำาซ้ำ้าจะเกิดขึ้น
เรื่อยๆ จนกว่าจะครบกำาหนด
การทำาซ้ำ้าเกิดขึ้นบ่อยๆ ในชีวิตประจำาวัน เช่น
การวนรับรหัสผ่าน จนกว่าจะใส่รหัสผ่านถูกต้อง
หรือไม่เกิน 3 ครั้ง, การวนรับรหัสบัตรเติมเงินของ
บริการโทรศัพท์ ไม่เกิน 3 ครั้ง จนกว่าจะใส่รหัส
บัตรเติมเงินถูกต้อง เป็นต้น
Copyright (c) 2006 by Sasalak Tongkaw3
COMPUTER PROGRAMMING AND ALGORITH
ตัวอย่าง ผังงานที่มีวงวน
EOFEOF
StartStart
Yes
HouseKeepHouseKeep
StopStop
No
Main loopMain loop
Finish upFinish up
Copyright (c) 2006 by Sasalak Tongkaw4
COMPUTER PROGRAMMING AND ALGORITH
ชนิดของการทำาซ้ำ้า
การทำาซ้ำ้ามี 2 ลักษณะ คือ
แบบใช้เงื่อนไขเป็นตัวตัดสินใจ
ว่าจะทำาซ้ำ้าต่อไปหรือไม่ ต้องการ
ให้โปรแกรมทำาไปเรื่อยๆ ในขณะ
ที่เงื่อนไขยังเป็นจริง อยู่ เช่น ให้
รับรหัสผ่านไปเรื่อยๆ จนกว่าจะ
ใส่ถูก ซ้ึ่งจะไม่มีจำานวนรอบที่
แน่นอนตายตัว ลักษณะนี้จะมี 2
คำาสั่งคือ do..while และ while..
.
แบบมีจำานวนรอบที่แน่นอน เช่น
Copyright (c) 2006 by Sasalak Tongkaw5
COMPUTER PROGRAMMING AND ALGORITH
การทำาซ้ำ้าแบบ While-Do และ Do-
While
คำาสั่ง while และ do..while จะ
ต่างจากคำาสั่ง forเล็กน้อยตรงที่
การทำาซ้ำ้าแบบนี้ ไม่จำาเป็นต้อง
บอกถึงจำานวนรอบของการทำาซ้ำ้า
แต่ละทำาซ้ำ้าไปเรื่อยๆ จนกว่า
เงื่อนไขจะเป็นเท็จ
รูปแบบคำาสั่ง while คือ
While (เงื่อนไข)
{
คำาสั่งหรือกลุ่มคำาสั่งที่ต้องการให้
ทำาซ้ำ้า
Copyright (c) 2006 by Sasalak Tongkaw6
COMPUTER PROGRAMMING AND ALGORITH
ตัวแปร Counter
เป็นตัวแปรที่ใช้สำาหรับการเพิ่มค่า
เพื่อกำาหนดการหยุดของวงวน
หากเป็นค่าสุดท้ายจะเรียกว่า ลิ
มิต (limit) หรือค่าเซ้นทิเนล
(sentinel)
Copyright (c) 2006 by Sasalak Tongkaw7
COMPUTER PROGRAMMING AND ALGORITH
ตัวอย่าง ขั้นตอนสำาคัญของวงวนหลัก
4 ขั้นตอน
Label-Counter
=100?
YES
NO
Main-Loop
Return
Read
Employees
Write
Label-Line,
In-Name
Add 1 To
Label-Counter
Label-Counter
= 0
1
5
432
Copyright (c) 2006 by Sasalak Tongkaw8
COMPUTER PROGRAMMING AND ALGORITH
ตัวอย่างโปรแกรม While
void main()
{
void housekeep(); // เรียกฟังก์ชั่นย่อย housekeep()
while(EOF!=null) { // ตรวจสอบว่าสิ้นสุดไฟล์หรือไม่
/* main-loop */
int Lable-Counter=0; // กำาหนดค่าเริ่มต้นให้ตัว
นับ
while(Lable-Counter<=100) { // ทำาในขณะที่ Label-
Counter // น้อยกว่าหรือเท่ากับ
100
printf(“Lable-Line”); // ถ้าไม่เงื่อนไขเป็นจริง จะทำา
ในลูป
printf(“In-name”);
Lable-Counter++; // เพิ่มค่าให้ตัวนับ
}
// Read Employees // อ่านระเบียนใหม่
}
Copyright (c) 2006 by Sasalak Tongkaw9
COMPUTER PROGRAMMING AND ALGORITH
while.c
#include<stdio.h>
Void main()
{
int count=1;
while(count<=10)
{
printf(“Hello %dn”,count);
count++;
}
}
จากตัวอย่างเรา
กำาหนดให้ count มี
ค่า เป็น 1 จากนั้นใช้
คำาสั่ง while ตรวจดู
ค่าของ count ว่ายัง
น้อยกว่าหรือเท่ากับ
10 หรือไม่ ถ้าใช่ก็ยัง
ทำาคำาสั่งภายใน{} ต่อ
ไป และเพิ่มค่า count
ทีละ 1 ไปเรื่อยๆ
จนกว่าค่า count จะ
มากกว่า 10 ทำาให้
เงื่อนไขเป็นเท็จก็จะ
แบบฝึกหัด 1 จงเขียนผลรันที่ได้จาก
การรันโปรแกรมนี้
แบบฝึกหัด 1 จงเขียนผลรันที่ได้จาก
การรันโปรแกรมนี้
Copyright (c) 2006 by Sasalak Tongkaw10
COMPUTER PROGRAMMING AND ALGORITH
dowhile.c
#include<stdio.h>
void main()
{
char out;
do
{
printf(“n Do you what to exit ?[Y]es or [N]o :”);
scanf(“%c”,&out);
}while(out!=‘y’);
}
• ก่อนเข้าสู่การตรวจสอบเงื่อนไข(out!=y) ครั้ง
แรกนั้นจะมีการทำาคำาสั่งใน {} ก่อน ดังนั้น
do..while จึงทำาคำาสั่งภายใน {} อย่างน้อย 1 ครั้ง
เสมอ และถ้าตรวจสอบแล้วเงื่อนไขยังจริงอยู่ก็จะ
วนมาทำาคำาสั่งภายใน {} อีกครั้ง
แบบฝึกหัด 2 จงเขียนผลรันที่ได้จาก
การรันโปรแกรมนี้
แบบฝึกหัด 2 จงเขียนผลรันที่ได้จาก
การรันโปรแกรมนี้
Copyright (c) 2006 by Sasalak Tongkaw11
COMPUTER PROGRAMMING AND ALGORITH
for
ใช้ในกรณีที่เราต้องการทำาซ้ำ้า
โดยทราบจำานวนครั้งที่แน่นอน
เช่น 20 ครั้ง 30 ครั้ง
การใช้งานจะกำาหนดลงไปเลยว่า
ต้องการให้ทำากี่ครั้ง และจะต้อง
สร้างตัวแปร ขึ้นมาเป็นตัวนับ
(counter) โดยมากจะกำาหนดให้
เป็นตัวแปรแบบจำานวนเต็ม
(integer)
ตัวนับจะเป็นตัวคอยบอกว่าครบ
ตามจำานวนที่ต้องการรึยัง ถ้ายัง
Copyright (c) 2006 by Sasalak Tongkaw12
COMPUTER PROGRAMMING AND ALGORITH
รูปแบบ ของ for
for(ค่าเริ่มต้นของตัวนับ เช่น 0;
เปรียบเทียบตัวนับว่ายังอยู่ใน
ช่วงนี้หรือไม่;
จำานวนนับเพิ่มทีละเท่าไร
หรือลดทีละเท่าไร)
{
คำาสั่งที่ต้องการให้ทำา
}
Copyright (c) 2006 by Sasalak Tongkaw13
COMPUTER PROGRAMMING AND ALGORITH
โปรแกรม for1.c
#include<stdio.h>
Void main()
{
int count;
printf(“Beginn”);
for(count=0;count<10;count++)
printf(“Hellon”);
printf(“Endn”);
}
เริ่มต้นให้ count=0
ทำำในขณะที่ count<10
เพิ่มค่ำ count ทีละ 1
count=count+1
Copyright (c) 2006 by Sasalak Tongkaw14
COMPUTER PROGRAMMING AND ALGORITH
ผลรันโปรแกรม
Begin
Hello
Hello
Hello
Hello
Hello
Hello
Hello
Hello
Hello
Hello
End
• คำำว่ำ Hello จะถูกแสดง
ทั้งหมด 10 ครั้ง โดยที่
ตัวแปร count คือตัวแปร
ที่ใช้เป็นตัวนับ เรำให้ค่ำ
เริ่มต้นเป็น 1 และจะเพิ่ม
ค่ำขึ้นทีละ 1 ไปเรื่อยๆ
ในขณะที่ตัวแปร count
ยังน้อยกว่ำ 10 แต่ถ้ำ
ตัวแปร count เท่ำกับ 10
เมื่อไร่ เงื่อนไขจะเป็น
เท็จ โปรแกรมก็จะหลุด
ออกจำกคำำสั่ง for ทันที
Copyright (c) 2006 by Sasalak Tongkaw15
COMPUTER PROGRAMMING AND ALGORITH
โปรแกรม สูตรคูณ
#include<stdio.h>
Void main()
{
int mother=6;
int count;
printf(“Beginn”);
for (count =1;count<=12;count++)
{
pintf(“%d x %d = %dn”,mother,count,mother *count);
}
printf(“Endn”);
}
แบบฝึกหัด 3 จงเขียนผลรันที่ได้จำก
กำรรันโปรแกรมนี้
แบบฝึกหัด 3 จงเขียนผลรันที่ได้จำก
กำรรันโปรแกรมนี้
END OF CHEPTER 7
ANY QUESTION ?

More Related Content

Viewers also liked

4121103 การเขียนโปรแกรมและอัลกอริทึ่ม SLIDE 4/7
4121103 การเขียนโปรแกรมและอัลกอริทึ่ม SLIDE 4/74121103 การเขียนโปรแกรมและอัลกอริทึ่ม SLIDE 4/7
4121103 การเขียนโปรแกรมและอัลกอริทึ่ม SLIDE 4/7Know Mastikate
 
การใช้ Turbo C ชุดที่ 13 File IO
การใช้ Turbo C ชุดที่ 13 File IOการใช้ Turbo C ชุดที่ 13 File IO
การใช้ Turbo C ชุดที่ 13 File IOKnow Mastikate
 
4121103 การเขียนโปรแกรมและอัลกอริทึ่ม SLIDE 2/7
4121103 การเขียนโปรแกรมและอัลกอริทึ่ม SLIDE 2/74121103 การเขียนโปรแกรมและอัลกอริทึ่ม SLIDE 2/7
4121103 การเขียนโปรแกรมและอัลกอริทึ่ม SLIDE 2/7Know Mastikate
 
4121103 การเขียนโปรแกรมและอัลกอริทึ่ม SLIDE 5/7
4121103 การเขียนโปรแกรมและอัลกอริทึ่ม SLIDE 5/74121103 การเขียนโปรแกรมและอัลกอริทึ่ม SLIDE 5/7
4121103 การเขียนโปรแกรมและอัลกอริทึ่ม SLIDE 5/7Know Mastikate
 
การใช้ Turbo C ชุดที่ 8 Array
การใช้ Turbo C ชุดที่ 8 Arrayการใช้ Turbo C ชุดที่ 8 Array
การใช้ Turbo C ชุดที่ 8 ArrayKnow Mastikate
 
การใช้ Turbo C ชุดที่ 12 structure
การใช้ Turbo C ชุดที่ 12 structureการใช้ Turbo C ชุดที่ 12 structure
การใช้ Turbo C ชุดที่ 12 structureKnow Mastikate
 
Cpwk14 screen and sound
Cpwk14 screen and soundCpwk14 screen and sound
Cpwk14 screen and soundKnow Mastikate
 
การใช้ Turbo C ชุดที่ 11 function
การใช้ Turbo C ชุดที่ 11 functionการใช้ Turbo C ชุดที่ 11 function
การใช้ Turbo C ชุดที่ 11 functionKnow Mastikate
 
4121103 การเขียนโปรแกรมและอัลกอริทึ่ม SLIDE 1/7
4121103 การเขียนโปรแกรมและอัลกอริทึ่ม SLIDE 1/74121103 การเขียนโปรแกรมและอัลกอริทึ่ม SLIDE 1/7
4121103 การเขียนโปรแกรมและอัลกอริทึ่ม SLIDE 1/7Know Mastikate
 
การใช้ Turbo C ชุดที่ 5 IO
การใช้ Turbo C ชุดที่ 5 IOการใช้ Turbo C ชุดที่ 5 IO
การใช้ Turbo C ชุดที่ 5 IOKnow Mastikate
 
การใช้ Turbo C ชุดที่ 1 Turbo C
การใช้ Turbo C ชุดที่ 1 Turbo Cการใช้ Turbo C ชุดที่ 1 Turbo C
การใช้ Turbo C ชุดที่ 1 Turbo CKnow Mastikate
 
4121103 การเขียนโปรแกรมและอัลกอริทึ่ม SLIDE 6/7
4121103 การเขียนโปรแกรมและอัลกอริทึ่ม SLIDE 6/74121103 การเขียนโปรแกรมและอัลกอริทึ่ม SLIDE 6/7
4121103 การเขียนโปรแกรมและอัลกอริทึ่ม SLIDE 6/7Know Mastikate
 
C Programming
C ProgrammingC Programming
C ProgrammingWarawut
 
Structured Programming and Algorithm
Structured Programming and AlgorithmStructured Programming and Algorithm
Structured Programming and AlgorithmSatipattan Oband
 
การประกาศตัวแปรในภาษาซี
การประกาศตัวแปรในภาษาซีการประกาศตัวแปรในภาษาซี
การประกาศตัวแปรในภาษาซีmycomc55
 
การเขียนโปรแกรม Dev c++
การเขียนโปรแกรม Dev c++การเขียนโปรแกรม Dev c++
การเขียนโปรแกรม Dev c++Naowarat Jaikaroon
 
ตัวแปรในภาษาซี
ตัวแปรในภาษาซีตัวแปรในภาษาซี
ตัวแปรในภาษาซีboky_peaw
 
บทที่1 พื้นฐานโปรแกรมภาษาซี
บทที่1 พื้นฐานโปรแกรมภาษาซีบทที่1 พื้นฐานโปรแกรมภาษาซี
บทที่1 พื้นฐานโปรแกรมภาษาซีKomkai Pawuttanon
 

Viewers also liked (20)

4121103 การเขียนโปรแกรมและอัลกอริทึ่ม SLIDE 4/7
4121103 การเขียนโปรแกรมและอัลกอริทึ่ม SLIDE 4/74121103 การเขียนโปรแกรมและอัลกอริทึ่ม SLIDE 4/7
4121103 การเขียนโปรแกรมและอัลกอริทึ่ม SLIDE 4/7
 
การใช้ Turbo C ชุดที่ 13 File IO
การใช้ Turbo C ชุดที่ 13 File IOการใช้ Turbo C ชุดที่ 13 File IO
การใช้ Turbo C ชุดที่ 13 File IO
 
4121103 การเขียนโปรแกรมและอัลกอริทึ่ม SLIDE 2/7
4121103 การเขียนโปรแกรมและอัลกอริทึ่ม SLIDE 2/74121103 การเขียนโปรแกรมและอัลกอริทึ่ม SLIDE 2/7
4121103 การเขียนโปรแกรมและอัลกอริทึ่ม SLIDE 2/7
 
4121103 การเขียนโปรแกรมและอัลกอริทึ่ม SLIDE 5/7
4121103 การเขียนโปรแกรมและอัลกอริทึ่ม SLIDE 5/74121103 การเขียนโปรแกรมและอัลกอริทึ่ม SLIDE 5/7
4121103 การเขียนโปรแกรมและอัลกอริทึ่ม SLIDE 5/7
 
การใช้ Turbo C ชุดที่ 8 Array
การใช้ Turbo C ชุดที่ 8 Arrayการใช้ Turbo C ชุดที่ 8 Array
การใช้ Turbo C ชุดที่ 8 Array
 
การใช้ Turbo C ชุดที่ 12 structure
การใช้ Turbo C ชุดที่ 12 structureการใช้ Turbo C ชุดที่ 12 structure
การใช้ Turbo C ชุดที่ 12 structure
 
Cpwk14 screen and sound
Cpwk14 screen and soundCpwk14 screen and sound
Cpwk14 screen and sound
 
การใช้ Turbo C ชุดที่ 11 function
การใช้ Turbo C ชุดที่ 11 functionการใช้ Turbo C ชุดที่ 11 function
การใช้ Turbo C ชุดที่ 11 function
 
4121103 การเขียนโปรแกรมและอัลกอริทึ่ม SLIDE 1/7
4121103 การเขียนโปรแกรมและอัลกอริทึ่ม SLIDE 1/74121103 การเขียนโปรแกรมและอัลกอริทึ่ม SLIDE 1/7
4121103 การเขียนโปรแกรมและอัลกอริทึ่ม SLIDE 1/7
 
การใช้ Turbo C ชุดที่ 5 IO
การใช้ Turbo C ชุดที่ 5 IOการใช้ Turbo C ชุดที่ 5 IO
การใช้ Turbo C ชุดที่ 5 IO
 
การใช้ Turbo C ชุดที่ 1 Turbo C
การใช้ Turbo C ชุดที่ 1 Turbo Cการใช้ Turbo C ชุดที่ 1 Turbo C
การใช้ Turbo C ชุดที่ 1 Turbo C
 
Plan3
Plan3Plan3
Plan3
 
4121103 การเขียนโปรแกรมและอัลกอริทึ่ม SLIDE 6/7
4121103 การเขียนโปรแกรมและอัลกอริทึ่ม SLIDE 6/74121103 การเขียนโปรแกรมและอัลกอริทึ่ม SLIDE 6/7
4121103 การเขียนโปรแกรมและอัลกอริทึ่ม SLIDE 6/7
 
C Programming
C ProgrammingC Programming
C Programming
 
Structured Programming and Algorithm
Structured Programming and AlgorithmStructured Programming and Algorithm
Structured Programming and Algorithm
 
การประกาศตัวแปรในภาษาซี
การประกาศตัวแปรในภาษาซีการประกาศตัวแปรในภาษาซี
การประกาศตัวแปรในภาษาซี
 
การเขียนโปรแกรม Dev c++
การเขียนโปรแกรม Dev c++การเขียนโปรแกรม Dev c++
การเขียนโปรแกรม Dev c++
 
ตัวแปรในภาษาซี
ตัวแปรในภาษาซีตัวแปรในภาษาซี
ตัวแปรในภาษาซี
 
บทที่1 พื้นฐานโปรแกรมภาษาซี
บทที่1 พื้นฐานโปรแกรมภาษาซีบทที่1 พื้นฐานโปรแกรมภาษาซี
บทที่1 พื้นฐานโปรแกรมภาษาซี
 
Chapter 02 Flowchart
Chapter 02 FlowchartChapter 02 Flowchart
Chapter 02 Flowchart
 

Similar to 4121103 การเขียนโปรแกรมและอัลกอริทึ่ม SLIDE 7/7

Similar to 4121103 การเขียนโปรแกรมและอัลกอริทึ่ม SLIDE 7/7 (20)

Chapter 05 Loop
Chapter 05 LoopChapter 05 Loop
Chapter 05 Loop
 
Chapter 05 Loop
Chapter 05 LoopChapter 05 Loop
Chapter 05 Loop
 
หลักการเขียนโปรแกรม
หลักการเขียนโปรแกรมหลักการเขียนโปรแกรม
หลักการเขียนโปรแกรม
 
Presentation2
Presentation2Presentation2
Presentation2
 
ฟังก์ชั่น break
ฟังก์ชั่น breakฟังก์ชั่น break
ฟังก์ชั่น break
 
บทที่ 3 คำสั่งควบค
บทที่ 3 คำสั่งควบคบทที่ 3 คำสั่งควบค
บทที่ 3 คำสั่งควบค
 
3.8 การทำงานตามลำดับ
3.8 การทำงานตามลำดับ3.8 การทำงานตามลำดับ
3.8 การทำงานตามลำดับ
 
Computer programming
Computer  programmingComputer  programming
Computer programming
 
Computer programming
Computer programmingComputer programming
Computer programming
 
บทที่ 5 พื้นฐานภาษาซี
บทที่ 5 พื้นฐานภาษาซีบทที่ 5 พื้นฐานภาษาซี
บทที่ 5 พื้นฐานภาษาซี
 
05 Loops
05  Loops05  Loops
05 Loops
 
ภาษาC & mathlab
ภาษาC & mathlabภาษาC & mathlab
ภาษาC & mathlab
 
Lesson4
Lesson4Lesson4
Lesson4
 
อยากเขียนโปรแกรมสักตัว เล่ม 1
อยากเขียนโปรแกรมสักตัว เล่ม 1อยากเขียนโปรแกรมสักตัว เล่ม 1
อยากเขียนโปรแกรมสักตัว เล่ม 1
 
Programmer1
Programmer1Programmer1
Programmer1
 
05 loops
05 loops05 loops
05 loops
 
9789740328766
97897403287669789740328766
9789740328766
 
9789740328766
97897403287669789740328766
9789740328766
 
06 for loops
06 for loops06 for loops
06 for loops
 
Unit12
Unit12Unit12
Unit12
 

More from Know Mastikate

MK380-SQL ระบบสารสนเทศทางการตลาด - ภาษา SQL
MK380-SQL ระบบสารสนเทศทางการตลาด - ภาษา SQLMK380-SQL ระบบสารสนเทศทางการตลาด - ภาษา SQL
MK380-SQL ระบบสารสนเทศทางการตลาด - ภาษา SQLKnow Mastikate
 
การใช้ Turbo C ชุดที่ 10 Pointer
การใช้ Turbo C ชุดที่ 10 Pointerการใช้ Turbo C ชุดที่ 10 Pointer
การใช้ Turbo C ชุดที่ 10 PointerKnow Mastikate
 
การใช้ Turbo C ชุดที่ 3 arithematic
การใช้ Turbo C ชุดที่ 3 arithematicการใช้ Turbo C ชุดที่ 3 arithematic
การใช้ Turbo C ชุดที่ 3 arithematicKnow Mastikate
 
เอกสาร Program C for Pc-Digital
เอกสาร Program C for Pc-Digitalเอกสาร Program C for Pc-Digital
เอกสาร Program C for Pc-DigitalKnow Mastikate
 
แบบฟอร์มใบสมัครงาน แบบที่ 1
แบบฟอร์มใบสมัครงาน แบบที่ 1แบบฟอร์มใบสมัครงาน แบบที่ 1
แบบฟอร์มใบสมัครงาน แบบที่ 1Know Mastikate
 
แบบฟอร์มใบสมัครงาน แบบที่ 2
แบบฟอร์มใบสมัครงาน แบบที่ 2แบบฟอร์มใบสมัครงาน แบบที่ 2
แบบฟอร์มใบสมัครงาน แบบที่ 2Know Mastikate
 
ไฟล์ Presentation ประกอบรายงาน PHP - Know2Pro.co.cc
ไฟล์ Presentation ประกอบรายงาน PHP - Know2Pro.co.ccไฟล์ Presentation ประกอบรายงาน PHP - Know2Pro.co.cc
ไฟล์ Presentation ประกอบรายงาน PHP - Know2Pro.co.ccKnow Mastikate
 
รายงาน Google Android - Know2pro.com
รายงาน Google Android - Know2pro.comรายงาน Google Android - Know2pro.com
รายงาน Google Android - Know2pro.comKnow Mastikate
 
รายงาน PHP - Know2pro.com
รายงาน PHP - Know2pro.comรายงาน PHP - Know2pro.com
รายงาน PHP - Know2pro.comKnow Mastikate
 

More from Know Mastikate (9)

MK380-SQL ระบบสารสนเทศทางการตลาด - ภาษา SQL
MK380-SQL ระบบสารสนเทศทางการตลาด - ภาษา SQLMK380-SQL ระบบสารสนเทศทางการตลาด - ภาษา SQL
MK380-SQL ระบบสารสนเทศทางการตลาด - ภาษา SQL
 
การใช้ Turbo C ชุดที่ 10 Pointer
การใช้ Turbo C ชุดที่ 10 Pointerการใช้ Turbo C ชุดที่ 10 Pointer
การใช้ Turbo C ชุดที่ 10 Pointer
 
การใช้ Turbo C ชุดที่ 3 arithematic
การใช้ Turbo C ชุดที่ 3 arithematicการใช้ Turbo C ชุดที่ 3 arithematic
การใช้ Turbo C ชุดที่ 3 arithematic
 
เอกสาร Program C for Pc-Digital
เอกสาร Program C for Pc-Digitalเอกสาร Program C for Pc-Digital
เอกสาร Program C for Pc-Digital
 
แบบฟอร์มใบสมัครงาน แบบที่ 1
แบบฟอร์มใบสมัครงาน แบบที่ 1แบบฟอร์มใบสมัครงาน แบบที่ 1
แบบฟอร์มใบสมัครงาน แบบที่ 1
 
แบบฟอร์มใบสมัครงาน แบบที่ 2
แบบฟอร์มใบสมัครงาน แบบที่ 2แบบฟอร์มใบสมัครงาน แบบที่ 2
แบบฟอร์มใบสมัครงาน แบบที่ 2
 
ไฟล์ Presentation ประกอบรายงาน PHP - Know2Pro.co.cc
ไฟล์ Presentation ประกอบรายงาน PHP - Know2Pro.co.ccไฟล์ Presentation ประกอบรายงาน PHP - Know2Pro.co.cc
ไฟล์ Presentation ประกอบรายงาน PHP - Know2Pro.co.cc
 
รายงาน Google Android - Know2pro.com
รายงาน Google Android - Know2pro.comรายงาน Google Android - Know2pro.com
รายงาน Google Android - Know2pro.com
 
รายงาน PHP - Know2pro.com
รายงาน PHP - Know2pro.comรายงาน PHP - Know2pro.com
รายงาน PHP - Know2pro.com
 

4121103 การเขียนโปรแกรมและอัลกอริทึ่ม SLIDE 7/7

  • 1. บทที่ 7 การทำาซ้ำ้า 7.1 การทำาซ้ำ้าโดยการใช้ While- do 7.2 การทำาซ้ำ้าโดยใช้ For 7.3 การทำาซ้ำ้าโดยการใช้ Do- Until
  • 2. Copyright (c) 2006 by Sasalak Tongkaw2 COMPUTER PROGRAMMING AND ALGORITH การทำาซ้ำ้า หมายถึง การทำาอะไรซ้ำ้าๆ หรือคำานวณซ้ำ้า โดย การใช้ วงวน (looping) การทำาซ้ำ้าจะเกิดขึ้น เรื่อยๆ จนกว่าจะครบกำาหนด การทำาซ้ำ้าเกิดขึ้นบ่อยๆ ในชีวิตประจำาวัน เช่น การวนรับรหัสผ่าน จนกว่าจะใส่รหัสผ่านถูกต้อง หรือไม่เกิน 3 ครั้ง, การวนรับรหัสบัตรเติมเงินของ บริการโทรศัพท์ ไม่เกิน 3 ครั้ง จนกว่าจะใส่รหัส บัตรเติมเงินถูกต้อง เป็นต้น
  • 3. Copyright (c) 2006 by Sasalak Tongkaw3 COMPUTER PROGRAMMING AND ALGORITH ตัวอย่าง ผังงานที่มีวงวน EOFEOF StartStart Yes HouseKeepHouseKeep StopStop No Main loopMain loop Finish upFinish up
  • 4. Copyright (c) 2006 by Sasalak Tongkaw4 COMPUTER PROGRAMMING AND ALGORITH ชนิดของการทำาซ้ำ้า การทำาซ้ำ้ามี 2 ลักษณะ คือ แบบใช้เงื่อนไขเป็นตัวตัดสินใจ ว่าจะทำาซ้ำ้าต่อไปหรือไม่ ต้องการ ให้โปรแกรมทำาไปเรื่อยๆ ในขณะ ที่เงื่อนไขยังเป็นจริง อยู่ เช่น ให้ รับรหัสผ่านไปเรื่อยๆ จนกว่าจะ ใส่ถูก ซ้ึ่งจะไม่มีจำานวนรอบที่ แน่นอนตายตัว ลักษณะนี้จะมี 2 คำาสั่งคือ do..while และ while.. . แบบมีจำานวนรอบที่แน่นอน เช่น
  • 5. Copyright (c) 2006 by Sasalak Tongkaw5 COMPUTER PROGRAMMING AND ALGORITH การทำาซ้ำ้าแบบ While-Do และ Do- While คำาสั่ง while และ do..while จะ ต่างจากคำาสั่ง forเล็กน้อยตรงที่ การทำาซ้ำ้าแบบนี้ ไม่จำาเป็นต้อง บอกถึงจำานวนรอบของการทำาซ้ำ้า แต่ละทำาซ้ำ้าไปเรื่อยๆ จนกว่า เงื่อนไขจะเป็นเท็จ รูปแบบคำาสั่ง while คือ While (เงื่อนไข) { คำาสั่งหรือกลุ่มคำาสั่งที่ต้องการให้ ทำาซ้ำ้า
  • 6. Copyright (c) 2006 by Sasalak Tongkaw6 COMPUTER PROGRAMMING AND ALGORITH ตัวแปร Counter เป็นตัวแปรที่ใช้สำาหรับการเพิ่มค่า เพื่อกำาหนดการหยุดของวงวน หากเป็นค่าสุดท้ายจะเรียกว่า ลิ มิต (limit) หรือค่าเซ้นทิเนล (sentinel)
  • 7. Copyright (c) 2006 by Sasalak Tongkaw7 COMPUTER PROGRAMMING AND ALGORITH ตัวอย่าง ขั้นตอนสำาคัญของวงวนหลัก 4 ขั้นตอน Label-Counter =100? YES NO Main-Loop Return Read Employees Write Label-Line, In-Name Add 1 To Label-Counter Label-Counter = 0 1 5 432
  • 8. Copyright (c) 2006 by Sasalak Tongkaw8 COMPUTER PROGRAMMING AND ALGORITH ตัวอย่างโปรแกรม While void main() { void housekeep(); // เรียกฟังก์ชั่นย่อย housekeep() while(EOF!=null) { // ตรวจสอบว่าสิ้นสุดไฟล์หรือไม่ /* main-loop */ int Lable-Counter=0; // กำาหนดค่าเริ่มต้นให้ตัว นับ while(Lable-Counter<=100) { // ทำาในขณะที่ Label- Counter // น้อยกว่าหรือเท่ากับ 100 printf(“Lable-Line”); // ถ้าไม่เงื่อนไขเป็นจริง จะทำา ในลูป printf(“In-name”); Lable-Counter++; // เพิ่มค่าให้ตัวนับ } // Read Employees // อ่านระเบียนใหม่ }
  • 9. Copyright (c) 2006 by Sasalak Tongkaw9 COMPUTER PROGRAMMING AND ALGORITH while.c #include<stdio.h> Void main() { int count=1; while(count<=10) { printf(“Hello %dn”,count); count++; } } จากตัวอย่างเรา กำาหนดให้ count มี ค่า เป็น 1 จากนั้นใช้ คำาสั่ง while ตรวจดู ค่าของ count ว่ายัง น้อยกว่าหรือเท่ากับ 10 หรือไม่ ถ้าใช่ก็ยัง ทำาคำาสั่งภายใน{} ต่อ ไป และเพิ่มค่า count ทีละ 1 ไปเรื่อยๆ จนกว่าค่า count จะ มากกว่า 10 ทำาให้ เงื่อนไขเป็นเท็จก็จะ แบบฝึกหัด 1 จงเขียนผลรันที่ได้จาก การรันโปรแกรมนี้ แบบฝึกหัด 1 จงเขียนผลรันที่ได้จาก การรันโปรแกรมนี้
  • 10. Copyright (c) 2006 by Sasalak Tongkaw10 COMPUTER PROGRAMMING AND ALGORITH dowhile.c #include<stdio.h> void main() { char out; do { printf(“n Do you what to exit ?[Y]es or [N]o :”); scanf(“%c”,&out); }while(out!=‘y’); } • ก่อนเข้าสู่การตรวจสอบเงื่อนไข(out!=y) ครั้ง แรกนั้นจะมีการทำาคำาสั่งใน {} ก่อน ดังนั้น do..while จึงทำาคำาสั่งภายใน {} อย่างน้อย 1 ครั้ง เสมอ และถ้าตรวจสอบแล้วเงื่อนไขยังจริงอยู่ก็จะ วนมาทำาคำาสั่งภายใน {} อีกครั้ง แบบฝึกหัด 2 จงเขียนผลรันที่ได้จาก การรันโปรแกรมนี้ แบบฝึกหัด 2 จงเขียนผลรันที่ได้จาก การรันโปรแกรมนี้
  • 11. Copyright (c) 2006 by Sasalak Tongkaw11 COMPUTER PROGRAMMING AND ALGORITH for ใช้ในกรณีที่เราต้องการทำาซ้ำ้า โดยทราบจำานวนครั้งที่แน่นอน เช่น 20 ครั้ง 30 ครั้ง การใช้งานจะกำาหนดลงไปเลยว่า ต้องการให้ทำากี่ครั้ง และจะต้อง สร้างตัวแปร ขึ้นมาเป็นตัวนับ (counter) โดยมากจะกำาหนดให้ เป็นตัวแปรแบบจำานวนเต็ม (integer) ตัวนับจะเป็นตัวคอยบอกว่าครบ ตามจำานวนที่ต้องการรึยัง ถ้ายัง
  • 12. Copyright (c) 2006 by Sasalak Tongkaw12 COMPUTER PROGRAMMING AND ALGORITH รูปแบบ ของ for for(ค่าเริ่มต้นของตัวนับ เช่น 0; เปรียบเทียบตัวนับว่ายังอยู่ใน ช่วงนี้หรือไม่; จำานวนนับเพิ่มทีละเท่าไร หรือลดทีละเท่าไร) { คำาสั่งที่ต้องการให้ทำา }
  • 13. Copyright (c) 2006 by Sasalak Tongkaw13 COMPUTER PROGRAMMING AND ALGORITH โปรแกรม for1.c #include<stdio.h> Void main() { int count; printf(“Beginn”); for(count=0;count<10;count++) printf(“Hellon”); printf(“Endn”); } เริ่มต้นให้ count=0 ทำำในขณะที่ count<10 เพิ่มค่ำ count ทีละ 1 count=count+1
  • 14. Copyright (c) 2006 by Sasalak Tongkaw14 COMPUTER PROGRAMMING AND ALGORITH ผลรันโปรแกรม Begin Hello Hello Hello Hello Hello Hello Hello Hello Hello Hello End • คำำว่ำ Hello จะถูกแสดง ทั้งหมด 10 ครั้ง โดยที่ ตัวแปร count คือตัวแปร ที่ใช้เป็นตัวนับ เรำให้ค่ำ เริ่มต้นเป็น 1 และจะเพิ่ม ค่ำขึ้นทีละ 1 ไปเรื่อยๆ ในขณะที่ตัวแปร count ยังน้อยกว่ำ 10 แต่ถ้ำ ตัวแปร count เท่ำกับ 10 เมื่อไร่ เงื่อนไขจะเป็น เท็จ โปรแกรมก็จะหลุด ออกจำกคำำสั่ง for ทันที
  • 15. Copyright (c) 2006 by Sasalak Tongkaw15 COMPUTER PROGRAMMING AND ALGORITH โปรแกรม สูตรคูณ #include<stdio.h> Void main() { int mother=6; int count; printf(“Beginn”); for (count =1;count<=12;count++) { pintf(“%d x %d = %dn”,mother,count,mother *count); } printf(“Endn”); } แบบฝึกหัด 3 จงเขียนผลรันที่ได้จำก กำรรันโปรแกรมนี้ แบบฝึกหัด 3 จงเขียนผลรันที่ได้จำก กำรรันโปรแกรมนี้
  • 16. END OF CHEPTER 7 ANY QUESTION ?