1. المتغيرات
قبل استخدام أي متغير في أوامر البرنامج، يجب تعريفه بواسطة جملة تعريف لها الصيغة العامة التالية: المتحول <اسم> [، <اسم> ...] : <نوع> مثلاً، تعرف الجملة التالية المتغير عدد_الطلاب بأنه متحول صحيح، أي يمكن أن نضع فيه الأعداد الصحيحة. |
المتحول عدد_الطلاب : صحيح |
أما الجملة التالية فتعرف المتغيرات س ، ع ، ص بأنها متغيرات حقيقية، أي يمكنها حفظ الأعداد الحقيقية. |
المتحول س ،ع ، ص : حقيقي |
وفي العبارة التالية يعرف المتغير م بأنه متحول منطقي، يمكنه أن يأخذ إحدى القيمتين: صواب أو خطأ. |
المتحول م : منطقي |
غني عن القول أنه لا يجوز تعريف المتغير الواحد أكثر من مرة واحدة في نفس البرنامج، أو تعريف متغيرين مختلفين بنوعهما لهما نفس الاسم، أو تعريف عنصر آخر - كخوارزمية أو تابع – له نفس اسم أحد المتغيرات. ويصبح الـمتغير معرفاً في كافة مواضع البرنامج التي تلي جملة تعريفه في نص البرنامج، لكنه يظل غير معرف في المواضع التي تسبق هذه الجملة. لذلك يجب على الدوام تعريف المتغيرات في مكان سابق لمكان استخدامها. فاستخدام المتغير س في السطر الأول من البرنامج التالي، استخدام خاطىء لأنه لم يتم تعريفه بعد. |
س = 15 !!لا يصح استخدام المتغير س في هذا الموضع لأنه سابق لجملة تعريفه |
2. الثوابت
تستخدم الثوابت في لغات البرمجة رفيعة المستوى لتعريف القيم العددية الثابتة، كالثوابت الرياضية والفيزيائية. ويسهّل استعمال الثوابت في البرنامج استخدام هذه القيم في أماكن عديدة من البرنامج، كما يضمن عدم تغير قيمتها ولو بطريق الخطأ. علاوة على ذلك، تقدم الثوابت أسماء بديلة للقيم العددية المعقدة، يمكن تذكرها واستخدامها بسهولة عند كتابة البرنامج ومراجعته. فكتابة العبارة التالية باستخدام الثابت "سرعة_الضوء" |
ط = ك × سرعة_الضوء ^2 |
أسهل من كتابة نفس العبارة باستخدام قيمته العددية، كما في هذه العبارة |
ط = ك × (3.0 × 10^8) ^2 |
ويعرف الثابت بواسطة جملة تعريف لها الصيغة العامة التالية: الثابت <اسم> = <عبارة ثابتة> يجب ألا تحتوي العبارة الثابتة التي تحدد قيمة الثابت على متغيرات، أو دوال تستخدم متغيرات، وأن تقتصر على الأعداد الثابتة، أو أسماء الـثوابت التي تم تعريفها قبل ذلك. فالجمل التالية تعرف ثوابت مقبولة: |
الثابت بي = 3.141593 !! نسبة محيط الدائرة إلى قطرها |
ويكتسب الثابت نوع العبارة المعرفة له. فالثابت بي المعرف أعلاه هو ثابت عددي حقيقي، وكذلك الحال بالنسبة للثوابت نصف و ربع و سرعة_الضوء و بلانك و جيب 90. أما الثابت صفر فهو ثابت صحيح وكذلك الثابت مليون. أما الثابتين بسم و ألفباء فهما ثابتين نصيين. أما الطريقة التالية لتعريف الثابت "نصف" فطريقة خاطئة لأن عبارة تعريف الثابت تحوي متغيرا: |
المتحول س : صحيح |
وبعد تعريف ثابت عددي يمكن استخدامه في العلاقات الحسابية كأي قيمة عددية أخرى. فالبرنامج الصغير التالي: |
!! برنامج لحساب مساحة دائرة ومحيطها |
يطلب من المستخدم أن يدخل نصف قطر دائرة، ثم يقوم بكتابة مساحتها ومحيطها. أما البرنامج التالي: |
الثابت بسم = "بسم الله الرحمن الرحيم" |
فيكتب عند تنفيذه عبارة "بسم الله الرحمن الرحيم" في لوحة الكتابة. وبعد تعريف ثابت لا يجوز إسناد قيمة جديدة له، عن طريق الإسناد أو القراءة مثلاً. فمحاولة تغيير قيمة الثابت ث في السطر الثاني من البرنامج التالي عمل خاطئ. |
الثابت ث = 16 |
يكتشفه مترجم لغة ج ويصدر رسالة الخطأ المناسبة. |
3. الإسناد
الإسناد في لغات البرمجة هو وضع قيمة معينة في متغير يقبل هذه القيمة. وفي لغة ج يتسخدم الأمر "أجعل" لإسناد القيم للمتغيرات المختلفة. |
جملة أجعل
يتستخدم أمر الإسناد أجعل لتهيئة متغير حسابي بقيمة معينة، أو قيمة منطقية لمتغير منطقي. والصيغة العامة لجملة أجعل هي: [أجعل] <متحول> = <عبارة> تقوم هذه الجملة بإسناد (تخزين أو تهئية) قيمة العبارة المكتوبة إلى يسار إشارة تساوي في المتحول المذكور إلى يمينها. كما في الأمثلة التالية: |
أجعل س = 40.5 !! أسند للمتحول س القيمة 40.5 |
ويجوز إسقاط الكلمة المفتاحية أجعل والاقتصار على اسم المتغير فقط. ولكي يصح الإسناد، يجب أن يوافقنوع العبارة (إلى يسارإشارةتساوي) نوع المتغير (إلى يمين تساوي). فلا يمكن مثلاً إسناد قيمة عددية لمتغير منطقي، أو قيمة عددية حقيقية لمتغير صحيح لأن المتحول الصحيح لا يقبل الأعداد الحقيقية. غير أنه يمكن إسناد قيمة عددية صحيحةلمتغير حقيقي لأن المتغير الحقيقي يقبل الأعداد الصحيحة. ويلخص الجدول التالي قواعد الإسناد للمتغيرات ذات الأنواع المختلفة في لغة ج. |
نوع المتحول (الطرف الأيمن |
نوع العبارة (الطرف الأيسر) |
|||||||
صحيح |
صغير |
حقيقي |
حرف |
منطقي |
مؤشر |
|||
صحيح |
نعم |
نعم |
لا |
نعم |
لا |
لا |
||
صغير |
ممكن |
نعم |
لا |
نعم |
لا |
لا |
||
حقيقي |
نعم |
نعم |
نعم |
نعم |
لا |
لا |
||
حرف |
ممكن |
ممكن |
لا |
نعم |
لا |
لا |
||
منطقي |
لا |
لا |
لا |
لا |
نعم |
لا |
||
مؤشر |
نعم |
نعم |
لا |
نعم |
لا |
لا |
وفي هذا الجدول تشير: 1- "نعم" ← إلى أنه يجوز إسناد قيمة العبارة للمتغير، 2- "لا" ← إلى أنه لا يجوز إسناد قيمة العبارة للمتغير، 3- "ممكن" ← إلى أنه يجوز إسناد قيمة العبارة للمتغير شريطة أن لا تتجاوز قيمتها أكبر قيمة يمكن للمتغير أن يقبلها. ويكون ذلك من مسؤولية المبرمج الذي يجب أن يراعي هذه الناحية. ففي البرنامج التالي: |
المتحول ص : صحيح |
يصح الإسناد في الأمر الرابع لأن قيمة العبارة ص+1 (4600) أقل من أكبر قيمة يقبلها المتغير الصغير غ. مثال آخر: |
1 المتحول س ، ع : صحيح |
يسند الأمر الرابع في هذا المثال القيمة المنطقية التي تعبر عن مقارنة قيمتي المتغيرين س و ع إلى المتغير المنطقي م. فإذا كانت س=ع أخذت م القيمة المنطقية صواب وإذا لم تكن س=ع أخذت م القيمة المنطقية خطأ. ويبين الشكل التالي ما يحدث عند تنفيذ هذا البرنامج: |
|
تأليف
المؤلف الأصلي: الدكتورمحمد عمار السَلكة (دمشق - سوريا)
الموقع الشخصي: http://www.drsalka.com
البريد الإلكتروني: عنوان البريد الإلكتروني هذا محمي من روبوتات السبام. يجب عليك تفعيل الجافاسكربت لرؤيته.
ضبط بتصرف: محمد عبد الرحمان (الدار البيضاء - المغرب)
المراجع