Menu
Coddy logo textTech

לולאה מקוננת

חלק מהיחידה יסודות במסלול ה-Kotlin של Coddy. שיעור 52 מתוך 93.

אפשר להציב לולאה בתוך לולאה אחרת כדי ליצור לולאה מקוננת. הלולאה הפנימית רצה במלואה בכל איטרציה של הלולאה החיצונית.

for (i in 1..2) {
    for (j in 1..3) {
        println("i=$i, j=$j")
    }
}
// פלט:
// i=1, j=1
// i=1, j=2
// i=1, j=3
// i=2, j=1
// i=2, j=2
// i=2, j=3

כאשר i הוא 1, הלולאה הפנימית רצה שלוש פעמים (j נע מ-1 עד 3). לאחר מכן i הופך ל-2, והלולאה הפנימית רצה שלוש פעמים נוספות. כך מתקבלות בסך הכול 2 × 3 = 6 איטרציות.

נהוג להשתמש בלולאות מקוננות כדי ליצור דפוסים או לעבוד עם מבנים דמויי רשת:

for (row in 1..3) {
    for (col in 1..row) {
        print("*")
    }
    println()
}
// פלט:
// *
// **
// ***

כאן, הטווח של הלולאה הפנימית תלוי במשתנה של הלולאה החיצונית, וכך נוצר דפוס משולש. הפונקציה print() מדפיסה בלי לרדת שורה, ואילו println() עוברת לשורה הבאה אחרי כל שורה.

challenge icon

אתגר

בינוני

קרא מספר שלם n מהקלט. השתמש בלולאות מקוננות כדי להדפיס לוח כפל עבור המספרים מ־1 עד n.

עבור כל שורה i מ־1 עד n, הדפס את המכפלות i * 1, i * 2, ..., i * n כשהן מופרדות ברווחים, ואחריהן ירידת שורה.

לדוגמה, אם הקלט הוא 3, הפלט צריך להיות:

1 2 3
2 4 6
3 6 9

אם הקלט הוא 4, הפלט צריך להיות:

1 2 3 4
2 4 6 8
3 6 9 12
4 8 12 16

השתמש ב־print() עם רווח כדי להציג ערכים באותה שורה, וב־println() כדי לעבור לשורה הבאה.

נסו בעצמכם

fun main() {
    // קראו את הקלט
    val n = readLine()!!.toInt()
    
    // TODO: כתבו את הקוד שלכם למטה
    // השתמשו בלולאות מקוננות כדי להדפיס את לוח הכפל
    // השתמשו ב־print() עם רווח בין הערכים באותה שורה
    // השתמשו ב־println() כדי לעבור לשורה הבאה
    
}
quiz iconבחנו את עצמכם

השיעור הזה כולל חידון קצר. התחילו את השיעור כדי לענות עליו ולעקוב אחרי ההתקדמות.

כל השיעורים ביחידה יסודות

תרגלו בעצמכם: Kotlin אונליין