Menu
Coddy logo textTech

טווחים בלולאות

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

עד כה השתמשנו ב־1..5 כדי ליצור טווחים שסופרים כלפי מעלה באחד. Kotlin מציעה דרכים גמישות יותר להגדיר טווחים עבור הלולאות שלך.

כדי לספור לאחור, השתמשו ב־downTo:

for (i in 5 downTo 1) {
    println(i)
}
// פלט: 5, 4, 3, 2, 1

כדי לדלג על מספרים, מוסיפים step כדי לשלוט בגודל הצעד:

for (i in 0..10 step 2) {
    println(i)
}
// פלט: 0, 2, 4, 6, 8, 10

אפשר לשלב את downTo עם step לספירה לאחור במרווחים מותאמים אישית:

for (i in 10 downTo 1 step 3) {
    println(i)
}
// פלט: 10, 7, 4, 1

אם צריך להחריג את הערך האחרון, השתמשו ב־until במקום ב־..:

for (i in 1 until 5) {
    println(i)
}
// פלט: 1, 2, 3, 4

מילת המפתח until שימושית במיוחד כשעובדים עם אינדקסים שמתחילים מ־0, שבהם לעיתים קרובות צריך לעצור לפני שמגיעים למספר מסוים.

challenge icon

אתגר

בינוני

קראו שני מספרים שלמים מהקלט: start ו־end.

הדפיסו את כל המספרים הזוגיים מ־start ועד end בסדר יורד (כולל), כל אחד בשורה נפרדת.

השתמשו ב־downTo עם step כדי ליצור את הטווח. אם start אי־זוגי, התחילו מהמספר הזוגי הראשון שמתחתיו.

לדוגמה, אם הקלט הוא:

10
2

הפלט אמור להיות:

10
8
6
4
2

אם הקלט הוא:

9
3

הפלט אמור להיות:

8
6
4

אם אין מספרים זוגיים בטווח המבוקש, הדפיסו No even numbers בשורה אחת. אחרת, הדפיסו כל מספר זוגי בשורה משלו.

נסו בעצמכם

fun main() {
    // קראו את הקלט
    val start = readLine()!!.toInt()
    val end = readLine()!!.toInt()
    
    // TODO: כתבו את הקוד שלכם למטה
    // השתמשו ב-downTo עם step כדי להדפיס את כל המספרים הזוגיים מ-start עד end בסדר יורד
    // אם start אי־זוגי, התחילו מהמספר הזוגי הראשון שמתחתיו
    
}
quiz iconבחנו את עצמכם

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

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

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