מירי
כיתה ה · חשיבה ממוחשבת

משתנים קופסאות עם שם

במשחק מחשב יש ניקוד שעולה, חיים שיורדים ושלב שמשתנה. איך המחשב זוכר את כל זה? בעזרת משתנים: קופסאות עם שם, שבכל רגע יש בהן ערך אחד. כאן מריצים הוראות שורה אחרי שורה ועוקבים מה יש בכל קופסה. כדאי להכיר קודם את האלגוריתם כמתכון.

1

הרעיון

משתנה הוא קופסה. על הקופסה כתוב שם, ובתוכה יש ערך. המחשב פונה לקופסה לפי השם שלה, ויכול להסתכל על הערך או להחליף אותו.

שמים ערך

"שימו 0 בניקוד" אומר: בקופסה בשם ניקוד יהיה עכשיו 0. מה שהיה בה קודם נמחק.

משנים ערך

"הוסיפו 5 לניקוד": לוקחים את מה שיש בקופסה, מוסיפים 5, ושמים בחזרה. אם היה 10, יהיה 15.

בודקים ערך

"אם חיים = 0 אז…": המחשב מסתכל בקופסה חיים. רק אם יש בה 0, הוא עושה את מה שאחרי "אז".

לזכור: בכל קופסה יש ערך אחד בלבד בכל רגע. ערך חדש מחליף את הישן.
2

מעבדה: מריצים שורה אחרי שורה

בחרו תוכנית מ"נסו את אלה" ולחצו "שורה הבאה". הקופסאות מתעדכנות, ובטבלת המעקב רואים מה היה בכל קופסה אחרי כל שורה. התא שהשתנה צבוע בצהוב.

    נסו את אלה:

    משחק הכוכבים: נחשו לפני שמריצים

    כל ⭐ מוסיף 10 לניקוד. כל 💣 מוריד 1 מחיים. כל 💎 מוסיף 50 לניקוד. בהתחלה: ניקוד 0, חיים 3.

    3

    טעויות שכולם עושים

    "שימו" זה לא "הוסיפו"

    בניקוד יש 7, ואז "שימו 3 בניקוד". עכשיו יש 3, לא 10. שימו מחליף את מה שהיה. רק "הוסיפו" מחבר.

    שם הוא לא ערך

    "ניקוד" הוא השם של הקופסה, לא מה שבתוכה. "שימו בשלב את מה שיש בניקוד" מעתיק את הערך. אחר כך כל קופסה משתנה לבד.

    שתי קופסאות באותו שם

    אי אפשר. אם יש שתי קופסאות בשם ניקוד, המחשב לא יידע לאיזו לפנות. לכל משתנה צריך שם משלו, כמו ניקוד1 וניקוד2.

    4

    דוגמה פתורה, צעד אחרי צעד

    עוקבים אחרי התוכנית: 1. שימו 3 בחיים. 2. שימו 0 בניקוד. 3. הוסיפו 20 לניקוד. 4. הורידו 1 מחיים. 5. שימו 5 בניקוד.

    5

    תרגול

      6

      שאלות שכולם שואלים

      מה זה משתנה בתכנות, במילים פשוטות?

      משתנה הוא קופסה עם שם, שהמחשב שומר בה ערך. אפשר לשים בה ערך, לשנות אותו ולבדוק אותו. ניקוד במשחק, מספר החיים ושם השחקן הם כולם משתנים. נסו במעבדה.

      למה המילה "משתנה"?

      כי הערך בקופסה יכול להשתנות בזמן שהתוכנית רצה. השם נשאר אותו שם, אבל מה שבתוכו מתחלף. הניקוד מתחיל ב-0 ועולה בכל פעם שתופסים כוכב.

      איך מתרגלים משתנים בבית?

      קחו כמה כוסות, כתבו על כל אחת שם, ושימו בהן פתקים עם מספרים. אחד קורא הוראות כמו "הוסיפו 2 לכוס ניקוד", והשני מעדכן את הפתק. בסוף בודקים יחד מה יש בכל כוס. תרגלו למטה.