PracticU

פרויקט ב-#C - מחשבון פשוט - חלק 8

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

פרויקט ב-#C - מחשבון פשוט - חלק 8
השיעור עוסק בלוגיקה של הנקודה העשרונית: מתי מוסיפים את הספרה לפני הנקודה ומתי אחריה, וכיצד מונעים הוספה של נקודה כפולה. הפתרון מסתמך על דגל isFloat שמציין שהמשתמש בוחר מספר עשרוני.
השלבים העיקריים
1. דגל מספר עשרוני: משתנה isFloat נהפך לאמת בלחיצה על הנקודה, ונשאר אמת עד שהמשתמש מזין פעולה חדשה.
2. הוספה אחרי הנקודה: כשהדגל דולק, הספרה נוספת בסוף המחרוזת, כלומר אחרי הנקודה.
3. בדיקה לפני הוספה: פונקציה Confirm Float בודקת אם יש כבר נקודה במחרוזת, ומוסיפה נקודה רק אם אין.
4. סדר הפעולות: תנאי עם && ו-|| מחושב לפי סדר קדימות, ולכן כדאי לשים סוגריים כשההכרעה לא ברורה.
5. איפוס: אחרי לחיצה על פעולה, הדגל מתאפס.
טעויות נפוצות
- הדגל נשאר אמת אחרי פעולה, ואז ספרה חדשה נוספת אחרי הנקודה במקום להחליף את התצוגה.
- פונקציה שלא מומשה מזריקה חריגה, ומופיע בעיית ביצוע בזמן ריצה.
שימו לב
המרצה ממליץ לכתוב את התנאים בצורה שקל לקרוא, ומזכיר שמה שמיותר כדאי להשמיט.
השיעור הבא בקורס: פרויקט ב-#C - מחשבון פשוט - חלק 9

פרקי ההרצאה: פרויקט ב-#C - מחשבון פשוט - חלק 8

  1. 00:00

    הוספת כפתור נקודה עשרונית לטופס

  2. 00:45

    בדיקת הקלדה של נקודה והתעלמות ממנה

  3. 02:05

    הצמדת ספרות מימין לנקודה העשרונית

  4. 03:02

    בדיקת מצב נקודה צפה במשתנה

  5. 04:15

    הגדרת משתנה isFloat גלובלי

  6. 05:03

    הכנסת ספרה לפי מצב נקודה צפה

  7. 07:46

    איפוס isFloat אחרי כל פעולה

  8. 09:05

    בדיקת מספרים עשרוניים לאחר האיפוס

