هذه المقالة يتيمة. ساعد بإضافة وصلة إليها في مقالة متعلقة بها

تعيين (علوم الحاسوب)

من ويكيبيديا، الموسوعة الحرة
اذهب إلى التنقل اذهب إلى البحث

في برمجة الحاسوب، تقوم جملة التخصيص أو جملة التعيين بعيين أو إعادة تعيين القيمة المخزنة في موقع التخزين، ويرمز لها باسم متغير. بمعنى آخر، تقوم بنسخ قيمة إلى متغير. وتُعتبر جملة التعيين تركيب أساسي

في معظم لغات البرمجة ذات البرمجة الأمرية.

في الوقت الحاضر، أشهر ترميز لهذه العملية الأساسية هو x = expr (في الأصل من لغة سوبربلان (Superplan ) 1949–51، اشتُهرت بلغة فورتران 1957م و لغة سي) ويلحقها الترميز x := expr (في الأصل من لغة ألغول، اشتُهرت بلغة باسكال)[1]، وهنالك العديد من التراميز الأخرى تُستخدم. في بعض لغات البرمجة يعتبر الرمز المستخدم كمشغل (بمعنى أن التعيين يحوي قيمة)، بينما في لغات أخرى تُعرِف التعيين كجملة (يعني هذا أنه لا يمكن أن تُستخدم كعبارة حسابية)

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

أشهر رمز للتحديد وأكثرها شيوعاً هو =، ولكنه قد يختلف باختلاف اللغات، يعرض الجدول التالي بعض الأمثلة، حيث يمثل (بالإنجليزية: variable) المتغير و يليه رمز التحديد، ومن ثم العبارة (بالإنجليزية: expression).

دلالات[عدل]

عملية التعيين هي معالجة في البرمجة الأمرية بحيث ترتبط عدة قيم بمتغير محدد مع مرور الوقت[2]. البرنامج في تخطيط كهذا، يعمل باغيير حالته باستخدام جمل تعيين متتالية[1][3]. تعتمد اللغات الأمرية البدائية على التعيين لعمل تكرار. وفي لغات المستوى المنخفض، يمكن تنفيذ التعيين باستخدام عمليات لغة التجميع، كـ MOVE أو STORE [4][1].

المتغيرات تمثل حاويات للقيم. ومن الممكن وضع قيمة في متغير ومن ثم تبديلها بقيمة جديدة أخرى لاحقاً. عملية التعيين تقوم بتعديل الحالة الراهنة للبرنامج المنفذ[3]. وإذن، التعيين يعتمد على مفهوم المتغيرات.

  • تُحسب العبارة expression في الوضع الراهن للبرنامج.
  • يتم تعيين القيمة المحسوبة للمتغير variable ، وتستبدل القيمة القديمة بتلك المحوسبة.

مثال: بافتراض a متغير عددي، عملية التعيين a := 2*a تعني بأن محتوى المتغير a سيتضاعف بعد تنفيذ جملة التعيين.

مثال آخر في لغة سي :

int x = 10; 
float y;
x = 23;
y = 32.4f;

في هذا النموذج، تم تصريح المتغير x أولاً كعدد صحيح، ومن ثم تم تعيين القيمة 10 له. يلاحظ أن التصريح والتعيين تما في نفس الجملة. في السطر التالي، تم تصريح y بدون تعيين. في السطر الثالث، تمت إعادة تعيين x بقيمة تساوي 23. وفي آخر السطر، تم تعيين y بقيمة 32.4.

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

التدوين[عدل]

اللغة الأمر
بي أل/أي، فورتران، لغة سي، و جافا variable = expression
ألغول، باسكال، أيدا variable := expression
كوبول MOVE expression TO variable
بيسيك LET variable = expression

مراجع[عدل]

  1. ^ أ ب ت ويسكوبف، ماري إلين (28 شباط 2012م). "البرمجة الأمرية". جامعة ألاباما في هنتسفيل (باللغة الإنجليزية). ألاباما، الولايات الأمريكية المتحدة. اطلع عليه بتاريخ 18 نسيان 2017م. 
  2. ^ "مواضيع في معالجة المعلومات". www.csc.liv.ac.uk (باللغة الإنجليزية). جامعة ليفربول. 11 تشرين الأول 1999م. اطلع عليه بتاريخ 18 نسيان 2017م. 
  3. ^ أ ب فليغ، روديجر ماركوس (31 آذار، 2008م). Bioinformatics Programming in Python: A Practical Course for Beginners (باللغة الإنجليزية). جون وايلي آند سونز. ISBN 9783527320943. اطلع عليه بتاريخ 18 نسيان 2017م. 
  4. ^ تيت، بروس (18 تموز 2006م). "Crossing borders: Explore functional programming with Haskell" (باللغة الإنجليزية). آي بي إم. اطلع عليه بتاريخ 18 نسيان 2017م.