Programming Basics SQL HTML CSS JavaScript Python C++ Java JavaFX Swing Problem Solving English English Conversations Computer Fundamentals Learn Typing

الخوارزمياتحساب قيمة الـ Power للعدد - التمرين الثالث

المطلوب

أكتب نفس البرنامج السابق بطريقة أخرى, أي أكتب برنامج يطلب من المستخدم إعطائه عدد صحيح و يخزنه في المتغير N.
بعدها يعرض له ناتج القيمة المضاعفة للأعداد التي قام بإدخالها.


إرشادات

  1. S هو المتغير الذي سيحتوي على مجموع كل الأرقام الموجودة من 1 إلى N.
  2. i هو المتغير (العداد) الذي يزيد واحد في كل دورة.
  3. N هو المتغير الذي يخزن العدد الذي سيدخله المستخدم و الذي تتوقف عنده الحلقة.
  4. الحلقة تبدأ من 1 و تتوقف عند N, أي عند العدد الذي أدخله المستخدم.
  5. في كل دورة سيتم إعتبار قيمة العداد i هي الـ Base, و سنحصل على Power لها من خلال الحلقة k.
  6. سنحتاج إلى المتغير 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");
}
}
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;
int N; int P; int S = 0;
  • هنا قمنا بإنشاء المتغير N لتخزين الرقم الذي سيدخله المستخدم.
  • و المتغير P لتخزين القيمة المضاعفة لكل قيمة من قيم العداد i الذي سنستخدمه في الحلقة.
  • و المتغير S لتخزين المجموع.


System.out.print("Enter a number for N: ");
N = input.nextInt();
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;
}
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");
System.out.print("S = " +S+ "\n");
  • في الأخير سيعرض نتيجة جمع جميع الأرقام المضاعفة المخزنة في المتغير S.

نرجو منك الإنتقال لدورة البرمجة للمبتدئين الجديدة التي أنشأنها كبديل أفضل لهذه الدورة ففي تلك الدورة قمنا بتبسيط الشرح أكثر و جعلناك قادر على تجربة الكود بشكل مباشر في موقعنا.


دورة تعلم البرمجة للمبتدئين >