הבדל מפתח - אם אחרת לעומת מתג
יש מבנים לקבלת החלטות בתכנות. ה-if else והבורר הם שניים מהם. ביטוי מורכב מערכים, אופרטורים, קבועים וכו'. ה-if else מאפשר ביצוע בלוק של הצהרות אם הביטוי הנתון נכון או לבצע את הבלוק האופציונלי אם הביטוי הנתון הוא שקר. המתג משמש כדי לאפשר לערך של משתנה או ביטוי לשנות את זרימת הבקרה של ביצוע תוכנית באמצעות ענף רב-כיווני. אם המתכנת רוצה לבדוק את הערך של משתנה בודד, אז הוא יכול להשתמש במשפט switch. מאמר זה דן בהבדל בין if else לבין switch.ההבדל העיקרי בין if else ל-switch הוא שב-if else, בלוק הביצוע מבוסס על הערכת הביטוי ב-if, בעוד שב-switch, ההצהרות לביצוע תלויות במשתנה היחיד המועבר אליו.
מה זה אם עוד?
If else מכיל שני בלוקים. הם אם ועוד. בלוק if מכיל את הביטוי שיש להעריך. אם זה נכון, ההצהרות בתוך בלוק if יבוצעו. אם התנאי הוא שקר, ההצהרות שייכות לבלוק else יבוצעו. שפות תכנות מניחות כל ערך שאינו אפס או ריק כאמת. האפס והאפס נחשבים כשקריים. ה-אם והאחר הן מילות מפתח. לכן, לא ניתן להשתמש בהם כמזהים.
איור 01: תוכנית עם אם אחרת הצהרות
לפי התוכנית לעיל, המספר הוא משתנה שיכול לאחסן מספרים שלמים.הוא מכיל ערך 5. בבלוק if, הביטוי מסומן. אם היתרה היא 0 לאחר חלוקת המספר באפס, כלומר המספר זוגי. אם היתרה היא 1, אז המספר הוא אי זוגי. מספר 5 הוא מוזר. לכן, חסימת ה-else תתבצע.
מה זה מתג?
אם המתכנת רוצה לבדוק את הערך של משתנה בודד, אז הוא יכול להשתמש במתג. זוהי הצהרת בחירה מרובה. למתג יכולים להיות הצהרות מקרה רבות. כאשר המשתנה מועבר למתג, הוא מושווה עם הערך של כל הצהרת מקרה. אם נמצא הערך המתאים, ההצהרות של אותו מקרה ספציפי יתבצעו. ההצהרות הללו מבוצעות עד שמתרחשת הפסקה. אם להצהרות מקרה אין הצהרות break, אז הביצוע מתרחש עד לסוף הצהרת switch. מקרה ברירת המחדל מופעל אם אף אחד מהמקרים אינו נכון. ברירת המחדל אינה דורשת הצהרת break.
איור 02: תוכנית עם מתג
לפי התוכנית לעיל, num1 ו- num2 מכילים שני ערכים שלמים. המפעיל הוא דמות. זה מועבר למתג. זה נבדק עם כל הצהרות המקרה. המפעיל שעבר הוא חטיבה. לכן החלוקה מחושבת ומודפסת. ואז הביצוע יוצא מהמתג בגלל הצהרת הפסקה. כאשר מגיעים להפסקה, השליטה מועברת לשורה הבאה לאחר המעבר. בדרך כלל, הצהרת ה-switch משתמשת לעתים קרובות בפקודה מקלדת כדי לבחור אחת מבין הצהרות האותיות המרובות.
מה הדמיון בין אם אחרת למעבר?
גם אם אחרת וגם המתג הם מבנים לקבלת החלטות בתכנות
מה ההבדל בין אם אחרת למעבר?
אם אחרת לעומת מתג |
|
ה-if else הוא מבנה בקרה שמבצע בלוק של הצהרות אם התנאי אמת ומבצע את הבלוק האופציונלי אם התנאי הוא שקר. | הצהרת ה-switch היא סוג של מנגנון בקרת בחירה המשמש כדי לאפשר לערך של משתנה או ביטוי לשנות את זרימת הבקרה של ביצוע תוכנית באמצעות ענף רב-כיווני. |
ביצוע | |
In if else, בלוק if או בלוק else מופעלים בהתאם לביטוי המוערך. | המתג מבצע מקרה אחד אחרי השני עד שמגיעים להפסקה או עד סוף המעבר. |
הערכה | |
הצהרת if מעריכה, מספרים שלמים, תווים, מספרי נקודה צפה או סוגים בוליאניים. | משפט המתג מעריך תווים ומספרים שלמים. |
ביצוע ברירת מחדל | |
אם התנאי של בלוק if הוא שקרי, ההצהרות בתוך בלוק else יבוצעו. | בבורר, אם אף אחת מהצהרות המקרה לא תואמות, הצהרות ברירת המחדל יבוצעו. |
בדיקות | |
האם אחרת בדוק את השוויון והביטויים הלוגיים. | המתג בודק את השוויון. |
סיכום - אם אחרת לעומת מתג
שני מבני קבלת החלטות בתכנות הם אם אחרת ומעבר. המשפט if else הוא משפט מותנה יפעיל קבוצה של הצהרות בהתאם אם התנאי הוא נכון או לא נכון. ניתן להשתמש במתג לבדוק משתנה בודד.ההבדל בין if else ל-switch הוא ש-if else בלוק הביצוע מבוסס על הערכת הביטוי במשפט if, בעוד שהמשפט switch בוחר את ההצהרות לביצוע בהתאם למשתנה הבודד, מועבר אליו.