PracticU

משתנים - חלק 1

בלי כתוביותעם כתוביות
PracticU › קורס יסודות התכנות - שפת C# .NET - קורס תכנות למתחילים - דוט-נט / סי-שארפ - חומר לימוד של מדעי המחשב › משתנים - חלק 1
מילון מושגים:
משתנה - שם שמפנה למקום בזיכרון שבו נשמר ערך שיכול להשתנות במהלך ריצת התוכנית, כמו מספר, טקסט או אובייקט.
זיכרון - רכיב מהיר ונדיף שבו המחשב שומר נתונים ותוכניות בזמן ריצתם. תוכנו נמחק עם כיבוי המחשב.
.NET - פלטפורמת פיתוח של מיקרוסופט להרצת יישומים בשפות כמו C#, הכוללת ספריות וסביבת ריצה משותפות.
מחרוזת - סוג נתונים שמייצג רצף של תווים, כלומר טקסט, ומשמש לאחסון מילים, משפטים או כל רצף סימנים.
בוליאני - סוג נתונים שיכול לקבל אחד משני ערכים בלבד: אמת (true) או שקר (false).
אובייקט - יחידה בתכנות מונחה עצמים שמאגדת נתונים (תכונות) ופעולות (מתודות). נוצר בדרך כלל ממחלקה המשמשת כתבנית.

משתנים - חלק 1
משתנה הוא תא זיכרון בעל שם וטיפוס, ששומר בתוכו ערך אחד. כל מה שהלקוח מזין לתוכנית צריך להישמר במשתנה לפני שאפשר לעבוד איתו, וגם ערכים שהתוכנית מחשבת בעצמה נשמרים במשתנים.
טיפוסים פרימיטיביים
הדובר מציין ש-.NET מגדירה חמישה-עשר טיפוסים פרימיטיביים:
1. טיפוסי מספרים שלמים: sbyte (טווח בין מינוס 128 ל-127), byte (בין 0 ל-255), short, ushort, int, uint, long ו-ulong. ככל שהטיפוס גדול יותר, הוא מכיל מספרים גדולים יותר. int תופס ארבעה בתים, ו-long שמונה בתים.
2. טיפוסי מספרים עשרוניים: float (ארבעה בתים), double (שמונה בתים) ו-decimal (16 בתים). decimal מיועד לכספים, כדי למנוע שגיאות עיגול.
3. טקסט: string לטקסט, ו-char לתו בודד בין גרשיים.
4. bool: ערך בוליאני, true או false בלבד.
5. object: יכול להחזיק כל דבר. הדובר מציין שנדבר עליו בהמשך.
טיפוסים מורכבים כמו DateTime נבנים מטיפוסים פרימיטיביים, ו-DateTime למשל מורכב משישה ערכי int: יום, חודש, שנה, שעה, דקה ושנייה.
הגדרה והשמה
מגדירים משתנה בכתיבת הטיפוס, אחריו שם המשתנה ונקודה-פסיק, למשל int number;. אפשר לכתוב גם הגדרה והשמה באותה שורה, למשל string firstName = "מוישה";. פקודת ההשמה לוקחת את הערך שמימין ומכניסה אותו למשתנה שמשמאל. בצד שמאל חייב להיות משתנה ולא קבוע, ואחרת מתקבלת שגיאת קומפילציה.
כללי שמות
1. השם חייב להיות משמעותי: salary ולא x.
2. רק אותיות באנגלית, ספרות וקו תחתון מותרים.
3. השם לא יכול להתחיל בספרה.
4. לא מותר להשתמש במילה שמורה של השפה, כמו string.
5. המוסכמה למשתנים מקומיים היא camelCase: האות הראשונה קטנה, וכל מילה נוספת מתחילה באות גדולה.
שימו לב
הדובר מדגיש שכל תא זיכרון ניתן רק לכתיבה או לקריאה. חישוב שמשתמש במשתנה הוא קריאה ממנו.
השיעור הבא בקורס: משתנים - חלק 2

פרקי ההרצאה: משתנים - חלק 1

  1. 00:00

    מהו משתנה - תא זיכרון

  2. 01:16

    דוגמת המחשבון וזיכרון

  3. 02:32

    סוגי נתונים וזיכרון RAM

  4. 04:09

    הגדרת תא זיכרון וסוגיו

  5. 05:26

    הגדרת משתנה מסוג STRING

  6. 07:00

    אזהרת declared but never used

  7. 08:15

    אופרטור ההשמה

  8. 10:48

    הגדרת כמה משתנים בשורה

תמלול ההרצאה: משתנים - חלק 1

