الدرس الاول مفهوم لغات البرمجة[/U][/COLOR]
منذ بداية ظهور الكهرباء وتطورها , ظهرت فكرة معالجة التيار الكهربائي والإستفادة منه
فمثلاً المصباح يأخذ الكهرباء ويعالجها "يحولها" إلى ضوء
والراديو يأخذ الكهرباء ويحولها إلى صوت .. وهكذا
وبالتالي فإن أي عمل مع الكهرباء يحتاج إلى ثلاثة أشياء مهمة
1- مدخلات "تيار كهربائي".
2-معالجة "تحويل التيار إلى ضوء , صوت....".
3-مخرجات "ضوء , صوت ....".
بالإضافة إلى جهاز التحويل "المصباح , الراديو"
الحاسوب لا يخرج عن هذه القاعدة فهو يحتاج إلى مدخلات ليعالجها ويحولها إلى مخرجات
مثلاً عندما تضغط اي زر في لوحة المفاتيح , فإن تيار كهربائي يتولد وينطلق بإتجاه المعالج
المعالج بدوره يحول هذا التيار إلى تيار مختلف ينطلق نحو الشاشة ويظهر الحرف
قد يتسائل البعض كيف يفرق المعالج بين زر وآخر في لوحة المفاتيح , فجميع الأزرار تطلق تيار كهربائي
وهذا هو أساس العمل في الحاسوب , حيث أن معالج الكمبيوتر لا يستقبل تيار مستمر
كما في المصباح , أو في الراديو , أو في أي جهاز كهربائي
وإنما معالج الكمبيوتر يستقبل تيار متغير ,
للتوضيح نفرض أن العدد 1 يمثل مرور تيار والعدد 0 يمثل عدم مرور التيار
عندما يكون المصباح مطفأ يكون التيار الذي يستقبله هكذا
0000000000000000
أما عندما نضيئ المصباح فإن التيار يكون هكذا
1111111111111111
وهكذا مع الراديو و المكواه و.و.و.
لكن في الحاسوب يختلف شكل التيار لأنه يكون متغير فيكون شيئاً هكذا
110001010100011110101000111010101001
وهذه هي الطريقة التي يفرق المعالج حرف عن حرف آخر فالتيار الذي يمثل حرف الواو مثلاً يكون هكذا
11001010 وحرف الطاء يكون هكذا 10111010 وحرف النون يكون هكذا 01010011
وبالتالي فإن كلمة وطن ستكون هكذا
010100111011101011001010
ولا ننسى أن معنى 0 عدم مرور تيار و معنى 1 مرور تيار وبإفتراض أن سرعة قراءة المعالج لرقم هي ثانية واحد
فأن التيار الكهربائي الذي يمثل حرف الواو 11001010 سيكون هكذا:
في البداية ينقطع التيار لفترة ثانية ثم يمر التيار لمدة ثانية
ثم ينقع لمدة ثانية ثم يمر لمدة ثانية ثم ينقطع لمدة ثانيتين ثم يمر لمدة ثانيتين
أي أن المعالج سيستغرق ثمان ثواني لقراءة حرف الواو
في المثال السابق افترضنا أن سرعة المعالج هي ثانية واحدة لكنها في الحقيقة أسرع بكثير
ومن هنا أعتقد انا فهمنا ما معنى سرعة المعالج "هي سرعة قراءته للرقم الواحد"
والرقم الواحد سواءاً كان 1 أو 0 يسمى "بت" Bit
فعندما تكون سرعة المعالج 3200 يعني أنه يقراً 3200 ميجا بايت في الثانية الواحدة
والميجا يحتوي على 1024 كيلو بايت والكيلو بايت يحتوي على 1024 بايت
والبايت يحتوي على 8 بت
يعني أن هذا المعالج يقراً 3277832 بت في الثانية الواحدة
يعني أنو بيقرأ حرف الواو في مدة 0.00000244 من الثانية
والآن بعد أن عرفنا كيف يقرأ الكمبيوتر الكلمات بقي أن نعرف كيف ينفذ الكمبيوتر الأوامر المطلوبة منه.
كان الحاسوب في بدايته يستقبل الأوامر كتيار كهربائي مثل ما رأينا سابقاً
لكن هذه الطريقة غير عملية , فإذا أردنا أن نأمر الكمبيوتر بأن يطبع كلمة وطن على الشاشة
فسيكون الأمر شبيهاً بهذا 01010011101010101011010100111011101011001010
فهذه هل اللغة التي يفهمها الحاسوب , لكنها لغة صعبة الفهم على الإنسان
لذلك ظهر ما يسمى بلغات البرمجة " وهي لغات قريبة من لغة الإنسان ويفهما الحاسوب"
حيث أن لغات البرمجه سهلت التعامل مع الحاسوب وأصبح من الممكن إصدار الأوامر للحاسوب هكذا
- الكود:
-
Print "وطن"
وحيث أن الحاسوب لا يفهم هذه اللغة يوجد ما يسمى بالمترجم , وهو برنامج ملحق بلغة البرمجة
وظيفته قراءة الأوامر المدخلة وتحويلها إلى تيار يفهمه المعالج , لكن عملية الترجمة تتم بشكل غير ظاهر
فما على المبرمج إلا أن يكتب الأوامر ويشغل البرنامج .. والمترجم يقرأ Print "وطن" ويحولها إلى
01010011101010101011010100111011101011001010 ويرسلها إلى المعالج..
مفهوم الكائنات في لغات البرمجة كل شيئ يعتبر كائن له صفات وله أفعال كأي كائن في الوجود
فمثلاً السيارة كائن له صفات "مثل اللون والشكل وعدد الإطارات...." وله أفعال مثل "السير , التوقف, ..."
لا حظوا أن الأفعال قد تكون من الكائن نفسه "السير" و قد تكون من كائن آخر
في الحاسوب أيضاً الأمر لا يختلف فكل شيئ يعتبر كائن له صفات وأفعال
فمثلاً هذا المنتدى كائن له صفات وأفعال
وزر"إقتباس" تحت هذه المشاركة هو كائن له صفات مثل اللون
و الكلام المكتوب عليه و الحجم... وله أفعال مثل أنه يعمل رد جديد مع إقتباس الرد الحالي...
و صندوق النص في آخر هذه الصفحة عند الرد السريع ,
يعتبر كائن له صفات كاللون وله أفعال كإرسال الرد إلى قاعدة بيانات المنتدى..
وزر ابدأ أو Start في الوندوز هو كائن وشريط المهام Task Bar هو كائن يحتوي على كائن آخر "زر ابدأ"
إذاً يمكن لكائن أن يحتوي على عدة كائنات فالسيارة كائن يحتوي على كائن آخر وهي الإطارات مثلاً
التطبيق بعد تنصيب البرامج افتح مجلد CS الي أنشأناه في القرص D
وداخل المجلد CS قم بإنشاء مجلد جديد اسمه Projects
من سطح المكتب لإتح ايقونة برنامج بيئة التطوير وهذا شكلها:
بعد أن تفتح البيئة سيظهر لك زرين في الوسط هكذا :
أنقر على زر New Solution المؤشر عليه بالأحمر
ستظهر لك هذه النافذة:
أنقر لى إشارة + الموظحه في رقم 1 ثم انقر علىwindows applications كما في رقم 2
ثم أنقر على Windows Application كما في رقم 3 , عند صندوق اسم المشروع أكتي إسم المشروع الذي ترغب به وليكن
MyMediaPlayer كما في رقم 4 ثم انقر على الزر في رقم 5 وإختر مجلد Projects
الذر أنشاته سابقاً داخل مجلد CS في القرص D ثم أنقر على زر Create في رقم 6
بتظهر لك نوافذ المشروع وفيها شفرة المشروع الإفتراضية , تحت نافذة الشفرة انقر على زر Design كما في الصورة
ستظهر أمامك هذه النوافذ:
في اليسار انقر على Windows Forms كما في رقم 1 ستظهر لك جميع الكائنات التي نحتاجها في البرامج
وفي الوسط ستظهر لك نافذة فارغة نسميها Form وهذه النافذة هي النافذة الرئيسية للمشروع
ولا ننسى إن هذه النافذة تعتبر كائن لها صفات مثل إسمها " MyMediaPlayer" ولها أفعال مثل ما سنلاحظ لاحقاً
على اليسار يوجد جدول وهذا هو جدول صفات الكائنات ومن خلاله يمكن تغيير أي صفة من صفات الكائن
ما رأيك لو قمنا بتغيير لون النافذة إلى الأزرق.. نذهب إلى جدول الخصائص ونبحث عن خاصية BackColor
ننقر على الصندوق أمامها ستظهر قائمة ألوان , نختار منها أي لون وليكن الأزرق
نلاحظ أن لون النافذة تغير , يعني أننا غيرنا صفة من صفات هذا الكائن
الآن نرجع الكائن للونه الطبيعي
يوجد صفة أيضاً مهمة إسمها Text إبحث عنها في جدول الصفات عند رقم 2
ستجد مكتوب أمامها MyMediaPlayer
إمسحها وأكتب بدلها "مشغل الصوت والفيديو".
ملاحظة: لسهولة الوصول إلى الصفات يمكن ترتيب الصفات بالترتيب الأبجدي بالنقر على زر الترتيب في أعلى جدول الصفات : من نافذة الأدوات على اليسار انقر على صورة الزر المكتوب أمامه Button
واستمر في الضغط واسحب الماوس فوق النافذة الفارغة
سيكون شكل النافذة هكذا:
يمكن تغيير حجم أو موقع الزر , الآن تأكد من إختيار الزر و اذهب إلى نافذة الصفات
إبحث عن صفة اسمها Text وأكتب بدل button1 أكتب "ترحيب".
لاحظ أنا غيرنا صفة من صفات الزر , ولكن كيف نغير من أفعال الزر لأنه كائن ولا بد له من أفعال
والزر يمكن أن يفعل أي شيء لكنا نريده أن يظهر رسالة ترحيب ..
للذهاب إلى أفعال الزر أنقر نقراً مزدوجا Double Click على الزر , ستظهر لك نافذة الشفرة :
وينتقل مؤشر الماوس إلى مكان بين حاصرتين مكتوب فوقة void Button1Click...
ومعنى هذا أن المعالج عند ضغط الزر سينفذ الأوامر المكتوبة بين الحاصرتين
لا تهتم للشفرة المكتوبة فوق ولا تعدل فيها أبدا فهي مهمه لتشغيل البرنامج
الآن بين الحاصرتين يجب أن نكتب الأمر الذي يظهر الرسالة وهذا الأمر هو
- الكود:
-
MessageBox.Show("مرحباً بكم إلى سي شارب");
لنشرح الأمر , أولا MessageBox هو كائن في لغة البرمجة يمثل إظهار رسالة
و Show هو كائن أخر داخل كائن MessageBox ويقوم بطباعة الرسالة على الشاشة
وكلمة "مرحباً بكم إلى سي شارب" تعتبر مدخل للكائن وهو يعالج الأمر ويخرج الرسالة على الشاشة
لاحظ أن الأمر MessageBox.Show يعني أظهر رسالة , ولكن المعالج لن ينفذة لأنه لا يعرف ماذا يكتب في الرسالة
لذلك يجب فتح قوس وكتابة الرسالة بين علامة إقتباس , والقوسين تعني أن بينهما مدخلات ,
أما علا مة الأقتباس فهي مهمة لأنه بدونها سيعتبر المترجم أن مرحباً بكم إلى سي شارب هي جزء من الأمر
ولا يفهم هذا الأمر لذلك لن يعمل البرنامج ويجب أن تكون الرسالة بين علامتي أقتباس حتى يتجاوزها المترجم
في نهاية السطر يجب كتابة الفاصلة المنقوطه حتى نخبر المترجم أن هذه هي نهاية السطر وينتقل إلى السطر التالي
ملاحظة: يجب أن تكون حذراً جداً عند كتابة الشفرة فزيادة نقطة أو حرف تجعل المترجم يرتبك ولا يشغل البرنامج وأيضاً يجب مراعاة الأحرف الكبيرة والصغيرة فالمترجم لن يفهم هذا الأمر messagebox بينما يفهم هذا الأمر MessageBox بقي لنا أن نشغل البرنامج ونرى كيف سيعمل , لتشغيل البرنامج أنقر على زر التشغيل أعلى نافذة الشفرة:
عند تشغيل البرنامج ستظهر لك النافذة الأساسية وعند النقر على زر الترحيب ستظر رسالة الترحيب:
مبروك لقد نجحت في تنفيذ أول برنامج بلغة C#
الواجب أنشئ مشروع جديد و انشئ فيه زر لرسالة ترحيب
غيّر لون النافذة الأساسية , و غير حجمها , وغير لون الزر وغير حجمه
من الممكن أيضاً إنشاء زر آخر يظهر رسالة أخرى وأرسل التطبيق
لإرسال التطبيق: اذهب إلى مجلد CS في القرص D ثم إلى مجلد Projects ثم إلى مجلد MyMediaPlayer
ثم إلى مجلد bin ثم إلى مجلد Debug ستجد ملف تنفيذي بإسم MyMediaPlayer
هذا هو برنامجك الأول .. أضغطه ببرنامج الونزيب وأرسله لي
ملاحظة:عند عمل الواجب أو عند تجربة كائنات أخرى , أنشئ مشروع جديد للعبث به , لكن لا تغير أي شيئ في المشروع الذي نطبق عليه .نهاية الدرس الأول.