الدرس الثالث
الأهـــداف
أن يقارن المتدرب بين التطبيق والريمج
أن يفهم عمل التطبيق
أن ينظم المتدرب التطبيق
أن يرسل الوسطاء الى التطبيق
أن يفهم عمل البريمج
أن يعرف الأجزاء الضرورية للبريمج
أن يرسل البارامترات الى بريمج
أن يستعمل وسوم لغة إتش تي إم إل لنشر بريمج في الانترنت
قارن بين التطبيق والبريمج ؟
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
لانشاء صفحة للعرض عبر صفحات الويب استعمل برنامج الفورنت بيج واكتب التالي في الصفحة ليست العادية ولكن إتش تي إم إل
<applet code=SRootApplet.class width=180 height=80></applet>
والآن نرى البرنامج وهو يعمل
أما إذا أردت استعمال ألأداة السابق الإشارة اليها أكتب ما يلي عبر سطر الأوامر
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);
}
}
احفظ البرنامج وترجمه
ولكي تتمكن من ارسال أعداد الى البرنامج عدل الكود في صفجة الانترنت الى الكود التالي
<applet code=NSRootApplet.class width=300 height=100>
<param name="NUMBER" value=196>
</applet>
لمعاينة البرنامج حال العمل
لارسال عدد جديد الى البرنامج
VALUE قم بتغيير الصفة
وهو موجود في مصدر صفحة الوب وهنا نشير الى أنه يمكن استعمال العدد الذي نرغب فيه من البارامترات بشرط أن يكون لكل بارامتر صفة مختلفة ومحددة في العلامة <PARAM>