הערה: בפרק זה נכיר את שפת C#, סביבת הפיתוח Visual Studio, נלמד על משתנים, קלט, פלט והמרות בין סוגים שונים של משתנים.
סביבת העבודה (Visual Studio)
סביבת הפיתוח שלנו תהיה Visual Studio, המשמשת לכתיבת קוד בשפת C#. קישור להורדת גרסת community בשיעורים הראשונים - עד להתקנת התוכנה במחשבים שלכם, נעבוד באתרי C#Online כגון netfiddle או programiz
התקנת ויז’ואל סטודיו 202x Community
שימו לב לבחור בגרסת ה-Community. בכל גרסה אחרת תתקעו בבעיית רישוי לאחר מספר שבועות
לפניכם סרטון הדרכה קצר, מותאם לצפיה מטלפון, צעד אחר צעד להתקנת סביבת העבודה.
שלבי יצירת תוכנית חדשה ב-Visual Studio 202x:
- פתחו פרויקט חדש מסוג Console App.
- יוצג לפניכם קוד התוכנית הבסיסית:
1
2
3
4
5
6
7
8
9
10
namespace HelloWorld
{
class Program
{
public static void Main(string[] args)
{
Console.WriteLine("Hello, World!");
}
}
}
הריצו את התוכנית בלחיצה על מקש F5, וראו שהיא מדפיסה:
Hello, World!
אם אתם בסביבת Online לחצו פשוט על כפתור ההרצה ▶
הסבר נוסף: יצירת פרוייקט בויז’ואל סטדיו 202x
לפניכם סרטון הסבר על יצירת פרוייקט חדש. פעמים רבות כל תכנית שלנו תהיה פרוייקט חדש ולכן כדאי לתת שם משמעותי באנגלית לפרוייקט:
משתנים והשמה
משתנה הוא תא בזיכרון המכיל ערך שניתן לשינוי.
דוגמאות להגדרת משתנים בשפת C#:
1
2
3
int age = 30; // משתנה המכיל מספר שלם
double average = 85.5; // משתנה המכיל מספר ממשי
string name = "Sara"; // משתנה המכיל מחרוזת
הכרזה על משתנה לעומת השמה
ניתן להפריד בין שלב הכרזת המשתנה לבין שלב השמת הערך. לפעמים נכריז עליו ואז ניתן לו ערך בשלב מאוחר יותר.
1
2
int age; // age הכרזה על משתנה בשם
age = 30; // השמה של ערך לתוך המשתנה
הכרזה על כמה משתנים בשורה אחת
ניתן להכריז על כמה משתנים מאותו טיפוס באותה שורה, ואפשר גם לשים בהם ערכים באותה פקודה.
1
2
int a = 5, b = 10, c = 0; // int הכרזה והשמה לשלושה משתנים מסוג
double x, y, z; // הכרזה בלבד
אזהרה: כיוון ההשמה הוא מימין לשמאל.
שימו לב: כשאנו כותבים ;x = 5
, זה אומר “שים בתוך x את הערך 5” — כלומר הערך נמצא מימין, והמשתנה שאליו משייכים נמצא משמאל. זהו כיוון הפוך מההרגל בעברית, ולכן זו טעות נפוצה בקרב תלמידים במיוחד במקרים בהם ההשמה היא בין משתנים, כלומר: ;a = b
טיפוסי משתנים איתם נעבוד
הטבלה הבאה מציגה את הטיפוסים המרכזיים שנשתמש בהם בקורס:
טיפוס | הסבר |
---|---|
int |
מספרים שלמים (ללא נקודה עשרונית) |
double |
מספרים ממשיים (כוללים נקודה עשרונית) |
char |
תו יחיד (למשל 'A' , '%' , '9' ) |
string |
מחרוזת טקסט (רצף תווים) |
bool |
ערך בוליאני: אמת או שקר (true או false ) |
טיפוסים נוספים שלא נלמד
יש בשפת C# עוד סוגים רבים של משתנים, אך הם אינם חלק מהתוכנית הלימודית שלנו:
short
,byte
,sbyte
float
,decimal
long
,ulong
BigInteger
- ועוד רבים נוספים…
הקורס שלנו מתמקד בחשיבה אלגוריתמית ולא במגוון הרחב של טיפוסים שקיימים בשפה מסוימת. אנו נתרגל את העקרונות בעזרת טיפוסים בסיסיים בלבד.
הדפסה וקלט מהמשתמש
נשתמש בפקודות Console לכתיבה ולקבלת קלט:
1
2
3
4
Console.Write("Enter your name: "); // פלט ובו בקשת קלט מהמשתמש
string name = Console.ReadLine(); // name קלט מהשמתמש והשמה לתוך המשתנה
Console.WriteLine("Hello, " + name); // פלט
אם המשתמש יכתוב “Dan”, הפלט יהיה:
Enter your name: Dan
Hello, Dan
פלט עברי בדרך כלל לא נתמך ב-Console לכן מומלץ לעבוד באנגלית. ניתן להנחות את התלמידים לעבוד פונטי במקרה שאינם מכירים מילה מסויימת באנגלית. בסביבת אונליין כגון netfiddle ניתן להדפיס עברית
המרת קלט מטקסט למספר
פקודת ()Console.ReadLine
מחזירה תמיד טקסט. כדי להמיר טקסט למספר, נשתמש ב- ()int.Parse
או ()double.Parse
:
1
2
3
4
5
Console.Write("Enter your age: ");
int age = int.Parse(Console.ReadLine()); // `int` דוגמא לקלט והמרה שלו לתוך משתנה מטיפוס שלם
Console.WriteLine("Next year you will be " + (age + 1)); // הסוגריים מאפשרים לבצע חישוב לפני ההדפסה
Console.WriteLine("Next year you will NOT be: " + age + 1); // ללא סוגריים נקבל שרשור מחרוזות
קיימות שיטות שונות לקריאת קלט מהמשתמש, ותכנית הלימודים אינה מתייחסת אליהן באופן ספציפי. בבחינות הבגרות, בכל מקום שיהיה צורך בביצוע פעולת קלט, הצורך ימומש ויתועד כדלקמן:
קריאה לפעולת קלט שקוראת ומחזירה ערך מסוג int x = ...// int
בחינות נערכות בכתב יד עם חומר פתוח מודפס.
חישובים והמרות (casting)
לעיתים נדרש להמיר משתנה מסוג אחד לאחר. נשתמש ב-casting:
1
2
3
4
5
int a = 5;
int b = 2;
double result = (double)a / b; // 2.5
Console.WriteLine(result);
טבלת מעקב (דוגמה)
שורת קוד | משתנה a | משתנה b | משתנה result |
---|---|---|---|
הגדרה | 5 | 2 | |
חישוב | 5 | 2 | 2.5 |
אזהרה: אם תקלידו קלט שאינו מספרי לפונקציית int.Parse
, התוכנית תקרוס!
איננו מלמדים פונקציות המרה בטוחות כגון int.TryParse
מוכן.ה לאתגר?
אם סיימת לקרוא והכל ברור, זה הזמן ליישם את הידע שלך בתרגול מותאם.