 |
:: استاذ و مشرف قسم الالكترونيات ::
تاريخ التسجيل: May 2007
المشاركات: 6,894
|
|
نشاط [ F.Abdelaziz ]
قوة السمعة:333
|
|
20-05-2017, 12:19 PM
المشاركة 1
|
|
المتغيرات Variables :
المتغير هو مجرد مكان (وعاء) لحفط قيم لبيانات من نوع معين . مكان الحفظ هو مواقع ذاكرة RAM والنوع يمكن أن يكون لأحرف Character أو أعداد صحيحة Integers (بدون علامة عشرية) أو أعداد بعلامة أو نقطة عشرية تسمى Float .

يمكن تصنيف المتغيرات تبعا "لنوع البيانات" التى تخزنها بداخلها :
1- متغير يحفظ بيانات لعدد صحيح integer ، ويشار إليه بكلمة “int” .
2- متغير يحفظ بيانات لحرف character ، ويشار إليه بكلمة “char” .
3- متغير يحفظ بيانات لعدد بنقطة عشرية float ، ويشار إليه بكلمة “float” .
4- متغير يحفظ بيانات عدد بنقطة عشرية "مضاعف" double ، ويشار إليه بكلمة double .

كما يمكن تصنيف المتغيرات تبعا لعدد المتغيرات التى يمكن أن تحفظها :
1- متغيرات تحفظ "قيمة مفردة" فى نفس الوقت ومن أى نوع من البيانات ، وتسمى متغيرات عادية .
2-متغيرات تحفظ "قيم متعددة" من نفس نوع البيانات وتسمى "المصفوفات" Array .
3-متغيرات تحفظ "قيم متعددة" من أنواع مختلفة من البيانات وتسمى "الهياكل" Structure .
بيانات الأعداد الصحيحة Integer Type :
النوع char والنوع int ، وتعديلاتها ، تعتبر أنواع لبيانات أعداد صحيحة . يمكن إنشاء التعديلات باستخدام واحد من بادئات التعديل التالية : short , long , signed , unsigned . الجدول التالى يبين أنواع بيانات الأعداد الصحيحة ، يمكن إهمال الكلمات الموجودة بين الأقواس :

• فى حالة غياب البادئة unsigned فيفترض تلقائيا النوع signed لبيانات أنواع العدد الصحيح ، على سبيل المثال int تعنى signed int. الاستثناء الوحيد هو char حيث يكون unsigned فى الوضع الافتراضى وتقتصر على كتابة char.
• الكلمات signed و unsigned عندما يتم استخدامها فى حد ذاتها ، تعنى signed int و unsigned int على الترتيب ، على سبيل المثال unsigned تعنى unsigned int .
• كلمات التعديل short و long يمكن فقط تطبيقها على النوع int .
• الكلمات short و long عند استخدامها فى حد ذاتها ، تعنى short int و long int على ، سبيل المثال short تعنى signed short int .
بيانات الأعداد الحقيقية (التى تحتوى على نقطة عشرية)من نوع Float point :
الأنواع float و double مع النوع long double تعتبر أنواع الأعداد الحقيقية التى تحتوى على نقطة عشرية وتسمى float . المترجم ميكروسى برو يعتبر الثلاثة أنواع من نفس النوع ، كما هو مبين بالجدول التالى :

عامل التخصيص (التعيين) Assignment Operator :
• يستخدم عامل التخصيص لتخصيص (تعيين) قيمة إلى متغير .
• عامل التخصيص يشار إليه بعلامة التساوى “=” .
• عامل التخصيص يتعامل مع قيمتان ، قيمة على جانبه الأيسر ، وقيمة على جانبه الأيمن ، ويقوم العامل بنسخ القيمة التى على جانبه الأيمن إلى القيمة التى على جانبه الأيسر .

