الخوارزمياتحساب قيمة الـ Power للعدد - التمرين الثالث
المطلوب
أكتب نفس البرنامج السابق بطريقة أخرى, أي أكتب برنامج يطلب من المستخدم إعطائه عدد صحيح و يخزنه في المتغير N.
بعدها يعرض له ناتج القيمة المضاعفة للأعداد التي قام بإدخالها.
إرشادات
Sهو المتغير الذي سيحتوي على مجموع كل الأرقام الموجودة من 1 إلىN.iهو المتغير (العداد) الذي يزيد واحد في كل دورة.Nهو المتغير الذي يخزن العدد الذي سيدخله المستخدم و الذي تتوقف عنده الحلقة.- الحلقة تبدأ من 1 و تتوقف عند
N, أي عند العدد الذي أدخله المستخدم. - في كل دورة سيتم إعتبار قيمة العداد
iهي الـ Base, و سنحصل على Power لها من خلال الحلقةk. - سنحتاج إلى المتغير
Pلتخزين ناتج ضرب المتغيرiبنفسه في كل دورة بداخل الحلقةkقبل إضافته على قيمة المتغيرS.
الأسلوب الذي اتبعناه في هذا التمرين للحصول على القيمة المضاعفة سنحتاجه في التمارين التالية.
النتيجة المطلوبة
لنفترض أن المستخدم أدخل العدد 6.
طريقة التحليل
الخوارزمية
كود الجافا
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.