المطلوب
أكتب نفس البرنامج السابق بطريقة أخرى, أي أكتب برنامج يطلب من المستخدم إعطائه عدد صحيح و يخزنه في المتغير N.
بعدها يعرض له ناتج القيمة المضاعفة للأعداد التي قام بإدخالها.
إرشادات
المتغير
Sهو المتغير الذي سيحتوي على مجموع كل الأرقام الموجودة من 1 إلىN.الـ
iهو المتغير ( العداد ) الذي يزيد واحد في كل دورة.الـ
Nهو المتغير الذي يخزن العدد الذي سيدخله المستخدم و الذي تتوقف عنده الحلقة.الحلقة تبدأ من 1 و تتوقف عند
N, أي عند العدد الذي أدخله المستخدم.في كل دورة سيتم إعتبار قيمة العداد
iهي الـ Base , و سنحصل على Power لها من خلال الحلقةk.سنحتاج إلى المتغير
Pلتخزين ناتج ضرب المتغيرiبنفسه في كل دورة بداخل الحلقةkقبل إضافته على قيمة المتغيرS.
ملاحظة
الأسلوب الذي اتبعناه في هذا التمرين للحصول على القيمة المضاعفة سنحتاجه في التمارين التالية.
كود الجافا
import java.util.Scanner;
public class Power {
public static void main (String[] args) {
Scanner input = new Scanner(System.in);
int N;
int P;
int S = 0;
System.out.print("Enter a number for N: ");
N = input.nextInt();
for (int i=1; i <=N; i++)
{
P = 1;
for (int k=1; k <=2; k++)
{
P = P * i;
}
S = S + P;
}
System.out.print("S = " +S+ "\n");
}
}
شرح الكود
int N; int P; int S = 0;
هنا قمنا بإنشاء المتغير N لتخزين الرقم الذي سيدخله المستخدم.
و المتغير P لتخزين القيمة المضاعفة لكل قيمة من قيم العداد i الذي سنستخدمه في الحلقة.
و المتغير S لتخزين المجموع.
System.out.print("Enter a number for N: ");
N = input.nextInt();
هنا طلبنا من المستخدم إدخال عدد, ثم وضعناه في المتغير N.
for (int i=1; i <=N; i++)
{
P = 1;
for (int k=1; k <=2; k++)
{
P = P * i;
}
S = S + P;
}
هنا في كل دورة من دورات الحلقة i سيحدث التالي:
سيتم وضع القيمة 1 كقيمة أولية للمتغير
Pقبل إستخدامه في الحلقةKلأن القيمة 1 لا تؤثر في عملية الضرب.الحلقة
kجعلناها تعيد تنفيذ الكود الموجود فيها مرتين فقط لأنها تبدأ من 1 إلى 2في كل دورة من دورات الحلقة
kسيتم ضرب قيمة العدادiبقيمة المتغيرPالقديمة, ثم تخزين الناتج في المتغيرPمن جديد.
و هكذا في كل مرة تتوقف فيها الحلقةkعن التنفيذ, سيكون المتغيرPيحتوي على قيمة العدادiالمضاعفة.بعد أن أصبحت القيمة المضاعفة للعداد
iمخزنة في المتغيرP, سيتم إضافتها على قيمة المتغيرS.
System.out.print("S = " +S+ "\n");
في الأخير سيعرض نتيجة جمع جميع الأرقام المضاعفة المخزنة في المتغير S.





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