
Console.ReadLine() קורא שורה מהמקלדת. לפניה מדפיסים הנחיה בעזרת Console.WriteLine.int.Parse ו-Convert.ToInt32 עושים את אותה המרה מטקסט למספר. אם המשתמש הכניס אותיות, התוכנית נעצרת עם הודעת שגיאה.+, -, * ו-/. האופרטור % (מודולו) מחזיר את השארית של החלוקה, כך ש-4 % 2 נותן 0, ו-5 % 2 נותן 1.>, <, == ו-!= בודקים תנאי, והתוצאה true או false נכנסת למשתנה מסוג bool.num++ מוסיף 1 ו-num-- מוריד 1. הצורה המקוצרת num += 6 מוסיפה 6, ו-num -= 3 מורידה 3.Console.Write משאיר את הסמן באותה שורה, ו-Console.WriteLine יורד שורה.int num1 = int.Parse(Console.ReadLine());int remainder = num1 % 2;bool isEven = remainder == 0;= במקום == בתנאי מבצעת השמה ולא בדיקה. ההבחנה בין שני הסימנים היא אחת הטעויות השכיחות במתחילים.הטקסט המלא של הדקות הראשונות בהרצאה «פעולות מתמטיות - אופרטורים - חלק 2» בקורס הווידאו של PracticU – כתוביות בעברית עם זמן התחלה לכל פסקה. כך תוכלו לקרוא ולחפש את הנושאים לפני שמתחילים ללמוד.
שלום וברוכים הבאים להרצאה על אופרטורים. מה הם האופרטורים? אופרטור הוא סימן שבעזרתו ניתן לבצע פעולה כמו פלוס, כמו כפול, כמו חזקה, אתם רואים פה על המסך.
אנחנו הולכים לדבר על האופרטורים האלו, ועל אופרטורים הרבה יותר חכמים והרבה יותר מתקדמים מהפשוטים האלו. לפני שנתחיל לעבור על המצגת, בואו נעשה איזושהי דוגמה ככה שתקבלו הרגשה ותחושה איך זה עובד.
נעשה תוכנה חדשה פרויקט חדש דוסי פשוט כדי שלא נסתבך אחרי זה אנחנו נלמד איך עושים תוכנות גם לטלפונים וגם אתרי אינטרנט וגם Windows פורמס כרגע אנחנו עושים אפליקציה דוס פשוטה אני אקרא לתוכנה שלי אופרטור אחד והיא תשב לי פה בארדיסק בתיקי הזאת טוב מאוד אז פתחנו פה תוכנה ואנחנו רוצים לעשות משהו פשוט נתחיל בזה נעשה מחשבון פשוט נעשה
נעשה מחשבון שבו הבן אדם מכניס, המשתמש מכניס שני מספרים ואנחנו עושים לו חישוב כפל חלוקה בכל מיני פעולות. טוב, אז איך אנחנו נעשה בעצם קליטה מהמשתמש? עוד לא למדנו את זה, עוד לא ראינו את זה, אבל אנחנו לא מפחדים ללמוד משהו חדש.
אז אנחנו עושים דבר כזה, יש לנו קונסול, כל הפעולות של הדוס נמצאות בתוך קונסול, כן? קונסול read line, תקרא לי שורה מהמקלדת הדבר הזה קורא שורה מהמקלדת ומכניס אותה לסטרינג למשתנה שאני אקרא לו input יפה עכשיו בתוך ה input הזה שימו לב מי שזה מבלבל אותו אני אכתוב לכם בצורה מפורשת אז הכרזתי
על משתנה מסוג סטרינג שכרגע הוא ריק קראתי לו input לתוך ה input הריק הזה אני מכניס משהו שייכנס לי מהמקלדת הדבר הזה קורה מהמקלדת עד שלוחצים enter יפה עכשיו אנחנו צריכים להחליף להחליף את זה לאינטג'ר אתם רואים כי המספר הוא אינטג'ר, קראתי אינטג'ר מהמקלדת
ואני עושה פה int.pars, int.pars, עשינו את זה גם בסרט קודם, יפה, input. מה אמרתי? אמרתי שקח את המשתנה num1 ותכניס לתוכו, מה להכניס לתוכו?
להכניס לתוכו את ה-integer, תעשה פרסינג ל-input. תהפוך את ה-input הזה ל-integer ותכניס ל-num1. אז עוד פעם, מי שהתבלבל, נעשה שורה-שורה גם בקוד.
אני אראה לכם איך עושים שורה-שורה ולא מריצים את כל התוכנה במכה. עשינו משתנה num1, עשינו משתנה num2, ועשינו משתנה שנקרא input, כולם ריקים.
לתוך input הכנסנו input מהמקלדת, נתונים מהמקלדת. הפכנו את הנתונים של המקלדת לסוג של אינטג'ר. הנחת היסוד שלי שבן אדם הכניס מספר באמת, אחרת תהיה לי שגיאה והתוכנית תעשה לי הודעת שגיאה ותעצור באמצע העבודה.
אז נאם אחד קלטנו מהמקלדת, בואו עכשיו גם ניקח נאם שתיים מהמקלדת. איך ניקח נאם שתיים מהמקלדת? בדיוק באותה שיטה. נעשה עוד פעם input שווה console readline ועוד פעם נעשה את ההמרה הזאת.
נוסיף עוד משהו קטן, עוד משהו קטן. תכף חבר'ה התוכנה שלנו הולכת וצוברת בשר מה שנקרא. נעשה איזושהי הודעה למשתמש בהתחלה, תכניס מספר ראשון, תכניס מספר שני.
קונסול רייטליין. קונסול רייטליין. רייטליין זה להדפיס על המסך. קונסול רייט. רייט.
יפה. קונסול רייט, תדפיס לי על המסך. נאם, פליז אנטר. פליז אנטר. נאם, the first number.
The first number. יפה. חבר'ה, לא להיבהל, אתם הולכים ללמוד פקודות חדשות. כרגע למדתם שני דברים. קונסול רייט, כן, שזה כמו קונסול רייטליין להדפיס על המסך, רק רייטליין יורד שורה ורייט לא יורד שורה.
קונסול רידליין הפוך, לקרוא מהמקלדת. זה קורא מהמקלדת, זה כותב למסך. כרגע זה שני הפקודות שאנחנו ככה רוצים לדעת. שנייה אחת, נעשה עוד משהו קטן ו-Enter Second Number.
יופי, קלטנו שני מספרים ועכשיו אנחנו הולכים להדפיס את התוצאות של חיבור, איסור כל האופרטורים שאנחנו רוצים ללמוד עליהם. אוקיי, בואו נתחיל עכשיו לעשות כל מיני פעולות.
הבנתם מה הכרזנו פה בהתחלה על משתנים? הדפסנו שורה על המסך שאומרת תכניס את המספר הראשון, קלטנו את המספר הראשון מהמקלדת והכנסנו אותו לתוך נם אחד מסוג אינטג'ר במקום מסוג סטרינג.
חוץ משיטה זאת יש גם שיטה יותר אולי ברורה שנקראת convert, convert נקודה to int 32. חבר'ה, זה עושה בדיוק אותו דבר, זה עושה המרה, אני מראה לכם המרה בכמה שיטות.
תוצאה, זאת אותה תוצאה. רואים, num1 זה לקחת את ה input ולעשות לו convert. יופי. עכשיו, בואו עכשיו נבדוק שכל הדבר הזה עובד.
נעשה עכשיו, מה שנקרא, נעבור שורה-שורה. טוב, אנחנו נשים פה את הנקודה האדומה הזאת. נקודה אדומה אומרת ברגע שהתוכנה תגיע לשורה הזאת, לעצור, לבצע, לבצע, עד שמגיעים לסטופ הזה, לרמזור אדום הזה.
באנגלית מקצועית זה נקרא breakpoint, בשפה מקצועית. breakpoint. אז אנחנו נריץ את התוכנה עד ה-breakpoint, לוחצים פה דיבאג ומריצים אותה.
הנה, אתם רואים, זה הגיע לצהוב הזה, לנקודה אדומה, ועצר. הוא עדיין לא ביצע, הוא עדיין לא ביצע את השורה הזאת, הוא ביצע רק את השורה הראשונה, ואנחנו יכולים לראות שבאמת השורה הראשונה התבצעה והוא הדפיס את זה על המסך יופי אחרי שהוא הדפיס את זה על המסך הוא מחכה שאני אגיד לו מה לעשות הלאה.
אני אומר לו תעבור לשורה הבאה זה הסימן הזה תעבור לשורה הבאה והוא מבצע את השורה הצהובה מה השורה אומרת קח מהמקלדת תכניס לי אינפוט קח מהמקלדת נניח מספר 10 והוא הכניס עכשיו לאינפוט את ה-10.
שימו לב הוא עצר בשורה צהובה באינפוט יש כרגע 10 בין m1 עדיין 0 למה 0? כי השורה הצהובה עדיין לא התבצעה. אני אומר לו, תבצע את השורה הצהובה, בעצם תבצע את השורה הזאת, הנה, וכרגע, אתם רואים?
num1 קיבל 10. גם input 10 וגם num1 10. יופי. שורה הבאה בקוד. השורה הבאה אומרת, תדפיס על המסך את המשפט הזה. שימו לב, לפני שאני מבצע את זה, במסך אין, אין עדיין את השורה.
ברגע שאני לוחץ על לבצע את השורה, הוא ביצע אותה, עבר לשורה הבאה, ופה במסך הופיע תכניס מספר שני. בעצם אני עושה שורה שורה ומחפש טעות, אם יש לי טעות, שגיאה, משהו לא עובד לי.
ככה אני מחפש בדיוק מה קרה. בוא נעשה עכשיו מספר שני שזה שלוש. מי ששואל אותי מה יקרה אם אני אכניס לו במקום שלוש, במקום להכניס לו שלוש או ארבע או איזשהו מספר, אה, עוד לא ביצעתי לו קריאה, בוא נעשה לו קריאה.
ברגע שאני אכניס לו במקום שלוש או ארבע אות A, נניח סתם אני אכניס לו יוני בטעות, מה שיקרה שיוני הזה ייכנס לי ל input אבל בזמן המרה הוא ייתן לי הודעת שגיאה הוא ייתן לי כזה error כזה exception אז יופי אז אתם רוצים לנסות את זה בואו ננסה את זה אתם רואים input קיבל input קיבל יוני וnum2 עדיין 0 ברגע שאני אבצע את השורה הזאת תראו אני אקבל
הודעת שגיאה הופה הנה השורה הזאת input was not in correct format יש לי הודעת שגיאה הוא לא מצליח לעשות את זה קיבלתי שגיאה והתוכנה עצרה אתם רואים התוכנה לא מתקדמת בעצם אנחנו נלמד על השגיאות בהמשך הדרך רק תראו שזה לא סוף העולם פשוט אני מקבל הודעת שגיאה וזהו ובעצם התוכנה שלי עפה אני עושה פה סטופ וזהו נריץ את זה שוב מההתחלה הפעם נריץ את זה ונגיד
לו נגיד לו לרוץ עד הסוף למרות שאין לי פה מה לרוץ עד הסוף כי עוד לא כתבתי כלום קיבלתי מספר ראשון קיבלתי מספר שני וזהו היה חשוב לי להראות לכם איך עוברים שורה שורה איך בודקים מה קורה בכל שורה, מסתכלים על כל משתנה, איך עובדים נכון, איך חושבים נכון, איך עובדים נכון.
טוב, אז עכשיו אנחנו נכריז על משתנה שנקרא חדש שנקרא ריזולט, תוצאה, ולתוך התוצאה נכניס, נגיד לו שהתוצאה הזאתי שווה ל-Num1 ועוד Num2, כן?
אתם זוכרים, אנחנו רוצים ללמוד על משתנים עכשיו. הכנסנו לתוך משתנה תוצאה Num1 פלוס Num2, ונדפיס אותו על המסך. קונסול, קונסול זה זה, החלון השחור הזה.
רייטליין, תדפיס לי על המסך שורה שאומרת חיבור, חיבור, ואז נעשה לו מקף. ואחרי מילת חיבור, נדפיס גם את ה-result. יופי.
עכשיו, בואו נראה שזה עובד. עוד פעם, אני עושה פה את החץ הירוק הזה. שימו לב, לא שמתי לו נקודה אדומה, כי אני נותן לו לרוץ עד הסוף. לרוץ עד הסוף לראות מה יקרה.
יופי. הוא שואל אותי, תכניס לי מספר ראשון, 10, תכניס לי מספר שני, 3, לא ראיתי מה קרה. למה? כי נגמרה התוכנה והוא סגר את החלון של הדוס.
אז אני אריץ את זה עוד פעם עם קונטרול F5, שימו לב, קונטרול F5 יגיד לו בסוף אל תסגור את החלון, 10, 3, הנה, חיבור 13. יופי, זה בדיוק מה שרציתי. מצוין, מצוין, דרך אגב, מי שרוצה לדעת, יכלתי גם לקחת את הקובץ הזה, למצוא איפה זה נמצא בארדיסק ולהריץ את זה ישירות מתוך הארדיסק.
בואו אני אראה לכם אולי, בואו נעשה את זה בצורה אחרת. אני אכנס לתוך CMD, אני אכנס לדוס, זה הדוס הרגיל, כן? זה הדוס שבו מריצים כל מיני פקודות דוס, ואני יכול להגיע לתוכנה שלי ולהריץ אותה כמו כל תוכנה מתוך דוס.
חבר'ה, אני לא חייב להשתמש בכל הוויז'ואל סטודיו הזה, אני יכול להריץ את זה ממש מתוך דוס, זאת אפליקציה אמיתית שאני יכול להעתיק גם לחבר שלי.
רק צריך למצוא איפה היא נמצאת, היא נמצאת ב-Documents, היא נמצאת ב-My Documents, ב-Visual Studio Projects, CD Projects, כי אני צריך רק למצוא איפה היא נמצאת.
הנה, היא נקראת אופרטור אחד, אני פשוט מחפש איפה היא נמצאת בתוך איזה תיקייה. הנה, אני מגיע לתוך, הנה דיבאג. חבר'ה, אני רק, כל הנתיב הזה, תסתכלו, היוזר שלי הדוקומינוס ויז'ואל סטודיו 2010 פרויקטס אופרטורס בין דיבאק זאת התיקייה שבה זה נמצא והנה יש לי קובץ אקסי חבר'ה זה כמו כל תוכנה אמיתית רגילה
מי שיעשה לה קופי פייסט יוכל להריץ אותה על כל מחשב וזה מה שאני בדיוק בא להראות לכם שאתם יכולים לקחת את התוכנה הזאתי ולהריץ אותה בתוך הדוס שימו לב אני עושה אופרטור אחד והנה היא רצה תכניס לי את המספר הראשון 10 הפעם נכניס לו 2 והנה חיבור 12 וחזר חזרה לדוס
פשוט יותר נוח לי לעבוד בסביבה כזאת שהיא יותר יפה ורואים את הקוד ואת הכל. אבל האמת שבנינו תוכנה אמיתית, תוכנת אקסי, שמי שיעתיק אותה ל-USB יוכל להריץ אותה בכל מחשב שיש לו .NET, והיום בכל Windows 7 מותקן .NET, והתוכנה הזאת תתרוץ והיא גם רצה עם כל מספר, אני יכול לעשות לו 98 ו-5, ואז יגיד לי 98 ועוד 5 זה 103.
טוב מאוד. אז אתם מרגישים שאנחנו עושים דברים אמיתיים ולא סתם. בהמשך הדרך כמובן נעשה אתרי אינטרנט ואפליקציות לפלאפונים והרבה דברים מעניינים, אפליקציות לווינדוס, מחשבונים והכל.
אבל פה אנחנו בשביל ללמוד על חיבור וחיסור, כן, שזאת המטרה של השיעור הזה. אז אני עושה num1 פחות num2 שווה ל-result והפעם אני עושה חיסור. שימו לב, לתוך אותו תא בזיכרון שקוראים לו result, פעם אחת הכנסתי חיבור, עכשיו אני מכניס לתוכו משהו אחר, נכניס עליו חיסור.
החיבור הזה, התוצאה שלו נמחקת, כאילו, זה במקום, זה לא בנוסף, זה במקום. ואז כאילו אני משתמש באותו תא בזיכרון כמה פעמים. יופי.
בגלל זה, פעם אחת הכרזתי על התא הזה בזיכרון, ומעכשיו אני משתמש בו. פעם אחת לחיבור, פעם אחת לחיסור. מצוין, חיבור, חיסור.
בואו נראה שזה עובד, קונטרול F5, נעשה 15, 3. חיבור זה 18, חיסור זה 12, מצוין, יופי.