أهم أقسام المدونة

الصفحات

الأربعاء، 5 أبريل 2017

التعامل مع قيم المتغيرات


التعامل مع قيم المتغيرات:

لا يوجد أبسط من قراءة قيمة متغير، أو كتابة قيمة فيه.. فما عليك إلا استخدام
العلامة = لفعل هذا.. جرب ما يلي في حدث ضغط أي زر:
Dim X As Integer = 3
Dim Y As Integer = X - 1
' يمكنك تغيير قيمة المتغير في أية لحظة
X = 4
Dim Z As Integer
' يمكنك استخدام المتغيرات في أية عملية حسابية
Z = Y – X
' ويمكنك إرسال المتغير إلى أية دالة
MsgBox(X) ' 4
MsgBox(Y) ' 2
MsgBox(Z) ' 2
ويعرف استخدام العلامة = لنقل القيم من متغير إلى آخر باسم عملية التخصيص أو الإحلال Assignment، وهي تتم تبعا للقواعد التالية:

1- يوجد متغير واحد فقط على يسار العلامة =، بينما يوجد متغير واحد على الأقل على يمين العلامة =، مثل:
Z = X
في هذا المثال سيتم نقل القيمة المحفوظة في المتغير X، وحفظها في المتغير Z.
ويمكن أن يوجد أكثر من متغير على يمين العلامة = ، تدخل معا في عملية حسابية.. مثل:
Dim X As Integer = 1
Dim Y As Integer = 2
Dim Z As Integer
Z = X + Y
في هذه الحالة تقوم فيجيوال بيزيك بالخطوات التالية عند تنفيذ البرنامج:
أ. التعويض عن كل متغير بقيمته:
Z = 1 + 2
ب. تنفيذ العملية الحسابية:
Z = 3
ج. وضع الناتج في المتغير الموجود على يسار العلامة = .. هذا سيضع القيمة 3 في المتغير Z.
2- لا يمكن أن توجد عمليات حسابية على يسار العلامة =.. السطر التالي مرفوض:
X + Z = Y
3- المتغير الذي يقع على يسار العلامة "="، هو فقط الذي تتغيّر قيمته.. ولا تتغير قيمة أي متغيرات تقع على يمين العلامة =.. لهذا لو كانت للمتغيرات X و Y و Z القيم 1 و 2 و 0 على التوالي، فإن تنفيذ السطر:
Z = X + Y
سيجعل للمتغير Z القيمة 3، بينما ستظل قيمتا كل من X و Y ثابتتين.
4- يمكن أن يدخل المتغير الموجود على يسار العلامة = ، في العملية الحسابية الموجودة على يمينها، مثل:
Dim X As Integer = 5
X = X + 10
MsgBox(X) ' 15
لاحظ أن فيجيوال بيزيك تقرأ السطر:
X = X + 10
كالتالي: قيمة X الجديدة = قيمة X الحالية + 10
السبب في هذا هو أن فيجيوال بيزيك تنفذ العملية الموجودة على يمين العلامة = أولا، فتقرأ القيمة المحفوظة في X (وهي 5) وتزيد عليها 10 ليصير الناتج 15، ثم تذهب لتحفظ هذا الناتج في المتغير الموجود على يسار العلامة =، فتجد أن هذا المتغير هو X، لهذا تضع فيه الرقم 15.
5- يمكن أن توجد أكثر من علامة = في نفس الأمر، لكن في هذه الحالة ستعتبر فيجيوال بيزيك أن أول علامة من جهة اليسار هي علامة التخصيص، بينما أي علامات أخرى علامات مقارنة.. مثال:
Dim X As Integer = 1
Dim Y As Integer = 2
Dim Z As Boolean
Z = X = Y
عندما تقرأ فيجيوال بيزيك الأمر الأخير، فإنها تفهمه كالتالي:
Z = (X = Y)
وهذا معناه أنها سترى إن كانت قيمة X تساوي قيمة Y، فإن كان هذا صحيحا فستضع القيمة True في المتغير Z، وإن لم يكن صحيحا، فستضع القيمة False في المتغير Z.. إذن فهذا السطر هو اختصار للكود التالي:
If X = Y Then
    Z = True
Else
    Z = False
End If
لاحظ أننا عرفنا Z في المثال السابق كمتغير منطقي Boolean، لهذا يقبل القيمتين True و False.. ويمكننا أيضا تعريف المتغير Z كعدد صحيح Integer.. في هذه الحالة تحول فيجيوال بيزيك القيمة True إلى -1 والقيمة False إلى صفر.. جرب مثلا:
Dim X As Integer = 1
Dim Y As Integer = 1
Dim W As Integer = 2
Dim Z As Boolean = X = Y
MsgBox(Z) ' -1
Z = X = W
MsgBox(Z) ' 0
ستعرض الرسالة الأولى الرقم -1 لأن قيمة X تساوي قيمة Y، بينما ستعرض الرسالة الثانية الرقم 0، لأن قيمة X لا تساوي قيمة W. 

من كتاب المبرمج الصغير للصف الثالث الإعدادي (الفصل الدراسي الثاني).. للتنزيل كاملا:

ليست هناك تعليقات:

إرسال تعليق

ملحوظة: يمكن لأعضاء المدونة فقط إرسال تعليق.