متحول (برمجة)

في مجال برمجة الحاسوب، المتحول هو اسم رمزي يرتبط بكمية أو قيمة قد تكون معروفة أو لا، بغرض السماح للمبرمج بالتعامل مع هذا الاسم الرمزي بصرف النظر عن القيمة التي تمثلها. فالمتحول يقرن اسماً مع موقع تخزين بيانات في الذاكرة ومن ثم محتوياته، والتي بدورها تتغير عادة أثناء تنفيذ البرنامج.

مفهوم المتحول في البرمجة لا يتطابق تماماً مع نظيره في الرياضيات. الذي هو أقرب إلى مفهوم التعويض. ففي حين أن المتحول في الرياضيات يمثل في كثير من الأحيان إما نطاقاً كاملاً أو مجموعة من القيم، فإن المتحول في البرمجة يمثل قيمة فعلية واحدة في لحظة ما من مراحل تنفيذ البرنامج.

قيمة المتحول البرمجي ليست مشتقة بالضرورة من معادلة أو صيغة رياضية كما هو الحال في الرياضيات. فغالباً ما يوظف المتحول في أداء مهام برمجية متكررة: تعيين قيمة في مكان ما، ثم استخدامها في مكان آخر ، ثم إعادة تعيين قيمة جديدة واستخدامها مرة أخرى بالطريقة ذاتها. كما أن المتحولات في الحاسوب تعطى أسماء طويلة نسبياً للتعبير عن الوظيفة التي يؤديها هذا المتحول بينما غالباً ما تكون المتحولات الرياضية حروفاً لتسهيل التعامل معها.

يمكن للمتحول الحاسوبي أن يمثل أي نوع من البيانات التي يمكن تخزينها في نظام الحاسوب: من بيانات المنطقية البسيطة (صح/خطأ) إلى الأرقام والأسماء والصور والأصوات.

لكل متحول ثلاثة سمات أساسية: اسم رمزي (يعرف أيضاً بالمعرِّف Identifier) ، وموقع البيانات Data location (في الذاكرة أو وسيط التخزين، ويتكون من عنوان وطول)، وقيمة، وهي محتويات البيانات الموجودة في ذلك الموقع. غالبا ما يتم تعيين هذه الصفات بشكل منفصل أثناء تنفيذ البرنامج.

للمتحولات سمة رابعة هي النمط الذي يحدد طبيعة المعلومات التي يخزنها المتحول. لنمط المتحول تأثير على الشكل الذي سيستخدم لتخزين قيمة هذا المتحول بالإضافة إلى العديد من الأمور كمقدار الذاكرة التي يجب حجزها، وطريقة التعامل مع القيمة وتفسيرها والتعبير عنها.

في حين أن كلاً من اسم المتحول ونمطه وموقعه في الذاكرة يظل ثابتاً بشكل عام، إلا أن البيانات المخزنة فيه يمكن أن تتغير أثناء تنفيذ البرنامج،

عندما يصبح البرنامج جاهزاً للتنفيذ (انظر التصريف Compilation)، يستعاض عن اسم المتحول بموقعه في الذاكرة أينما ورد في الرماز المصدري للبرنامج. أما أثناء تشغيل البرنامج تستخدم محتويات هذا الموقع بدلا من اسم رمزي لإجراء العمليات الحسابية وغيرها من العمليات والإجراءات.