פקודת השמה

מתוך ויקיפדיה, האנציקלופדיה החופשית
קפיצה לניווט קפיצה לחיפוש

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

הסימן הנפוץ לפקודת השמה הוא =, אך קיימות לו וריאציות רבות בשפות שונות. דוגמאות אחדות מוצגות בטבלה הבאה, שבה variable הוא שמו של המשתנה, ו-expression הוא הערך שפקודת ההשמה מציבה במשתנה.

שפה סימון הפקודה דוגמה
PL/I, Fortran, C, Java variable = expression A = B + 5
ALGOL, פסקל, Ada variable := expression A := B + 5
COBOL MOVE expression TO variable MOVE B TO A
BASIC LET variable = expression LET A = B + 5

ביצוע פקודת ההשמה כולל שני שלבים:

  • חישוב ערכו של הביטוי (expression בטבלה לעיל).
  • כתיבת הערך שחושב במשתנה (variable בטבלה לעיל). לעיתים מלווה שלב זה בהמרת הערך של הביטוי לטיפוס של המשתנה, למשל המרה מטיפוס נומרי לטיפוס מחרוזת.

השמה לעומת השוואה[עריכת קוד מקור | עריכה]

בחלק משפות התכנות, לסימן = שתי משמעויות:

  • השמה
  • השוואה בין שני ערכים (למשל בפקודת if).

כפל משמעויות זה עלול לבלבל מתכנתים מתחילים, ולכן בשפות אחרות משמשים למטרות אלה שני סימנים נפרדים, למשל = להשמה, == להשוואה.

בשפת PL/I, שבה הסימן = משמש בשתי המשמעויות, ניתן למצוא את שתיהן יחד בפקודה הבאה:

A = B = C

שפירושה: כאשר B שווה ל-C, המשתנה A יקבל את הערך "אמת" (המיוצג בשפה זו על ידי ביט שערכו 1), וכאשר B אינו שווה ל-C, המשתנה A יקבל את הערך "שקר".