الفرق بين المراجعتين لصفحة: «برمجة جافا/أساسيات 3»

تم حذف المحتوى تمت إضافة المحتوى
ط استرجع التعديلات بواسطة 188.53.123.121 (نقاش) حتى آخر نسخة بواسطة MenoBot
ط clean up، استبدل: و ← و (33)، ، ← ، باستخدام أوب
سطر 2:
== الخوارزميات ==
 
عندما نقوم بكتابة برنامج، فإننا نفعل ذلك لأن هنالك مشكلة نريد حلها و نستخدمونستخدم الحاسوب لإيجاد ذلك الحل. و لكنولكن حتى نستطيع كتابة برنامج بشكل صحيح فإنه من الأساسي أن نقوم بشيئين أولا:
 
1) أن نفهم المشكلة بشكل كامل، و نفهمونفهم كل مداخلاتها. لأنه بدون فهم صحيح للمشكلة فإننا لا نستطيع أن نكوّن حل صحيح يقوم بحل المشكلة.
 
2) أن نقوم بتطوير خوارزمية واضحة لحل المشكلة. و الخوارزميةوالخوارزمية ما هي إلا عبارة عن تعريف ''للأفعال'' اللازمة لحل المشكلة، و تعريفوتعريف ''الترتيب'' الصحيح لهذه الأفعال.
 
فمثلا، عندما تستيقظ في الصباح، فإنك تغتسل ثم تغير ملابسك ثم تتناول الفطور و بعدهاوبعدها تذهب للعمل. هذه تعتبر خوارزمية لأنها تعرّف الأفعال اللازمة و ترتيبهاوترتيبها الصحيح.
 
بعد أبحاث كثيرة(Bohm and Jacopini)، تم التوصل إلى أنه يمكنك كتابة ما تريد في لغات البرمجة مستخدما أي من التراكيب البرمجية التالية: التسلسل، ووالإختيار، الإختيار، و الدورانوالدوران.
التسلسل هو عبارة عن تنفيذ الأوامر البرمجية بشكل تسلسلي كما هو مكتوب في البرنامج. الإختيار بمكنك من إختيار فعل أو مجموعة أفعال بناء على شرط معين. بينما الدوران يمكنك من تكرار فعل ما عدد محدد من المرات أو بناء على تحقق شرط أو عدمه. في جافا، فإن سير البرنامج الأساسي هو التسلسل ما لم تتوفر جمل معينة تقوم بتغير هذا التسلسل.
هذه الجمل تعرف بإسم جمل التحكم، و التيوالتي هي مسؤولة عن التحكم بترتيب الأفعال. و جملوجمل التحكم في جافا تقسم إلى قسمين:
 
== 1) جمل الإختيار ==
 
و هي جمل تمكنك من إختيار واحد من أكثر من خيار متوفر. و جملوجمل الإختيار في جافا ثلاثة:
 
1.1) '''if''': جملة if (إذا) تمكنك من القيام بعمل ما إذا تحقق شرط معين و لاولا تقوم بعمل شيء إذا لم يتحقق الشرط. فمثلا، قد يكون هنالك مقرر دراسي بعلامة نجاح 60، و تريدوتريد معرفة ما إذا نجحت في هذا المقرر فإنك تستطيع ذلك باستخدام جملة if
<div dir=ltr>
<pre>
سطر 25:
</pre>
</div>
كما يمكنك الملاحظة، فإن جملة if تتكون من كلمة if متبوعة بشرط بين قوسين و تليهاوتليها جملة الفعل الذي يجب فعله في حالة تحقق الشرط. بخلاف لغة ++C فإن الشرط يجب أن يكون قيمة منطقية تحمل قيمة صح أو خطأ (Boolean of value true or false) و لاولا يجوز أن يكون قيمة رقمية.
 
كما يمكن الملاحظة بأننا قمنا بتحريك جملة الفعل إلى اليمين أسفل الشرط، و هذاوهذا ليس إجباريا و لكنولكن من المستحسن فعله لأنه يعني أن هذه الجملة تابعة للشرط مما يؤدي إلى سهولة في قراءة البرنامج. (مما يعني أخطاء أقل :) )
 
جملة System.out.println تأمر الجهاز بأن يقوم بطباعة الجملة الموجودة بين قوسين على الشاشة.
 
1.2) '''if ... else''': جملة if...else عبارة عن جملة إختيار تمكنك من القيام بعمل ما إذا تحقق شرط معين، و القياموالقيام بعمل أخر إذا لم يتحقق الشرط. في مثالنا السابق، يمكننا أن نوسع الفكرة بحيث يقوم الجهاز بطباعة كلمة Passed إذا كان الطالب قد نجح في المقرر و طباعةوطباعة Fail إذا لم ينجح الطالب.
<div dir=ltr>
<pre>
سطر 41:
</div>
 
في جمل الإختيار '''if''' و '''if...else''' فإنه يمكنك من تعريف أكثر من فعل واحد ليحدث عند تحقق الشرط أو عدمه و ذلكوذلك بوضع الجمل داخل الأقواس المعقوفة.
<div dir=ltr>
<pre>
سطر 55:
</div>
 
كما أنه يمكنك أن تضع جمل داخل بعضها البعض و هذاوهذا ما يدعى (Nesting)
<div dir=ltr>
<pre>
سطر 95:
</pre>
</div>
قد يعتقد المبرمج بأنه إذا تحقق الشرط condition1 و condition2وcondition2 فإن statement1 ستنفذ، و إذاوإذا لم يتحقق condition1 فإن statement2 ستنفذ. و لكنولكن للأسف هذا خطأ، لأنه (مع أن طريقة كتابة البرامج تدل على ذلك) فإن جافا ستفهم البرنامج السابق على أنه:
<div dir=ltr>
<pre>
سطر 105:
</pre>
</div>
و هذا يعني أنه عند تحقق condition1 و condition2وcondition2 فإن statement1 ستنفذ، و لكنولكن عند تحقق condition1 و عدموعدم تحقق condition2 فإن statement2 ستنفذ، و هذاوهذا يعود لسبب أن جافا تربط ال else بأقرب if لها.
 
و لكن، إفرض أنك تريد كتابة برنامج يقوم بما هو مفروض أن يحدث في البرنامج الأول؟ في هذه الحالة فإنه يجب عليك أن توضح بشكل صريح بأن ال else تتبع ال if الأولى، و ذلكوذلك عن طريق وضع ال if الثانية ''داخل'' الأولى، باستخدام الأقواس المعقوفة. و هذاوهذا ما يعرف باسم Block و هووهو أي شيء داخل قوسين معقوفين.
 
<div dir=ltr>
سطر 120:
 
'''1.3) switch:'''
وهي جملة شبيهة بعدّة جمل if متداخلة، والهدف منها الإختيار بين عدّة خيارات ،خيارات، فمثلا يمكنك إستخدامها عندما تفحص متغير يمكن أن يحمل أكثر من قيمتين وله بناء على ذلك أكثر من تصرفين.
 
== 2) جمل الدوران ==