SlideShare una empresa de Scribd logo
1 de 16
Descargar para leer sin conexión
คำำ สั่ง วนซำ้ำ
เนื้อ หำ





ทบทวนกำรไหลของโปรแกรม
โปรแกรมทีทำำงำนแบบวนซำ้ำ
่
ลูปแบบ while
ลูปแบบ do..while
กำรไหลของโปรแกรม
แบบต่ำ ง ๆ


โปรแกรมอย่ำงง่ำย มีกำรไหลจำกบน
ลงล่ำง
START
START

START
START

Statement1
Statement1

Statement
Statement

Statement2
Statement2

END
END

Statement3
Statement3

โปรแกรมที่ม ีค ำำ สั่ง
เดีย ว

Statementn
Statementn
END
END

โปรแกรมที่ม ี
หลำยคำำ สั่ง
กำรไหลของโปรแกรม
แบบต่ำ ง ๆ

โปรแกรมแบบมีเงื่อนไข
START
START

condition
condition

START
START
true

true

condition
condition

false

Statement
Statement

Statementt
Statementt

Statementf
Statementf

Statement
Statement

false

Statementt
Statementt

Statementf
Statementf

END
END

คำำ สั่ง if

END
END

คำำ สั่ง if..else
การวนซำ้า



กิจกรรมหลายอย่างมีลกษณะการ
ั
ทำางานแบบซำ้าไปมา
ตัวอย่างในชีวิตประจำาวัน






ก้าวไปข้างหน้า 10 ก้าว
ขยีผ้าจนกว่าจะสะอาด
้
เรียนวิชาคอมพิวเตอร์จนกว่าจะผ่าน

ตัวอย่างในการเขียนโปรแกรม


วนรับตัวเลขมา 10 ตัวเพือหาค่าเฉลี่ย
่
โปรแกรมแบบวนซำ้า ดีย ัง
ไง?

เพือหลีกเลียงการเขียนโค้ดแบบ
่
่
เดียวกันซำ้าหลายรอบ




โปรแกรมจะมีความยืดหยุ่นมากกว่า




ได้โปรแกรมที่สนและกระชับขึ้น
ั้

เช่นรับข้อมูลได้หลากหลายขนาด โดย
ไม่ต้องแก้โปรแกรม

ลองนึกถึงโปรแกรมทีหาผลรวมของ
่
ตัวเลข 3 ตัว
ตัว อย่า ง: หาผลรวมของ
ตัว เลข 3 ตัว เกิด โจทย์เ ปลี่ย นเป็น หา
using System;
using System;

class Summing {
class Summing {
static void Main() {
static void Main() {
int n, sum = 0;
int n, sum = 0;



ผลรวมของเลข 100 ตัว ?
หรือ กี่ต ัว ก็ไ ด้จ นกว่า ผู้ใ ช้
จะป้อ นเลขลบ

Console.Write("Enter a value: ");
Console.Write("Enter a value: ");
n = int.Parse(Console.ReadLine());
n = int.Parse(Console.ReadLine());
sum = sum + n;
sum = sum + n;
Console.Write("Enter a value: ");
Console.Write("Enter a value: ");
n = int.Parse(Console.ReadLine());
n = int.Parse(Console.ReadLine());
sum = sum + n;
sum = sum + n;

}
}

2nd number

Console.Write("Enter a value: ");
Console.Write("Enter a value: ");
n = int.Parse(Console.ReadLine());
n = int.Parse(Console.ReadLine());
sum = sum + n;
sum = sum + n;
}
}

1st number

3rd number

Console.WriteLine("The sum is {0}.", sum);
Console.WriteLine("The sum is {0}.", sum);
หาผลรวมตัว เลข: โฟลว์
ชาร์ต
START
START

Let sum = 00and i i= 11
Let sum = and =

i i≤≤num
num

false

true
Read aavalue, n
Read value, n
Increment sum by n
Increment sum by n
Increment i iby 11
Increment by
Print sum on screen
Print sum on screen
END
END
ลูป แบบ


while

ทำำ statement ตรำบเท่ำที่
condition เป็นจริง
while (condition)
while (condition)
statement;
statement;

