recent
أخبار ساخنة

المتغيرات في برنامج فيجوال بيسيك Visual Basics


شرح تعريف المتغيرات في برنامج فيجوال بيسيك Visual Basic

أنواع المتغيرات في فيجوال بيسيك Visual Basic

هنالك العديد من أنواع المتغيرات في فيجوال بيسيك، لكن سنعرض منها فقط أربعة متغيرات رئيسية وهي على النحو التالي:
1- العدد الصحيح Integer
2- العدد الحقيقي Double
3- النص String
4- الجبر البولي Boolean

تعريف المتغيرات في فيجوال بيسيك

يتم تعريف المتغيرات في بيئة الفيجوال بيسيك على النحو التالي:
Dim اسم المتغير    As نوع المتغير
فمثلا، إذا أردنا تعريف المتغير x على أنه عدد صحيح، فنكتب الأمر
Dim x As Integer
أما إذا أردنا تعريف المتغير y على أنه عدد حقيقي
Dim y As Double

أولا: العدد الصحيح Integer

يطلق على الأعداد التي لا تشمل في قيمها على أعشار أو كسور اسم الأعداد الصحيحة. وهي مجموعة الأعداد:
… , -4 , -3 , -2 , -1 , 0 , 1 , 2 , 3 , 4 , …
فإذا أردنا تخزين أي من تلك الأعداد داخل المتغير Z، فيجب تعريف هذا المتغير على أنه عدد صحيح بحسب الصيغة التالية:
Dim Z As Integer
مثال على تخزين وطباعة الأعداد الصحيحة في فيجوال بيسيك:
قم بكتابة كود (أوامر برمجية) لتخزين العدد 7 داخل المتغير Z وطباعة قيمة ذلك المتغير على شاشة الحاسوب؟
بما أن العدد المطلوب تخزينه داخل المتغير Z هو عدد صحيح، فيجب تعريف المتغير Z على أنه عدد صحح أيضا. ومن هنا نجد أن الحل لهذا المثال هو:
Dim Z As Integer
Z = 7
Print Z

ثانيا: العدد الحقيقي Double

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

 مثال: قم بتخزين العدد 3.14 داخل المتغير R وطباعة الناتج على شاشة الحاسوب؟
في هذا المثال، العدد 3.14 هو عدد غير صحيح، بل هو عدد حقيقي، وبما أن المتغير R سيقوم باحتواء وتخزين العدد الحقيقي 3.14 لذا وجب تعريف المتغير R على أنه من النوع متغير حقيقي أي Double كما في الكود البرمجي التالي:
Dim R As Double
R = 3.14
Print R

ثالثا: النص String

يطلق على جميع الأعداد والأحرف والرموز المطلوب اظهارها كما هي بدلا من اظهار قيمها باسم النص، أي String.
مثال: قم بتخزين وطباعة الاسم Ahmad داخل المتغير النصي S ؟
Dim S As String  
S = “Ahmad”
Print S
ويجب مراعاة وضع علامتي التنصيص عند الاسم المطلوب تخزينه أي في حال النصوص
لكي نقوم بالتوضيح أكثر أنظر المثال التالي:
 قم بتعريف المتغير S على أنه متغير من النوع نص
Dim S As String  
 قم بتخزين العبارة Hello World! بداخل المتغير النصي S
S = “Hello World!
 سيطبع على الشاشة محتويات المتغير S وهي العبارة Hello World!
Print S
 سيطبع الحرف S على الشاشة  كما هو
Print “S”

نلاحظ في مثالنا السابق استخدام علامتي التنصيص " " عند وضع النص داخلهما، وذلك لمعرفة بداية النص ونهايته، إضافة الى التمييز بين طباعة رمز المتغير وطباعة محتوى ذلك المتغير.
مثال على المتغير النصي String مع علامات التنصيص: قم بطباعة جدول الضرب للعدد 7 لأول خمسة أرقام؟
في هذا المثال، قد لا تضطر الى تعريف متغير نصي، بل العمل مباشرة بأمر الطباعة Print  مع علامات التنصيص كما في الكود التالي:
Print “7 X 1 = ”;  7 * 1
Print “7 X 2 = ”;  7 * 2
Print “7 X 3 = ”;  7 * 3
Print “7 X 4 = ”;  7 * 4
Print “7 X 5 = ”;  7 * 5
علما أن إشارة النجمة * تعني الضرب في لغة الفيجوال بيسيك. أما الفاصلة المنقوطة ; والتي يطلق عليها Semicolon فهي للفصل بين النص المطبوع والقيم الحسابية التي تليها.
والشكل التالي يوضح القيم المطبوعة على الشاشة للمثال السابق:


