ดาวน์โหลดงานนำเสนอ
งานนำเสนอกำลังจะดาวน์โหลด โปรดรอ
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(); *
งานนำเสนอที่คล้ายกัน
© 2024 SlidePlayer.in.th Inc.
All rights reserved.