886201 หลักการ โปรแกรม 1

23
886201 หหหหหหหหหหหหหห 1 Lecture 10: หหหหหหหหหหหหหห หหหหหหหหหหหหหหหหหหหหหหหหห

Upload: aline-osborn

Post on 03-Jan-2016

28 views

Category:

Documents


2 download

DESCRIPTION

886201 หลักการ โปรแกรม 1. Lecture 10: การวนซ้ำแบบมีโครงสร้างการวนซ้ำซ้อนกัน. Nested Loops. Nested loop มักจะถูกใช้กับข้อ มูลที่มีลักษณะเป็นตาราง มีแถวและคอลัมน์ การประมวลผลข้อมูลแต่ละแถวแต่ละหลักจะเป็นลักษณะ loop ซ้อน loop - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: 886201   หลักการ โปรแกรม  1

886201 หลั�กการโปรแกรม 1Lecture 10: การวนซ้ำ��าแบบม�โครงสร�างการวนซ้ำ��าซ้ำ�อนก�น

Page 2: 886201   หลักการ โปรแกรม  1

Nested Loops

• Nested loop ม�กจะถู�กใช้�ก�บข้�อม�ลัที่� ม�ลั�กษณะเป$นตาราง ม�แถูวแลัะคอลั�มน&

• การประมวลัผลัข้�อม�ลัแต(ลัะแถูวแต(ลัะหลั�กจะเป$นลั�กษณะ loop ซ้ำ�อน loop

• ม� loop นอก แลัะ loop ใน ส�าหร�บวนประมวลัผลัข้�อม�ลัแต(ลัะแถูวแต(ลัะหลั�ก

Page 3: 886201   หลักการ โปรแกรม  1

Nested Loops

ลัองเข้�ยนโปรแกรมเพื่+ อแสดงข้�อม�ลัด�งตารางต(อไปน��

Page 4: 886201   หลักการ โปรแกรม  1

Nested Loops

• จากโจที่ย&ข้�างต�น จะเห.นว(าข้�อม�ลัม� 4 คอลั�มน& ส�าหร�บแสดงค(า x1 ถู/ง x4

• ข้�อม�ลัแต(ลัะแถูวในตาราง เป$นค(า x ต��งแต( 1 ถู/ง 10

Page 5: 886201   หลักการ โปรแกรม  1

Nested Loops

• ข้�อม�ลัแต(ลัะแถูวในตาราง เป$นค(า x ต��งแต( 1 ถู/ง 10

Page 6: 886201   หลักการ โปรแกรม  1

Nested Loops

Page 7: 886201   หลักการ โปรแกรม  1

#include <iostream>#include <iomanip>#include <cmath>using namespace std;

int main(){ const int NMAX = 4; const double XMAX = 10;

// Print table header for (int n = 1; n <= NMAX; n++) { cout << setw(10) << n; } cout << endl; for (int n = 1; n <= NMAX; n++) { cout << setw(10) << "x "; } cout << endl << endl;

The Complete Program for Table of Powers

Page 8: 886201   หลักการ โปรแกรม  1

// Print table body for (double x = 1; x <= XMAX; x++) { // Print table row for (int n = 1; n <= NMAX; n++) { cout << setw(10) << pow(x, n); } cout << endl; }

return 0;}

The program run would be:

Page 9: 886201   หลักการ โปรแกรม  1

ต�วอย(าง 1• เข้�ยนโปรแกรมร�บค(า n แลัะแสดงผลัลั�พื่ธ์& ด�งน��

จ�านวนแถูว (i) ข้/�นอย�(ก�บจ�านวนคอลั�มน& (j) ข้/�นอย�(ก�บ

n

n

for ( int i = 1; i <= n; i++ ) {

for ( int j = 1; j <= n; j++ ) {

cout << “A”;} cout << endl;

}

for i from 1 to n for j from 1 to n

print “A” end forend for

Page 10: 886201   หลักการ โปรแกรม  1

ต�วอย(าง 2• เข้�ยนโปรแกรมร�บค(า n แลัะแสดงผลัลั�พื่ธ์& ด�งน��

n

i

จ�านวนแถูว (i) ข้/�นอย�(ก�บจ�านวนคอลั�มน& (j) ข้/�นอย�(ก�บ

for i from 1 to n for j from 1 to i

print “A” end forend for

for ( int i = 1; i <= n; i++ ) {

for ( int j = 1; j <= i; j++ ) {

cout << “A”;}cout << endl;

}

Page 11: 886201   หลักการ โปรแกรม  1

แบบฝึ2กห�ดที่� 1• ลัองเข้�ยนโปรแกรมเพื่+ อร�บค(า n แลัะแสดงผลัลั�พื่ธ์& ด�งน�� จ�านวนแถูว (i) ข้/�นอย�(ก�บ n

จ�านวนคอลั�มน& (j) ข้/�นอย�(ก�บi

Page 12: 886201   หลักการ โปรแกรม  1

แบบฝึ2กห�ดที่� 2• ลัองเข้�ยนโปรแกรมเพื่+ อร�บค(า n แลัะแสดงผลัลั�พื่ธ์& ด�งน�� จ�านวนแถูว (i) ข้/�นอย�(ก�บ

จ�านวนคอลั�มน& (j) ข้/�นอย�(ก�บni

Page 13: 886201   หลักการ โปรแกรม  1

แบบฝึ2กห�ดที่� 3• ลัองเข้�ยนโปรแกรมเพื่+ อร�บค(า n แลัะแสดงผลัลั�พื่ธ์& ด�งน�� จ�านวนแถูว (i) ข้/�นอย�(ก�บ

จ�านวนคอลั�มน& (j) ข้/�นอย�(ก�บnn

Page 14: 886201   หลักการ โปรแกรม  1

ต�วอย(าง 3• เข้�ยนโปรแกรมร�บค(า n จากน��นแสดงผลัที่��งหมด n บรรที่�ด• ถู�าเป$นบรรที่�ดแรก หร+อ บรรที่�ดส3ดที่�าย แสดง * จ�านวน n ต�ว

• บรรที่�ดอ+ น ๆ แสดง A จ�านวน n ต�ว

จ�านวนแถูว (i) ข้/�นอย�(ก�บจ�านวนคอลั�มน& (j)ข้/�นอย�(ก�บ

nn

for i from 1 to n for j from 1 to n

if i = 1 or i = n

print *else

print Aend if

end forend for

Page 15: 886201   หลักการ โปรแกรม  1

ต�วอย(าง 4• เข้�ยนโปรแกรมร�บค(า n จากน��นแสดงผลัที่��งหมด n บรรที่�ด• ถู�าเป$นบรรที่�ดค� แสดง ^ จ�านวน n ต�ว• ถู�าเป$นบรรที่�ดค�( แสดง v จ�านวน n ต�ว

จ�านวนแถูว (i) ข้/�นอย�(ก�บจ�านวนคอลั�มน& (j)ข้/�นอย�(ก�บ

nn

for i from 1 to n for j from 1 to n

if i is oddprint ^

elseprint v

end if end forend for

Page 16: 886201   หลักการ โปรแกรม  1

แบบฝึ2กห�ดที่� 4• ลัองเข้�ยนโปรแกรมเพื่+ อร�บค(า n จากน��นแสดงผลัที่��งหมด n บรรที่�ด• ถู�าเป$นบรรที่�ดค� แสดง [ ] จ�านวนเที่(าก�บ หมายเลัข้บรรที่�ด

• ถู�าเป$นบรรที่�ดค�( แสดง ( ) จ�านวนเที่(าก�บ หมายเลัข้บรรที่�ด จ�านวนแถูว (i) ข้/�นอย�(ก�บ

จ�านวนคอลั�มน& (j) ข้/�นอย�(ก�บni

Page 17: 886201   หลักการ โปรแกรม  1

ต�วอย(าง 5• เข้�ยนโปรแกรมร�บค(า n แลัะแสดงผลัลั�พื่ธ์& ด�งน��

int j;for ( int i = 1; i <= n; i++ ) { for ( j=1; j<=n-i; j++ ) { cout << “ ”; } for( ; j <= n; j++) { cout << i; } cout << endl;}

i ช้(องว(าง

ต�วเลัข้

1 3 1

2 2 2

3 1 3

4 0 4

Page 18: 886201   หลักการ โปรแกรม  1

ต�วอย(าง 6• เข้�ยนโปรแกรมร�บค(า n แลัะแสดงผลัลั�พื่ธ์& ด�งน��

for ( int i = 0; i < n; i++ ) { for ( int j=0; j < i; j++ ) { cout << “ ”; } for ( int j = i ; j < n ; j++ ) { cout << n - i; } cout << endl;}

i ช้(องว(าง

ต�วเลัข้

0 0 4

1 1 3

2 2 2

3 3 1

Page 19: 886201   หลักการ โปรแกรม  1

แบบฝึ2กห�ดที่� 5• ลัองเข้�ยนโปรแกรมเพื่+ อร�บค(า n แลัะแสดงผลัลั�พื่ธ์& ด�งน��

Page 20: 886201   หลักการ โปรแกรม  1

แบบฝึ2กห�ดที่� 6

for (i = 1; i <= 4; i++) for (j = 1; j <= i; j++) cout << "*";cout << endl;

โปรแกรมต(อไปน��ให�ผลัลั�พื่ธ์&อย(างไร

Page 21: 886201   หลักการ โปรแกรม  1

for (i = 1; i <= 4; i++) for (j = 1; j <= i; j++) cout << "*";cout << endl;

** ** * ** * * *

โปรแกรมต(อไปน��ให�ผลัลั�พื่ธ์&อย(างไร

Page 22: 886201   หลักการ โปรแกรม  1

for (i = 1; i <= 3; i++) { for (j = 1; j <= 5; j++) { if (i + j % 2 == 0) { cout << "*"; } else { cout << " "; } } cout << endl;}

แบบฝึ2กห�ดที่� 7โปรแกรมต(อไปน��ให�ผลัลั�พื่ธ์&อย(างไร

Page 23: 886201   หลักการ โปรแกรม  1

for (i = 1; i <= 3; i++) { for (j = 1; j <= 5; j++) { if (i + j % 2 == 0) { cout << "*"; } else { cout << " "; } } cout << endl;}

The output will be:

* * * * ** * *

โปรแกรมต(อไปน��ให�ผลัลั�พื่ธ์&อย(างไร