→ חזרו אחורה

פרק 1 - משתנים

⏱ 10 דקות קריאה

1. מהו משתנה?

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

2. איך משתנה בנוי ב-⁦C#⁩?

ב-⁦C#⁩ כמו בהרבה שפות תכנות, משתנים מורכבים מ-3 חלקים עיקריים.

לדוגמה:

⁦C#⁩

int age = 25;
                

בואו ננתח את השורה שכתבנו למעלה:

🔹 int - זהו ה-Data Type. אנחנו אומרים למחשב: "הקופסה הזו מיועדת למספרים שלמים בלבד".

🔹 age - זהו ה-Identifier. בחרנו לקרוא לקופסה בשם age כדי שנדע שהיא שומרת את הגיל.

🔹 25 - זהו ה-Value. זה המידע שמונח כרגע בתוך הקופסה.

🔹 ; - אל תשכחו את ה"נקודה-פסיק". גם ב-⁦C#⁩, זה מסמן למחשב שהפקודה הסתיימה.

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

3. סוגי משתנים

ב-⁦C#⁩, המשתנים מתחלקים גם הם לטיפוסים בסיסיים ולטיפוסים מורכבים יותר. הנה ארבעת הסוגים הנפוצים ביותר שבהם נשתמש בהתחלה:

סוג (Type) מה הוא שומר? מגבלה / טווח דוגמה
int מספרים שלמים בערך ממינוס 2 מיליארד ועד 2 מיליארד int pop = 8000000;
double מספרים עשרוניים מתאים למספרים עם נקודה עשרונית double pi = 3.14;
bool אמת או שקר רק true או false bool isLightOn = true;
string טקסט מוגבל בעיקר לפי זיכרון string text = "Hello!";

מה חשוב לזכור?

int מתאים למספרים שלמים כמו גיל, מספר כיתה או ציון שלם.

double מתאים למספרים עשרוניים כמו 7.5 או 3.14.

bool מתאים למצבים של כן/לא, אמת/שקר.

string מתאים לשמות, משפטים וכל טקסט אחר.

שימו לב להבדל: ב-⁦C#⁩ הסוג string נכתב באות קטנה, וגם bool נכתב כך ולא boolean כמו ב-Java.

4. האם חייבים לתת ערך מיד?

התשובה היא לא. אפשר להצהיר על משתנה בלי לתת לו ערך באותו רגע. לפעולה הזו קוראים הצהרה (Declaration), ורק אחר כך אפשר לבצע השמה.

⁦C#⁩
int speed; // הצהרה על משתנה
speed = 90; // השמה של ערך בהמשך
זהירות: אם תנסו להשתמש במשתנה מקומי לפני שנתתם לו ערך, התוכנית לא תעבוד ותקבלו שגיאה. ⁦C#⁩ שומרת עליכם ודורשת אתחול לפני שימוש.

הרעיון כאן דומה מאוד ל-Java: המחשב לא מרשה להשתמש במשתנה מקומי כשהוא עדיין לא קיבל ערך ברור.

🎓 זווית הבגרות

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

סוג שאלה טיפוסי: לרוב לא נשאלים ישירות "מה זה משתנה" - אלא נדרשים להשתמש נכון בטיפוסים (int/double/bool/string) בתוך פתרון גדול יותר, כמו צובר סכום או דגל שמסמן שנמצא ערך.

טעות נפוצה: לבחור int כשהתוצאה עלולה להיות עשרונית (למשל ממוצע) - זה גורם לחלוקת שלמים ולתוצאה שגויה, גם אם כל שאר הלוגיקה נכונה.

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

5. תרגול

מה יודפס למסך על ידי הקוד הבא?

⁦C#⁩
int a = 7;
int b = 2;
double result = a / b;
Console.WriteLine(result);

הגדירו משתנה מסוג מספר שלם (int) בשם years והציבו בו את הערך 10.

צרו משתנה מסוג מחרוזת (string) בשם userName והציבו בו את הערך "Alice".

צרו משתנה לערך לוגי (bool) בשם isCsharpFun וקבעו שהוא יהיה true.

הגדירו משתנה int בשם nextYearAge שערכו הוא המשתנה age (שהגדרנו למעלה) ועוד 1.

פרק 0 - הקדמה פרק 2 - קלט ופלט