إعلان المتغير Variable Declaration :
مفهوم إعلان المتغير هو إعطاء أمر للمترجم لكى يقوم بحجز مواقع ذاكرة تتناسب مع نوع البيانات التى يقوم هذا المتغير بتخزينها .
صيغ إعلان المتغير :
الصيغة الأولى : نوع البيانات يليه اسم المتغير .
[codedataType variableName;] [/code]
هذه الصيغة تعلن عن متغير ، فهى تعلن عن نوع بياناته ، وحجز ذاكرة له وإطلاق اسم على هذه الذاكرة . هذه الصيغة لا تذكر شيئا حول القيمة الموجودة بالذاكرة .
الصيغة الثانية : نوع البيانات ، يليه اسم المتغير ، ثم تخصيص قيمة لهذا المتغير .
كود:
dataType variableName = initialValue ;
هذه الصيغة تعلن عن المتغير ، وتعلن عن نوع بياناته ، وتحجز ذاكرة له ، وتضع قيمة ابتدائية فى هذه الذاكرة .
الصيغة الثالثة :
كود:
dataType variableNameOne, variableNameTwo ;
هذه الصيغة تعلن عن متغيرين ، والاثنين من نفس النوع من البيانات ، وتحجز ذاكرة لكل منهما ، ولكنها لا تضع أى شىء فى أى من المتغيرين . يمكن القيام بعمل ذلك مع أكثر من متغيرين ، إذا أرد ذلك .
الصيغة الرابعة :
كود:
dataType variableNameOne = initialValueOne,
variableNameTwo = initialValueTwo ;
هذه الصيغة تعلن عن متغيرين ، كلاهما له نفس نوع البيانات ، وتحجز الذاكرة اللازمة ، وتضع قيمة ايتدائية فى كل متغير . يمكنك كتابة الصيغة فى سطر واحد ، كما يمكنك إعلان أكثر من متغيرين بنفس الطريقة .
لعلك لاحظت الفاصلة “,” الموجودة بين المتغيرات ، والفاصلة المنقوطة “;” فى نهاية عبارة الإعلان .
فيما يلى أمثلة للأنواع المختلفة من المتغيرات :
• المتغيرات :
كود:
unsigned char
or
unsigned short int
هى متغيرات "بدون إشارة" 8 بت ، تحتل "واحد بايت" فقط من الذاكرة ولها قيم فى المدى من (0) إلى (255) .
فى المثال التالى ، المتغير Sum يخصص (يعين) له القيمة (255) :
كود:
unsigned char Sum = 225;
or
unsigned char Sum;
Sum = 225;
• والمتغيرات :
هى متغيرات "بدون إشارة" 16 بت ، تحتل "2 بايت" من الذاكرة ولها قيم فى المدى من (0) إلى (65 535) . فى المثال التالى ، المتغير Total يخصص له القيمة (64 500) :
كود:
unsigned int Total = 64500;
• والمتغيرات :
هى متغيرات بدون إشارة 32 بت ، تحتل 4 بايت من الذاكرة ولها قيم فى المدى من (0) إلى
4 294 967 295 . فى المثال التالى ، المتغير Sum يخصص له القيمة 4 200 000 000 :
كود:
unsigned long int Sum = 4200000000;
• والمتغيرات :
كود:
signed char
or
signed short int
هى متغيرات "بإشارة" 8 بت ، نحتل واحد بايت فقك من الذاكرة ولها قيم فى المدة من (-128) إلى (+127) . فى المثال التالى المتغير Total يخصص له القيمة (-40) :
كود:
signed char Total = -40;
• والمتغيرات :
هى متغيرات بإشارة 16 بت ، تحتل 2 بايت من الذاكرة ولها قيم فى المدى من (-32 768) إلى (+32 767) . فى المثال التالى ، المتغير Sum يخصص له القيمة (-31 500) :
كود:
signed int Sum = -31500;
• والمتغيرات :
هى متغيرات بإشار 32 بت ، تحتل 4 بايت من الذاكرة ولها قيم فى المدى من (-2 147 483 648) إلى
(+2 147 483 647) . فى المثال التالى ، المتغير Sum يخصص له القيمة (2 050 480 000) :
كود:
signed long int Sum = 2050480000;
• أنواع بيانات العدد الحقيقى هى : float, double , long double . فى المثال التالى ، المتغير Volume يخصص له القيمة (23.45) :
كود:
float Volume = 23.45;
or
float Volume;
Volume = 23.45;
أسماء المتغيرات:
• فى المترجم ميكروسى برو ، أسماء المتغيرات يمكن أن تبدأ بحرف أو الشرطة السفلية ( _ ) .
• أسماء المتغير يمكن أن تتضمن أى حرف من ( a ) إلى ( z ) ومن ( A ) إلى ( Z ) والأرقام من ( 0 ) إلى ( 9 ) .
• اسم المتغير يمكن أن يكون بطول حتى 31 حرف .
• بعض أمثلة أسماء المتغير الصحيحة :
كود:
Total
Sum
Average
My_Variable
username
MaxTotal
_Name
• وفيما يلى بعض الأمثلة لأسماء متغير غير صحيحة :
كود:
%name
?Total
7Sum
(Max
12count
• الأسماء حساسة لحالة الحرف وبالتالى فإن المتغيرات بأسماء بحروف صغيرة تختلف عن المتغيرات بأسماء بحروف كبيرة . وبالتالى فأن المتغيرات التالية جميعها مختلفة :
كود:
Total
total
ToTal
TotaL
TOTAL
TOTal
الأسماء المحجوزة :
فى المترجم ميكروسى برو يتم حجز بعض الأسماء من أجل المترجم ، وهذه الأسماء لا يمكن أن تستخدم كأسماء للمتغيرات . الجدول أدناه يعطى قائمة بهذه الأسماء المحجوزة .

يمكن تقسيم المتغيرات إلى :
• متغيرات عمومية Global
• متغيرات محلية Local

المتغيرات العمومية Global : هى التى يتم إعلانها عند بداية البرنامج خارج أى دالة ، مجال هذه المتغيرات يكون عمومى global وهذا يعنى أنه يمكن الوصول إليها واستخدامها فى أى مكان بالبرنامج وفى داخل جميع الدوال . هذا النوع يستهلك الذاكرة نظرا لوجودة طوال البرنامج .
المتغيرات المحلية Local : هى التى يتم إعلانها داخل دالة ، ويكون مجالها محلى وهذا يعنى أنه يمكن الوصول إليها واستخدامها فقط داخل الدالة حيث تم إعلانها . هذا النوع يوفر من الذاكرة حيث يتم تحرير الذاكرة بعد نهاية الدالة .
|