START
START

condition
condition
true



ทำำ stmt1,…,stmtN ตรำบเท่ำที่
condition เป็นจริง
while (condition) {
while (condition) {
stmt1;
stmt1;
stmt2;
stmt2;
:
:
stmtN;
stmtN;
}
}

Statement
Statement
Statement
Statement

END
END

false
หำผลรวมตัว เลข:
โปรแกรม
using System;
using System;

class Summing {
class Summing {
static void Main() {
static void Main() {
int i, n, sum = 0, num;
int i, n, sum = 0, num;
Console.Write("How many values do you have: ");
Console.Write("How many values do you have: ");
num = int.Parse(Console.ReadLine());
num = int.Parse(Console.ReadLine());
i = 1;
i = 1;
while (i <= num) {
while (i <= num) {
Console.Write("Enter a value: ");
Console.Write("Enter a value: ");
n = int.Parse(Console.ReadLine());
n = int.Parse(Console.ReadLine());
sum = sum + n;
sum = sum + n;
i = i + 1;
i = i + 1;
}
}

}
}

}
}

Console.WriteLine("The sum is {0}.", sum);
Console.WriteLine("The sum is {0}.", sum);
ลับ สมอง


เขียนโฟลว์ชำร์ตและโปรแกรมภำษำ C#
เพือคำำนวณค่ำ sum โดยที่ sum นิยำมจำก
่
สูตร
sum = ∑ i
N

2

i =1






using System;
using System;

class Sum {{
class Sum
static void Main() {{
static void Main()
int sum == 0, ii == 1, N;
int sum
0,
1, N;

Console.Write("Enter N: ");
Console.Write("Enter N: ");
NN == int.Parse(Console.ReadLine());
int.Parse(Console.ReadLine());
???
while (( ii <= NN )) {{
while
<=

โดยที่ค่ำ Nรับมำจำกผูใช้
้
sum == sum ++ i*i;
sum
sum
i*i;
ii == i+1;
เช่นถ้ำ N= 3,
???
i+1;
sum = 1+4+9 = 14 }

ตัวอย่ำ3งผลลัพธ์
Enter N: 3
Enter N:
The sum is 14
The sum is 14

}}

}}

}
Console.WriteLine("The sum is {0}.",
Console.WriteLine("The sum is {0}.",
sum);
sum);
ลูป แบบดัก ค่ำ


ทีผ่ำนมำเป็นตัวอย่ำงของลูปวนนับ
่
(counter loop)







จำำนวนครั้งที่วนซ้ำ้ำขึนอยูกับค่ำที่
้
่
กำำหนดไว้แล้ว

ทำำอย่ำงไรหำกเรำไม่ทรำบจำำนวน
ล่วงหน้ำ
 ใช้ลูปแบบดักค่ำ (sentinel loop)ดัก
ลู
ตัว
นิยำมค่ำทีใช้ดัก เพือให้โปรแกรม
่
่
หลุดออกจำกลูป
ตัวอย่ำง
Enter a number, or -1 to quit: 3
Enter a number, or -1 to quit: 3
Enter a number, or -1 to quit: 10
Enter a number, or -1 to quit: 10
Enter a number, or -1 to quit: 15
Enter a number, or -1 to quit: 15
Enter a number, or -1 to quit: -1
Enter a number, or -1 to quit: -1
The sum is 28
The sum is 28
ตัว อย่า ง: ลูป ดัก ค่า
using System;
using System;
class Summing {
class Summing {
static void Main() {
static void Main() {
int n, sum = 0;
int n, sum = 0;
Console.Write("Enter a number, or -1 to quit: ");
Console.Write("Enter a number, or -1 to quit: ");
n = int.Parse(Console.ReadLine());
n = int.Parse(Console.ReadLine());
while (n != -1) {
while (n != -1) {
sum = sum + n;
sum = sum + n;
Console.Write("Enter a number, or -1 to quit: ");
Console.Write("Enter a number, or -1 to quit: ");
n = int.Parse(Console.ReadLine());
n = int.Parse(Console.ReadLine());
}
}

}
}

}
}

