אופרטורים לוגיים (AND, OR)
חלק מהיחידה יסודות במסלול ה-R של Coddy. שיעור 17 מתוך 78.
אופרטורי השוואה מאפשרים לך לבדוק תנאי יחיד, אבל מה אם צריך לבדוק כמה תנאים בו-זמנית? אופרטורים לוגיים מאפשרים לך לשלב תנאים וליצור ביטויים מורכבים יותר.
האופרטור AND (&&) מחזיר TRUE רק כאשר שני התנאים מתקיימים:
age <- 25
has_license <- TRUE
can_drive <- age >= 18 && has_license # TRUEאם אחד מהתנאים אינו נכון, הביטוי כולו נעשה לא נכון. חשבו על זה כאילו כל התנאים צריכים להתקיים.
האופרטור OR (||) מחזיר 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 אונליין