هذا الدرس يتطلب أن تكون لديك خلفية ولو بسيطة في المنطق الرياضي , أو اتجه عبر هذا الرابط إلى درس المنطق الرياضي .
وهناك معامل آخر للقسمة (\) وهو يقوم بحساب ناتج القسمة الصحيح فقط ولا يعطينا قيمة كسرية .
الجدول التالي يوضع المعاملات الحسابية في لغة فيجوال بيسك .نت :
معاملات المقارنة الأساسية المعرفة في فيجوال بيسك .نت هي : أكبر من (<) , و أصغر من (>) , و أكبرمن أو يساوي (=<) , و أصغر من أو يساوي (=>) , و يساوي (=) , و لايساوي (<>) .
لا ننسى أيضاً المعامل (Like) المستخدم في مقارنة السلاسل الحرفية (String) - مع استخدامات اخرى - وهو يقارن بينها من ناحية عدد الأحرف وحتى حالة الأحرف فمثلاً السلسلة "khalid" تعتبر مختلفة عن "KHALID" , انظر للمثال :
هناك نوع آخر من معاملات الاسناد وهي معاملات تمكنك من القيام بعملية حسابية مع اسناد القيمة في نفس الوقت وهي : معامل الجمع مع الاسناد (=+) ومعامل الطرح مع الاسناد (=-) ومعامل الضرب مع الاسناد (=*) ومعامل القسمة مع الاسناد بنوعيها الاثنين (=/) و (=\) , وأيضاً معامل القوة أو الأس (=^) , وإليك مثال للتوضيح :
هناك معاملات اخرى قد لا نحتاج إليها في الوقت الحالي مثل (=<<) و (=>>) وهي خاصة بالازاحة Arethmatic Shift وسنتطرق لها في وقت آخر بإذن الله .
ماهي المعاملات أو Operators :
المعاملات أو Operators بشكل عام هي تلك الرموز (مثل '+') أو الكلمات (مثل 'New') التي نستخدمها لاداء عملية معينة سواء كانت عملية رياضية كالجمع والطرح أو عملية منطقية وغيرها , ولها أيضاً أغراض أخرى .أولاً : المعاملات الحسابية Arithmetic Operators
تمكننا لغة فيجوال بيسك .نت من أداء بعض العمليات الحسابية بشكل مباشر وهي : الجمع (+) والطرح (-) والضرب (*) والقسمة (/) وإيجاد الأس (^) وإيجاد باقي القسمة (Mod) .وهناك معامل آخر للقسمة (\) وهو يقوم بحساب ناتج القسمة الصحيح فقط ولا يعطينا قيمة كسرية .
الجدول التالي يوضع المعاملات الحسابية في لغة فيجوال بيسك .نت :
ثانياً : معاملات المقارنة Comparison Operators
تستطيع بسهولة اجراء عمليات المقارنة بشكل مباشر مع معاملات المقارنة التي عرفتها أيام المدرسة الابتدائية !! وهناك فرق بسيط هو أننا في البرمجة نقرأ الجمل من اليسار إلى اليمين مثلاً الجملة "x>5" نقرأها : هل x أكبر من 5 ؟ وقد تكون صائبة True أو خاطئة False .معاملات المقارنة الأساسية المعرفة في فيجوال بيسك .نت هي : أكبر من (<) , و أصغر من (>) , و أكبرمن أو يساوي (=<) , و أصغر من أو يساوي (=>) , و يساوي (=) , و لايساوي (<>) .
لا ننسى أيضاً المعامل (Like) المستخدم في مقارنة السلاسل الحرفية (String) - مع استخدامات اخرى - وهو يقارن بينها من ناحية عدد الأحرف وحتى حالة الأحرف فمثلاً السلسلة "khalid" تعتبر مختلفة عن "KHALID" , انظر للمثال :
Dim
result As Boolean
result = "Ahmed" Like "Ahmed"
Console.WriteLine(result) 'True
مثال آخر :
Dim
result As String
result = "khalid" Like "KHALID"
Console.WriteLine(result) 'False
هناك أيضاً المعاملين (Is) و (IsNot) ولكن لن اتناولهما الآن لأنهما خاصان بالكائنات Objects (كل شي في وقته زين) .ثالثاً : المعاملات المنطقية Logical Operators
تساعدنا المعاملات المنطقية مع معاملات المقارنة بشكل كبير في التحكم بسير البرنامج حسب شروط تضعها أنت عبر جمل التحكم مثل جملة If ... Else وجمل التكرار مثل جملة For , وهذه المعاملات هي :المعامل Not
يقوم المعامل Not بمهمة نفي القضايا المنطقية ( ' ) وكما تعلم فإن نفي القضية يحولها من صائبة إلى خاطئة ومن خاطئة إلى صائبة , والمثال التالي يريك طريقة استخدامه :
Dim
result As Boolean
result = Not 3 > 2
Console.WriteLine(result) 'False
مثال آخر :
Dim
result As Boolean
result = Not 4 < 2
Console.WriteLine(result) 'True
المعامل And
يستخدم المعامل And لتمثيل الرابط AND المستخدم في القضايا المنطقية , والقضية المستخدم فيها الرابط AND تكون صائبة اذا وفقط اذا كان الطرفان صائبان , مثال بسيط :
Dim
result As Boolean
result = 3 > 2 And 5 > 1
Console.WriteLine(result) 'True
مثال آخر :
Dim
result As Boolean
result = 3 = 2 And 5 > 1
Console.WriteLine(result) 'False
المعامل Or
يستخدم المعامل Or لتمثيل الرابط OR المستخدم في القضايا المنطقية , والقضية المستخدم فيها الرابط OR تكون صائبة اذا كان أحد الطرفين صائب أو كلاهما صائبان , سنعدل على المثال السابق :
Dim
result As Boolean
result = 3 > 2 Or 5 > 1
Console.WriteLine(result) 'True
مثال آخر :
Dim
result As Boolean
result = 3 = 2 Or 5 > 1
Console.WriteLine(result) 'True
المعامل Xor
يقوم المعامل Xor بمهمة الرابط XOR , والقضية المستخدم فيها الرابط XOR تكون صائبة اذا كان أحد الطرفين صائب والآخر خاطئ , نفس المثال السابق بعد التعديل :
Dim
result As Boolean
result = 3 > 2 Xor 5 > 1
Console.WriteLine(result) 'False
مثال آخر :
Dim
result As Boolean
result = 3 = 2 Xor 5 > 1
Console.WriteLine(result) 'True
المعامل AndAlso
يقوم المعامل AndAlso بنفس وظيفة المعامل And ولكن مع اختلاف بسيط , فالمعامل AndAlso يفحص الشرط الأول فاذا كان صائب يفحص الشرط الثاني ولكن اذا كان الشرط الأول خاطئ فإنه يتوقف مباشرة ولا يفحص الشرط الثاني لأن النتيجة معروفة وهي False فلا داعي لفحص الشرط الثاني , مثال :
Dim
result As Boolean
result = 3 > 7 AndAlso 2 < 5
Console.WriteLine(result) 'False
المعامل OrElse
يقوم المعامل OrElse بنفس وظيفة المعامل Or ولكن مع اختلاف بسيط , فالمعامل OrElse يفحص الشرط الأول فاذا كان صائب فإنه يتوقف ولا يفحص الشرط الثاني لأن النتيجة معروفة وهي True فلا داعي لفحص الشرط الثاني , ولكن اذا كان الشرط الأول خاطئ فإنه يفحص الشرط الثاني , مثال :
Dim
result As Boolean
result = 3 > 7 OrElse 2 < 5
Console.WriteLine(result) 'True
رابعاً : معاملات الإسناد Assignment Operators :
أول هذه المعاملات هو المعامل المعروف ( = ) والذي نستخدمه لاسناد القيم للمتغيرات بأنواعها وهو غني عن التعريف .هناك نوع آخر من معاملات الاسناد وهي معاملات تمكنك من القيام بعملية حسابية مع اسناد القيمة في نفس الوقت وهي : معامل الجمع مع الاسناد (=+) ومعامل الطرح مع الاسناد (=-) ومعامل الضرب مع الاسناد (=*) ومعامل القسمة مع الاسناد بنوعيها الاثنين (=/) و (=\) , وأيضاً معامل القوة أو الأس (=^) , وإليك مثال للتوضيح :
Dim
x As Integer =
5
x += 3 'x = x + 3
Console.WriteLine(x) '8
مثال آخر :
Dim
y As Integer =
4
y ^= 2 'y = y ^ 2
Console.WriteLine(y) ' 16
هناك معامل آخر من معاملات الاسناد وهو المعامل (=&) ويستخدم مع السلاسل الحرفية (String) ووظيفته أنه يقوم باضافة سلسلة حرفية إلى سلسلة حرفية أخرى , مثال :
Dim
str1 As String
= "Hello"
Dim
str2 As String
= " World"
str1 &= str2 'str1 = str1 & str2
Console.WriteLine(str1) 'Hello World
مثال آخر :
Dim
str1 As String
= "Welcome"
str1 &= " to my program"
Console.WriteLine(str1) 'Welcome to my program