[Script Info] Title: [Events] Format: Layer, Start, End, Style, Name, MarginL, MarginR, MarginV, Effect, Text Dialogue: 0,0:00:00.98,0:00:05.86,Default,,0000,0000,0000,,חזרנו לתוכנית שלנו שמשתמשת בפונקציה בכדי לצייר את וינסטון ארבע פעמים. Dialogue: 0,0:00:05.86,0:00:11.47,Default,,0000,0000,0000,,ושיניתי אותה קצת על מנת להראות באיזה גיל הוא נמצא בכל נקודה של בחיים, ותראו למה בקרוב. Dialogue: 0,0:00:11.47,0:00:16.29,Default,,0000,0000,0000,,אבל קודם אני צריכה לספר לכם משהו על ווינסטון: לוינסטון יש התמכרות לסופגניות. Dialogue: 0,0:00:16.29,0:00:21.95,Default,,0000,0000,0000,,הוא אוכל שלוש מהן ביום. זו הסיבה כנראה לכך שהפנים שלו כל-כך גדולות וצהובות. Dialogue: 0,0:00:21.95,0:00:32.12,Default,,0000,0000,0000,,אז כדי להזהיר וינסטון שסופגניות הן רעות בשבילו, אני רוצה לשנות את התוכנית כך שתראה כמה סופגניות הוא אכל בכל נקודה בחיים שלו. Dialogue: 0,0:00:32.12,0:00:46.12,Default,,0000,0000,0000,,לדוגמה, כשהוא בן שנתיים, זה אומר שהוא אכל 2 פעמים (שנתיים) כפול 365 פעמים (מספר הימים בשנה) כפול 3 פעמים (שלוש פעמים ביום), אז פי שלוש ביום, כפול 365 ימים, לשנתיים. Dialogue: 0,0:00:46.12,0:00:54.67,Default,,0000,0000,0000,,אנחנו רק נציג את זה מתחת לכותרת הזו, אז וואו! אלפיים סופגניות, זה הרבה סופגניות למישהו בן שנתיים. Dialogue: 0,0:00:54.67,0:01:04.27,Default,,0000,0000,0000,,עכשיו כאשר הוא בן 14, בוא נראה, יש לו 3 פעמים ביום כפול 365 ימים כפול 14 שנים. Dialogue: 0,0:01:04.27,0:01:13.46,Default,,0000,0000,0000,,זה חמש עשרה אלף סופגניות. בסדר. אז אני יכולה להמשיך את המתמטיקה הזאת, אבל אני מתחילה לשים לב דפוס. Dialogue: 0,0:01:13.46,0:01:20.78,Default,,0000,0000,0000,,אני חוזרת על החישובים שלי כאן, ואני משנה רק דבר אחד: מספר השנים. Dialogue: 0,0:01:20.78,0:01:28.12,Default,,0000,0000,0000,,בכל פעם שאני רואה קוד שחוזר על עצמו ככה, אני חושבת לעצמי, "הממ, אולי אני יכולה להפוך את זה לפונקציה?" Dialogue: 0,0:01:28.12,0:01:33.10,Default,,0000,0000,0000,,כן, בהחלט, אנחנו יכולים. אז בואו נעשה את זה עכשיו. Dialogue: 0,0:01:33.10,0:01:41.01,Default,,0000,0000,0000,,אני אגדיר את הפונקציה כאן למעלה ואקרא לפונקציה בשם calcTotalDonuts (נכתוב: calcTotalDonuts = function) Dialogue: 0,0:01:41.01,0:01:49.24,Default,,0000,0000,0000,,היא הולכת לקבל פרמטר אחד, את מספר שנים, כי זה הדבר היחיד שאנו משנים כל הזמן בחישוב הזה Dialogue: 0,0:01:49.24,0:02:00.93,Default,,0000,0000,0000,,ואז בפנים, נוכל לעשות את החישוב, לשמור אותו לתוך משתנה, כך שיהיה שהמשתנה יהיה מספר השנים (numYears) כפול 3 פעמים כפול 365. Dialogue: 0,0:02:00.93,0:02:12.86,Default,,0000,0000,0000,,בסדר, אז עכשיו שיש לנו את הפונקציה הזו, אני הולכת להחליף את הביטוי הזה כאן עם calcTotalDonuts - הקריאה לפונקציה - ואני אעביר לה את הערך "2". Dialogue: 0,0:02:12.86,0:02:17.43,Default,,0000,0000,0000,,טוב, עכשיו אנחנו לא רואים את הסך הכל בכלל. Dialogue: 0,0:02:17.43,0:02:26.52,Default,,0000,0000,0000,,המממ, אוקיי, מה קרה? ובכן, הפונקציה שלנו חישבה את הסך הכל כאן, אבל היא לא סיפרה לאף אחד על הסכום. Dialogue: 0,0:02:26.52,0:02:33.82,Default,,0000,0000,0000,,זה כמו שאם מורה קורא לך בכיתה בכדי להשיב על שאלה, ואתה תענה לו בראש שלך אבל אתה מתבייש לומר את התשובה. Dialogue: 0,0:02:33.82,0:02:37.64,Default,,0000,0000,0000,,עשית את העבודה, אבל המורה שלך לעולם לא יידע על כך. Dialogue: 0,0:02:37.64,0:02:45.97,Default,,0000,0000,0000,,אם אנחנו רוצים שהפונקציה תתקשר את הערך למי שקרא לה, הפונקציה צריכה להחזיר את הערכים באופן ספציפי. Dialogue: 0,0:02:45.97,0:02:55.22,Default,,0000,0000,0000,,אז בשביל שפונקציה תחזיר ערך, אנחנו צריכים להגיד מהו סוג הערך שהיא תחזיר, ואז מה הערך עצמו. אולי זה משתנה, או ערך או ביטוי. Dialogue: 0,0:02:55.22,0:03:02.14,Default,,0000,0000,0000,,אז כאן נגיד שאנחנו רוצים להחזיר את זה totalDonuts חזרה, בסדר? אז מי שקורא לאותה הפונקציה הולך לקבל את התשובה הזו. Dialogue: 0,0:03:02.14,0:03:05.02,Default,,0000,0000,0000,,כעת הערך שלנו מוצג, איזה כיף! Dialogue: 0,0:03:05.02,0:03:10.48,Default,,0000,0000,0000,,בעצם אנחנו יכולים לקצר את הפונקציה שלנו, אנחנו אפילו לא צריכים לאחסן אותו לתוך משתנה, נוכל לקחת את הביטוי הזה כאן Dialogue: 0,0:03:10.48,0:03:15.42,Default,,0000,0000,0000,,לשים אותו בערך שהפונקציה מחזירה (ה-return), ואז זו רק שורה אחד של קוד. מגניב. Dialogue: 0,0:03:15.42,0:03:24.56,Default,,0000,0000,0000,,בסדר, אז עכשיו אנו יכולים לעבור ולחשב את מספר הסופגניות הכולל בכל נקודה בחיים על-ידי פשוט לקרוא לפונקציה זו, ולהעביר לה את מספר השנים. Dialogue: 0,0:03:24.56,0:03:36.43,Default,,0000,0000,0000,,בוא נראה, זה (calcTotalDonuts(25, נמקם את זה כראוי, (calcTotalDonuts(65 Dialogue: 0,0:03:36.43,0:03:45.24,Default,,0000,0000,0000,,בסדר! וואו, אז אם הוא יגיע עד גיל 65, הוא יאכל 70,000 סופגניות. זה הרבה סופגניות... Dialogue: 0,0:03:45.24,0:03:48.35,Default,,0000,0000,0000,,אני לא חושבת שוינסטון הולך להגיע לזה... Dialogue: 0,0:03:48.35,0:03:53.32,Default,,0000,0000,0000,,אבל עכשיו כשהפכנו את זה לפונקציה, זה מאוד קל לנו לשנות חלקים ממנה. Dialogue: 0,0:03:53.32,0:03:59.21,Default,,0000,0000,0000,,אם וינסטון יראה את זה ויאמר "רגע, רגע, זה המון. מה אם אני פשוט אוכל אחת ביום? " Dialogue: 0,0:03:59.21,0:04:04.43,Default,,0000,0000,0000,,טוב אנחנו יכולים פשוט ללכת לכאן, לשנות את המספר לאחד, והכל ישתנה. Dialogue: 0,0:04:04.43,0:04:12.70,Default,,0000,0000,0000,,אז זה סך הכל 23,000. עדיין הרבה. אז אולי וינסטון יגיד: "בסדר, בסדר, מה אם אני פשוט אוכל אחת בשבוע?" כן, זה הגיוני, בסדר. Dialogue: 0,0:04:12.70,0:04:17.79,Default,,0000,0000,0000,,אז אנחנו פשוט יכולים לשנות את 365 ל-50, כי יש 50 שבועות בשנה, נכון? Dialogue: 0,0:04:17.79,0:04:23.36,Default,,0000,0000,0000,,טוב, זה הרבה יותר טוב, 3,000 דונאטס, נשמע הגיוני. Dialogue: 0,0:04:23.36,0:04:27.36,Default,,0000,0000,0000,,מעולה, אז כפי שראיתם, עם פונקציות וערכים חוזרים, אנחנו יכולים לחסוך בקוד ולהציל חיים!