محاضرة برمجة - أنواع البيانات PDF

Summary

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

Full Transcript

‫ا صل ا ث ني‬ ‫أنواع ا ب ن ت‬ ‫أهداف ا صل ا ث ني‬ ‫ح‬ ‫سة لفص‬ ‫م‬ ‫ب د إن هاء لطال‬ ‫رت طة ب يكو قا ً ع ى أ ‪:‬‬ ‫نشطة‬ ‫لرق ة‬ ‫ل انا‬ ‫د أنو‬ ‫‪‬‬...

‫ا صل ا ث ني‬ ‫أنواع ا ب ن ت‬ ‫أهداف ا صل ا ث ني‬ ‫ح‬ ‫سة لفص‬ ‫م‬ ‫ب د إن هاء لطال‬ ‫رت طة ب يكو قا ً ع ى أ ‪:‬‬ ‫نشطة‬ ‫لرق ة‬ ‫ل انا‬ ‫د أنو‬ ‫‪‬‬ ‫لصة‬ ‫ل انا‬ ‫د أنو‬ ‫‪‬‬ ‫غ‬ ‫عى‬ ‫‪‬ي ر‬ ‫ع ى لثو ب‬ ‫‪‬ي ر‬ ‫ل و م ‪Operators‬‬ ‫ب‬ ‫‪‬ي ا‬ ‫ل خص‬ ‫‪ ‬عو م‬ ‫اب ة‬ ‫‪ ‬لوم‬ ‫ا نة‬ ‫‪ ‬عو م‬ ‫ل‬ ‫‪ ‬عو م‬ ‫ط ة‬ ‫‪ ‬لوم‬ ‫‪Content Page‬‬ ‫مقدمة‬ ‫لو نظرنا إلى مراحل العمل فى الحاسب سنجد أنها عبارة عن ‪ ٣‬خطوات أساسية وهى‬ ‫)إدخال ‪ -‬معالجة ‪ -‬إخراج( ‪ُ ،‬تعرف المرحلة اﻷولى بمرحلة إدخال البيانات والمرحلة الثانية‬ ‫هى معالجة البيانات وإجراء العمليات الحسابية والمنطقية عليها ثم مرحلة إخراج النتائج أو‬ ‫المعلومات ‪ ،‬والبيانات هى عبارة عن قيم أوليه ُتجرى عليها بعض العمليات لتصبح معلومات‬ ‫أى قيم لها معنى ومدلول يمكن اﻻستفادة منها ‪ ،‬إذن فجميع مراحل العمل داخل الحاسب‬ ‫تحتوى على بيانات والبيانات لها صور متعددة فيمكن أن تكون أرقام أو حروف أو عﻼمات أو‬ ‫صور أو صوت أو فيديو ‪ ،‬هذه الصور جميعا يتعامل معها الحاسب على هيئة أرقام بالنظام‬ ‫الثنائى ) لغة اﻵلة ( وتخزن بالذاكرة أثناء فترة العمل عليها ‪ ،‬بناء على ما ذكرناه فإن أى‬ ‫برنامج يتعامل مع بيانات بحيث يستقبل بيانات من المستخدم ويرسلها للحاسب ثم يستقبل‬ ‫النتائج من الحاسب ويعرضها للمستخدم‪.‬‬ ‫أنواع البيانات ‪Data Types‬‬ ‫فى لغات البرمجة إذا أردت أن تتعامل مع بيانات معينة يجب عليك أن تحجز لها مكانا فى‬ ‫ذاكرة الحاسب حتى يستطيع الحاسب التعامل معها ‪ ،‬هذه البيانات يمكن أن تكون أعداد‬ ‫واﻷعداد تختلف من حيث النوع فمنها الصحيح ومنها الحقيقى ) الذى يحتوى على فاصلة‬ ‫عشرية ( ويمكن أن يكون العدد قيمته صغيرة أو كبيرة ‪ ،‬والبيانات أيضا يمكن أن تكون‬ ‫نصوص والنص يحتوى على حروف أو أرقام أو عﻼمات أو خليط بينهما ‪ ،‬من هذا اﻻختﻼف‬ ‫تم تقسيم البيانات إلى أنواع فى لغات البرمجة حتى يستطيع المترجم التعرف على البيانات‬ ‫وإجراء العمليات المطلوبة عليها وحجز المساحة المناسبة لها فى الذاكرة حتى ﻻ يتم إهدار‬ ‫المساحة المتوفرة فى الذاكرة بسرعة وتوقف عمل البرنامج أو توقف النظام بالكامل‪.‬‬ ‫توجد فى فيجوال بيزك العديد من أنواع البيانات ‪ ،‬فاﻷعداد لها أنواع تخزن بها قيم صحيحة‬ ‫وأنواع تخزن بها قيم كسرية ‪ ،‬وكذلك توجد أنواع بيانات نصية ومنطقية وتاريخ ووقت‬ ‫وغير ذلك الكثير‪.‬‬ ‫‪Content Page‬‬ ‫‪٢٠‬‬ ‫أنواع البيانات الرقمية الصحيحة فى فيجوال بيزك‪:‬‬ ‫الحجم‬ ‫القيمة العظمى‬ ‫القيمة الصغرى‬ ‫النوع‬ ‫بالبايت‬ ‫‪٢٥٥‬‬ ‫‪٠‬‬ ‫‪١‬‬ ‫‪Byte‬‬ ‫‪١٢٧‬‬ ‫‪١٢٨-‬‬ ‫‪١‬‬ ‫‪SByte‬‬ ‫‪٣٢٧٦٧‬‬ ‫‪٣٢٧٦٨-‬‬ ‫‪٢‬‬ ‫‪Short‬‬ ‫‪٦٥٥٣٥‬‬ ‫‪٠‬‬ ‫‪٢‬‬ ‫‪UShort‬‬ ‫‪٢١٤٧٤٨٣٦٤٧‬‬ ‫‪٢١٤٧٤٨٣٦٤٨-‬‬ ‫‪٤‬‬ ‫‪Integer‬‬ ‫‪٤٢٩٤٩٦٧٢٩٥‬‬ ‫‪٠‬‬ ‫‪٤‬‬ ‫‪UInteger‬‬ ‫‪٩٢٢٣٣٧٢٠٣٦٨٥٤٧٧٥٨٠٧‬‬ ‫‪٩٢٢٣٣٧٢٠٣٦٨٥٤٧٧٥٨٠٨-‬‬ ‫‪٨‬‬ ‫‪Long‬‬ ‫‪١٨٤٤٦٧٤٤٠٧٣٧٠٩٥٥١٦١٥‬‬ ‫‪٠‬‬ ‫‪٨‬‬ ‫‪ULong‬‬ ‫أنواع البيانات الرقمية العشرية ‪:‬‬ ‫الحجم‬ ‫القيمة العظمى‬ ‫القيمة الصغرى‬ ‫النوع‬ ‫بالبايت‬ ‫‪3.4028235E38‬‬ ‫‪-3.4028235E38‬‬ ‫‪٤‬‬ ‫‪Single‬‬ ‫‪1.79769313486231E308‬‬ ‫‪1.79769313486231E308-‬‬ ‫‪٨‬‬ ‫‪Double‬‬ ‫يستخدم لتمثيل اﻷعداد الصحيحة والعشرية ويمكن تحديد‬ ‫‪١٦‬‬ ‫‪Decimal‬‬ ‫الدقة العشرية من صفر إلى ‪ ٢٨‬خانة عشرية‬ ‫أنواع البيانات النصية ‪:‬‬ ‫الحجم‬ ‫القيمة‬ ‫النوع‬ ‫بالبايت‬ ‫يخزن به حرف واحد بترميز ‪Unicode‬‬ ‫‪٢‬‬ ‫‪Char‬‬ ‫يخزن به سلسلة حرفية من صفر إلى ‪ ٢‬مليار حرف بترميز‬ ‫غير محدود‬ ‫‪String‬‬ ‫‪Unicode‬‬ ‫‪Content Page‬‬ ‫‪٢١‬‬ ‫‪ Boolean‬ويخزن به قيمة منطقية‬ ‫كما يوجد أيضا أنواع أخرى من البيانات أهمها‬ ‫‪ True/False‬ونوع ‪ Date‬ويخزن به التاريخ والوقت‬ ‫کیف تحدد النوع المناسب للبیانات التى ستستخدمها فى برنامجک؟‬ ‫بنــاء علــى تحديــد نــوع البيــان يقــوم المتــرجم بحجــز المــساحة الﻼزمــة لتخزينــه فــى الــذاكرة ‪،‬‬ ‫ويجب مراعـاة تحديـد النـوع المناسـب حـسب القيمـة التـى سـيتم التعامـل مع هـا فمـثﻼ إذا كـان‬ ‫المطلــوب هــو إدخــال قيمــة رقميــة لدرجــة طالــب فــى امتحــان مــادة اللغــة العربيــة فكيــف يــتم‬ ‫اختيار النوع المناسب لهذه القمية ‪ ،‬ببساطة اتبع الخطوات التالية‪:‬‬ ‫حدد أدنى قيمة يمكن إدخالها فى درجة اللغة العربية ) صفر (‬ ‫حدد أكبر قيمة يمكن إدخالها فى درجة اللغة العربية ) ‪( ٤٠‬‬ ‫حدد ما إذا كانت القيمة المطلوب إدخالها صحيحة أم عشرية ) قيمة صحيحة (‬ ‫إذن فالمطلوب هو حجز مساحة فى الذاكرة لتخزين عدد صحيح يقبل إدخال اﻷعداد من‬ ‫صفر إلى ‪٤٠‬‬ ‫بالنظر إلى جدول أنواع البيانات الرقمية الصحيحة تجد أن النوع اﻷنسب فى هذه الحالة هو‬ ‫‪ Byte‬أو ‪SByte‬‬ ‫لماذا ﻻ نختار النوع ‪ Short‬أو ‪ Integer‬مثﻼ أو أى نوع صحيح آخر؟‬ ‫ﻷن هذه اﻷنواع تحجز مساحة أكبر فى الذاكرة والقيمة المطلوب إدخالها لن تتعدى الرقم ‪٤٠‬‬ ‫فليس هناك فائدة من تحديد نوع بيان أكبر بل بالعكس سيؤدى ذلك إلى إهدار المساحة‬ ‫المتوفرة فى الذاكرة وإبطاء تنفيذ العمليات التى ستتم على هذا البيان بدون داعى‪.‬‬ ‫المتغيرات ‪Variables‬‬ ‫المتغير هو مكان ُيحجز فى ذاكرة الحاسب لتخزين قيمة معينة هذه القيمة يمكن لها أن تتغير‬ ‫أثناء تشغيل البرنامج ‪ ،‬وهذا المتغير له اسم ونوع وحجم وقيمة‪.‬‬ ‫قواعد تسمية المتغيرات‪:‬‬ ‫أن يبدأ اسم المتغير بحرف أبجدى أو عﻼمة _ ) الشرطة التحتية (‬ ‫‪-‬‬ ‫يمكن أن يحتوى اسم المتغير على أرقام أو حروف أو عﻼمة _‬ ‫‪-‬‬ ‫‪ -‬عدم استخدام الكلمات المحجوزة للغة ‪Keywords‬‬ ‫عدم استخدام أى عﻼمات غير عﻼمة الشرطة التحتية _‬ ‫‪-‬‬ ‫عدم استخدام المسافات داخل اسم المتغير‬ ‫‪-‬‬ ‫ﻻ يجب أن يتعدى اسم المتغير ‪ ٢٥٥‬حرف‬ ‫‪-‬‬ ‫عدم استخدام اسم لمتغير آخر فى نفس مجال الرؤية‬ ‫‪-‬‬ ‫‪Content Page‬‬ ‫‪٢٢‬‬ ‫تحديد نوع المتغير‪:‬‬ ‫يتم تحديد نوع المتغير من اﻷنواع التى تم عرضها فى الجداول السابقة أو من اﻷنواع‬ ‫اﻷخرى الموجودة فى لغة فيجوال بيزك دوت نت ‪ ،‬ويراعى عند تحديد نوع المتغير أن يكون‬ ‫النوع مناسب للقيمة التى سيتم إسنادها إليه وأن يكون المدى المسموح به لهذا النوع‬ ‫مناسب ﻷقصى قيمة سيتم تخزينها فيه‪.‬‬ ‫مثال‪:‬‬ ‫إذا أردت كتابة برنامج لحساب النسبة المئوية لمجموع طالب فى المرحلة الثانوية ‪ ،‬فما هى‬ ‫المدخﻼت والمخرجات الخاصة بالبرنامج وأنواع البيانات المناسبة لكل منها‬ ‫مدخﻼت البرنامج ستكون ) درجة الطالب – المجموع الكلى (‬ ‫مخرجات البرنامج ) النسبة المئوية (‬ ‫أنواع البيانات المناسبة‪:‬‬ ‫بالنسبة للمدخﻼت فدرجة الطالب ستكون رقم يبدأ من الصفر وينتهى عند المجموع الكلى‬ ‫ويمكن أن تكون الدرجة رقما صحيحا ) ‪ ( ٣٢٠‬أو ربما تحتوى على جزء عشرى ) ‪، ( ٣٥٣٥‬‬ ‫وبالنسبة للمجموع الكلى فسيكون رقما صحيحا ثابتا وليكن ) ‪ ( ٤١٠‬فالنوع المناسب له هو‬ ‫‪ Short‬أو ‪ UShort‬ودرجة الطالب ستكون من النوع ‪ Single‬ﻵنها يمكن أن تحتوى على جزء‬ ‫عشرى‪.‬‬ ‫أما بالنسبة للمخرجات فستكون رقم يبدأ من الصفر وينتهى عند ‪ ١٠٠‬وأيضا يمكن أن يتضمن‬ ‫جزء عشرى ) ‪ ( ٩٢٢٨‬فالنوع المناسب له هو ‪.Single‬‬ ‫حجم المتغير ) المدى المتاح له فى الذاكرة ( ‪:‬‬ ‫ُيقاس حجم المتغير بوحدة البايت ‪ Byte‬والتى تحتوى بدورها على عدد ‪ Bit ٨‬والـ ‪ Bit‬هى‬ ‫أصغر وحدة تخزين فى الحاسب حيث ُيخزن بها رقم ) ‪ ( ١‬أو ) ‪ ( ٠‬بالنظام الثنائى ) لغة اﻵلة (‬ ‫قيمة المتغير ‪:‬‬ ‫هى القيمة التى ُتسند إليه والتى يمكن أن تتغير أثناء تشغيل البرنامج ويجب أن تقع هذه‬ ‫القيمة فى المدى المسموح به لنوع المتغير فمثﻼ متغير من نوع ‪ SByte‬من الخطأ أن ُتسند له‬ ‫قيمة مثل ‪ ١٩٠‬ﻵن أقصى قيمة مسموح بها لهذا النوع هى ‪١٢٧‬‬ ‫‪Content Page‬‬ ‫‪٢٣‬‬ ‫اﻹعﻼن عن المتغير ‪Declaring Variable :‬‬ ‫يجب اﻹعﻼن عن أى متغير قبل استخدامه وعملية اﻹعﻼن تتضمن إنشاء المتغير وتحديد‬ ‫اسمه ونوعه وبناء على النوع المحدد للمتغير يتم حجز المساحة الﻼزمة فى الذاكرة‬ ‫صيغة اﻹعﻼن عن المتغير‪:‬‬ ‫]‪Dim [Variable Name] As [Data Type‬‬ ‫تستخدم الكلمة المحجوزة ‪ Dim‬لﻺعﻼن عن المتغير‬ ‫يتم تحديد اسم المتغير ‪ Variable Name‬وفق قواعد تسمية المتغيرات‬ ‫ثم تكتب الكلمة المحجوزة ‪As‬‬ ‫ثم يتم تحديد نوع المتغير ‪Data Type‬‬ ‫مثال‪:‬‬ ‫‪Dim Student_Mark As Short‬‬ ‫‪Dim FirstName As String‬‬ ‫‪Dim Status4 As Boolean‬‬ ‫ويمكن اﻹعﻼن عن أكثر من متغير من نفس النوع بهذا الشكل ‪:‬‬ ‫‪Dim A, B, C As Byte‬‬ ‫إسناد قيمة للمتغير ‪: Assignment‬‬ ‫يتم إسناد القيم للمتغيرات بهذا الشكل ‪:‬‬ ‫]‪[Variable Name] = [Value‬‬ ‫ُيكتب اسم المتغير ثم عﻼمة اﻹسناد = ثم القيمة‬ ‫والقيمة يمكن أن تكون قيمة مباشرة مثل ‪:‬‬ ‫‪Student_Mark = 120‬‬ ‫ويمكن أن تكون تعبير ‪ Expression‬مثل ‪:‬‬ ‫‪Student_Mark = 9 * 6‬‬ ‫ويمكن أن تكون قيمة من متغير آخر مثل ‪:‬‬ ‫‪Student_Mark = C‬‬ ‫ويمكن إسناد قيمة للمتغير أثناء اﻹعﻼن عنه ‪:‬‬ ‫‪Dim Student_Mark As Integer = 180‬‬ ‫‪Content Page‬‬ ‫‪٢٤‬‬ ‫الثوابت ‪Constants‬‬ ‫الثابت هو مكان ُيحجز فى ذاكرة الحاسب لتخزين قيمة معينة هذه القيمة ﻻ يمكن أن تتغير‬ ‫أثناء تشغيل البرنامج ‪ ،‬ويتم تسمية الثوابت بنفس قواعد تسمية المتغيرات‪.‬‬ ‫ويتم اﻹعﻼن عن الثوابت بهذه الصورة ‪:‬‬ ‫]‪Const [Constant Name] As [Data Type] = [Value‬‬ ‫تستخدم الكلمة المحجوزة ‪ Const‬لﻺعﻼن عن الثوابت ‪ ،‬واﻹعﻼن عن الثابت يجب أن يشمل‬ ‫إسناد قيمة له والسبب هو أنه ﻻ يمكن تغيير هذه القيمة بعد اﻹعﻼن عنه‬ ‫والفرق بين الثابت والمتغير فى طريقة إسناد القيمة هى أن الثابت يجب أن تضع القيمة‬ ‫المجردة مباشرة أو تستخدم تعبير ُينتج قيمة رقمية أو نصية وﻻ يمكن أن تستخدم أسماء‬ ‫متغيرات أخرى أو تستدعى دوال فى تعبير ﻹسناد قيمة للثابت‪.‬‬ ‫أمثلة ‪:‬‬ ‫إسناد قيمة مجردة مباشرة ) صحيح (‬ ‫‪Const X As Byte = 90‬‬ ‫"‪Const FirstName As String = "Sameh‬‬ ‫إسناد قيمة من تعبير ) صحيح (‬ ‫‪Const Mark As Integer = 9 * 3‬‬ ‫إسناد قيمة من متغير ) خطأ (‬ ‫‪Const Z As Single = B‬‬ ‫علما بأن ‪ B‬هو متغير رقمى‬ ‫إسناد قيمة من تعبير يحتوى على دالة ) خطأ (‬ ‫)‪Const Total As Short = Fix(a‬‬ ‫نطاق رؤية المتغيرات والثوابت‪:‬‬ ‫والمقصود بنطاق الرؤية هو اﻷماكن التى يكون فيها المتغير أو الثابت مرئيا بحيث يمكن‬ ‫استخدامه ‪ ،‬فإذا تم اﻹعﻼن عن متغير داخل إجراء معين ) اﻹجراء هو جزء من الكود له‬ ‫اسم محدد ويتم تنفيذه باستدعاءه أو عند وقوع حدث معين ( فى هذه الحالة ﻻيمكن‬ ‫استخدام هذا المتغير خارج هذا اﻹجراء‬ ‫مثال‬ ‫)(‪Private Sub Calc‬‬ ‫‪Dim Number1 As Integer‬‬ ‫‪End Sub‬‬ ‫‪Content Page‬‬ ‫‪٢٥‬‬ ‫تم اﻹعﻼن عن متغير رقمى باسم ‪ Number1‬داخل اﻹجراء المسمى ‪ ، Calc‬هذا المتغير ﻻ‬ ‫يمكن استخدامه خارج نطاق اﻹجراء ‪Calc‬‬ ‫أما إذا تم اﻹعﻼن عن المتغير داخل وحدة الكود الرئيسية فسيكون مرئيا داخل جميع‬ ‫اﻹجراءات التى تتضمنها هذه الوحدة‬ ‫‪Module Module1‬‬ ‫‪Dim Number1 As Integer‬‬ ‫)(‪Sub Main‬‬ ‫‪End Sub‬‬ ‫)(‪Private Sub Calc‬‬ ‫‪End Sub‬‬ ‫‪End Module‬‬ ‫فى هذا المثال تم اﻹعﻼن عن المتغير داخل وحدة الكود ‪ Module1‬والتى تضم بداخلها‬ ‫اﻹجراء ‪ Main‬واﻹجراء ‪ ، Calc‬فى هذه الحالة يمكن استخدام المتغير فى أى مكان داخل‬ ‫الوحدة وأيضا داخل اﻹجراءات ‪ Main‬و ‪Calc‬‬ ‫العوامل ‪Operators‬‬ ‫تستخدم العوامل فى إجراء العمليات المختلفة على القيم كما تستخدم فى تكوين التعبيرات‬ ‫‪ Expressions‬عن طريق الربط بين المتغيرات والثوابت والتعبيرات اﻷخرى ‪ ،‬وتوجد فى لغة‬ ‫فيجوال بيزك دوت نت عدة أنواع من العوامل منها‪:‬‬ ‫‪ ‬عوامل التخصيص ‪Assignment Operators‬‬ ‫‪ ‬العوامل الحسابية ‪Arithmetic Operators‬‬ ‫‪ ‬عوامل المقارنة ‪Comparison Operators‬‬ ‫‪ ‬عوامل التسلسل ‪Concatenation Operators‬‬ ‫‪ ‬العوامل المنطقية ‪Logical Operators‬‬ ‫عوامل التخصيص‪:‬‬ ‫يستخدم العامل = لتخصيص قيمة لمتغير أو خاصية معينة بالصيغة التالية‪:‬‬ ‫‪Property = Value‬‬ ‫‪VariableName = Value‬‬ ‫‪Content Page‬‬ ‫‪٢٦‬‬ ‫الجانب اﻷيسر من عبارة التخصيص يحتوى على اسم الخاصية أو المتغير المطلوب‬ ‫تخصيص قيمة له ‪ ،‬والجانب اﻷيمن يحتوى على أى شىء له قيمة مناسبة لنوع المتغير أو‬ ‫الخاصية ‪ ،‬أى يمكن أن يحتوى الجانب اﻷيمن من عبارة التخصيص على قيمة مجردة أو‬ ‫خاصية أو ثابت أو متغير أو تعبير‪.‬‬ ‫أمثلة‪:‬‬ ‫‪A = 10‬‬ ‫‪B = A‬‬ ‫‪C = (B * A) - 2‬‬ ‫"‪TextBox1.Text = "Alazhar‬‬ ‫‪MyName = Label1.Text‬‬ ‫العوامل الحسابية ‪Arithmetic Operators‬‬ ‫تستخدم العوامل الحسابية ﻹجراء العمليات الحسابية المختلفة‬ ‫الصيغة‬ ‫الوظيفة‬ ‫العامل‬ ‫‪A+B‬‬ ‫الجمع‬ ‫‪+‬‬ ‫‪A-B‬‬ ‫الطرح‬ ‫‪-‬‬ ‫‪A*B‬‬ ‫الضرب‬ ‫*‬ ‫‪A/B‬‬ ‫القسمة‬ ‫‪/‬‬ ‫‪A\B‬‬ ‫قسمة اﻷعداد الصحيحة‬ ‫\‬ ‫‪A Mod B‬‬ ‫باقى القسمة‬ ‫‪Mod‬‬ ‫‪A^2‬‬ ‫الرفع لقوة ) اﻷس (‬ ‫^‬ ‫ً‬ ‫أيضا فى لغة فيجوال بيزك دوت نت عوامل تسمى بعوامل التعيين الحسابى وهى‬ ‫ويتوفر‬ ‫خليط بين العوامل الحسابية وعامل التخصيص وهى اختصار لعمليات رياضية شائعة‬ ‫التعبير باستخدام عوامل التعيين الحسابى‬ ‫التعبير الحسابى‬ ‫‪a += 1‬‬ ‫‪a=a+1‬‬ ‫‪b -= 6‬‬ ‫‪b=b-6‬‬ ‫‪c *= 3‬‬ ‫‪c=c*3‬‬ ‫‪d /= 2‬‬ ‫‪d=d/2‬‬ ‫‪x \= 7‬‬ ‫‪x=x\7‬‬ ‫‪Content Page‬‬ ‫‪٢٧‬‬ ‫عوامل المقارنة ‪Comparison Operators‬‬ ‫تقوم عوامل المقارنة بمقارنة تعبيرين وإعادة قيمة منطقية إما ‪ True‬أو ‪False‬‬ ‫المعنى‬ ‫العامل‬ ‫يساوى‬ ‫=‬ ‫ﻻ يساوى‬ ‫>‬ ‫أصغر من‬ ‫‬ ‫أصغر من أو يساوى‬ ‫=b‬لو افترضنا أن قيمة ‪ a‬هى ‪ ١٠‬وقيمة ‪ b‬هى ‪ ٧‬فإن نتيجة عملية المقارنة ستكون‬ ‫‪True‬‬ ‫ً‬ ‫أيضا فإن نتيجة عملية المقارنة‬ ‫أما التعبير ‪ xz‬فلو كانت قيمة ‪ x‬هى ‪ ٩‬وقيمة ‪ z‬هى ‪٩‬‬ ‫ستكون ‪False‬‬ ‫عوامل التسلسل ‪Concatenation Operators‬‬ ‫ً‬ ‫معا لتكون سلسلة واحدة ويستخدم العامل &‬ ‫تقوم هذه العوامل بربط عدد من السﻼسل‬ ‫والعامل ‪ +‬ﻹجراء هذه العملية‬ ‫لربط سلسلتين حرفيتين لتكوين سلسلة واحدة‪:‬‬ ‫‪Dim MyName As String‬‬ ‫"‪MyName = "Alazhar" & "Alsharief‬‬ ‫أعلنا عن متغير نصى باسم ‪ MyName‬وأسندنا له قيمتين نصيتين تم دمجهما باستخدام‬ ‫العامل &‬ ‫ً‬ ‫أيضا أن‬ ‫بعد عملية اﻹسناد ستصبح قيمة المتغير تساوى "‪ "AlazharAlsharief‬ويمكن‬ ‫نستخدم العامل ‪ +‬فى هذه الحالة ‪ ،‬ويمكن دمج قيم متغيرات نصية بالتعديل على المثال‬ ‫السابق سيصبح بالشكل التالى‪:‬‬ ‫‪Dim MyName, S1, S2 As String‬‬ ‫"‪S1 = "Alazhar‬‬ ‫"‪S2 = "Alsharief‬‬ ‫‪MyName = S1 + S2‬‬ ‫‪Content Page‬‬ ‫‪٢٨‬‬ ‫العوامل المنطقية ‪Logical Operators‬‬ ‫تقوم العوامل المنطقية بمقارنة التعبيرات المنطقية وإعادة نتيجة منطقية ‪ ،‬ولتوضيح ذلك‬ ‫ً‬ ‫سابقا فإن التعبير ‪ x>y‬هو تعبير منطقى‬ ‫فبالعودة إلى عوامل المقارنة التى ذكرناها‬ ‫استخدمنا فيه عامل المقارنة > للمقارنة بين متغيرين هما ‪ x‬و ‪y‬‬ ‫فإذا كانت قيمة المتغير ‪ x‬أكبر من قيمة المتغير ‪ y‬فإن نتيجة عملية المقارنة ستكون ‪True‬‬ ‫وستكون النتيجة ‪ False‬إذا كانت قيمة المتغير ‪ x‬أقل من أو تساوى قيمة المتغير ‪y‬‬ ‫فإذا أردنا مقارنة تعبيرين منطقيين أو أكثر نستخدم العوامل المنطقية ومنها‪:‬‬ ‫المعنى‬ ‫مثال‬ ‫العامل‬ ‫إذا كانت قيمة التعبير ‪x>y‬‬ ‫هى ‪ True‬وقيمة التعبير‬ ‫ً‬ ‫أيضا فإن‬ ‫‪ x20‬هى ‪True‬‬ ‫‪x>y And x20‬‬ ‫‪And‬‬ ‫نتيجة المقارنة بين التعبيرين‬ ‫ستكون ‪ True‬وفيما عدا ذلك‬ ‫ستكون النتيجة ‪False‬‬ ‫نتيجة هذا التعبير ستصبح‬ ‫فى جميع الحاﻻت ‪ True‬فيما‬ ‫عدا حالة واحدة وهى أن‬ ‫‪x=c‬‬ ‫‪Or‬‬ ‫تكون قيمة التعبيرين هى‬ ‫‪False‬‬ ‫عامل ‪ Not‬هو عامل أحادى‬ ‫يقوم بنفى القيمة التالية له ‪،‬‬ ‫فإذا كانت قيمة التعبير ‪a>b‬‬ ‫‪Not a>b‬‬ ‫‪Not‬‬ ‫هى ‪ True‬ستكون النتيجة‬ ‫‪ False‬والعكس صحيح‬ ‫‪Content Page‬‬ ‫‪٢٩‬‬ ‫أولويات تنفيذ العمليات الحسابية‪:‬‬ ‫المعنى‬ ‫العامل‬ ‫العمليات التى تقع بين أقواس وإذا تداخلت اﻷقواس يتم تنفيذ اﻷقواس‬ ‫)(‬ ‫الداخلية ثم الخارجية‬ ‫عمليات الرفع للقوة ) اﻷس (‬ ‫^‬ ‫عمليات الضرب والقسمة بأولوية من اليسار إلى اليمين‬ ‫‪* /‬‬ ‫عملية قسمة اﻷعداد الصحيحة‬ ‫\‬ ‫عملية إيجاد باقى القسمة‬ ‫‪Mod‬‬ ‫عمليات الجمع والطرح بأولوية من اليسار إلى اليمين‬ ‫‪- +‬‬ ‫مثال‪:‬‬ ‫‪Dim‬‬ ‫‪x, y, z As Integer‬‬ ‫= ‪x‬‬ ‫‪9‬‬ ‫= ‪y‬‬ ‫‪5‬‬ ‫= ‪z‬‬ ‫‪x + y * 4 – 1‬‬ ‫ستكون أولوية التنفيذ بهذا الشكل‪:‬‬ ‫‪Content Page‬‬ ‫‪٣٠‬‬ ‫مثال لحساب النسبة المئوية لمجموع طالب‪:‬‬ ‫‪Dim mark, pers As Single‬‬ ‫‪Const total As UShort = 410‬‬ ‫‪mark = 389.5‬‬ ‫‪pers = (mark / total) * 100‬‬ ‫سيتم تنفيذ العملية التى تقع بين اﻷقواس أوﻻً ثم يتم ضرب الناتج فى ‪ ١٠٠‬كما فى الشكل‬ ‫التالى‬ ‫سؤال‪ :‬ما هى النتيجة فى حالة عدم استخدام أقواس لحساب النسبة المئوية بحيث تكون‬ ‫العملية الحسابية بهذا الشكل ‪:‬‬ ‫‪pers = mark / total * 100‬‬ ‫؟‬ ‫‪Content Page‬‬ ‫‪٣١‬‬

Use Quizgecko on...
Browser
Browser