דלג לתוכן הראשי

פקודת IF

הקדמה

בקטע זה יוסברו הפקודות והאופן השימוש בפקודת ה-IF כפי שהן מוצעות בשפת Wave. פקודת IF מהווה מבנה בקרה בסיסי אשר מעריך תנאי ומבצע בלוק קוד מסוים רק כאשר התנאי נכון.

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

מבנה בסיסי

פקודת IF מעריכה תחילה את הביטוי התנאי, ומבצעת את בלוק הקוד הכלוא בסוגריים מסולסלים {} רק כאשר התוצאה היא אמת (True). במקרה שהתנאי שגוי (False), הבלוק הרלוונטי נדלג והתכנית ממשיכה עם הקוד הבא.

ב-Wave, המבנה הבסיסי של פקודת IF הוא כדלקמן.

if (תנאי) {
// קוד שיופעל אם התנאי נכון
}

בביטוי התנאי ניתן להשתמש באופן חופשי במפעילים השוואתיים או לוגיים. לדוגמה, ניתן להשוות בין ערכים באמצעות מפעילים השוואתיים כדוגמת ==, !=, <, >, <=, >=, ולהשתמש במפעילים לוגיים כגון &&, ||, ! על מנת לשלב בין תנאים שונים.

על תוצאת הביטוי התנאי להערך בהכרח כאמת או שקר, ובמקרה שהתנאי שקרי, בלוק ה-IF לא יבוצע.

דוגמה

להלן דוגמה לצורת IF פשוטה ביותר.

var temperature :i32 = 30;

if (temperature > 25) {
println("מזג האוויר חם.");
}

בקוד שלעיל נבדק התנאי האם הערך של המשתנה temperature גדול מ-25. אם התנאי נכון תודפס ההודעה "מזג האוויר חם.", ואם התנאי שגוי לא תבוצע כל פעולה.

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

פקודת IF-ELSE

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

הפסקה הבסיסית מוצגת להלן.

if (תנאי) {
// קוד לביצוע אם התנאי נכון
} else {
// קוד לביצוע אם התנאי שגוי
}

כאשר התנאי נכון, יבוצע בלוק IF, וכאשר התנאי שגוי, יבוצע בלוק ELSE. רק אחד מתוך שני הבלוקים יבוצע; הם אינם מתבצעים בו-זמנית.

הנה דוגמה של פקודת IF-ELSE.

var score :i32 = 70;

if (score >= 60) {
println("עברת!");
} else {
println("לא עברת.");
}

בקוד הזה, הודעות שונות יודפסו בהתאם לכך אם score הוא מעל 60. אם התנאי נכון, יודפס "עברת!", אחרת יודפס "לא עברת.".

הצהרת IF מקוננת

ניתן להשתמש בפקודת IF בתוך פקודת IF אחרת, וזה מכונה הצהרת IF מקוננת. הצהרת IF מקוננת יעילה כאשר יש צורך להעריך מספר שלבים של תנאים באופן רציף.

הנה דוגמה של הצהרת IF מקוננת שמדפיסה תוצאות שונות לפי הציון.

var score :i32 = 85;

if (score >= 60) {
if (score >= 90) {
println("ציון מצוין!");
} else {
println("עברת.");
}
} else {
println("לא עברת.");
}

בקוד זה, בודקים תחילה אם הציון הוא מעל 60. אם הציון מתחת ל-60, יודפס "לא עברת." מיד. אם הציון מעל 60, התנאי מוערך שוב, ואם הציון מעל 90 יודפס "ציון מצוין!", אחרת יודפס "עברת.".

באמצעות הצהרת IF מקוננת ניתן להביע הסתעפויות של תנאים באופן שלבי ומורכב.

סיכום

פקודת IF היא פקודת שליטה בסיסית השולטת בזרימת התוכנית על ידי הערכת תנאים. השימוש במשפט ELSE מאפשר להגדיר באופן ברור את הפעולה כאשר התנאי שגוי. ניתן לשלב הצהרות IF מקוננות עבור טיפול בפיצול מורכב של מספר תנאים.

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