المتغيرات

مؤمل محمد راضيمنذ سنتين

 المتغيرات

 

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

وقد ادى ذلك لضهور شيء اساسي وضروري جدا في لغات البرمجة عامة  يسمى بالمتغيرات  (Variables The), فهي قيم تحفض مؤقتا داخل ذاكرة الحاسوب .

وعلى النقيض من المتغيرات يوجد لدينا ثوابت يمكننا استخدامها ايضا داخل البرنامج

وسنتطرق لشرحها في الفصل الثاني

 تسمية المتغيرات :-

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

- يمكن أن تحتوي أسماء المتغيرات على الحروف a-z ، و A-Z ، والأرقام من 0 إلى 9 بالإضافة إلى  "_".

 - لا يمكن أن تبدأ أسماء المتغيرات برقم.

 - لا يمكن أن تتطابق أسماء المتغيرات مع الكلمة الأساسية للغة C #. على سبيل المثال ، لا يمكن استخدام base ، و char ، و default ، و int ، و object ، و this ، و null  وif و   goto و غيرها الكثير كأسماء متغيرة.

أمثلة الأسماء الصحيحة:

Name     *

 first_Name      *

_name1    *

أسماء غير صحيحة (ستؤدي إلى خطأ تجميع):

* 1

* if

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

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

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

 - في لغه C # من المقبول  أن أسماء المتغيرات تبدأ بحرف صغير وتتضمن حروف صغيرة ، كل كلمة جديدة ، ومع ذلك ،من المستحسن ا تبدأ بحرف كبير. على سبيل المثال ، firstName   الاسم صحيح وأفضل في الاستخدام من first_Name . يعتبر استخدام الحرف _ في أسماء المتغيرات أسلوب تسمية غير صحيح حيث يفضل استخدام حرف كبير بداية كل كلمة جديدة.

- يجب ألا تكون الأسماء المتغيرة طويلة جدًا ولا قصيرة جدًا  فهي تحتاج فقط إلى توضيح الغرض من المتغير في سياقها.

 - يجب استخدام الأحرف الكبيرة والصغيرة بحرص كما تميزها C # لانها تعتبر لغه برمجة حساسة لحالة الاحرف على سبيل المثال ،  Nameو name متغيرات مختلفة.

فيما يلي بعض الأمثلة على المتغيرات المسماة جيدًا: -

firstName   *  

age    *

startIndex    *

 lastNegativeNumberIndex  *

 

 

 

 

انواع المتغيرات 

يوجد العديد من المتغيرات التي يمكننا استخدامها في لغة الC#

يتم توزيع انواع بيانات المتغيرات الى الانواع الاتية وسوف نتطرق لشرحها بالتفصيل في وقت لاحق   :-

Integer types -  الاعداد الصحيحة

وتضم ..

