אופרטורים לוגיים חלק 4
חלק מהיחידה יסודות במסלול ה-Ruby של Coddy. שיעור 20 מתוך 88.
כשמשלבים כמה אופרטורים לוגיים בביטוי אחד, Ruby מעריכה אותם בסדר מסוים על סמך קדימות האופרטורים. הבנת הסדר הזה עוזרת לך לכתוב תנאים נכונים ולהימנע מתוצאות בלתי צפויות.
סדר הקדימויות מהגבוה לנמוך הוא: ! (לא), אחר כך && (וגם), ואז || (או). פירוש הדבר הוא ש־! מוערך ראשון, אחריו &&, ולבסוף ||:
true || false && false # true (האופרטור && מחושב ראשון)
# שקול ל: true || (false && false)
!false && true # true (האופרטור ! מחושב ראשון)
# שקול ל: (!false) && trueאפשר להשתמש בסוגריים כדי לשנות את סדר הקדימות כברירת המחדל ולהבהיר את כוונתך:
(true || false) && false # false (הסוגריים גורמים להערכת || תחילה)
true || (false && false) # true (התנהגות ברירת המחדל)גם כשהסוגריים אינם הכרחיים בהחלט, הוספתם לרוב מקלה על קריאת ביטויים מורכבים. כשיש ספק, השתמשו בסוגריים כדי להראות במפורש כיצד יש לקבץ תנאים.
אתגר
קלהמשתנים הבאים נתונים לך:
x = true
y = false
z = true
a = falseהערך את הביטויים הבאים והצג כל תוצאה בשורה נפרדת. שים לב לסדר הקדימות של האופרטורים: ! מוערך ראשון, לאחר מכן &&, ולבסוף ||.
x || y && z!y && zx && y || z!a || y && zx && !y && z(x || y) && ax || (y && a)!(x && y) || z
כל פלט צריך להיות true או false.
נסו בעצמכם
# המשתנים כבר הוגדרו עבורכם
x = true
y = false
z = true
a = false
# TODO: חשבו את הערך של כל ביטוי והדפיסו את התוצאה בשורה נפרדת
# זכרו את סדר הקדימות של האופרטורים: קודם !, אחר כך &&, ואז ||
# 1. x || y && z
puts # הביטוי שלכם כאן
# 2. !y && z
puts # הביטוי שלכם כאן
# 3. x && y || z
puts # הביטוי שלכם כאן
# 4. !a || y && z
puts # הביטוי שלכם כאן
# 5. x && !y && z
puts # הביטוי שלכם כאן
# 6. (x || y) && a
puts # הביטוי שלכם כאן
# 7. x || (y && a)
puts # הביטוי שלכם כאן
# 8. !(x && y) || z
puts # הביטוי שלכם כאןהשיעור הזה כולל חידון קצר. התחילו את השיעור כדי לענות עליו ולעקוב אחרי ההתקדמות.
כל השיעורים ביחידה יסודות
4אופרטורים חלק 2
אופרטורים לוגיים חלק 1אופרטורים לוגיים חלק 2חזרה – לוגיקה פשוטהאופרטורים לוגיים חלק 3אופרטורים לוגיים חלק 42משתנים וטיפוסי נתונים
מספרים ומשתניםטיפוס הנתונים מחרוזתטיפוס הנתונים בוליאניטיפוס הנתונים Symbolבדיקת טיפוסי נתוניםמוסכמות שמותסיכום – יצירת משתנים8לולאות
לולאת for עם טווחיםלולאת whilebreaknextסיכום – עצרתלולאת timesלולאת untilלולאות מקוננותסיכום – קלט דינמי3אופרטורים חלק 1
אופרטורים אריתמטייםאופרטור מודולוקיצורי דרך אריתמטייםסיכום – חשבון פשוטאופרטורי השוואה6קלט ופלט בסיסיים
פלט באמצעות putsפלט באמצעות print ו־pפלט באמצעות משתניםקלט באמצעות getsשיטת Chompהמרת טיפוסיםחזרה — מחשבון גילחזרה — אמת או שקר9מתודות
הגדרת מתודהפרמטרים של מתודהערכי החזרהסיכום - מתודת Sigmaסיכום - מתודת האימותערכי ברירת מחדל של פרמטרים15מעקב אחר הוצאות יומיות
סקירת הפרויקטיציאה מהתוכניתתרגלו בעצמכם: קומפיילר Ruby אונליין