Console.WriteLine("The sum is {0}.", sum);
Console.WriteLine("The sum is {0}.", sum);
ลูป แบบ


do...while

ทำา stmt1...stmtN
ตราบเท่าที่เงือนไข
่
ยั {{
doงเป็นจริง
do
stmt1;
stmt1;
stmt2;
stmt2;
:
:
stmtN;
stmtN;
} while (condition);
} while (condition);

START
START

Statement
Statement
Statement
Statement
true

condition
condition
false



stmt1...stmtN

จะถูกทำางานอย่าง
น้อยหนึ่งครั้ง

END
END
ลูป แบบดัก ค่า แบบ
do...while
using System;
using System;
class Summing {
class Summing {
static void Main() {
static void Main() {
int n, sum = 0;
int n, sum = 0;
do {
do {
Console.Write("Enter a number, or -1 to quit: ");
Console.Write("Enter a number, or -1 to quit: ");
n = int.Parse(Console.ReadLine());
n = int.Parse(Console.ReadLine());
if (n != -1) sum = sum + n;
if (n != -1) sum = sum + n;
} while (n != -1);
} while (n != -1);

}
}

}
}

Console.WriteLine("The sum is {0}.", sum);
Console.WriteLine("The sum is {0}.", sum);
สรุป






การเขียนโปรแกรมแบบวนซ้ำ้า
ลูปวนนับ
ลูปดักค่า
โครงสร้างลูปแบบ while
โครงสร้างลูปแบบ do..while

Más contenido relacionado

Destacado

04 conditional
04 conditional04 conditional
04 conditionala-num Sara
 
09 multi arrays
09 multi arrays09 multi arrays
09 multi arraysa-num Sara
 
หน่วยการเรียนที่ 3 เรียนรู้ไวยากรณ์ ตัวแปร ค่าคงที่ comment
หน่วยการเรียนที่ 3 เรียนรู้ไวยากรณ์ ตัวแปร ค่าคงที่ commentหน่วยการเรียนที่ 3 เรียนรู้ไวยากรณ์ ตัวแปร ค่าคงที่ comment
หน่วยการเรียนที่ 3 เรียนรู้ไวยากรณ์ ตัวแปร ค่าคงที่ commentครูสม ฟาร์มมะนาว
 
หน่วยการเรียนที่ 4 การใช้คำสั่งควบคุมและการตัดสินใจ vb2013 express
หน่วยการเรียนที่ 4 การใช้คำสั่งควบคุมและการตัดสินใจ vb2013 expressหน่วยการเรียนที่ 4 การใช้คำสั่งควบคุมและการตัดสินใจ vb2013 express
หน่วยการเรียนที่ 4 การใช้คำสั่งควบคุมและการตัดสินใจ vb2013 expressครูสม ฟาร์มมะนาว
 
ภาษา C# เบื้องต้น
ภาษา C# เบื้องต้นภาษา C# เบื้องต้น
ภาษา C# เบื้องต้นictyangtalad
 
Java Programming: อะเรย์และคอลเล็กชั่น
Java Programming: อะเรย์และคอลเล็กชั่นJava Programming: อะเรย์และคอลเล็กชั่น
Java Programming: อะเรย์และคอลเล็กชั่นThanachart Numnonda
 
บทที่ 2 สถาปัตยกรรมและแบบจำลองฐานข้อมูล
บทที่ 2 สถาปัตยกรรมและแบบจำลองฐานข้อมูลบทที่ 2 สถาปัตยกรรมและแบบจำลองฐานข้อมูล
บทที่ 2 สถาปัตยกรรมและแบบจำลองฐานข้อมูลครูสม ฟาร์มมะนาว
 
คำสั่งควบคุม
คำสั่งควบคุมคำสั่งควบคุม
คำสั่งควบคุมumaraporn
 

Destacado (20)

160
160160
160
 
02 basic
02 basic02 basic
02 basic
 
04 conditional
04 conditional04 conditional
04 conditional
 
10 win apps
10 win apps10 win apps
10 win apps
 
09 multi arrays
09 multi arrays09 multi arrays
09 multi arrays
 
07 methods
07 methods07 methods
07 methods
 
