לולאה מקוננת
חלק מהיחידה יסודות במסלול ה-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() עוברת לשורה הבאה אחרי כל שורה.
אתגר
בינוניקרא מספר שלם 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() כדי לעבור לשורה הבאה
}השיעור הזה כולל חידון קצר. התחילו את השיעור כדי לענות עליו ולעקוב אחרי ההתקדמות.
כל השיעורים ביחידה יסודות
7קלט/פלט בסיסיים
פונקציית Printlnתבניות מחרוזתקלט באמצעות ReadLineהמרת טיפוסיםסיכום – שנים עד הפרישהסיכום – אמת או שקר10פונקציות
הכרזה על פונקציהפרמטרים וארגומנטיםערכי החזרהארגומנטים בעלי שםערכי ברירת מחדלפונקציות עם ביטוי יחידחזרה – פונקציית Sigmaחזרה – פונקציית אימות3אפשרות לערך null
מהי בטיחות מפני nullטיפוסים שיכולים להיות nullאופרטור קריאה בטוחהאופרטור אלביסיסודות אתגר הפונקציותאופרטור ההבטחה לאי־nullסיכום – גישה בטוחה9לולאות
לולאת forלולאת whileלולאת do-whilebreakcontinueטווחים בלולאותלולאה מקוננתחזרה – עצרתחזרה – קלט דינמיתרגלו בעצמכם: Kotlin אונליין