היי בדוגמא של המימוש קוד לדוד, במקרה שהשעה אחרי 7 אך לא אחרי 8 והדוד דלוק , הקוד מנחה לכבות את הדוד.
לא ברור לי האם זה אמור להיות ככה מדרישת המימוש או שזו מקרה קצה בתוכנית?
אלעד.
היי בדוגמא של המימוש קוד לדוד, במקרה שהשעה אחרי 7 אך לא אחרי 8 והדוד דלוק , הקוד מנחה לכבות את הדוד.
לא ברור לי האם זה אמור להיות ככה מדרישת המימוש או שזו מקרה קצה בתוכנית?
אלעד.
דרישות מימוש, ר’ גרף שמופיע לפני
אם הדוד כבר דלוק והשעה אחרי 7 ולא לפני 8 , לא הייתי רוצה שהדוד ישאר דולק? במקרה הזה בדיוק רק כשהדוד מכובה ניתנת פקודה להדליק.
מנסה רק להבין את ההיגיון שמאחורי…
התעוררתי בבהלה ב־7 וקלטתי שהשארתי ת’דוד דלוק מהיום לפני
@Yam אשמח לשאול שאלה בהקשר-
בתנאי השני, לא הבנתי למה השורה שסימנתי פה בבולד נחוצה?
if not is_boiler_on and hour == 7 and minute > 0:
is_boiler_on = True
else:
if is_boiler_on:
is_boiler_on = False
בודקים האם הבוילר דלוק. המטרה היא לכבות אותו אם כן
אם הדוד היה כבוי אז הוא נדלק רק ב07:01 לפי הקוד
בגלל זה הבלבול ניראה לי.
יש לי שאלה שקשורה לאותה דוגמא. להלן רצף התהליכים:
סמני את התא, לחצי esc, אז y ואז shift+enter
יש לי כמה דברים שאני לא סגורה עליהם לגבי צורת הפיתרון:
if not is_boiler_on and hour == 7 and minute > 0:
is_boiler_on = True
למשל פה- נראה שבשורת התנאי המשתנה מתייחס למצב הנתון (שהדוד כבוי) אבל בפקודה הוא דלוק, מה שגורם לי להבין שהמשתנה מתייחס להוראה “הדלק את הדוד”
2. ממה שאני מבינה, בחלק של ה-“else” יש התייחסות רק למצב בו התנאי “הדוד דלוק” מוביל לביטוי שקר ואז בעצם נגמרת התכנית, אבל לא ברור לי איפה החלק של האמת שמוביל להוראה לכבות את הדוד. אני מתכוונת לחלק הזה:
else:
if is_boiler_on:
is_boiler_on = False
if is_boiler_on:
boiler_status = "on"
else:
boiler_status = "off"
print("Boiler is " + boiler_status + " right now.")
משתנה הוא סך הכל שם ששומר מצב. is_boiler_on הוא משתנה שבתוכו יש או True, או False. אם בתוך המשתנה יש True אז הדוד דולק, ואם בתוכו יש False הדוד כבוי.
משמע, not is_boiler_on יתקיים רק אם הדוד כבוי, ולכן אנחנו נדליק את הדוד אם הוא כבוי, והשעה היא בין 7:00 ל־8 (לא כולל קצוות).
לא הבנתי את שאלה 2.
המשתנה boiler_status
הוא סך הכל מחרוזת שהמטרה שלה היא נוחות עבור המשתמש. אם is_boiler_on
(אם הדוד דולק) היא תהיה “on”, ואם not is_boiler_on
היא תהיה “off”. אין לזה משמעות מבחינת תכנות, אלא אלו פשוט מילים שנוח יותר לבן־אדם לקרוא. אנחנו משתמשים בזה אח"כ להדפסה עבור המשתמש כדי שיהיה לו נעים לקרוא משפט קוהרנטי באנגלית.
זה פשוט יותר נעים לקרוא “Boiler is on right now” מאשר לקרוא: “Is the boiler on right now? True”