Sbyte }  / byte / short / ushort / int / uint / long /  ulong {

- Real Floating-Point Types الاعداد العشرية

وتضم ..

{Float/ Double}

Real type with decimal precision -  الدقة العشرية

وتضم ..

Decimal} {

- Boolean المنطق

وتضم ..

{ Bool }

- Character type نوع الاحرف 

وتضم ..

{  char }

String  type -  نوع مجموعه الاحرف

{ string}وتضم ..

- Object type نوع الكائن

وتضم ..

{ object }

 

 

 

جدول يضهر لنا المتغيرات بانواعها والقيمة الافتراضية لكل واحدة

مع قيمة الحد الادنى وقيمة الحد الاقصى :-

الحد الاقصى للقيمة

الحد الادنى للقيمة

القيمة الافتراضية

نوع المتغير

127-

-128

     0

sbyte

255

0

       0

byte

32767

-32768

0

short

65535

0

0

ushort

2147483647

-2147483648

0

int

4294967295

0

0u

uint

9223372036854775807

-9223372036854775807

0L

long

18446744073709551615

0

0u

ulong

1 038 ×3.4±

1.5 × 10-45        ±

0.0f

float

10308 ×1.7 ±

10-324 × 5.0±

0.0d

double

       1028 ×7.9  ±

10-28 ×1.0±

0.0m

decimal

true

false

false

bool

'\uffff'

'\u0000'

'\u0000'

char

--

--

null

string

--

--

null

object

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

نوع الاعداد الصحيحة التي تمثل sbyte و byte و short و ushort و int و uint و long و ulong. دعنا نفحصها واحدة تلو الأخرى. نوع sbyte هو عدد صحيح موقعة 8 بت. وهذا يعني أن عدد القيم الممكنة له هو 28 ، أي 256 قيمة تمامًا ، ويمكن أن تكون قيمًا إيجابية وسلبية. الحد الأدنى للقيمة التي يمكن تخزينها في sbyte هو SByte.MinValue = -128 (-27) ، والقيمة القصوى هي SByte.MaxValue = 127 (27-1). القيمة الافتراضية هي الرقم 0. نوع البايت هو نوع صحيح 8 بت غير موقعة. كما أن لديها 256 عددًا صحيحًا مختلفًا (28) لا يمكن إلا أن تكون غير سالبة. قيمته الافتراضية هي رقم 0. القيمة التي تم أخذها الحد الأدنى هي Byte.MinValue = 0 ، والحد الأقصى هو Byte.MaxValue = 255 (28-1). النوع القصير هو عدد صحيح موقعة 16 بت. الحد الأدنى للقيمة هو Int16.MinValue = -32768 (-215) ، والحد الأقصى هو Int16.MaxValue = 32767 (215-1). القيمة الافتراضية للنوع القصير هي الرقم 0. نوع UShort هو عدد صحيح بدون إشارة 16 بت. الحد الأدنى للقيمة التي يمكن تخزينها هو UInt16.MinValue = 0 ، والحد الأدنى للقيمة هو - UInt16.MaxValue = 65535 (216-1). قيمته الافتراضية هي الرقم 0. النوع الصحيح التالي الذي سننظر فيه هو int. وهو عدد صحيح موقعة 32 بت. كما نلاحظ ، يزيد نمو البتات من القيم المحتملة التي يمكن تخزينها من النوع. القيمة الافتراضية لـ int هي 0. الحد الأدنى للقيمة هو Int32.MinValue = -2،147،483،648 (-231) ، والقيمة القصوى الخاصة به هي Int32.MaxValue = 2،147،483،647 (231-1).

ماهو الاكثر استخداما ؟

نوع int هو النوع الأكثر استخدامًا في البرمجة. واكثر نوع يمكننا الاستفادة من استخدامه , عادةً ما يستخدم المبرمجون int عندما يعملون مع الأعداد الصحيحة لأن هذا النوع يكون طبيعياً للمعالجات الدقيقة ، وهو "كبير" بشكل كاف لمعظم العمليات الحسابية التي يتم إجراؤها في الحياة اليومية.

 

 

 

مثال على استخدام Integer types متغير  الاعداد الصحيحة في كتابة برنامج :-

لاحض اننا قمنا بكتابة نوع المتغير ثم اسم المتغير ثم قمنا بتعيين قيمة له

 

Int num1 = 11;

 

 

                 

 

                                                                                                                                                                                            من الضروري وضع الفارزة المنقوطة بعد اعطاء القيمة *

 

 

 

نواع الاعداد الحقيقية في C # هي الأرقام الحقيقية التي نعرفها من الرياضيات. يتم تمثيلها بنقطة فاصلة وفقًا لمعيار IEEE 754 القياسي

- Float

النوع الأول الذي سننظر فيه هو نوع float الحقيقي ذو 32 بت. وهو معروف أيضًا برقم حقيقي دقيق. قيمته الافتراضية هي 0.0f أو 0.0F .

يشير الحرف 'f' عند وضعه في النهاية بشكل صريح إلى أن الرقم هو من نوع float. المزيد عن هذه اللاحقة الخاصة يمكننا قراءة النص في الجدول الخاص بالمتغيرات ..

- Double

هو النوع المزدوج وهو نوع 64 بت ذات قيمة افتراضية قدرها 0.0d و 0.0 D (واللاحقة 'd' ليست إلزامية لأن جميع الأرقام الحقيقية في C # هي من النوع المزدوج بشكل افتراضي). يحتوي هذا النوع دقة من 15 إلى 16 أرقام عشرية. نطاق القيم ، الذي يمكن تسجيله بشكل مزدوج , ايضا يمكنك مراجعه الجدول الخاص بالمتغيرات لتعرف اكثر عن هذا النوع .

هنا مثال على طريقة كتابة المتغير من هذا النوع :-

 

 

 

نوع الاعداد العشرية  Decimal  حيث يتم تمثيل الأرقام عبر نظام الأرقام العشري بدلاً من الرقم الثنائي (ذو الفاصلة العشرية ). وبالتالي ، لا تفقد القيمة العشرية في C # الدقة عند تخزين ومعالجة أرقام الفاصلة العشرية. نوع البيانات للأرقام الحقيقية مع الدقة العشرية في C # هو نوع عشري 128 بت. يحتوي على دقة من المنازل العشرية 28 إلى 29. القيمة الافتراضية هي 0.0m. يشير الحرف "m" في النهاية إلى أن الرقم هو من النوع العشري , من الواضح أن الرقم العشري يمكن أن يخزن أرقامًا موجبة أو سالبية كبيرة جدًا (على سبيل المثال مع مئات الأرقام) ، ولا تقارب القيم قريبة جدًا من الصفر. ومع ذلك ، فإن هذا النوع يكاد يكون مثاليًا للحسابات المالية في العملات الرقمية (البيتكوين Bitcoin   و ‏ريبيل Ripple  و ايثريوم Ethereum) لأنه يمثل الأرقام كمجموع تكون القوى من 10 والخسائر من التقريب أصغر بكثير عند استخدام التمثيل الثنائي. الأرقام الحقيقية للنوع العشري مريحة للغاية للحسابات المالية - حساب العائدات ، الرسوم ، الضرائب ، الفوائد ، المدفوعات ، إلخ. في ما يلي مثال نعلن فيه عن متغير من النوع العشري ويحدد قيمته:-

 

          

* من الضروري وضعm))  بعد العدد خلف الفاصلة العشرية 

