משתנים והקצאה
הוצג| English | משמעות |
|---|---|
| variables/ˈveərɪəblz/ | משתנים |
| named reference/neɪmd ˈrefrəns/ | הפניה מוגדרת |
| value/ˈvæljuː/ | ערך |
| memory/ˈmeməri/ | זיכרון |
| assignment/əˈsaɪnmənt/ | הטלת ערך |
| update/ˈʌpdeɪt/ | עדכון |
| data types/ˈdeɪtə taɪps/ | סוגי נתונים |
| number/ˈnʌmbə/ | מספר |
| string/strɪŋ/ | מחרוזת |
| Boolean/ˈbuːlɪən/ | ערך בוליאני |
| executes/ˈeksɪkjuːts/ | ביצוע |
משתנה היא קופסה מסומנת
- תוכנית פעילה צריכה לזכור מידע — היא משתמשת במשתנים.
- משתנה הוא יחסית ממונה שאוחסן ערך בזיכרון המחשב.
- לדמיין קופסה עם תווית: התווית היא השם, והקופסה מכילה ערך אחד בכל עת.
- תן לה שם ברור כמו
totalScore, ולא שם מטושטש כמוx.
משתנה מתואר בצורה הטובה ביותר כ:
Difficulty 1/5 · 100 coins + a small bonus on first completion today
השם הוא התווית; הקופסה מכילה את הערך הנוכחי.
בביטוי score ← 10, החץ מסמן שהמשתנה score ______ את הערך 10.
Difficulty 1/5 · 100 coins + a small bonus on first completion today
הקצאה מאחסנת את הערך מהצד הימני לתוך השם מהצד השמאלי.
הקצאת ערך חדש למשתנה מבטלת את הערך הישן שלה.
Difficulty 1/5 · 100 coins + a small bonus on first completion today
למשתנה יש ערך אחד בכל פעם; החדש מחליף את הישן.
הטלת ערך
- הטלת ערך מציבה ערך בתוך משתנה. בפסדוקוד AP: $\text{score} \leftarrow 10$.
- החץ $\leftarrow$ פירושו "קיבל את הערך", ולכן
scoreמכיל כעת $10$. - הטלת ערך יכולה גם לעדכן משתנה בערך חדש — הערך הישן מושמד.
- הצד הימני מחושב תחילה, ואז מאוחסן בשם בצד שמאל.
משתנה הוא קופסה עם תווית
כל הקצאה מחשבת את הצד הימני ואוחסנת אותו בקופסה בעלת שם; הקצאה חוזרת של אותו שם תחליף את הקודם. צעדו לאט וצפו כל קופסה מקבלת את הערך שלה.
התאימו כל ערך לסוג המידע המתאים לו.
Difficulty 2/5 · 140 coins + a small bonus on first completion today
מספרים, מחרוזות ובווליאניים הם סוגי המידע הבסיסיים כאן.
סוגי נתונים
- למשתנה יכול להיות ערך מסוגים שונים, הנקראים סוגי נתונים:
- מספר, כגון $7$ או $3.5$;
- מחרוזת, חלק של טקסט כמו "cat";
- בוליאני, שהוא או נכון או שגוי.
total ← 5, ולאחר מכן total ← total + 3, ולאחר מכן total ← total × 2. מהו הערך של total?
Difficulty 2/5 · 140 coins + a small bonus on first completion today
5 → 8 → 16, כאשר כל שורה משתמשת בערך מהשורה הקודמת.
מדוע מעדיפים את השם totalScore על פני x?
Difficulty 1/5 · 100 coins + a small bonus on first completion today
שמות קריאים עוזרים לך ולחבריי צוות להבין את הקוד.
מעקב אחרי שינויים
- כאשר תוכנית מתבצעת, ערך של משתנה יכול להשתנות.
- מעקב ידני אחר השינויים האלה עוזר לך להבין את התוכנית.
עקוב אחר total. $\text{total} \leftarrow 5$ מאחסן 5. $\text{total} \leftarrow \text{total} + 3$ קורא 5, מוסיף 3, מאחסן 8. $\text{total} \leftarrow \text{total} \times 2$ קורא 8, מאחסן 16. לכן total מסתיים כ-16 — כל שורה משתמשת בערך מהשורה הקודמת.
משתנה הוא תיבה עם שם שאוחדת ערך אחד בזיכרון. הטלת ערך ($\leftarrow$) מחשבת את החלק הימני, ולאחרי כך מאחסנת אותו בשם בצד שמאל, תוך החלפת הערך הישן. משתנים אחודים סוגי נתונים — מספר, מחרוזת, בוליאני — וערכיהם משתנים כאשר התוכנית מתבצעת.