Joomla 56 km
Joomla 56 kmJoomla 56 km
Joomla 56 km
 
หน่วยการเรียนที่ 3 เรียนรู้ไวยากรณ์ ตัวแปร ค่าคงที่ comment
หน่วยการเรียนที่ 3 เรียนรู้ไวยากรณ์ ตัวแปร ค่าคงที่ commentหน่วยการเรียนที่ 3 เรียนรู้ไวยากรณ์ ตัวแปร ค่าคงที่ comment
หน่วยการเรียนที่ 3 เรียนรู้ไวยากรณ์ ตัวแปร ค่าคงที่ comment
 
08 arrays
08 arrays08 arrays
08 arrays
 
บทที่ 3 ฐานข้อมูลเชิงสัมพันธ์
บทที่ 3 ฐานข้อมูลเชิงสัมพันธ์บทที่ 3 ฐานข้อมูลเชิงสัมพันธ์
บทที่ 3 ฐานข้อมูลเชิงสัมพันธ์
 
หน่วยการเรียนที่ 4 การใช้คำสั่งควบคุมและการตัดสินใจ vb2013 express
หน่วยการเรียนที่ 4 การใช้คำสั่งควบคุมและการตัดสินใจ vb2013 expressหน่วยการเรียนที่ 4 การใช้คำสั่งควบคุมและการตัดสินใจ vb2013 express
หน่วยการเรียนที่ 4 การใช้คำสั่งควบคุมและการตัดสินใจ vb2013 express
 
ภาษา C# เบื้องต้น
ภาษา C# เบื้องต้นภาษา C# เบื้องต้น
ภาษา C# เบื้องต้น
 
Java Programming: อะเรย์และคอลเล็กชั่น
Java Programming: อะเรย์และคอลเล็กชั่นJava Programming: อะเรย์และคอลเล็กชั่น
Java Programming: อะเรย์และคอลเล็กชั่น
 
บทที่ 2 สถาปัตยกรรมและแบบจำลองฐานข้อมูล
บทที่ 2 สถาปัตยกรรมและแบบจำลองฐานข้อมูลบทที่ 2 สถาปัตยกรรมและแบบจำลองฐานข้อมูล
บทที่ 2 สถาปัตยกรรมและแบบจำลองฐานข้อมูล
 
ภาษา C#
ภาษา C#ภาษา C#
ภาษา C#
 
คำสั่งควบคุม
คำสั่งควบคุมคำสั่งควบคุม
คำสั่งควบคุม
 
การประมวลผลข้อมูล
การประมวลผลข้อมูลการประมวลผลข้อมูล
การประมวลผลข้อมูล
 
ความรู้เบื้องต้นเกี่ยวกับ Internet
ความรู้เบื้องต้นเกี่ยวกับ Internetความรู้เบื้องต้นเกี่ยวกับ Internet
ความรู้เบื้องต้นเกี่ยวกับ Internet
 
คำสั่งในการวนรอบการทำงาน Vb2010 (1)
คำสั่งในการวนรอบการทำงาน Vb2010 (1)คำสั่งในการวนรอบการทำงาน Vb2010 (1)
คำสั่งในการวนรอบการทำงาน Vb2010 (1)
 
บทที่ 5 การแปลง er diagram ให้เป็น table
บทที่ 5 การแปลง er diagram ให้เป็น tableบทที่ 5 การแปลง er diagram ให้เป็น table
บทที่ 5 การแปลง er diagram ให้เป็น table
 

Similar a 05 loops

การเขียนฟังก์ชั่นในภาษา C
การเขียนฟังก์ชั่นในภาษา Cการเขียนฟังก์ชั่นในภาษา C
การเขียนฟังก์ชั่นในภาษา CWarawut
 
Uj1udqos8e6ljrab9nis9vott3
Uj1udqos8e6ljrab9nis9vott3Uj1udqos8e6ljrab9nis9vott3
Uj1udqos8e6ljrab9nis9vott3tuylove
 
