-
בואו נדבר על לולאות. יש לי פה לולאת while (או בעברית: לולאת ״כל עוד״), ועם כמה שורות קוד, אני יכולה לכתוב את ההודעה הזו לאורך כל המסך.
-
אם אני אשנה את ההודעה ככה, בשביל לעשות אותה טובה יותר
-
כל ההודעות משתנות.
-
אז איך זה עובד? ובכן, נוכל להסתכל על הקוד הזה עוד רגע
-
אבל קודם כל בואו ניקח צעד אחורה ונחשוב על איך היינו כותבים את התוכנית הזו
-
בעזרת מה שאנחנו יודעים כרגע מבלי להשתמש בלולאות.
-
בשביל לעשות את זה, היינו צריכים לכתוב המון פעמים את הטקסט הזה שוב ושוב ושוב נכון?
-
היינו משתמשים בפונקציית text, כותבים הודעה, שמים את זה למעלה, ועכשיו פשוט חוזרים על זה
-
מספיק פעמים כך שבסוף היינו מקבלים טקסט מלמעלה עד למטה.
-
וזה ייקח המון עבודה נכון?
-
מכיוון שהלמטה די רחוק, וזה אפילו גרוע יותר אם
-
שזה לא 70, זה צריך להיות קרוב יותר, נגיד,
-
60. ועכשיו זה משפיע על זה מכיוון שזה צריך להיות קטן יותר
-
וכל אלו בהמשך, עוד קריאות שאנחנו צריכים לבצע.
-
למעשה, בדרך הזו ייקח אפילו יותר זמן להגיע למטה.
-
אז, זה די מעצבן, ולמזלנו יש לנו לולאות שיעזרו לנו
-
מעתה והלאה, בכל זמן שאתם רואים קוד שחוזר על עצמו כך, המחשבה הראשונה שלכם תהיה
-
״האם אני יכול להשתמש פה בלולאה?״ לולאה תאפשר לנו לחזור על הקוד שכתבנו שוב ושוב
-
ושוב, תוך כדי שאנחנו עושים רק שינויים קטנים בכל פעם, וכך אנו
-
היינו משכתבים את הקוד הזה עם לולאה. על מנת להתחיל, אנחנו צריכים להקליד ״while״,
-
סוגריים, ואז סוגרים מסולסלים. אנחנו הולכים לקבל את ההודעה הזו אבל
-
זה רק בגלל שלא סיימנו עדיין. אל תדאגו, היא תעלם כשנסיים.
-
בכל פעם שאתם יוצרים לולאה אתם צריכים לענות על שלוש שאלות מפתח.
-
והנה הן:
-
השאלה הראשונה היא: ״על מה אני רוצה לחזור?״
-
מה שאנחנו רוצים לחזור עליו צריך להיות בין הסוגריים המסולסלים.
-
אנחנו רוצים לחזור על הקריאה לפונקציית text בשלב זה, אז נשים את זה פה.
-
אבל זה מדי מטופש לא? מכיוון שכרגע אנחנו הולכים לחזור על
-
קריאה לאותה פונקציית text שוב ושוב, שזה לא ממש טוב, כי אנחנו צריכים שמשהו יישתנה
-
מה שמביא אותנו לשאלה השנייה, שהיא ״מה היינו רוצים שיישתנה בכל פעם?״
-
אז היינו רוצים לשנות את מיקום ה-״y״ נכון? היינו רוצים שהוא יהפוך ל-60 ואז היינו
-
רוצים שהוא יהפוך ל-80. אז בואו נכניס את זה למשתנה במקום
-
שנקרא y, מכיוון שזהו מיקום ה-y. אז בואו נגדיר משתנה חדש
-
כאן למעלה. אני אאתחל אותו עם הערך 40. ועכשיו, אנחנו רק צריכים
-
לשנות את y. אנחנו יכולים לעשות את זה כאן למטה, נוכל להגיד ש-y מקבל את y + 20
-
ואז הוא ייגדל בכל פעם. ולמעשה, אנחנו יכולים להשתמש
-
במה שלמדנו בשיעור קיצור קוד כאן. אנחנו יכול להשתמש
-
בקיצור. מעולה, ואנחנו רק
-
צריכים לענות על שאלה מספר שלוש עכשיו, שהיא ״לכמה זמן היינו רוצים לחזור על הפעולה הזו?״
-
אנחנו הרי רוצים לעשות זאת שוב ושוב ושוב, אבל אנחנו לא באמת רוצים לעשות את זה לנצח נכון?
-
אם נעשה את זה לנצח, קודם כל, זה הרבה זמן, דבר שני, יש סיכוי שזה יקריס את הדפדפן שלכם.
-
אבל בתקווה שלא. אז באמת, אנחנו רק רוצים לעשות
-
את זה עד שנגיע לתחתית הדף נכון? מה שאומר שאנחנו רוצים לעשות את זה
-
כל עוד y קטן מ-400. אז פשוט נשים את זה פה, ופה
-
ויש לנו את זה! ההודעה נרשמת לכל אורך המסך.
-
ואתם רואים שזה הרבה יותר פשוט מהגישה הקודמת שלנו,
-
שאומנם לקח לנו אותה זמן לממש אותה, אבל היינו רק ברבע הדרך לסיים.
-
אז נוכל להיפטר מזה, והנה התוכנית שלנו.
-
עכשיו, בוא ננסה להבין יותר לעומק מה עשינו. בשביל לעשות את זה,
-
אני הולכת להדפיס את y בכל פעם. אני הולכת להגיד ״y הוא עכשיו:״ ואז כאן למטה
-
אני פשוט אצמיד את y לסוף ההודעה כך שנוכל לראות אותו.
-
אז כרגע, הערך משתנה ב-20, ואנחנו יכולים לשנות את זה
-
על ידי שינוי פשוט של המשתנה הזה כאן. או שאפשר לעשות את זה נגיד
-
50. ועכשיו הרווחים משתנים ב-50. בצורה דומה,
-
תוכלו לשנות ולשחק עם שאר הערכים האלו ולשנות אותם.
-
תוכלו לראות כיצד זה משפיע על עצירת התוכנה.
-
על מנת להבין את זה תוכלו לחשוב על זה כמו
-
הצהרת if. יש לנו את הביטוי הבוליאני שלנו כאן,
-
בדיוק כפי שלמדתם. ואז, יש לנו את גוף ההצהרה שאותו נבצע,
-
החלק הזה, רק אם הבוליאני נכון (אמת). אחרת, נקפוץ ישר לסוף
-
אבל מה שמעניין הוא שעם לולאת while יש לנו למעשה
-
את הדבר הסודי הזה שנמצא למטה ואומר ״תחזור בחזרה להתחלה של הלולאה״.
-
ומה שאומרת ההוראה הסודית הזו היא שבמקום
-
לעזוב ולהמשיך פשוט קדימה כמו עם הצהרת if,
-
בכל פעם שאנחנו עושים את הלולאה, אנחנו הולכים לחזור אחורה
-
ולבדוק אם התנאי עדיין נכון. ואם הוא עדיין נכון, אנחנו הולכים לחזור על הפעולה שוב.
-
ובדיוק כמו שאתם מנחשים, בפעם השנייה, אנחנו הולכים לעשות את אותו הדבר...
-
אנחנו הולכים לבדוק ולחזור להתחלה. האם y עדיין קטן מ-279?
-
אם כן, אז נחזור פעם נוספת ונבדוק שוב.
-
ואם לא, נחזור להתחלה כאן, ולבסוף
-
נצא מהלולאה ונמשיך עם התוכנית שלנו.
-
יש עוד הרבה דרכים מעניינות להשתמש בלולאות עליהן נלמד בקרוב,
-
אבל לעת עתה, זו אחלה התחלה. בהצלחה!