سؤال: ماذا لو طلب منا طباعة جدول الضرب للعدد 7 لأول مئة رقم؟ أي
7 X 1 , 7 x 2 , … 7 x 100 !!
في هذه الحالة لا نستخدم تكرار الجمل السابقة، بل نلجأ الى ما يعرف بالدورات Loops وهي على عدة أشكال، حيث سنتطرق اليها لاحقا.

رابعا: الجبر البولي Boolean

عندما يتم تعريف متغير على أنه متغير بولي أو منطقي أي لا يأخذ الا قيمتين متضادتين، فإننا نعرفه على أنه متغير بولي.
مثال: قم بتخزين وطباعة المتغير البولي B التي قيمته "صحيح"
Dim B As Boolean  
B = True
Print B        
Print Not B
نلاحظ من الكود أعلاه أن الشاشة ستظهر عليها القيمة True أولا، والناتجة من تنفيذ الأمر Print B، ثم سيتم طباعة معكوس القيمة True كما في الأمر Print Not B لتظهر الكلمة False بعد الكلمة True. إذ أن الكلمة Not تقوم بنفي القيمة التي بعدها أي تغيير قيمة المتغير البولي B من True الى False كما في الشكل التالي:


- ما الفرق بين العدد الصحيح Integer والعدد الحقيقي Double في بيئة الفيجوال بيسيك؟

قد يتساءل العديد: لماذا لا نستخدم التعريف Double ليحل محل التعريف Integer في جميع الحالات؟ ومن هنا تأتي الإجابة التالية، نعم نستطيع، لكن سيتم حجز مكان في الذاكرة في حالة الـ Double  بضعف المساحة التي يحتاجها المتغير من نوع Integer. إذ أنه في حالة الـ Double يتم حجز ذاكرة بمقدار 8 بايت، أم في حال Integer فإنه يحجز مساحة تخزينية بمقدار 4 بايت فقط. ومنه سيزداد حجم البرنامج الذي سيتم تصميمه بازدياد أعداد تلك المتغيرات واستخدامها. لذلك، لا يفضل تعريف المتغيرات التي من النوع عدد صحيح Integer على أنها عدد حقيقي Double.

- هل يمكن تخزين العدد الحقيقي 3.14 داخل متغير من نوع Integer؟ وماذا يحدث؟

نعم، يجوز تخزين العدد العشري 3.14 داخل متغير من نوع عدد صحيح Integer، إلا أنه سيتم تقريب القيمة العشرية من العدد 3.14 ليصبح العدد الصحيح 3. أما إذا أردنا تخزين القيمة 4.7 داخل متغير من نوع Integer فسيتم تخزينه على أنه العدد المقرب 5.  

شروط تسمية المتغيرات

هنالك شرطان لتسمية المتغيرات في فيجوال بيسيك:

1- أن يبدأ المتغير في حرف (بالإنجليزية) مثل المتغيرات x , x2 , r23d, Ahmad فجميعها أسماء متغيرات صالحة وقابلة للتعريف.
2- أن لا يشتمل على رموز، فالمتغيرات التالية D@ , r! , x%  هي جميعها أسماء لا تصلح لأن تكون أسماء متغيرات في بيئة الفيجوال بيسيك. ويظهر لك عبارة الخطأ Expected: identifier.

author-img
العلم للجميع

تعليقات

3 تعليقات
إرسال تعليق
  • Unknown photo
    Unknown11 نوفمبر 2019 في 9:50 ص

    سلام ..ممكن اعرف ماهو الاثر المترتب على تمسية هذه الانواع جميعها .؟ يعني لماذا لم نقم بتسميتها اسما واحداً فقط ..هل هناك أثر مترتب على ذالك؟

    ممكن اجابة

    حذف التعليق
    • العلم للجميع photo
      العلم للجميع11 نوفمبر 2019 في 12:41 م

      السبب هو ببساطة؛ كمية الذاكرة التي سيقوم بحجزها تختلف من متغير الى آخر.
      فمثلاً: المتغير من النوع Double يحجز ذاكرة بمقدار 8 بت.
      المتغير من النوع Integer يحجز ذاكرة بمقدار 4 بت.
      المتغير من النوع String يحجز ذاكرة بمقدار يحدده المستخدم.
      المتغير من النوع Boolean يحجز ذاكرة بمقدار 1 بت فقط.
      لذلك نلاحظ أن أنواع المتغيرلات لها علاقة مباشرة مع الحجم التخزيني والتنفيذي للبرنامج الناتج.

      حذف التعليق
    • Unknown photo
      Unknown18 مايو 2021 في 10:48 م

      صح ام خطأ
      يعتبر Name اسم متغير صحيح فى لغة VB.Net

      حذف التعليق
      google-playkhamsatmostaqltradent