facebook pixel מדריך: פירוט שפת תכנות - if (התניה) ו- ==, =!, >, < (פעולות השוואה) - www.4project.co.il
Main logo www.4project.co.il
כל הרכיבים לפרוייקט שלכם
עגלת קניות

העגלה ריקה

פירוט שפת תכנות - if (התניה) ו- ==, =!, >, < (פעולות השוואה)


2022-06-14 11:34:54
פקודת if, בשיתוף עם פעולות השוואה, בודקות האם תנאי כלשהו מתקיים, כמו למשל האם קלט כלשהו עבר רף מסוים. משתמשים ב-if בצורה הבאה:
קוד: בחר הכל
if (someVariable > 50)
{
    // do something here
}


התוכנית בודקת האם ערך המשתנה someVariable גדול יותר מ-50. אם כן, אז תתבצע פעולה כלשהי. במילים אחרות, אם התנאי בסוגריים העגולים מתקיים, אז חלק של הקוד הנמצא בתוך הסוגריים המסולסלים מתבצע. אם לא, אז התוכנית תדלג על החלק בסוגריים המסולסלים.
אפשר לא לכלול את הסוגריים המסולסלות אחרי פקודת ה-if. במקרה כזה שורה הבאה (המוגדרת עד לנקודה פסיק ";") תתבצע אם התנאי מתקיים. כל הדוגמאות הבאות תקינות:
קוד: בחר הכל
if (x > 120) digitalWrite(LEDpin, HIGH);

if (x > 120)
    digitalWrite(LEDpin, HIGH);

if (x > 120) { digitalWrite(LEDpin, HIGH); }

if (x > 120) {
    digitalWrite(LEDpin1, HIGH);
    digitalWrite(LEDpin2, HIGH);
}


פעולות השוואה

התנאי שנבדק בתוך הסוגריים העגולים דורש פעולת השוואה אחת או יותר:
  • x == y מציין ש x שווה ל-y
  • x != y מציין ש-x שונה מ-y
  • x <  y מציין ש-x קטן מ-y
  • x >  y מציין ש-x גדול מ-y
  • x <= y מציין ש-x קטן או שווה ל-y
  • x >= y מציין ש-x גדול או שווה ל-y

שימו לב:
היזהרו לא להשתמש בטעות בסימן שווה אחד להשוואה בין ערכים, לדוגמה:
קוד: בחר הכל
if (x = 10)

סימן שווה האחד היא פקודת השמה שבדוגמה זו מכניסה ערך של 10 לתוך המשתנה x. במקום זה השתמשו בסימן שווה כפול:
קוד: בחר הכל
if (x == 10)

שזוהי פקודת השוואה ובדוגמה זו בודקת האם משתנה x שווה ל-10. בדוגמה האחרונה התנאי יתקיים רק כאשר x יהיה שווה ל-10, כאשר בדוגמה הקודמת (עם שווה אחד) התנאי יתקיים תמיד.
זה קורה בגלל שבשפת C הבדיקה של (x=10) מתפרשת בצורה הבאה: ערך 10 מוכנס לתוך המשתנה x (זכרו שסימן שווה אחד היא פקודת השמה), אז עכשיו משתנה x כולל ערך 10. פקודת if בודקת את ערך 10 ומפרשת אותו כחיווי של TRUE (אמת) מכיוון שכל מספר השונה מ-0 מתפרש כחיווי TRUE. כתוצאה מכך בדיקה של (x=10) תמיד תתפרש כ-TRUE (אמת) שזו לא התוצאה הרצויה של פקודת ה-if. בנוסף גם המשתנה x יקבל ערך 10 שגם זו לא הפעולה הרצויה.

פקודת if יכולה גם להיות חלק מתבנית בקרה if...else.


ראו גם:

פירוט שפת תכנות לסביבת Arduino


עמוד זה הוא תרגום של if לפי רישיון Creative Commons Attribution-ShareAlike 3.0.