คำำ สั่ง วนซำ้ำ
เนื้อ หำ





ทบทวนกำรไหลของโปรแกรม
โปรแกรมทีทำำงำนแบบวนซำ้ำ
่
ลูปแบบ 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

More Related Content

PDF
7 2โครงสร้าง
DOCX
คอมโปรเฟรม
PPT
05 Loops
PPT
06 for loops
PDF
Dw ch05 basic_php
PPT
PHP Tutorial (introduction)
PDF
59170284 สาวิกา
7 2โครงสร้าง
คอมโปรเฟรม
05 Loops
06 for loops
Dw ch05 basic_php
PHP Tutorial (introduction)
59170284 สาวิกา

Viewers also liked (20)

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

Similar to 05 loops (20)

PDF
การเขียนฟังก์ชั่นในภาษา C
PPTX
Computer Programming 3
PPT
Uj1udqos8e6ljrab9nis9vott3
PDF
หน่วยที่2 เรื่อง โครงสร้างข้อมูล นางสาว สิรินยา ปาโจด ม.5
PDF
หน่วยที่2 โครงสร้างข้อมูล นาย ธนพงษ์ น่านกร เลขที่ 1 ชั้น ม.5
PDF
งานPPT
PDF
บทที่ 3 คำสั่งควบค
PPT
C language
PPT
C language
PDF
หลักการเขียนโปรแกรม
PDF
Computer programming
PDF
Computer programming
PPSX
บทที่1ProgramFlowchart สำหรับนักเรียนชั้นมัธยม
การเขียนฟังก์ชั่นในภาษา C
Computer Programming 3
Uj1udqos8e6ljrab9nis9vott3
หน่วยที่2 เรื่อง โครงสร้างข้อมูล นางสาว สิรินยา ปาโจด ม.5
หน่วยที่2 โครงสร้างข้อมูล นาย ธนพงษ์ น่านกร เลขที่ 1 ชั้น ม.5
งานPPT
บทที่ 3 คำสั่งควบค
C language
C language
หลักการเขียนโปรแกรม
Computer programming
Computer programming
บทที่1ProgramFlowchart สำหรับนักเรียนชั้นมัธยม
Ad

05 loops