المطلوب
أكتب برنامج يقوم بضرب جميع الأرقام من 1 إلى 10 و يعرض فقط المجموع النهائي بثلاث طرق.
إرشادات
الـ M هو المتغير الذي سيحتوي على كل الأرقام المضروبة.
الـ i هو المتغير ( العداد ) الذي يزيد واحد في كل دورة.
الـ M تساوي ضرب كل قيم الـ i.
شرح طريقة عمل الخوارزمية بدقة
كود الجافا
public class MultipleLoops {
public static void main (String[] args) {
// هنا قمنا بتعريف المتغيرات في أول البرنامج لأننا سنستخدمهم نفسهم في جميع الحلقات
int i = 1;
int M = 1;
// " for " الطريقة الأولى باستخدام الحلقة
System.out.print("1- using for loop:\n");
for ( ; i <=10; i=i+1 )
{
M = M * i;
}
System.out.print("The multiple is: " + M + "\n");
System.out.print("-----------------------------------\n");
// " while " الطريقة الثانية باستخدام الحلقة
System.out.print("2- using while loop:\n");
i = 1;
M = 1;
while ( i <=10 )
{
M = M * i;
i = i + 1;
}
System.out.print("The multiple is: " + M + "\n");
System.out.print("-----------------------------------\n");
// " do while " الطريقة الثالثة باستخدام الحلقة
System.out.print("3- using do while loop:\n");
i = 1;
M = 1;
do
{
M = M * i;
i = i + 1;
}
while ( i <=10 );
System.out.print("The multiple is: " + M + "\n");
System.out.print("-----------------------------------\n");
}
}
شرح الكود
ملاحظة: الشروحات الموضوعة بالعربية فوق كل كود لا تؤثر أبداً عليه لأنها موضوعة كتعليقات كما قلنا سابقاً.
البرنامج
MultipleLoopsيحتوي على ثلاث حلقات تعمل بنفس الطريقة.
int i = 1; int M = 1;
في بداية البرنامج قمنا بتعريف المتغيرين i و M لأننا نريد استخدامهم في كل حلقة سننشأها.
إذاً تستطيع إنشاء المتغير الذي ستستخدمه كعداد في بداية البرنامج و تستخدمه من جديد كلما أردت ذلك.
i = 1; M = 1;
قبل أن نستخدم المتغيرين i و M في أي حلقة كنا نعيد قيمهم إلى كما كانت عليه في البداية.
System.out.print("The multiple is: " + M + "\n");
بعد كل حلقة قمنا بتعريفها في البرنامج, قمنا باستخدام أمر الطباعة هذا لعرض قيمة المتغير M بعد أن تم وضع ناتج ضرب جميع الأرقام من 1 إلى 10 فيه.
for ( ; i <=10; i=i+1 )
هنا قمنا بتعريف عداد الحلقة for قبل تعريف الحلقة و ليس بداخلها.
ملاحظة
يمكن تعريف الحلقة for بطرق مختلفة في لغات البرمجة لكن بشكل عام يجب أن يكون هناك إثنين ; ; بين أقواسها و إلا سيؤدي ذلك إلى ظهور خطأ في الكود.
إضافةً إلى ذلك يجب المحافظة على مكان وضع العداد, الشرط, و طريقة زيادة العداد فيها.
فمثلاً, إذا قمت بوضع الشرط في المكان المخصص لتعريف العداد كالتالي for ( i <=10; ; i=i+1 ) سيظهر لك خطأ.





محرر الويب
نظام الألوان
محول الوحدات
محلل عناوين الشبكات