งานนำเสนอกำลังจะดาวน์โหลด โปรดรอ

งานนำเสนอกำลังจะดาวน์โหลด โปรดรอ

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

งานนำเสนอที่คล้ายกัน


งานนำเสนอเรื่อง: "886201 หลักการโปรแกรม 1 Lecture 9: การวนซ้ำแบบมีโครงสร้างการวน ซ้ำซ้อนกัน."— ใบสำเนางานนำเสนอ:

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

2 Nested Loops Nested loop มักจะถูกใช้กับข้อมูลที่ มีลักษณะเป็นตาราง มีแถวและ คอลัมน์ การประมวลผลข้อมูลแต่ละแถวแต่ละ หลักจะเป็นลักษณะ loop ซ้อน loop มี loop นอก และ loop ใน สำหรับวน ประมวลผลข้อมูลแต่ละแถวแต่ละ หลัก

3 Nested Loops ลองเขียนโปรแกรมเพื่อแสดงข้อมูลดังตาราง ต่อไปนี้

4 Nested Loops จากโจทย์ข้างต้น จะเห็นว่าข้อมูลมี 4 คอลัมน์ สำหรับแสดงค่า x 1 ถึง x 4 ข้อมูลแต่ละแถวในตาราง เป็นค่า x ตั้งแต่ 1 ถึง 10

5 Nested Loops ข้อมูลแต่ละแถวในตาราง เป็นค่า x ตั้งแต่ 1 ถึง 10

6 Nested Loops

7 #include 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

8 // 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:

9 ตัวอย่าง 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 for

10 ตัวอย่าง 2 เขียนโปรแกรมรับค่า n และแสดงผลลัพธ์ ดังนี้ n i จำนวนแถว (i) ขึ้นอยู่กับ จำนวนคอลัมน์ (j) ขึ้นอยู่กับ for i from 1 to n for j from 1 to i print “A” end for for ( int i = 1; i <= n; i++ ) { for ( int j = 1; j <= i; j++ ) { cout << “A”; } cout << endl; }

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

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

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

14 ตัวอย่าง 3 เขียนโปรแกรมรับค่า n จากนั้นแสดงผลทั้งหมด n บรรทัด ถ้าเป็นบรรทัดแรก หรือ บรรทัดสุดท้าย แสดง * จำนวน n ตัว บรรทัดอื่น ๆ แสดง A จำนวน n ตัว จำนวนแถว (i) ขึ้นอยู่กับ จำนวนคอลัมน์ (j) ขึ้นอยู่กับ n n for i from 1 to n for j from 1 to n if i = 1 or i = n print * else print A end if end for

15 ตัวอย่าง 4 เขียนโปรแกรมรับค่า n จากนั้นแสดงผลทั้งหมด n บรรทัด ถ้าเป็นบรรทัดคี่ แสดง ^ จำนวน n ตัว ถ้าเป็นบรรทัดคู่ แสดง v จำนวน n ตัว จำนวนแถว (i) ขึ้นอยู่กับ จำนวนคอลัมน์ (j) ขึ้นอยู่กับ n n for i from 1 to n for j from 1 to n if i is odd print ^ else print v end if end for

16 แบบฝึกหัดที่ 4 ลองเขียนโปรแกรมเพื่อรับค่า n จากนั้นแสดงผล ทั้งหมด n บรรทัด ถ้าเป็นบรรทัดคี่ แสดง [ ] จำนวนเท่ากับ หมายเลข บรรทัด ถ้าเป็นบรรทัดคู่ แสดง ( ) จำนวนเท่ากับ หมายเลข บรรทัด จำนวนแถว (i) ขึ้นอยู่กับ จำนวนคอลัมน์ (j) ขึ้นอยู่กับ n i

17 ตัวอย่าง 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 ช่องว่ าง ตัวเ ลข

18 ตัวอย่าง 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 ช่องว่ าง ตัวเ ลข

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

20 แบบฝึกหัดที่ 6 for (i = 1; i <= 4; i++) for (j = 1; j <= i; j++) cout << "*"; cout << endl; โปรแกรมต่อไปนี้ให้ผลลัพธ์อย่างไร

21 for (i = 1; i <= 4; i++) for (j = 1; j <= i; j++) cout << "*"; cout << endl; * * * * * * โปรแกรมต่อไปนี้ให้ผลลัพธ์อย่างไร

22 for (i = 1; i <= 3; i++) { for (j = 1; j <= 5; j++) { if (i + j % 2 == 0) { cout << "*"; } else { cout << " "; } cout << endl; } แบบฝึกหัดที่ 7 โปรแกรมต่อไปนี้ให้ผลลัพธ์อย่างไร

23 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: * * * * * * * * โปรแกรมต่อไปนี้ให้ผลลัพธ์อย่างไร


ดาวน์โหลด ppt 886201 หลักการโปรแกรม 1 Lecture 9: การวนซ้ำแบบมีโครงสร้างการวน ซ้ำซ้อนกัน.

งานนำเสนอที่คล้ายกัน


Ads by Google