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

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

Nested loop.

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


งานนำเสนอเรื่อง: "Nested loop."— ใบสำเนางานนำเสนอ:

1 Nested loop

2 Nested Loop ในบทก่อนหน้านี้เราได้เรียนการเขียนโปรแกรมแบบที่ใช้ if ซ้อนกัน ในทำนองเดียวกันในงานที่ซับซ้อน การทำซ้ำก็อาจจะต้อง implement ในรูปแบบของ loop ซ้อนกัน การประมวลผลในลักษณะที่เป็นตาราง loop ซ้อน มันจะเกิดขึ้นโดยธรรมชาติ Loop นอกเป็นตัวควบคุม แถว ทั้งหมด Loop ในเป็นตัวควบคุม คอลัมน์ ในแต่ละแถว

3 โจทย์ จงเขียนโปรแกรมรับค่า m และ n แล้วแสดงผลลัพธ์ ดังตัวอย่าง Input 3 2 Output ** Input 2 5 Output *****

4 มองผลลัพธ์ในลักษณะของตาราง
จงเขียนโปรแกรมรับค่า m และ n แล้วแสดงผลลัพธ์ ดังตัวอย่าง Input1 Input * *

5 Nested loop การเขียน loop ซ้อน จะง่ายขึ้นถ้าเรามองผลลัพธ์ของโปรแกรมในลักษณะตาราง จำนวนแถว ใช้ loop นอกเป็นตัวกำหนด จำนวนคอลัมน์ ใช้ loop ในเป็นตัวกำหนด for(int i = 1 ; i < row ; i++) { for(int j = 1 ; j < col ; j++ ) { //คำสั่งในการทำซ้ำ }

6 โจทย์ จงเขียนโปรแกรมรับค่า m และ n แล้วแสดงผลลัพธ์ ดังตัวอย่าง Input 3 2 Output ** จำนวนแถว = 3 จำนวนคอลัมน์ = 2 Loop นอกวนให้ครบ 3 รอบ Loop ในวนให้ครบ 2 รอบ แต่ละรอบวนปริ้น “*” จำนวนแถว และ จำนวนคอลัมน์ ขึ้นอยู่กับตัวแปร m และ n for(int i = 0 ; i < 3 ; i++) { for(int j = 0 ; j < 2 ; j++ ) { System.out.print(“*”); } System.out.println(); }

7 ตัวอย่าง : การแสดงผลสัญลักษณ์ต่าง ๆ ตามรูปแบบที่กำหนด

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

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

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

11 ตัวอย่าง : การแสดงผลค่าของตัวแปร

12 ตัวอย่าง 3 เขียนโปรแกรมรับค่า n และแสดงผลลัพธ์ ดังนี้
จำนวนแถว (i) ขึ้นอยู่กับ n จำนวนคอลัมน์ (j)ขึ้นอยู่กับ i for(int i = 1 ;i <= n ;i++){ for(int j=1 ; j <= i; j++){ System.out.print(j); }System.out.println(); }

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

14 ตัวอย่าง 4 เขียนโปรแกรมรับค่า n และแสดงผลลัพธ์ ดังนี้
จำนวนแถว (i) ขึ้นอยู่กับ n จำนวนคอลัมน์ (j)ขึ้นอยู่กับ i for(int i = n ;i >= 1 ;i++){ for(int j=1 ; j <= i; j++){ System.out.print(i); }System.out.println(); }

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

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

17 ตัวอย่าง : การแสดงผลค่าของสัญลักษณ์แบบมีทางเลือก

18 ตัวอย่าง 5 เขียนโปรแกรมรับค่า n จากนั้นแสดงผลทั้งหมด n บรรทัด
บรรทัดอื่น ๆ แสดง A จำนวน 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 n จำนวนแถว (i) ขึ้นอยู่กับ จำนวนคอลัมน์ (j)ขึ้นอยู่กับ n

19 ตัวอย่าง 6 เขียนโปรแกรมรับค่า n จากนั้นแสดงผลทั้งหมด n บรรทัด
ถ้าเป็นบรรทัดคู่ แสดง v จำนวน 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 n จำนวนแถว (i) ขึ้นอยู่กับ จำนวนคอลัมน์ (j)ขึ้นอยู่กับ n

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

21 ตัวอย่าง : การใช้หลายๆ loop ซ้อน

22 ตัวอย่าง 7 เขียนโปรแกรมรับค่า n และแสดงผลลัพธ์ ดังนี้ i ช่องว่าง
ตัวเลข 1 3 2 4 for(int i = 1 ;i <= n ;i++){ for(int j=1;j<=n -i;j++){ System.out.print(“ “); } for( ; j <=n ; j++){ System.out.print(i); System.out.println();

23 ตัวอย่าง 8 เขียนโปรแกรมรับค่า n และแสดงผลลัพธ์ ดังนี้ i ช่องว่าง
ตัวเลข 4 1 3 2 for(int i = 0 ;i < n ;i++){ for(int j=0;j<i;j++){ System.out.print(“ “); } for(j=i ; j <n ; j++){ System.out.print(n-i); System.out.println();

24 กิจกรรมที่ 6 เขียนโปรแกรมรับค่า n และแสดงผลลัพธ์ ดังนี้

25 โจทย์ เขียนโปรแกรมรับจำนวนเต็มบวก 1 จำนวนและแสดงรูปดังตัวอย่างต่อไปนี้ Input 4 Output * * *** ***** ******* ช่องว่าง ดอกจัน ดอกจัน ช่องว่าง

26 โจทย์ ช่องว่าง แถวที่ 1 ช่องว่าง 3 ดอกจัน 1
แถวที่ 2 ช่องว่าง 2 ดอกจัน 2 แถวที่ 3 ช่องว่าง 1 ดอกจัน 3 แถวที่ 4 ช่องว่าง 0 ดอกจัน 4 * หมายเลขแถวส่งผลต่อจำนวนดอกจัน จำนวนช่องว่าง = n - จำนวนดอกจัน

27 โจทย์ ช่องว่าง แถวที่ 1 ช่องว่าง 3 ดอกจัน 1
for(int I =1 ; i<=n ; i++) { for(int j = 1; j<=n-i;j++) { System.out.print(“ ”); } for(; j<=n; j++) { System.out.print(“*”); ช่องว่าง แถวที่ 1 ช่องว่าง 3 ดอกจัน 1 แถวที่ 2 ช่องว่าง 2 ดอกจัน 2 แถวที่ 3 ช่องว่าง 1 ดอกจัน 3 แถวที่ 4 ช่องว่าง 0 ดอกจัน 4 จำนวนดอกจัน = หมายเลขแถว จำนวนช่องว่าง = n - จำนวนดอกจัน

28 โจทย์ * ดอกจัน (กลุ่มสุดท้าย) แถวที่ 1 ดอกจัน 0 แถวที่ 2 ดอกจัน 1
แถวที่ 3 ดอกจัน 2 แถวที่ 4 ดอกจัน 3 จำนวนดอกจัน = หมายเลขแถว - 1 for(j = 1; j<=i-1 ; j++){ System.out.print(“*”); } *

29 โจทย์ * for(int i =1 ; i<= n ; i++){ for(j=1 ; j <=n-i; j++){
System.out.print(" "); } for( ; j <=n ; j++){ System.out.print("*"); for(j=1 ; j<=i-1;j++){ System.out.println(); *


ดาวน์โหลด ppt Nested loop.

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


Ads by Google