1 00:00:01,860 --> 00:00:10,076 אז כבר עשינו את המשתנה הסופר מגניב הזה בשביל העין של ווינסטון (eyeSize), מה שמאוד עזר מכיוון שזה חוסך המון הקלדה כשאנחנו רוצים לשנות את גודל העיניים של ווינסטון. 2 00:00:10,076 --> 00:00:15,497 זכרו שלפני כן היינו צריכים לכתוב את אותו המספר ארבע פעמים, מתי שרצינו לשנות את העיניים שלו. 3 00:00:15,497 --> 00:00:18,940 אבל האם אנחנו יכולים להשתמש במשתנים על מנת להחליף מספרים שהם לא כולם אותו הדבר? 4 00:00:18,940 --> 00:00:21,496 מה אם היינו רוצים להזיז את ווינסטון טיפה? 5 00:00:21,496 --> 00:00:27,472 היינו צריכים לשנות את כל קוארדינאטות ה-X, אבל לא כולן אותו הדבר, אז אני לא יכולה פשוט להחליף את כולן עם אותו המשתנה. 6 00:00:27,472 --> 00:00:33,469 אבל חכו! ברגע שאני אקצה מספר למשתנה, אני יכול להשתמש במשתנה הזה בדיוק כאילו הוא היה המספר הזה. 7 00:00:33,469 --> 00:00:36,693 מה שאומר, שאני יכולה להשתמש במשתנים בביטויים מתמטיים. 8 00:00:36,693 --> 00:00:40,462 אז מה תגידו על זה, בואו נעשה משתנה עבור נקודת ה-x של ווינסטון. 9 00:00:40,462 --> 00:00:43,024 בואו נקרא לזה, "var x" 10 00:00:43,024 --> 00:00:47,744 די פשוט. אוקיי, עכשיו בואו ניתן לו את הערך של קוארדינאטת ה-x של הפרצוף של ווינסטון 11 00:00:47,744 --> 00:00:51,339 אז הפרצוף שלו צוייר בקוארדינאטת X של 200. 12 00:00:51,339 --> 00:00:54,423 אז אני נאמר ש-X מקבל 200 (;var x = 200) 13 00:00:55,053 --> 00:01:02,398 עכשיו אני יכולה ל החליף את המספר הזה עם המשתנה החדש שלי ״x״. וכשאני אשנה את הערך של X הוא יזיז את הפרצוף של ווינסטון. 14 00:01:02,398 --> 00:01:04,896 אבל לא את האוזניים שלו או את הפה שלו. 15 00:01:04,896 --> 00:01:13,694 בשביל לתקן את זה, אנחנו הולכים להגדיר את המיקום של העיניים והאף שלו, ביחס למיקום של הפרצוף. 16 00:01:13,694 --> 00:01:19,940 אז קוארדינאטות ה-"x" הולכות להיות המרכז של כל שאר האליפסות, אז הפרצוף שלו צוייר ב.... 17 00:01:19,940 --> 00:01:28,603 ב-200, ועכשיו בואו נעשה את העין השמאלית שלו קודם, כך שהאליפסה הזו היא העין השמאלית שלו, ועכשיו אנחנו יכולים לראות שהיא מצויירת ב-150. 18 00:01:28,603 --> 00:01:32,865 אז כאן זה 150. 19 00:01:32,865 --> 00:01:37,556 ואני יודעת ש-150 זה 50 פחות מ-200. 20 00:01:37,592 --> 00:01:42,360 אז העין השמאלית שלו צריכה להיות איפה שהפרצוף שלו נמצא, פחות 50. 21 00:01:42,360 --> 00:01:46,894 אז זה הולך להיות ״x״, שזה המיקום של הפנים, פחות 50. 22 00:01:46,894 --> 00:01:52,950 ועכשיו אם אני אשנה את הערך של קוארדינאטה "x", העין שלו תזוז יחד עם הפנים. 23 00:01:52,864 --> 00:01:54,206 בואו נעשה את השאר. 24 00:01:54,206 --> 00:02:01,302 אז העין הימנית שלו מצויירת ב-300, אני יכולה לראות, אז כאן זה 300. 25 00:02:01,302 --> 00:02:05,214 ואני יודעת ש-300 זה 100 יותר מ-200. 26 00:02:05,214 --> 00:02:09,902 אם כך העין הימנית שלו תהיה איפה שהפרצוף ועוד 100. 27 00:02:09,902 --> 00:02:12,535 שזה (x + 100) 28 00:02:12,535 --> 00:02:16,302 עכשיו אנחנו פשוט נגדיר את הפה, שהוא צוייר ב-250. 29 00:02:16,302 --> 00:02:22,993 שזה פה, יש לנו 250, ו-250 זה 200 ועוד 50. 30 00:02:22,993 --> 00:02:29,635 אז זה הולך להיות איפה שהפרצוף ועוד 50 - (x + 50) 31 00:02:29,635 --> 00:02:37,052 עכשיו אני הולכת להיפטר מהקשקושים האלו. מתי שאני אשנה את הערך של "x" זה מזיז את כל הפרצוף! 32 00:02:39,205 --> 00:02:42,697 לפני שאתם יכולים ללכת, כדאי שתדעו עוד כמה דברים על משתנים. 33 00:02:42,697 --> 00:02:45,558 ברגע שאתם יוצרים משתנה (var x) 34 00:02:45,558 --> 00:02:48,395 אתם יכולים להכניס לו ערך כמה פעמים שתרצו. 35 00:02:48,395 --> 00:02:57,996 אז אחרי שאתם נותנים ל-"x" את הערך 198, תוכלו להגיד ש-"x" מקבל 300 או "x" מקבל 150. 36 00:02:57,996 --> 00:03:03,724 מאותו רגע והלאה המחשב ייתייחס ל-"x" בתור הערך האחרון שנתנו לו. 37 00:03:03,724 --> 00:03:05,529 במקרה הזה, 150. 38 00:03:05,529 --> 00:03:08,235 אבל אתם צריכים להדפיס את המילה var רק פעם אחת. 39 00:03:08,235 --> 00:03:15,329 אם כאן הקלדתי (;var x = 150) במקום, זה היה מייצר משתנה חדש בשם "x". 40 00:03:15,329 --> 00:03:21,062 לגמרי היה הורס את המשתנה הקודם "x" בתהליך, כך שכל המשתנים האלו היו הולכים לערימת הזבל. 41 00:03:21,062 --> 00:03:24,432 ולאחר מכן המחשב היה משתמש רק במשתנה החדש. 42 00:03:24,432 --> 00:03:28,951 לפעמים אתם יכולים לעשות דבר כזה מבלי שדברים נוראיים ייקרו, אבל אנחנו ממש לא היינו מייעצים לעשות את זה. 43 00:03:28,951 --> 00:03:32,448 לעכשיו אני רק הולכת לעשות את זה פעם אחת (var x = 150). 44 00:03:32,448 --> 00:03:39,058 ועכשיו אני יכולה להזיז בנוחות את ווינסטון בכל המסך, אז אני יכולה לדבר על הנקודה הבאה שלי. 45 00:03:39,058 --> 00:03:46,662 אז מתי שיש לנו משתנה שווה משהו, המשתנה הזה יושב במקום בטוח. 46 00:03:46,662 --> 00:03:53,269 למעשה, מצד שמאל של סימן השווה זה המקום היחיד שמשתנה יכול להרגיש בו כמו עצמו 47 00:03:53,269 --> 00:03:57,173 מכיוון שזה המקום היחידי שהמחשב מסתכל עליו בתור משתנה. 48 00:03:57,173 --> 00:04:00,037 בכל מקום אחר, המחשב רק מעמיד פנים שזה ערך. 49 00:04:00,037 --> 00:04:05,949 אפילו אם אנחנו עושים משהו כזה var x = 10 50 00:04:05,949 --> 00:04:11,760 ואז עושים x = x. ואוו, מבלבל. 51 00:04:11,760 --> 00:04:19,997 בצד שמאל, יש לנו את x, שהוא משתנה חופשי ומאושר, אחד שיכול לגדול, שיכול להשתנות! 52 00:04:19,997 --> 00:04:24,997 אבל בצד שמאל, זה רק 10. 53 00:04:24,997 --> 00:04:29,167 כל כך עצוב :( אבל זה אומר שאנחנו יכולים לעשות דברים ממש מועילים כמו זה. 54 00:04:29,167 --> 00:04:33,535 אני יכולה להגיד ש-x מקבלת x + 1 (x = x + 1) 55 00:04:33,535 --> 00:04:43,034 אז בצד שמאל יש לנו את המשתנה שלנו במקום שקט ובטוח, ומצד ימין יש לנו משתנה שבאופן בסיסי הוא רק מספר. 56 00:04:43,034 --> 00:04:44,449 זה רק 10. 57 00:04:44,449 --> 00:04:47,199 אז אנחנו יכולים להחליף את זה עם x מקבל עשר ועוד 1 58 00:04:47,199 --> 00:04:51,064 מה שבסך הכל אומר ש-x מקבל 11. 59 00:04:51,064 --> 00:04:57,453 אז כל השורה הזו בסך הכל אומרת ש-x מקבל 11, כך שמעתה והלאה הערך של x הוא 11. 60 00:04:57,453 --> 00:05:00,831 בואו נראה מה קורה אם אנחנו מביאים עוד משתנה לתוך המשוואה. 61 00:05:00,831 --> 00:05:06,448 אנחנו הולכים להגיד ש-x מקבל 10 (;var x = 10) 62 00:05:06,448 --> 00:05:10,500 var y מקבל 20 (var y = 20) 63 00:05:10,500 --> 00:05:12,733 x מקבל את y (x = y;) 64 00:05:12,733 --> 00:05:17,029 ו-y מקבל 7 (y = 7) 65 00:05:17,029 --> 00:05:21,203 אוקיי, ומה שאני רוצה לדעת, זה מה הערך של x? 66 00:05:21,203 --> 00:05:23,531 בואו ננסה להבין את זה 67 00:05:23,531 --> 00:05:28,604 אז בסימן הזה כאן אנחנו יוצרים משתנה x, ונותנים לו את הערך 10. 68 00:05:28,604 --> 00:05:31,287 כך שהערך של x הוא 10 69 00:05:31,287 --> 00:05:35,536 ובסימן הזה אנחנו יוצרים משתנה חדש y ונותנים לו את הערך 20. 70 00:05:35,536 --> 00:05:39,165 אז אנחנו לא עושים בינתיים כלום עם x, כך שהערך של x הוא עדיין 10. 71 00:05:39,165 --> 00:05:44,098 וכאן אנחנו אומרים ש-x מקבל את y. זה די מבלבל, אבל אם חושבים על זה 72 00:05:44,098 --> 00:05:47,869 אנחנו יודעים שרק אחד מהמשתנים האלו נמצא בצד הבטוח והמאושר שלו (צד שמאל). 73 00:05:47,869 --> 00:05:52,204 והמשתנה השני שנמצא בצד ימין, מתייחסים אליו בתור מספר. 74 00:05:52,957 --> 00:06:00,188 אז בעצם אנחנו יכולים להחליף בראש את "y" עם הערך שלו 29, ואנחנו יודעים שהסימן בעצם אומר 75 00:06:00,188 --> 00:06:04,725 ש-x מקבל 20. אז הערך של "x" כאן הוא 20! 76 00:06:04,725 --> 00:06:09,948 אז כאן יש לנו את "y" במקום הבטוח והמאושר שלו, אז זה לא כזה מבלבל 77 00:06:09,948 --> 00:06:12,698 בגלל שבסך הכל יש לנו מספר בצד השני. 78 00:06:12,698 --> 00:06:21,071 השאלה הגדולה היא, מתי שאני משנה את הערך של "y" כאן, האם זה משנה את הערך של "x" כאן למעלה? 79 00:06:21,071 --> 00:06:25,558 התשובה היא לא! 80 00:06:25,558 --> 00:06:31,166 אתם חייבים לזכור שכאן למעלה, "y" מקבל יחס כמו של מספר 81 00:06:31,166 --> 00:06:35,864 המחשב הולך להתעלם לגמרי מהעובדה שזה משתנה, ייתעלם מהעובדה שהוא יכול להשתנות 82 00:06:35,864 --> 00:06:41,614 והוא פשוט הולך להגיד ״או, y, מה שאתה בעצם מתכוון אליו זה 20״. 83 00:06:41,614 --> 00:06:49,224 אז כאן, אנחנו פשוט נותנים ערך מספרי ל-"x", אנחנו לא נותנים משתנה למשתנה, אנחנו פשוט נותנים את הערך של ״y״, שהוא 20. 84 00:06:49,224 --> 00:06:58,705 וזה אומר שהערך של "x" נשאר 20, אפילו לאחר ששינינו את הערך של ה-"y" הזה מהשורה האחרונה. 85 00:06:58,705 --> 00:07:02,705 פו! הבנתם את זה? עכשיו אתם מומחי על במשתנים, מזל טוב!