Menu
Coddy logo textTech

אופרטורים לוגיים (AND, OR)

חלק מהיחידה יסודות במסלול ה-R של Coddy. שיעור 17 מתוך 78.

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

האופרטור AND (&&) מחזיר TRUE רק כאשר שני התנאים מתקיימים:

age <- 25
has_license <- TRUE

can_drive <- age >= 18 && has_license  # TRUE

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

האופרטור OR (||) מחזיר TRUE כאשר לפחות אחד מהתנאים הוא true:

is_weekend <- TRUE
is_holiday <- FALSE

day_off <- is_weekend || is_holiday  # TRUE

אופרטור OR מחזיר false רק כאשר שני התנאים false. הנה טבלת עזר מהירה:

ABA && BA || B
TRUETRUETRUETRUE
TRUEFALSEFALSETRUE
FALSETRUEFALSETRUE
FALSEFALSEFALSEFALSE

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

challenge icon

אתגר

קל

קבעו זכאות לפעילויות שונות באמצעות האופרטורים AND (&&) ו-OR (||).

המשתנים הבאים נתונים לכם:

age <- 17
has_permission <- TRUE
is_member <- FALSE
has_ticket <- TRUE

השתמשו באופרטורים לוגיים כדי ליצור את המשתנים הבאים:

  1. צרו משתנה בשם can_enter_club ששומר את הערך TRUE אם האדם בן 18 ומעלה וגם חבר
  2. צרו משתנה בשם can_watch_movie ששומר את הערך TRUE אם האדם בן 18 ומעלה או שיש לו אישור
  3. צרו משתנה בשם can_attend_event ששומר את הערך TRUE אם יש לאדם כרטיס וגם הוא חבר
  4. צרו משתנה בשם gets_discount ששומר את הערך TRUE אם האדם חבר או שגילו פחות מ-18
  5. צרו משתנה בשם vip_access ששומר את הערך TRUE אם האדם בן 18 ומעלה וגם חבר וגם יש לו כרטיס

השתמשו בפונקציה print() כדי להציג את can_enter_club, can_watch_movie, can_attend_event, gets_discount ו-vip_access בדיוק בסדר הזה.

נסו בעצמכם

# משתנים נתונים
age <- 17
has_permission <- TRUE
is_member <- FALSE
has_ticket <- TRUE

# TODO: כתבו את הקוד שלכם למטה
# צרו את המשתנים הבאים באמצעות אופרטורים לוגיים (&&, ||):
# 1. can_enter_club - TRUE אם age >= 18 וגם is_member
# 2. can_watch_movie - TRUE אם age >= 18 או has_permission
# 3. can_attend_event - TRUE אם has_ticket וגם is_member
# 4. gets_discount - TRUE אם is_member או age < 18
# 5. vip_access - TRUE אם age >= 18 וגם is_member וגם has_ticket



# הדפיסו את התוצאות לפי הסדר
print(can_enter_club)
print(can_watch_movie)
print(can_attend_event)
print(gets_discount)
print(vip_access)
quiz iconבחנו את עצמכם

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

כל השיעורים ביחידה יסודות

תרגלו בעצמכם: קומפיילר R אונליין