-

         النوع العشري مناسب للغاية للحسابات المالية في العملات الافتراضية حيث الدقة بالغة الأهمية.

 

 

النوع المنطقي Boolean Type

يتم تعريف النوع المنطقي بالكلمة الأساسية bool. له قيمتين محتملتين: true و false. قيمته الافتراضية  false . يتم استخدامه في معظم الأحيان لتخزين نتيجة الحساب من التعبيرات المنطقية.

مثال على استخدام المتغير المنطقي :-

 

في المثال أعلاه ، نعلن عن متغيرين من النوع int ، نقارنهما ونعين النتيجة إلى متغير bool greaterAB. وبالمثل ، نفعل نفس الشيء للمتغير equalA1. إذا كان المتغير greaterAB صحيحًا ، فسيتم طباعة A> B على وحدة التحكم ، وإلا يتم طباعة A <= B.

يستخدم المتغير المنطقي بكثرة في برمجة الالعاب وخاصة في السكربت

المتعلق بادخالات الاعب

 

 

 

نوع الحرف Character Type

هو حرف واحد. يتم الإعلان عنه في C # مع الكلمة الأساسية char.

 يعد جدول Unicode معيارًا تقنيًا يمثل أي حرف (حرف وعلامات ترقيم وما إلى ذلك) من جميع اللغات البشرية كنظم كتابة (جميع اللغات والحروف الهجائية) مع عدد صحيح أو تسلسل من الأعداد الصحيحة , أصغر قيمة ممكنة لمتغير char هي 0 ، وأكبر قيمة هي 65535. تكون قيم char type عبارة عن أحرف أو أحرف أخرى

 

لاحض اننا استخدمنا حرف واحد مع المتغير

    char

  يجب استخدام علامة التنصيص الاحادية عند تعيين الحرف *

فتكون النتيجة كالاتي :-

   نوع الاحرف  Strings  

هي تسلسل من الأحرف. في C # يتم تعريفها بواسطة سلسلة الكلمات الأساسية. قيمتها الافتراضية هي فارغة. يتم تضمين سلاسل بين علامات اقتباس. يمكن إجراء العديد من عمليات معالجة النصوص باستخدام السلاسل: تسلسل (ضم سلسلة واحدة مع آخر) ، وتقسيمها بواسطة فاصل معين ، والبحث ، واستبدال الحروف

وهذا مثال على الاعلان عنه واستخدامه :-

* لاحض اننا قمنا بتعيين اسم داخل علامتي الاقتباس

فتكون النتيجة :-

 

 

نوع الكائن Object Type

 هو نوع خاص ، وهو أصل جميع الأنواع الأخرى في .NET Framework. مع الإعلان باستخدام Object الكلمة الرئيسية ، يمكن أن يأخذ القيم من أي نوع آخر. هو نوع مرجع ، أي (عنوان) لمنطقة ذاكرة يخزن القيمة الفعلية , ويستخدم في الالعاب بكثرة خاصة في محرك الالعاب unity  للاعلان عن وجود جسم معين

للسكريبت حتى يتعامل معه المحرر .

وهذا مثال على استخدام نوع الكائن :-

 

لاحض اننا استخدمنا متغير ال Objectنفسه لكننا قمنا بتعيين قيمتين مختلفتين

ومن نوع مختلف

النتيجه:-

 

المحاضر

مؤمل محمد راضي

الكلمات الدليلية

عن الدرس

0 إعجاب
1 متابع
0 مشاركة
1594 مشاهدات
منذ سنتين

التعليقات (0)

لايوجد لديك حساب في عالم البرمجة؟

تحب تنضم لعالم البرمجة؟ وتنشئ عالمك الخاص، تنشر المقالات، الدورات، تشارك المبرمجين وتساعد الآخرين، اشترك الآن بخطوات يسيرة !