Menu
Coddy logo textTech

לולאת while

חלק מהיחידה יסודות במסלול ה-Ruby של Coddy. שיעור 40 מתוך 88.

לולאת for מצוינת כשידוע לך בדיוק כמה פעמים לחזור על הפעולה. אבל מה אם תרצה להמשיך בלולאה עד שתנאי מסוים ישתנה? כאן נכנסת לתמונה לולאת while.

לולאת while ממשיכה לפעול כל עוד התנאי שלה נשאר true:

count = 1
while count <= 3
  puts count
  count += 1
end

הפעולה הזו מציגה את 1, 2 ו־3. הלולאה בודקת את התנאי לפני כל איטרציה. ברגע ש־count הופך ל־4, התנאי count <= 3 הוא שקרי, והלולאה נעצרת.

ההבדל העיקרי מלולאת for הוא שאתה שולט במועד שבו הלולאה מסתיימת באמצעות שינוי משתנה בתוך הלולאה. אם תשכח לעדכן את המשתנה, הלולאה תפעל לנצח! הנה דוגמה לספירה לאחור:

num = 5
while num > 0
  puts num
  num -= 1
end
puts "Done!"

הספירה יורדת מ־5 עד 1, ואז מדפיסה "Done!" לאחר שהלולאה מסתיימת. לולאת while שימושית במיוחד כשלא ידוע מראש כמה איטרציות תצטרך.

challenge icon

אתגר

קל

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

הקלט יהיה מספר שלם יחיד המייצג את המספר ההתחלתי לספירה לאחור.

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

5
4
3
2
1
Blastoff!

נסו בעצמכם

# קראו את המספר ההתחלתי
n = gets.chomp.to_i

# TODO: כתבו את הקוד שלכם למטה
# השתמשו בלולאת while כדי להדפיס מספרים מ-n עד 1
# לאחר מכן הדפיסו את הטקסט המדויק שמופיע בהוראות
quiz iconבחנו את עצמכם

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

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

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