Return to Video

היכרות עם לולאות

  • 0:01 - 0:07
    בואו נדבר על לולאות. יש לי פה לולאת while (או בעברית: לולאת ״כל עוד״), ועם כמה שורות קוד, אני יכולה לכתוב את ההודעה הזו לאורך כל המסך.
  • 0:07 - 0:10
    אם אני אשנה את ההודעה ככה, בשביל לעשות אותה טובה יותר
  • 0:10 - 0:12
    כל ההודעות משתנות.
  • 0:12 - 0:16
    אז איך זה עובד? ובכן, נוכל להסתכל על הקוד הזה עוד רגע
  • 0:16 - 0:19
    אבל קודם כל בואו ניקח צעד אחורה ונחשוב על איך היינו כותבים את התוכנית הזו
  • 0:19 - 0:22
    בעזרת מה שאנחנו יודעים כרגע מבלי להשתמש בלולאות.
  • 0:22 - 0:27
    בשביל לעשות את זה, היינו צריכים לכתוב המון פעמים את הטקסט הזה שוב ושוב ושוב נכון?
  • 0:27 - 0:33
    היינו משתמשים בפונקציית text, כותבים הודעה, שמים את זה למעלה, ועכשיו פשוט חוזרים על זה
  • 0:33 - 0:36
    מספיק פעמים כך שבסוף היינו מקבלים טקסט מלמעלה עד למטה.
  • 0:36 - 0:39
    וזה ייקח המון עבודה נכון?
  • 0:39 - 0:43
    מכיוון שהלמטה די רחוק, וזה אפילו גרוע יותר אם
  • 0:43 - 0:47
    שזה לא 70, זה צריך להיות קרוב יותר, נגיד,
  • 0:47 - 0:51
    60. ועכשיו זה משפיע על זה מכיוון שזה צריך להיות קטן יותר
  • 0:51 - 0:55
    וכל אלו בהמשך, עוד קריאות שאנחנו צריכים לבצע.
  • 0:55 - 0:58
    למעשה, בדרך הזו ייקח אפילו יותר זמן להגיע למטה.
  • 0:58 - 1:02
    אז, זה די מעצבן, ולמזלנו יש לנו לולאות שיעזרו לנו
  • 1:02 - 1:06
    מעתה והלאה, בכל זמן שאתם רואים קוד שחוזר על עצמו כך, המחשבה הראשונה שלכם תהיה
  • 1:06 - 1:10
    ״האם אני יכול להשתמש פה בלולאה?״ לולאה תאפשר לנו לחזור על הקוד שכתבנו שוב ושוב
  • 1:10 - 1:14
    ושוב, תוך כדי שאנחנו עושים רק שינויים קטנים בכל פעם, וכך אנו
  • 1:14 - 1:18
    היינו משכתבים את הקוד הזה עם לולאה. על מנת להתחיל, אנחנו צריכים להקליד ״while״,
  • 1:18 - 1:22
    סוגריים, ואז סוגרים מסולסלים. אנחנו הולכים לקבל את ההודעה הזו אבל
  • 1:22 - 1:26
    זה רק בגלל שלא סיימנו עדיין. אל תדאגו, היא תעלם כשנסיים.
  • 1:26 - 1:31
    בכל פעם שאתם יוצרים לולאה אתם צריכים לענות על שלוש שאלות מפתח.
  • 1:31 - 1:33
    והנה הן:
  • 1:33 - 1:37
    השאלה הראשונה היא: ״על מה אני רוצה לחזור?״
  • 1:37 - 1:41
    מה שאנחנו רוצים לחזור עליו צריך להיות בין הסוגריים המסולסלים.
  • 1:41 - 1:46
    אנחנו רוצים לחזור על הקריאה לפונקציית text בשלב זה, אז נשים את זה פה.
  • 1:46 - 1:50
    אבל זה מדי מטופש לא? מכיוון שכרגע אנחנו הולכים לחזור על
  • 1:50 - 1:53
    קריאה לאותה פונקציית text שוב ושוב, שזה לא ממש טוב, כי אנחנו צריכים שמשהו יישתנה
  • 1:53 - 1:58
    מה שמביא אותנו לשאלה השנייה, שהיא ״מה היינו רוצים שיישתנה בכל פעם?״
  • 1:58 - 2:01
    אז היינו רוצים לשנות את מיקום ה-״y״ נכון? היינו רוצים שהוא יהפוך ל-60 ואז היינו
  • 2:01 - 2:06
    רוצים שהוא יהפוך ל-80. אז בואו נכניס את זה למשתנה במקום
  • 2:06 - 2:09
    שנקרא y, מכיוון שזהו מיקום ה-y. אז בואו נגדיר משתנה חדש
  • 2:09 - 2:13
    כאן למעלה. אני אאתחל אותו עם הערך 40. ועכשיו, אנחנו רק צריכים
  • 2:13 - 2:17
    לשנות את y. אנחנו יכולים לעשות את זה כאן למטה, נוכל להגיד ש-y מקבל את y + 20
  • 2:17 - 2:21
    ואז הוא ייגדל בכל פעם. ולמעשה, אנחנו יכולים להשתמש
  • 2:21 - 2:25
    במה שלמדנו בשיעור קיצור קוד כאן. אנחנו יכול להשתמש
  • 2:25 - 2:29
    בקיצור. מעולה, ואנחנו רק
  • 2:29 - 2:33
    צריכים לענות על שאלה מספר שלוש עכשיו, שהיא ״לכמה זמן היינו רוצים לחזור על הפעולה הזו?״
  • 2:33 - 2:37
    אנחנו הרי רוצים לעשות זאת שוב ושוב ושוב, אבל אנחנו לא באמת רוצים לעשות את זה לנצח נכון?
  • 2:37 - 2:41
    אם נעשה את זה לנצח, קודם כל, זה הרבה זמן, דבר שני, יש סיכוי שזה יקריס את הדפדפן שלכם.
  • 2:41 - 2:44
    אבל בתקווה שלא. אז באמת, אנחנו רק רוצים לעשות
  • 2:44 - 2:48
    את זה עד שנגיע לתחתית הדף נכון? מה שאומר שאנחנו רוצים לעשות את זה
  • 2:48 - 2:52
    כל עוד y קטן מ-400. אז פשוט נשים את זה פה, ופה
  • 2:52 - 2:56
    ויש לנו את זה! ההודעה נרשמת לכל אורך המסך.
  • 2:56 - 3:00
    ואתם רואים שזה הרבה יותר פשוט מהגישה הקודמת שלנו,
  • 3:00 - 3:04
    שאומנם לקח לנו אותה זמן לממש אותה, אבל היינו רק ברבע הדרך לסיים.
  • 3:04 - 3:08
    אז נוכל להיפטר מזה, והנה התוכנית שלנו.
  • 3:08 - 3:12
    עכשיו, בוא ננסה להבין יותר לעומק מה עשינו. בשביל לעשות את זה,
  • 3:12 - 3:16
    אני הולכת להדפיס את y בכל פעם. אני הולכת להגיד ״y הוא עכשיו:״ ואז כאן למטה
  • 3:16 - 3:19
    אני פשוט אצמיד את y לסוף ההודעה כך שנוכל לראות אותו.
  • 3:19 - 3:23
    אז כרגע, הערך משתנה ב-20, ואנחנו יכולים לשנות את זה
  • 3:23 - 3:27
    על ידי שינוי פשוט של המשתנה הזה כאן. או שאפשר לעשות את זה נגיד
  • 3:27 - 3:31
    50. ועכשיו הרווחים משתנים ב-50. בצורה דומה,
  • 3:31 - 3:36
    תוכלו לשנות ולשחק עם שאר הערכים האלו ולשנות אותם.
  • 3:36 - 3:39
    תוכלו לראות כיצד זה משפיע על עצירת התוכנה.
  • 3:39 - 3:44
    על מנת להבין את זה תוכלו לחשוב על זה כמו
  • 3:44 - 3:47
    הצהרת if. יש לנו את הביטוי הבוליאני שלנו כאן,
  • 3:47 - 3:52
    בדיוק כפי שלמדתם. ואז, יש לנו את גוף ההצהרה שאותו נבצע,
  • 3:52 - 3:55
    החלק הזה, רק אם הבוליאני נכון (אמת). אחרת, נקפוץ ישר לסוף
  • 3:55 - 3:59
    אבל מה שמעניין הוא שעם לולאת while יש לנו למעשה
  • 3:59 - 4:04
    את הדבר הסודי הזה שנמצא למטה ואומר ״תחזור בחזרה להתחלה של הלולאה״.
  • 4:04 - 4:07
    ומה שאומרת ההוראה הסודית הזו היא שבמקום
  • 4:07 - 4:11
    לעזוב ולהמשיך פשוט קדימה כמו עם הצהרת if,
  • 4:11 - 4:15
    בכל פעם שאנחנו עושים את הלולאה, אנחנו הולכים לחזור אחורה
  • 4:15 - 4:19
    ולבדוק אם התנאי עדיין נכון. ואם הוא עדיין נכון, אנחנו הולכים לחזור על הפעולה שוב.
  • 4:19 - 4:23
    ובדיוק כמו שאתם מנחשים, בפעם השנייה, אנחנו הולכים לעשות את אותו הדבר...
  • 4:23 - 4:27
    אנחנו הולכים לבדוק ולחזור להתחלה. האם y עדיין קטן מ-279?
  • 4:27 - 4:32
    אם כן, אז נחזור פעם נוספת ונבדוק שוב.
  • 4:32 - 4:35
    ואם לא, נחזור להתחלה כאן, ולבסוף
  • 4:35 - 4:38
    נצא מהלולאה ונמשיך עם התוכנית שלנו.
  • 4:38 - 4:43
    יש עוד הרבה דרכים מעניינות להשתמש בלולאות עליהן נלמד בקרוב,
  • 4:43 - 4:47
    אבל לעת עתה, זו אחלה התחלה. בהצלחה!
Title:
היכרות עם לולאות
Description:

ניתן לצפות בסרטים נוספים בכתובת:
https://www.khanacademy.org/cs/programming/

more » « less
Video Language:
English
Duration:
04:47

Hebrew subtitles

Revisions