הטקסט המלא של הדקות הראשונות בהרצאה «משתנים - חלק 1» בקורס הווידאו של PracticU – כתוביות בעברית עם זמן התחלה לכל פסקה. כך תוכלו לקרוא ולחפש את הנושאים לפני שמתחילים ללמוד.

  1. 00:01

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

  2. 00:23

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

  3. 00:40

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

  4. 00:50

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

  5. 01:22

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

  6. 01:42

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

  7. 02:08

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

  8. 02:21

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

  9. 02:37

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

  10. 02:51

    בואו ניכנס לגוגל ונבין קודם כל מה זה אומר ראם. נרשום ראם, וזה קיצור דרך אגב של Random Access Memory, כלומר זיכרון קריאה כתיבה אקראי, ואנחנו יכולים לראות שיש לנו פה תמונות של כרטיסי זיכרון שאולי נתקלתם בהם בעבר, שאנחנו רואים מעין צ'יפים כאלה, ג'וקים, של הכרטיסי זיכרון.

  11. 03:20

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

  12. 03:38

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

  13. 03:52

    אז איך אנחנו בדיוק עושים את זה בתוכנית? אז בואו נחזור לוויז'ואל סטודיו, ניצור תוכנית חדשה, ונקרא לתוכנית הזאת Variables, כלומר משתנים.

  14. 04:10

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

  15. 04:44

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

  16. 05:07

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

  17. 05:21

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

  18. 05:37

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

  19. 05:49

    נניח שאני רוצה עכשיו לפתוח תא זיכרון שיחזיק לי שם פרטי של משתמש. אז לא הגיוני שאני אפתח תא זיכרון ואני אמציא לו את השם x.

  20. 06:00

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

  21. 06:18

    ולכן חשוב מאוד לתת שמות בעלי משמעות לתאי הזיכרון שאנחנו פותחים, כאשר המשמעות שלהם זה מה בדיוק הערך שהולך להיות בתוכם. אז אם אנחנו רוצים לבנות תא זיכרון שיחזיק לנו את השם, שם פרטי של user, אז בואו נקרא לו first name.

  22. 06:37

    לאחר מכן אנחנו רושמים נקודה פסיק, וזאתי הפקודה המושלמת שמגדירה לנו תא זיכרון שמסוגל להחזיק מחרוזות, סטרינגים, כלומר טקסטים, והשם שלו זה first name.

  23. 06:52

    לאחר מכן אנחנו יכולים להגיע לתא הזיכרון בעזרת השם שלו. שימו לב להערה שוויז'ל סטודיו נותנת לנו. הדבר הזה הירוק שאתם רואים מתחת ל-first name זה לא שגיאה, זה הערה.

  24. 07:03

    בוויז'ל סטודיו יש שגיאות שאנחנו חייבים לתקן, ויש הערות שגם אנחנו חייבים לתקן, אבל הן לא חמורות כמו שגיאות. וההערה הזאת היא שוויז'ל סטודיו אומרת לנו The variable first name is declared but never used.

  25. 07:19

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

  26. 07:35

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

  27. 07:48

    אז בואו עכשיו נכניס לתוכו איזשהו שם. אז כל מה שאנחנו עושים זה פונים אליו על ידי השם שלו, זאת אומרת שהוא נקרא first name ואז בעזרת אופרטור ההשמה אנחנו יכולים להכניס לתוכו איזשהו טקסט, לדוגמה מוישה ונקודה פסיק מפני שכל פקודה ב-c-sharp מסתיימת בנקודה פסיק.

  28. 08:11

    אוקיי, אז יש לנו כאן את השם של המשתנה של תא הזיכרון, יש לנו פקודת השמה ויש לנו מוישה. תזכורת לגבי פקודת השמה.

  29. 08:23

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

  30. 08:35

    זאת אומרת שכעת המכרוזת מוישה נכנסה לתוך first name. אם אנחנו כרגע נציג your first name is ונשרשר את הערך שיש בתא first name ונריץ את זה אנחנו נראה שהמחשב כותב לנו your first name is מוישה.

  31. 09:04

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

  32. 09:23

    גם אם אנחנו מבצעים חישוב מסוים עם המידע שנמצא בתוכו אז אנחנו בעצם קוראים ממנו את המידע בשביל לבצע את החישוב. עכשיו אם היינו הולכים לפקודת ההשמה ואומרים כזה דבר בואו נחליף את שני החלקים שלה.

  33. 09:40

    כלומר, בואו ניקח את המשתנה first name, נגדיר אותו כאן, ניקח את המחרובת "מוישה" ונגדיר אותה כאן. אנחנו נראה שוויז'ל סטודיו לא מסכימה לדבר הזה ונותנת לנו פה שגיאה.

  34. 09:53

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

  35. 10:25

    והשגיאת קומפילציה אומרת The left-hand side of an assignment must be a variable property or indexer שהם סוגים של משתנים.

  36. 10:35

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

  37. 10:53

    דבר נוסף, ויז'ואל סטודיו יכולה לקצר לנו את התהליכים ולהגיד אתם יכולים לעשות את שני הדברים באותה שורה. לדוגמה, אתם יכולים להגדיר String first name ומיד להכניס לתוכו ערך.

  38. 11:08

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

  39. 11:56

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

  40. 12:15

    כמובן שאנחנו יכולים בשורות נפרדות או באותה שורה לתת ערכים לתאי זיכרון. לדוגמה first name - "מוישה", last name - "אוהן", phone - איזשהו ערך,

לקורס המלא: קורס C# למתחילים אונליין

ההרצאה הקודמת: הסבר מעמיק על חלון Console

ההרצאה הבאה: משתנים - חלק 2

הרצאות קשורות מקורסים אחרים

  • משתנים
  • משתנים ב-JAVA
  • סוגי משתנים
  • משתנים ב-Javascript

קורסים נוספים במסלול

  • קורס פיתוח משחקים יוניטי - Unity - שפת #C