משתנים וקבועים לילדים ונוער: איך קוד זוכר מידע
כל פרויקט צריך לזכור משהו: ניקוד, שם, זמן, תשובות או כללים. משתנים וקבועים הם הדרך של הקוד לשמור מידע בשם ברור ולהשתמש בו שוב.
למה משתנים הם אחד הרעיונות הראשונים שצריך להבין?
ילדים יכולים לכתוב כמה פקודות שמדפיסות טקסט, אבל ברגע שהפרויקט צריך לזכור משהו, נכנס הרעיון של משתנה. אם משחק צריך לשמור ניקוד, אם חידון צריך לזכור תשובה, ואם מחשבון צריך לשמור מספרים, הקוד צריך מקום לתת למידע שם.
משתנה הוא לא רק “קופסה”. הוא שם שמספר מה חשוב בפרויקט. כשילד כותב score, הוא מתחיל לחשוב על מצב המשחק. כשילד כותב playerName, הוא מבין שהמשתמש הכניס מידע שהפרויקט צריך להשתמש בו בהמשך.
משתנה שומר מידע
משתנה יכול לשמור ניקוד, שם שחקן, מספר חיים או תשובה שהמשתמש הקליד.
ערך יכול להשתנות
במשחק, הניקוד עולה והזמן יורד. לכן אלה ערכים שמתאימים למשתנים.
קבוע שומר כלל
אם מספר החיים ההתחלתי הוא 3 או מחיר קבוע הוא 20, כדאי לתת להם שם ולא לפזר מספרים בקוד.
שם טוב מסביר כוונה
playerScore ברור יותר מ-x, ו-startingLives ברור יותר ממספר 3 שמופיע באמצע הקוד.
איך מסבירים משתנה בלי להסתבך?
הדרך הכי טובה היא להתחיל מפרויקט מוכר. במשחק ניחושים יש מספר סודי, ניסיון של המשתמש ומספר ניסיונות. בחידון יש שאלה, תשובה וניקוד. ברשימת משימות יש טקסט של משימה והאם היא בוצעה או לא.
במקום להסביר “זיכרון” בצורה מופשטת, שואלים: איזה מידע הפרויקט צריך לזכור כדי לעבוד? כל תשובה טובה לשאלה הזאת יכולה להפוך למשתנה.
שאלה שמסדרת את הראש
דוגמאות לשמות טובים בפרויקטים פשוטים
scoreניקוד במשחק
משתנה במהלך המשחק
playerNameשם השחקן
נקבע בתחילת המשחק
MAX_LIVESמספר החיים ההתחלתי
קבוע שלא אמור להשתנות
מתי משתמשים בקבוע?
קבוע מתאים לערך שיש לו משמעות בפרויקט אבל הוא לא אמור להשתנות בזמן הריצה. לדוגמה: מספר חיים התחלתי, מספר שאלות בחידון או גודל הלוח במשחק. במקום לכתוב את אותו מספר שוב ושוב, נותנים לו שם ברור.
זה עוזר גם ללמידה וגם לתחזוקה. אם רוצים לשנות את מספר החיים מ-3 ל-5, משנים במקום אחד. הילד לומד שהקוד לא צריך להיות אוסף של מספרים מסתוריים, אלא מערכת עם שמות שמסבירים כוונה.
רשימת בדיקה למשתנים וקבועים
- האם שם המשתנה מסביר איזה מידע הוא שומר?
- האם הערך באמת צריך להשתנות במהלך התוכנית?
- האם מספר שחוזר בכמה מקומות יכול להפוך לקבוע עם שם ברור?
- האם אפשר להסביר לילד איפה הערך נוצר, איפה הוא משתנה ואיפה משתמשים בו?
לאן ממשיכים מכאן?
אחרי שמבינים משתנים וקבועים, קל יותר ללמוד תנאים, לולאות, פונקציות ובדיקות. הילד מתחיל לראות איך מידע זורם בתוך הפרויקט, ולא רק איך כותבים פקודות אחת אחרי השנייה.