תמלול ההרצאה: פרויקט ב-#C - מחשבון פשוט - חלק 8

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

  1. 00:07

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

  2. 00:24

    נשנה את זה בפרופרטיז שיהיה פה נקודה עשרונית והשם שלה יהיה במקום 10 floating point. יפה. נעשה דאבל קליק.

  3. 00:44

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

  4. 01:12

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

  5. 01:33

    אז בואו שוב נגיד לו, קליר, 123, רגע, בואו נעזוב רגע את הזה, ושוב, 123, נקודה, ועכשיו בואו נשים breakpoint, ונגיד לו 300, יפה.

  6. 01:53

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

  7. 02:21

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

  8. 02:34

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

  9. 02:50

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

  10. 03:09

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

  11. 03:25

    אז בואו נגדיר משתנה גלובלי שיהפוך להיות true אחרי שהיוזר או כשהיוזר לוחץ כשאנחנו מגיעים לפונקציה הזו כשהיוזר לוחץ על הפלוטינג פוינט נמיר את המשתנה הזה ל true וכאן בעד נומרל בטיפול נבדוק ב-else אם is float שווה ל true אם הוא משתמש לחץ על float אם אנחנו כרגע באמצע ההבנה של משתנה רציונלי נקודת ספה

  12. 03:52

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

  13. 04:08

    בואו נעצור את הריצה, בואו נוסיף משתנה גלובלי, variables, נוסיף פה, אני חושב שזה לעשות ctrl cv, משכפל לי את השורה, ונקרא is float, האם אנחנו באמצע הזנה של משתנה או מספר מסוג נקודת ספה, ונלך לסוף כאן delete enter ופה פשוט נגיד is float שווה ל true כאן אני הופך את

  14. 04:43

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

  15. 05:17

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

  16. 05:30

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

  17. 05:42

    אבל זה עכשיו לא תמיד, כי אם אנחנו is float שווה ל true אז זה משהו אחר, else זה שוב משהו אחר.

  18. 05:58

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

  19. 06:15

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

  20. 06:28

    בואו נריץ את זה. אז שוב, 123.300, אוה, עכשיו הצלחנו. 321, מ-26 עד 321, יפה. אז הצגנו פה מספר מסוג פלואוט. עכשיו נגיד לו ועוד 321. או, פה יש לנו בעיה.

  21. 06:54

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

  22. 07:11

    עוד פעם אם אני אומר לו עכשיו 120 הוא לא נותן לו שם 120 הוא תמיד בונה לי מספר מסוג נקודת צפה עדיין לא בצורה מושלמת כי הוא קצת פה מפספס פה עם האפס וזה אבל הוא עדיין חושב שאני מדבר על נקודת צפה למה כי המשתנה is float נשאר true בעצם אני רוצה לאפס את המשתנה is float אז מתי אני רוצה לאפס אותו?

  23. 07:46

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

  24. 08:04

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

  25. 08:39

    אז אנחנו רוצים לאפס, נעצור את הריצה רגע, נעצור אותה בכוח, אנחנו רוצים לאפס את המשתנה isFloat, isFloat, נחזיר אותו לשווה ל-false. בואו שוב נראה, 123.321, אוקיי, זה גם עבד מקודם, ועוד, עכשיו אמור היה לאפס את המשתנה הגלובלי isFloat, ונגיד לו 321,

  26. 09:14

    בסדר, הוא בונה עכשיו מספר דצימלי, אבל עכשיו נגיד לו נקודה, אז עכשיו הוא אומר, אוקיי, עכשיו אני בונה מספר מסוג נקודת סלפה, עכשיו זה 321 נקודה 123 מצוין שווה מצוין 444 נקודה 444 אוקיי בוא נגיד לו clear ועכשיו 120 עדיין אותה הבעיה לחצתי על clear אז אני גם רוצה לאפס את המשתנה אז בואו נעשה

  27. 09:47

    את זה כדי למצוא את ה-clear מהר מפה דאבל קליק זה is float שווה לפלס ושוב נריץ 123.321 פחות 321.123 שווה אוקיי זה נכון clear 456 יפה נקודה 654 ועוד 654 נקודה 456 שווה נראה לסדר יפה בואו נעבור אחרי שנכנסנו לשווה בואו נעבור לחישוב הבא 120 עדיין אותה בעיה אז שוב כמו

  28. 10:21

    clear גם שווה אחרי שווה אנחנו אמורים שוב להגיד if float שווה לפרוץ נעצור שוב את הריצה נחזור לשווה דאבל קליק ו-is float שווה ל-spot ושוב נריץ 123 ועוד 321 שווה טוב זה לא עוזר לי 123.321 ועוד 321.123 שווה 789.987 כפול 987.789 שווה המספר הזה, אני מניח שזה בסדר, אוקיי,

לקורס המלא: פרויקט מעשי ב‑#C אונליין

ההרצאה הקודמת: פרויקט ב-#C - מחשבון פשוט - חלק 7

ההרצאה הבאה: פרויקט ב-#C - מחשבון פשוט - חלק 9

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

  • בניית מחשבון של חלונות
  • מחשבון מחירים של Azure
  • יצירת פרויקט Maven - חלק 1
  • מרכיבים של פרויקט ג'אווה

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

  • קורס WinForms - תוכנות רגילות בווינדוס
  • פרויקט מעשי ב-#C - ספר טלפונים
  • פרויקט מעשי ב-#C - תוכנת צייר
  • קורס ADO.NET - חיבור אתר למסד נתונים
  • קורס תכנות מתקדם - #Advanced .NET C
  • קורס WCF - תקשורת למתקדמים בדוט-נט