ماجد العريفي نائب المير العام
الجنس : عدد المساهمات : 119 نقاط : 173 السٌّمعَة : 0 تاريخ التسجيل : 25/04/2009 الموقع : www.yemen22.mam9 المزاج : أهوى العلم والتعلم
| موضوع: سلسلة دروس في لغة الجافا الموجهة الأحد يوليو 26, 2009 2:40 pm | |
| تعلم البرمجة بلغة الجافا دورة تدريبية يقدمها مؤسس موقع المدرس العربي | | | الدرس الأول | الأهداف أن يعطي المتدرب البرنامج اسما بواسطة الجملة كلاس أن ينظم المتدرب البرنامج بواسطة الحاصرات أن يحفظ المتدرب المعلومات في متغير أن يغير قيمة المتغير أن يعرض المعلومات المحفوظة في المتغير أن يترجم البرنامج أن يشغل المتدرب البرنامج أن يقوم المتدرب البرنامج
| | ما الخطوات التي سوف نسير عليها لكتابة برنامجي الأول ؟ | الخطوات هي أولا : كتابة البرنامج بمعالج النصوص الذي اخترته وهو بالنسبة لي البرنامج الذي اشرنا اليه في الصفحة السابقة واذا كنت قد جهزته كما ذكرنا سالفا فقد اختصرت نصف المسافة ولكن اذا كنت قد فضلت برنامج الوورد فلا بأس ولكن تذكر أن تحفظ الملف كنص فقط يعني بدون تنسيق وإن كنت اخترت برنامج الدوس ـ المحرر ـ إيديت ـ فهو جيد من حيث أنه يقوم بترقيم الأسطر وهي مفيدة في حالة إكتشاف الأخطاء Class ثانيا : اعطاء البرنامج الذي سوف تكتبه إسما بواسطة الجملة { } ثالثا : تنظيم البرنامج بواسطة الحاصرات رابعا : حفظ المعلومات في متغير وتغيير قيمة المتغير خامسا : عرض المعلومات المحفوظة في المتغير سادسا : حفظ البرنامج سابعا : ترجمة البرنامج ثامنا : تشغيل البرنامج تاسعا : تقويم البرنامج ـ تصحيح الأخطاء والتعديل ـ
| | PepClock إنشاء البرنامج الأول | ياصديقي أود أن نتعرف على أسلوبنا في التدريب على البرمجة بلغة الجافا لتتضح من البداية الصورة فسوف نأخذ في البداية مثالا لتطبيق ـ أبليكيشن ـ ثم نتبعه ببريمج ـ أبلت ـ وبذا نكون من البداية قد تعرفنا على الجافا بشقيها التطبيقات والبريمجات الخاصة بالإنترنت ومن خلال هذه الأمثلة الأولية سوف نقارن بين جافا أبليكشن وجافا أبلت ــ دعنا الآن نسرع الى البرنامج الأول الساعة السكانية
| | الهدف من البرنامج | الهدف من البرنامج حساب معدل الزيادة السكانية في إحدى الدول ـ مقدار إزدياد عدد السكان في الثانية ـ في الدقيقة ـ في الساعة
| | ما الأسلوب الذي سوف نتبعه ؟ | لتحديد معدل الزيادة السكانية نقوم بتزويد الحاسب بمقدار الزيادة السكانية في هذه الدولة في اليوم الواحد
| | هل أبدأ الآن بالكتابة ؟ |
نعم هيا بنا أستعمل برنامج النصوص الذي اخترته واكتب فيه ما يلي مع مراعاة عدم كتابة رقم السطر والنقطتان 1: class PopClock { 2: public static void main (String[] arguments) { 3: // My first java program goes here 4: int pop = 730000; 5: pop = pop / 1440; 6: System.out.println("A minute's worth of pop is " + pop); 7: } 8: }
| | مهلا يا أستاذ ما هذه الطلاسم ؟ | قبل أن نقوم بتفسير أي شيء وحتى لا ننسى في زحام هذه الطلاسم يجب أن نقوم بما يلي على وجه السرعة PopClock.java أولا بمجرد أن تنتهي من كتابة برنامجك الأول احفظه باسم تأكد من استعمال الأحرف الكبيرة تماما كما يظهر في البرنامج المكتوب أعلاه استعمل مفتاح الجدولة ومفتاح المسافة لإدراج المسافات الفارغة قبل بعض الأسطر نأتي الآن الى تفسير الطلاسم كما تقول السطر رقم 1 PopClock هذا السطر كأنك تقول للحاسب الآتي ـ أيها الحاسب لوسمحت مولودي الأول سمه من فضلك statement كما تذكر من المقدمة في الصفحات السابقة أن كل أمر تعطيه للحاسب يسمى جملة class الجملة طريقة تعطي اسما لبرنامج الحاسب ونلاحظ أن اسم البرنامج يطابق مع اسم الملف السطر رقم 2 2: public static void main (String[] arguments) { يعلم هذا السطر الحاسب بالبيان التالي ـ إن الجزء الأساسي من برنامجي البكر يبدأ من هنا ـ بما أن برامج الجافا تنظم في أقسام مختلفة اذا يجب أن تكون هناك طريقة معينة لتعريف الجزء الأول الذي يجب أن يبادر الحاسب ليعالجه main كل البرامج التي سوف نكتبها بعون الله تعالى تستعمل لنقطة البدء كلمة تستعمل الحاصرتين لتجميع أجزاء البرنامج ونلاحظ أن كل ما يوجد بين الحاصرتين حاصرة الفتح وحاصرة الغلق يسمى مجموعة وتسمى المجوعات كتلا ويمكن استعمال كتلا ضمن كتل أخرى السطر رقم 3 3: // My first java program goes here هذا السطر يسمى تعليق ويضعه المبرمج كملاحظة لمن يقرأ نص البرنامج والعلامة // في بداية السطر تعلم الحاسب بوجوب تجاهل هذا السطر السطر رقم 4 4: int pop = 730000; تأمر هذه الجملة الحاسب بأن يخزن القيمة 730000 والتي تعين مقدار ازدياد عدد السكان في دولة ما في اليوم الواحد في متغير المتغيرات ـ مواقع تخزين يستعملها الحاسب لتخزين المعلومات ويمكن تغيير قيمة المتغير وسوف نتناول في الدرس القادم موضع المتغيرات بالتفصيل ولكن الان نشير على وجه السرعة الى أن المتغيرات تستعمل لإحتواء أنواع مختلفة من المعلومات مثل الارقام الصحيحة والعشرية والحروف والنصوص وبالتالي يجب أن نحدد للحاسب أي نوع من هذه المعلومات سوف نضعها في المتغير وفي برنامجنا الأول الذي نحن بصدده نلاحظ أن المتغير يحتوي على رقم int صحيح وهذا نعرفه من وضع اسم المتغير int المتغير يمكنه تخزين قيم تقع بين -2.1 بليون و 2.1بليون نلاحظ أن الجملة في السطر الرابع تنتهي بفاصلة منقوطة ; حيث تستعمل هذه الفاصلات المنقوطة عند نهاية كل أمر في برامج جافا ويستعملها الحاسب لتحديد نهاية الأمر وبدايةالأمر التالي السطر رقم 5 5: pop = pop / 1440; يعطي هذا السطر للحاسب أمرا بأن يجعل المتغير بوب يساوي قيمته الحالية مقسومة على 1440 وهنا سوف يقوم الحاسب بقسمة قيمة المتغير على عدد الدقائق في اليوم وبالتالي نوجد مقدار الزيادة في عدد السكان في الدقيقة الواحدة السطر السادس 6: System.out.println("A minute's worth of pop is " + pop); في هذا السطر نحدد للحاسب الذي يجب أن يعرضه وهو النص التالي ( مقدار الزيادة السكانية في الدقيقة تساوي ) يليها القيمة المخزنة في المتغير بوب System.out.println تعني اعرض سطرا على جهاز خرج النظام ( المونيتور ) فيتم عرض كل ما يوجد بين القوسين
| | كيف يمكنني أن أترجم برنامجي الأول |
ترجمة البرنامج تعني تحويل الأوامر التي أعطيناها للحاسب الى نسق يفهمه الحاسب وبالتالي يجب ترجمة برامج الجافا قبل تنفيذها ويتم ترجمة برامج الجافا في عدة تطوير الجافا التي حملناها من موقع صن ميكروسيستيمز عن طريق أداة مساعدة تستخدم سطر الأوامر ( الدوس ) وتسمى هذه الاداة جافاسي ونلاحظ هنا أن مستخدمي نظام يونيكس لن يجدوا غرابة في التعامل مع عدة تطوير الجافا حيث يتم التعامل في معظم استخدامات يونيكس عن طريق سطر الأوامر أما مستخدمي ويندوز بأي إصدارة فيمكنهم استخدام الدوس عن طريق ابدأ ـ البرامج ـ موجه ميكروسوفت دوس javac ترجمة البرنامج عن طريق أولا باستخدام برنامجنا
اذا لم يكن لديك هذا البرنامج لا تغضب ( مافيش مشكلة ) دع الأمور تجري في أعنتها ولا تبيتن الا خالي البال ما بين غمضة عين وانتباهتها يغير الله من حال الى حال انتقل الى المجلد الذي حفظت فيه الملف واكتب الأمر التالي في موجه الدوس
javac PopClock.java عند عدم حدوث أخطاء سيتم انشاء ملف جديد باسم javac PopClock.class في حالة الأخطاء سوف تعرض رسالة تشرح هذه الأخطاء وأرقام الأسطر التي حدث فيها الخطأ
| | الان ماذا تبقى لنا عن تشغيل البرنامج ؟ | لتشغيل برنامج جافا اكتب مايلي java PopClock لقد أجاب الحاسب عن السؤال وهذه الاجابة هي مقدار الزيادة السكانية في الدقيقة تساوي 506
|
| |
|
ماجد العريفي نائب المير العام
الجنس : عدد المساهمات : 119 نقاط : 173 السٌّمعَة : 0 تاريخ التسجيل : 25/04/2009 الموقع : www.yemen22.mam9 المزاج : أهوى العلم والتعلم
| موضوع: رد: سلسلة دروس في لغة الجافا الموجهة الأحد يوليو 26, 2009 2:45 pm | |
| | | الدرس الثاني | الأهـــداف أن يتعرف المتدرب على المفاهيم الأساسية للبريمجات أن يتعلم كيفية عمل البريمجات أن يعد المتدرب بريمجه الأول أن يعرض المتدرب المعلومات في البريمج أن يتدرب على توقيف البريمج وتشغيله أن يضع البريمج في صفحة موقع انترنت الخاصة ببرامج الجافا على الانترنت Html أن يستعمل كود لغة
| | ما هي المفاهيم الأساسية للبريمجات؟ | بداية أبشرك ياصديقي بشارة عظيمة بعون الله ستشعر بالسعادة عندما تكتب برنامجك الأول للعمل في صفحات الشبكة العنكبوتية الدولية فاذا كنت قد انتهيت من الصفحات السابقة ونفذتها وبدأت تصميم بريمجات للانترنت فأنت قد اجتزت مرحلة البداية الصعبة نوعا ما وطريق الألف ميل يبدأ بخطوة وانت الآن في الخطوة المائة مبروك والآن هيا بنا نكمل المشوار البريمجات ـ هي البرامج التي تعمل في صفحات الشبكة العنكبوتية الدولية ـ الانترنت ـ هذه البريمجات التي جعلت من لغة الجافا أشهر مولود في القرن العشرين حيث تصدر خبر ابتكارها الصحف العالمية وجعلت من شركة صن ميكروسيستيمز أكبر منافس على الأطلاق لشركة ميكروسوفت ـ مع عدم الانتقاص من عبقرية بيل جيتس ورفيقه وفريق ميكروسوفت كله الذين بعبقريتهم غيروا وجه العالم ـ أقول أن برامج الجافا للإنترنت قد أحاط لغة الجافا بأضواء مبهرة وأظهرت أنها لغة مختلفة ومتميزة عن باقي لغات البرمجة بل قد تفوقت على أمها لغة السي بلاس وهذا كله لما أحدثته من طفرة في عالم الانترنت الذي كان قبل ابتكار الجافا مجرد صفحات نصية تستعمل برامج مبوابية تعمل على حاسب يستضيف هذه الصفحات وقد كانت هذه البرامج في حاجة الى وصول خاص الى حاسب يسمى الخادم ـ سيرفر ـ ولهذا كان معظم مستخدمي الانترنت غير قادرين على الوصول اليها أو استعمالها بالاضافة الى أن كتابة هذه الصفحات كانت تحتاج الى متخصص من ذوي الخبرة الكبيرة بالانترنت ولكن منذ مولد لغة الجافا أصبح كل المبرمجين أي كان مستواهم قادرين على كتابة برامج جافا للنت وأنت نفسك ياصديقي الكريم بعد هذا الدرس بعون الله ستصبح مثلهم وأطلب منك طلب بسيط جدا وهو الدعاء لأبو دعاء
| | ولكن ياأستاذي العزيز ما الفرق بين التطبيقات والبريمجات | mainالبريمجات لا تحتوي كما في التطبيقات على الكتلة ( ) ولكن تحتوي البريمجات على أقسام مختلفة متعددة يتم التعامل معها حسب ما يحدث في البرنامج وبعون الله سوف نقوم بشرح تفصيلي لها في الدروس اللاحقة ولكن نحن الآن نأخذ فكرة مبدئية عن البريمجات فقط لمجرد المقارنة بين جافا ابليكيشن وجافا أبلت وأعدك في نهاية هذه الدورة بعون الله أن تصمم برامج مثل برنامج المولد الكهربي للتيار المتردد وبعون الله وتوفيقه سوف تصمم تطبيقات قواعد بيانات شاملة وتطبيقات للموبايل ( بس مطلوب شوية صبر ) ربنا يوفقك
| | هل نتوسع في الشرح الآن لأني بصراحة متلهف لعمل بريمجات مثل السابقة ؟ | الم أقل لك ( شوية صبر ) قلت أن هذه مجرد فكرة لأن المضي قدما بدون أسس له عواقب وخيمة ويؤدي الى الإحباط مع أول علة تظهر في البرنامج وخاصة اذا كانت علة من النوع المنطقي
| | رجعنا مرة ثانية للطلاسم ؟ ماذا تقصد بالعلة المنطقية | من مميزات برامج الجافا أنها لا تعمل الا اذا كانت صحيحة البناء يعني خالية من الاخطاء ولكن هناك حالات معينة يعمل فيها البرنامج ولكن بصورة غير صحيحة وفي هذه الحالة يسمى خطأ منطقي أو علة منطقية
| | يعني الأن نكتب البرنامج البسيط هذا فقط ؟ |
نعم افتح لوسمحت برنامجنا المفضل واكتب فيه هذا النص وهو لنفس البرنامج السابق ولكن الان سوف يعمل من خلال الانترنت ثم احفظه باسم PopClockApplet وترجمه عن طريق تتبع الخطوات التي في الصورة import java.awt.*;
public class PopClockApplet extends java.applet.Applet { int Pop;
public void init() { Pop = 730000; Pop = Pop / 1440; }
public void paint(Graphics screen) { screen.drawString("مقدار الزيادة في عدد السكان في الدقيقة " + Pop +"نسمة" , 5, 50); } }
| | شوية شوية علي يا أستاذ ؟ | بعد أن تكتب البرنامج احفظه في مجلد معين تنشئه في مكان تختاره وليكن سطح المكتب مثلا ولتسمه العمدة 9 وضع فيه هذا الملف ومن خلال البرنامج ترجمه كما يظهر لك في الصورة أدناه بعد ذلك انشيء الملف التنفيذي كلاسس كما في الصورة القادمة | | مرة ثانية كيف أكون الملف التنفيذي كلاسس؟ |
Execute كما في الصورة أدناه من أدوات أختر الأمر سوف يفتح لك موجه الدوس تلقائيا أكتب فيه الأمر التالي
javac PopClockApplet.java
ثم اضغط على مفتاح انتر ففي حالة عدم وجود أخطاء سيظهر لك سطر الدوس الأولي بدون إضافات عندها بارك لنفسك فقد أصبح لديك ملف كلاسس
افتح برنامج الفورنت بيج وفي صفحة جديدة أكتب الكود التالي واذا لم تكن لديك دراية بلغة اتش تي إم إل يمكنك من ادراج في الصفحة العادية اختيار ادراج جافا ثم تختار الملف الذي نحن بصدده ولكن بشرط أن يكون في نفس المجلد وهو كما اتفقنا على سبيل المثال مجلد العمدة 9 وهناك طريقة سهلة جدا في برنامجنا الرائع كما ترى في الصورة فهناك أمر ينشء صفحة للانترنت بدون أن تكون لديك أي فكرة عن الفورنت بيج أو لغة إتش تي إم إل
وهذا البرنامج أمامك يعمل وتراه والعملية بسيطة جدا ياصديقي
|
| |
|
ماجد العريفي نائب المير العام
الجنس : عدد المساهمات : 119 نقاط : 173 السٌّمعَة : 0 تاريخ التسجيل : 25/04/2009 الموقع : www.yemen22.mam9 المزاج : أهوى العلم والتعلم
| موضوع: رد: سلسلة دروس في لغة الجافا الموجهة الأحد يوليو 26, 2009 2:50 pm | |
| الدرس الثالث | الأهـــداف أن يقارن المتدرب بين التطبيق والريمج أن يفهم عمل التطبيق أن ينظم المتدرب التطبيق أن يرسل الوسطاء الى التطبيق أن يفهم عمل البريمج أن يعرف الأجزاء الضرورية للبريمج أن يرسل البارامترات الى بريمج أن يستعمل وسوم لغة إتش تي إم إل لنشر بريمج في الانترنت
| | قارن بين التطبيق والبريمج ؟ | Applications التطبيقات هي برامج الجافا التي تعمل من حاسب الشخص نفسه ـ الكمبيوتر المحلي ـ بمعنى أن هذا البرنامج يشتغل كبرنامج مستقل بحيث تكتب أمرا أو تنقر على أيقونة أو رمز لتشغيلها Applets البريمجات هي البرامج التي تعمل عبر صفحات الانترنت | | كيف أنظم برنامجي؟ | تستعمل لغة الجافا لكتابة أي نوع من برامج الحاسب والمبرمج الناجح يمنح ملكة الفكر المنظم الذي ينظر للأمور نظرة شاملة أو كما يقولون نظرة عصفورية ثم يرتب لتفاصيل التفاصيل وللتدريب نعطي برنامجا آخر ونود أن نشير الى أن منهجنا هو البدء ببرنامج بسيط جدا ثم نصعد السلم درجة درجة الى أن نصل الى برامج شاملة ومركبة في ختام الدورة بإذن الله تعالى وبرنامجنا الثاني سيكون لحساب الجذر التربيعي لعدد معين فهل أنت مستعد ؟
| | نعم على أتم الاستعداد والله المستعان وعليه التكلان | هيا بنا أستعمل برنامج معالج النصوص الذي اخترته واكتب فيه هذا النص ولكن أذكرك بدون أرقام الأسطر والنقطتين في بداية كل سطر
1: class SquareRoot { 2: public static void main(String[] arguments) { 3: int number = 625; 4: System.out.println("The square root of " 5: + number 6: + " is " 7: + Math.sqrt(number) ); 8: } 9: }
| | وماذا بعد ؟ | SquareRoot قم بحفظ البرنامج باسم انتقل الى المجلد الذي يوجد فيه ثم قم بترجمة البرنامج بكتابة ما يلي في موجه الدوس javac SquareRoot.java اذا تمت الترجمة بدون أخطاء فلن يعرض المترجم أية رسالة ونقول لك مبروك فقد تم انشاء ملف في نفس المجلد باسم SquareRoot.class
| | وماذا عن برنامجنا المفضل ؟ |
اذا كنت تستعمل برنامجنا المفضل اتبع الخطوات المصورة التالية
وفي موجه الدوس
ولتشغيل البرنامج
| | ولكن يا أستاذي العزيز هل كل مرة أريد أن أحسب الجذر التربيعي أكتب برنامج جديد هذه أعمال شاقة ؟ | من قال ذلك ياصديقي بالعكس إن عمل الحاسب أساسا هو توفير الوقت والجهد ولكن بما أننا نتدرج في التدريب على البرمجة من الأسهل الى الأكثر تعقيدا فإننا نبني الأساس ثم نصعد الدرج درجة درجة عموما توجد طريقة لإرسال أي عدد تريد ايجاد جذره التربيعي الى البرنامج ويسمى العدد المرسل بهذه الطريقة وسيط وبما أن تطبيقات الجافا تعمل انطلاقا من سطر الأوامر أذا يمكن إرسال المعلومات الى التطبيقات عند تشغيلها الوسطاء هي المعلومات التي ترسل الى البرنامج arguments والطريقة المتبعة لارسال الوسطاء الى البرنامج تستلزم كتابة بعض الجمل في مصدر البرنامج لتتعامل مع هذه الوسطاء ويكتب الوسيط الأول بعد اسم التطبيق عبر سطر الأوامر وذلك بعد مسافة فارغة واحدة ويجب وضع مسافة فارغة مفردة بعد كل وسيط إضافي وفي حالة ترك مسافة داخل معلومة مرسلة يجب وضع علامات إقتباس حول الوسيط ـ المعلومة ـ
| | يعني هذا أننا الآن نستعد لكتابة برنامج جديد في معالج النصوص |
نعم أكتب النص التالي لبرنامجنا الجديد
class NSRoot { public static void main(String[] arguments) { int number = 0; if (arguments.length > 0) number = Integer.parseInt( arguments[0] ); System.out.println("The square root of " + number + " is " + Math.sqrt(number) ); } }
احفظ البرنامج باسم NSRoot.java
قم بترجمة البرنامج بنفس الطريقة فيتكون ملف جديدفي نفس المجلد بنفس الإسم ولكن بامتداد كلاسس
لتشغيل البرنامج استعمل المفسر واكتب الأمر التالي
java NSRoot 81
| | وهل هذا ما يتم في البريمجات أيضا | في البريمجات يتم ارسال المعلومات الى البريمج بما يسمى البارامترا ت وكما أسلفنا فان البريمجات هي برامج تعمل في صفحات مواقع الانترنت وهي السبب الرئيسي لشهرة لغة الجافا
| | هل نكتب الان نفس التطبيق السابق ولكن للانترنت |
نعم في برنامجنا المفضل اكتب النص التالي
public class SRootApplet extends java.applet.Applet { int number;
public void init() { number = 625; }
public void paint(java.awt.Graphics g) { g.drawString("الجذر التربيعي للعدد " + number + " هو " + Math.sqrt(number), 5, 50); } }
بعد أن تنتهي من كتابة البرنامج احفظه باسم
SRootApplet.java
ترجم البرنامج بكتابة الأمر التالي
javac SRootApplet.java
في حالة النجاح سيتم انشاء ملف بنفس الإسم ولكن بامتداد كلاسس
وهنا نلفت الانتباه الى أن برامج الجافا المترجمة لا تختبر باستعمال المفسر جافا ولكن يجب وضعها في صفحة انترنت وبالتالي يمكن معاينة هذه الصفحة إما بمستعرض إنترنت أو استعمال أداة خاصة توجد ضمن عدة تطوير الجافا وتسمى هذه الأداة appletviewer
لانشاء صفحة للعرض عبر صفحات الويب استعمل برنامج الفورنت بيج واكتب التالي في الصفحة ليست العادية ولكن إتش تي إم إل
والآن نرى البرنامج وهو يعمل
أما إذا أردت استعمال ألأداة السابق الإشارة اليها أكتب ما يلي عبر سطر الأوامر appletviewer SRootApplet.html
| | ولكن الآن كيف يمكن ادخال أعداد الى البرنامج | اكتب النص التالي public class NSRootApplet extends java.applet.Applet { int number;
public void init() { String parameter = getParameter("NUMBER"); if (parameter != null) number = Integer.parseInt(parameter); }
public void paint(java.awt.Graphics g) { g.drawString("الجذر التربيعي لعدد " + number + " هو " + Math.sqrt(number), 5, 50); } }
احفظ البرنامج وترجمه ولكي تتمكن من ارسال أعداد الى البرنامج عدل الكود في صفجة الانترنت الى الكود التالي لمعاينة البرنامج حال العمل لارسال عدد جديد الى البرنامج VALUE قم بتغيير الصفة وهو موجود في مصدر صفحة الوب وهنا نشير الى أنه يمكن استعمال العدد الذي نرغب فيه من البارامترات بشرط أن يكون لكل بارامتر صفة مختلفة ومحددة في العلامة
|
| |
|