หน่วยที่2 เรื่อง โครงสร้างข้อมูล นางสาว สิรินยา ปาโจด ม.5
หน่วยที่2 เรื่อง โครงสร้างข้อมูล นางสาว สิรินยา  ปาโจด ม.5หน่วยที่2 เรื่อง โครงสร้างข้อมูล นางสาว สิรินยา  ปาโจด ม.5
หน่วยที่2 เรื่อง โครงสร้างข้อมูล นางสาว สิรินยา ปาโจด ม.5สิรินยา ปาโจด
 
หน่วยที่2 โครงสร้างข้อมูล นาย ธนพงษ์ น่านกร เลขที่ 1 ชั้น ม.5
หน่วยที่2 โครงสร้างข้อมูล  นาย ธนพงษ์  น่านกร  เลขที่ 1   ชั้น ม.5หน่วยที่2 โครงสร้างข้อมูล  นาย ธนพงษ์  น่านกร  เลขที่ 1   ชั้น ม.5
หน่วยที่2 โครงสร้างข้อมูล นาย ธนพงษ์ น่านกร เลขที่ 1 ชั้น ม.5palmyZommanow
 
บทที่ 3 คำสั่งควบค
บทที่ 3 คำสั่งควบคบทที่ 3 คำสั่งควบค
บทที่ 3 คำสั่งควบคTheeravaj Tum
 
Computer programming
Computer  programmingComputer  programming
Computer programmingPreaw Jariya
 
Computer programming
Computer programmingComputer programming
Computer programmingJariyaa
 

Similar a 05 loops (20)

C lang
C langC lang
C lang
 
Chapter 05 Loop
Chapter 05 LoopChapter 05 Loop
Chapter 05 Loop
 
Chapter 05 Loop
Chapter 05 LoopChapter 05 Loop
Chapter 05 Loop
 
Know3 4
Know3 4Know3 4
Know3 4
 
Python101
Python101Python101
Python101
 
Lesson3
Lesson3Lesson3
Lesson3
 
การเขียนฟังก์ชั่นในภาษา C
การเขียนฟังก์ชั่นในภาษา Cการเขียนฟังก์ชั่นในภาษา C
การเขียนฟังก์ชั่นในภาษา C
 
Computer Programming 3
Computer Programming 3 Computer Programming 3
Computer Programming 3
 
Know4 3
Know4 3Know4 3
Know4 3
 
Uj1udqos8e6ljrab9nis9vott3
Uj1udqos8e6ljrab9nis9vott3Uj1udqos8e6ljrab9nis9vott3
Uj1udqos8e6ljrab9nis9vott3
 
หน่วยที่2 เรื่อง โครงสร้างข้อมูล นางสาว สิรินยา ปาโจด ม.5
หน่วยที่2 เรื่อง โครงสร้างข้อมูล นางสาว สิรินยา  ปาโจด ม.5หน่วยที่2 เรื่อง โครงสร้างข้อมูล นางสาว สิรินยา  ปาโจด ม.5
หน่วยที่2 เรื่อง โครงสร้างข้อมูล นางสาว สิรินยา ปาโจด ม.5
 
หน่วยที่2 โครงสร้างข้อมูล นาย ธนพงษ์ น่านกร เลขที่ 1 ชั้น ม.5
หน่วยที่2 โครงสร้างข้อมูล  นาย ธนพงษ์  น่านกร  เลขที่ 1   ชั้น ม.5หน่วยที่2 โครงสร้างข้อมูล  นาย ธนพงษ์  น่านกร  เลขที่ 1   ชั้น ม.5
หน่วยที่2 โครงสร้างข้อมูล นาย ธนพงษ์ น่านกร เลขที่ 1 ชั้น ม.5
 
งานPPT
งานPPTงานPPT
งานPPT
 
บทที่ 3 คำสั่งควบค
บทที่ 3 คำสั่งควบคบทที่ 3 คำสั่งควบค
บทที่ 3 คำสั่งควบค
 
C language
C languageC language
C language
 
C language
C languageC language
C language
 
หลักการเขียนโปรแกรม
หลักการเขียนโปรแกรมหลักการเขียนโปรแกรม
หลักการเขียนโปรแกรม
 
Computer programming
Computer  programmingComputer  programming
Computer programming
 
Computer programming
Computer programmingComputer programming
Computer programming
 
207
207207
207
 

05 loops