אופרטורים לוגיים (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. הנה טבלת עזר מהירה:
| A | B | A && B | A || B |
|---|---|---|---|
| TRUE | TRUE | TRUE | TRUE |
| TRUE | FALSE | FALSE | TRUE |
| FALSE | TRUE | FALSE | TRUE |
| FALSE | FALSE | FALSE | FALSE |
אפשר לשלב כמה תנאים בביטוי יחיד באמצעות האופרטורים האלה יחד, וכך לבנות בדיקות לוגיות עוצמתיות לתוכניות שלך.
אתגר
קלקבעו זכאות לפעילויות שונות באמצעות האופרטורים AND (&&) ו-OR (||).
המשתנים הבאים נתונים לכם:
age <- 17
has_permission <- TRUE
is_member <- FALSE
has_ticket <- TRUEהשתמשו באופרטורים לוגיים כדי ליצור את המשתנים הבאים:
- צרו משתנה בשם
can_enter_clubששומר את הערךTRUEאם האדם בן 18 ומעלה וגם חבר - צרו משתנה בשם
can_watch_movieששומר את הערךTRUEאם האדם בן 18 ומעלה או שיש לו אישור - צרו משתנה בשם
can_attend_eventששומר את הערךTRUEאם יש לאדם כרטיס וגם הוא חבר - צרו משתנה בשם
gets_discountששומר את הערךTRUEאם האדם חבר או שגילו פחות מ-18 - צרו משתנה בשם
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)השיעור הזה כולל חידון קצר. התחילו את השיעור כדי לענות עליו ולעקוב אחרי ההתקדמות.
כל השיעורים ביחידה יסודות
4אופרטורים חלק 2
אופרטורים לוגיים (AND, OR)אופרטורים לוגיים חלק 2 (NOT)חזרה – לוגיקה פשוטהלוגיקה וקטורית חלק 1לוגיקה וקטורית חלק 27מחשבון לחלוקת החשבון
הודעת פתיחהקבלת קלט מהמשתמש2משתנים וסוגי נתונים
סוג נתונים מספריסוג נתונים שלמיםסוג נתונים של תוויםסוג נתונים לוגיבדיקת סוגי נתוניםמוסכמות למתן שמותערכים חסרים: NAסיכום – יצירת משתנים8לולאות
לולאת forלולאת whileפקודת breakהמשך (continue)סיכום – עצרתיצירת רצפים (seq, :)לולאות מקוננותסיכום – קלט דינמי3אופרטורים חלק 1
אופרטורים אריתמטייםחלוקת מספרים שלמים ומודולואופרטורי השמהחזרה – חשבון פשוטאופרטורי השוואה6קלט/פלט בסיסי
הדפסת פלטחתול כפלטפלט עם משתניםקריאת קלט באמצעות readline()יסודות המרת טיפוסיםחזרה – מחשבון גילחזרה – אמת או שקר9פונקציות
הכרזה על פונקציהארגומנטים של פונקציהערכי החזרהסיכום – פונקציית סיגמאסיכום – פונקציית אימותערכי ברירת מחדל לפרמטריםתרגלו בעצמכם: קומפיילר R אונליין