مرجع
آخر الزيارات

إسناد (حوسبة)

460 كلمة•0 مشاهدة•🗒️ منذ 22 ساعة
باختصار: في برمجة الحاسوب، تقوم عبارة الإسناد بتعيين أو إعادة تعيين المخزنة في موقع التخزين، ويرمز لها باسم متغير. في هذه المقالة قسمان: «دلاليّات» و«y = 32.4f;».
المحتويات
  1. دلاليّات
  2. y = 32.4f;

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

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

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

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

دلاليّات

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

يُحسب التعبير expression في الوضع الراهن للبرنامج.

وفي هذا الصدد، تُسنَد القيمة المحسوبة للمتغير variable، وتستبدل القيمة القديمة بتلك المحوسبة.

  • مثال آخر في لغة سي :
  • int x = 10;
  • float y;
  • x = 23;

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

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

y = 32.4f;

التدوين

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

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

ما رأيك في هذه المقالة؟

📝 هل في هذه المقالة خطأ؟

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