< Return to Video

ערכים חוזרים של פונקציות

  • 0:01 - 0:06
    חזרנו לתוכנית שלנו שמשתמשת בפונקציה בכדי לצייר את וינסטון ארבע פעמים.
  • 0:06 - 0:11
    ושיניתי אותה קצת על מנת להראות באיזה גיל הוא נמצא בכל נקודה של בחיים, ותראו למה בקרוב.
  • 0:11 - 0:16
    אבל קודם אני צריכה לספר לכם משהו על ווינסטון: לוינסטון יש התמכרות לסופגניות.
  • 0:16 - 0:22
    הוא אוכל שלוש מהן ביום. זו הסיבה כנראה לכך שהפנים שלו כל-כך גדולות וצהובות.
  • 0:22 - 0:32
    אז כדי להזהיר וינסטון שסופגניות הן רעות בשבילו, אני רוצה לשנות את התוכנית כך שתראה כמה סופגניות הוא אכל בכל נקודה בחיים שלו.
  • 0:32 - 0:46
    לדוגמה, כשהוא בן שנתיים, זה אומר שהוא אכל 2 פעמים (שנתיים) כפול 365 פעמים (מספר הימים בשנה) כפול 3 פעמים (שלוש פעמים ביום), אז פי שלוש ביום, כפול 365 ימים, לשנתיים.
  • 0:46 - 0:55
    אנחנו רק נציג את זה מתחת לכותרת הזו, אז וואו! אלפיים סופגניות, זה הרבה סופגניות למישהו בן שנתיים.
  • 0:55 - 1:04
    עכשיו כאשר הוא בן 14, בוא נראה, יש לו 3 פעמים ביום כפול 365 ימים כפול 14 שנים.
  • 1:04 - 1:13
    זה חמש עשרה אלף סופגניות. בסדר. אז אני יכולה להמשיך את המתמטיקה הזאת, אבל אני מתחילה לשים לב דפוס.
  • 1:13 - 1:21
    אני חוזרת על החישובים שלי כאן, ואני משנה רק דבר אחד: מספר השנים.
  • 1:21 - 1:28
    בכל פעם שאני רואה קוד שחוזר על עצמו ככה, אני חושבת לעצמי, "הממ, אולי אני יכולה להפוך את זה לפונקציה?"
  • 1:28 - 1:33
    כן, בהחלט, אנחנו יכולים. אז בואו נעשה את זה עכשיו.
  • 1:33 - 1:41
    אני אגדיר את הפונקציה כאן למעלה ואקרא לפונקציה בשם calcTotalDonuts (נכתוב: calcTotalDonuts = function)
  • 1:41 - 1:49
    היא הולכת לקבל פרמטר אחד, את מספר שנים, כי זה הדבר היחיד שאנו משנים כל הזמן בחישוב הזה
  • 1:49 - 2:01
    ואז בפנים, נוכל לעשות את החישוב, לשמור אותו לתוך משתנה, כך שיהיה שהמשתנה יהיה מספר השנים (numYears) כפול 3 פעמים כפול 365.
  • 2:01 - 2:13
    בסדר, אז עכשיו שיש לנו את הפונקציה הזו, אני הולכת להחליף את הביטוי הזה כאן עם calcTotalDonuts - הקריאה לפונקציה - ואני אעביר לה את הערך "2".
  • 2:13 - 2:17
    טוב, עכשיו אנחנו לא רואים את הסך הכל בכלל.
  • 2:17 - 2:27
    המממ, אוקיי, מה קרה? ובכן, הפונקציה שלנו חישבה את הסך הכל כאן, אבל היא לא סיפרה לאף אחד על הסכום.
  • 2:27 - 2:34
    זה כמו שאם מורה קורא לך בכיתה בכדי להשיב על שאלה, ואתה תענה לו בראש שלך אבל אתה מתבייש לומר את התשובה.
  • 2:34 - 2:38
    עשית את העבודה, אבל המורה שלך לעולם לא יידע על כך.
  • 2:38 - 2:46
    אם אנחנו רוצים שהפונקציה תתקשר את הערך למי שקרא לה, הפונקציה צריכה להחזיר את הערכים באופן ספציפי.
  • 2:46 - 2:55
    אז בשביל שפונקציה תחזיר ערך, אנחנו צריכים להגיד מהו סוג הערך שהיא תחזיר, ואז מה הערך עצמו. אולי זה משתנה, או ערך או ביטוי.
  • 2:55 - 3:02
    אז כאן נגיד שאנחנו רוצים להחזיר את זה totalDonuts חזרה, בסדר? אז מי שקורא לאותה הפונקציה הולך לקבל את התשובה הזו.
  • 3:02 - 3:05
    כעת הערך שלנו מוצג, איזה כיף!
  • 3:05 - 3:10
    בעצם אנחנו יכולים לקצר את הפונקציה שלנו, אנחנו אפילו לא צריכים לאחסן אותו לתוך משתנה, נוכל לקחת את הביטוי הזה כאן
  • 3:10 - 3:15
    לשים אותו בערך שהפונקציה מחזירה (ה-return), ואז זו רק שורה אחד של קוד. מגניב.
  • 3:15 - 3:25
    בסדר, אז עכשיו אנו יכולים לעבור ולחשב את מספר הסופגניות הכולל בכל נקודה בחיים על-ידי פשוט לקרוא לפונקציה זו, ולהעביר לה את מספר השנים.
  • 3:25 - 3:36
    בוא נראה, זה (calcTotalDonuts(25, נמקם את זה כראוי, (calcTotalDonuts(65
  • 3:36 - 3:45
    בסדר! וואו, אז אם הוא יגיע עד גיל 65, הוא יאכל 70,000 סופגניות. זה הרבה סופגניות...
  • 3:45 - 3:48
    אני לא חושבת שוינסטון הולך להגיע לזה...
  • 3:48 - 3:53
    אבל עכשיו כשהפכנו את זה לפונקציה, זה מאוד קל לנו לשנות חלקים ממנה.
  • 3:53 - 3:59
    אם וינסטון יראה את זה ויאמר "רגע, רגע, זה המון. מה אם אני פשוט אוכל אחת ביום? "
  • 3:59 - 4:04
    טוב אנחנו יכולים פשוט ללכת לכאן, לשנות את המספר לאחד, והכל ישתנה.
  • 4:04 - 4:13
    אז זה סך הכל 23,000. עדיין הרבה. אז אולי וינסטון יגיד: "בסדר, בסדר, מה אם אני פשוט אוכל אחת בשבוע?" כן, זה הגיוני, בסדר.
  • 4:13 - 4:18
    אז אנחנו פשוט יכולים לשנות את 365 ל-50, כי יש 50 שבועות בשנה, נכון?
  • 4:18 - 4:23
    טוב, זה הרבה יותר טוב, 3,000 דונאטס, נשמע הגיוני.
  • 4:23 - 4:27
    מעולה, אז כפי שראיתם, עם פונקציות וערכים חוזרים, אנחנו יכולים לחסוך בקוד ולהציל חיים!
Title:
ערכים חוזרים של פונקציות
Description:

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

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

Hebrew subtitles

Revisions