التعليم السعودي

التعامل مع المصفوفة ذات البعد الواحد في الخوارزميات – التمرين السابع 

التعامل مع المصفوفة ذات البعد الواحد في الخوارزميات – التمرين السابع
التعامل مع المصفوفة ذات البعد الواحد في الخوارزميات – التمرين السابع
التعامل مع المصفوفة ذات البعد الواحد في الخوارزميات – التمرين السابع
التعامل مع المصفوفة ذات البعد الواحد في الخوارزميات – التمرين السابع
التعامل مع المصفوفة ذات البعد الواحد في الخوارزميات – التمرين السابع

المناهج السعودية

التعامل مع المصفوفة ذات البعد الواحد في الخوارزميات – التمرين السابع

المطلوب

هذا التمرين مقسّم إلى أربع أفكار رئيسية, عليك اتباع التقسيم التالي خطوة خطوة حتى تنجز البرنامج.

  1. أكتب برنامج يعرّف ثلاث مصفوفات A و B و C.
  2. ثم يطلب من المستخدم إدخال العدد الذي يمثل عدد عناصر المصفوفتين A و B.
  3. بعدها يطلب من المستخدم إعطاء قيم للمصفوفتين A و B و يخزنهم في المصفوفة C.
  4. في الأخير يعرض للمستخدم القيم التي أصبحت تحتويها المصفوفة C.

 

إرشادات

يجب أن يتم جمع قيم عناصر المصفوفتين A و B قي المصفوفة C كالتالي.

 

النتيجة المطلوبة

لنفترض أن المستخدم أراد حجم المصفوفتين A و B يساوي ” 4 ” و أدخل نفس القيم كما في الصورة السابقة.

الخوارزمية

كود الجافا

  1. package vector;
  2. import java.util.Scanner;
  3. public class Vector {
  4.     public static void main (String[] args) {
  5.         Scanner input = new Scanner(System.in);
  6.         int N;
  7.         int[] A;
  8.         int[] B;
  9.         int[] C;
  10.         int k = 0;     // C سنستخدم هذا المتغير كعداد للوصول لعناصر المصفوفة
  11.         do
  12.         {
  13.             System.out.print(“Enter the length for vectors ( A ) and ( B ): “);
  14.             N = input.nextInt();
  15.         }
  16.         while ( N <= 0 );
  17.         A = new int[N] ;
  18.         B = new int[N] ;
  19.         C = new int[N*2] ;
  20.         System.out.print(“\n”);
  21.         for (int i=0; i<=N-1; i++)
  22.         {
  23.             System.out.print(“Enter A[“ +i+ “]: “);
  24.             A[i] = input.nextInt();
  25.             System.out.print(“Enter B[“ +i+ “]: “);
  26.             B[i] = input.nextInt();
  27.         }
  28.         System.out.print(“\n”);
  29.         for (int i=0; i<=N-1; i++)
  30.         {
  31.             C[k] = A[i] ;
  32.             C[k+1] = B[i] ;
  33.             k = k+2;
  34.         }
  35.         System.out.print(“\n”);
  36.         for (int i=0; i<=(N*2)-1; i++)
  37.         {
  38.             System.out.print(“C[“ +i+ “]: “ + C[i] +“\n”);
  39.         }
  40.         System.out.print(“\n”);
  41.     }
  42. }

شرح الكود

  1.         int N;
  2.         int[] A;
  3.         int[] B;
  4.         int[] C;
  5.         int k = 0;
    • هنا قمنا بتجهيز المتغير N لتخزين عدد عناصر المصفوفتين A و B, و هو أول شيء سيطلب من المستخدم إدخاله.
    • و المصفوفات A و B و C و لم نحدد عدد عناصرهم.
    • و المتغير k الذي أعطيناه القيمة 0 كقيمة أولية لأننا سنستخدمه كعداد للوصول إلى عناصر المصفوفة C
  1.         do
  2.         {
  3.             System.out.print(“Enter the length for vectors ( A ) and ( B ): “);
  4.             N = input.nextInt();
  5.         }
  6.         while ( N <= 0 );
    • هنا سيطلب من المستخدم إدخال عدد عناصر المصفوفتينA و B, بعدها سيتم تخزينه في المتغير N
    • بعدها سيتم فحص قيمة المتغير N. إذا كانت أصغر أو تساوي 0, سيطلب من المستخدم إدخال العدد من جديد.
    • إذاً هذه الحلقة تضمن أن لا يقوم المستخدم بإدخال عدد أصغر أو يساوي 0.
  1.         A = new int[N] ;
  2.         B = new int[N] ;
  3.         C = new int[N*2] ;
    • هنا سيتم تحديد عدد عناصر المصفوفات الثلاثة كالتالي:
      • عدد عناصر المصفوفتان A و B يساوي قيمة المتغير N
      • عدد عناصر المصفوفة c يساوي عدد عناصر المصفوفتين A و B مع بعض, أي يساوي قيمة المتغير N*2
        ملاحظة: عدد عناصر المصفوفة C يمكن تحديدها بأكثر من طريقة, فمثلاً يمكنك أن تكتب N+N أو A.length + B.length بدل N*2
  1.         for (int i=0; i<=N-1; i++)
  2.         {
  3.             System.out.print(“Enter A[“ +i+ “]: “);
  4.             A[i] = input.nextInt();
  5.             System.out.print(“Enter B[“ +i+ “]: “);
  6.             B[i] = input.nextInt();
  7.         }
    • هنا أنشأنا حلقة تبدأ من index العنصر الأول في كلا المصفوفتين, أي العنصر رقم 0, إلى آخر عنصر موجود فيهما و الذي يملك الـ index الأخير, أي N-1
    • في كل دورة من دورات الحلقة i سيطلب من المستخدم إدخال قيمة لعنصر في المصفوفة A, و قيمة لعنصر في المصفوفة B
      فمثلاً, عندما تكون قيمة العداد i تساوي 0 , سيطلب منه إدخال قيمة للعنصر A[0] و العنصر B[0]
  1.         for (int i=0; i<=N-1; i++)
  2.         {
  3.             C[k] = A[i] ;
  4.             C[k+1] = B[i] ;
  5.             k = k+2;
  6.         }
  • هنا أنشأنا حلقة تبدأ من index العنصر الأول في كل المصفوفات, أي العنصر رقم 0, إلى آخر عنصر موجود في المصفوفات و الذي يملك الـ index الأخير, أي N-1
  • في كل دورة من دورات الحلقة i سيحدث التالي في المصفوفة C من خلال العداد k :
    • سيتم وضع قيمة عنصر المصفوفة A في عنصر جديد في المصفوفة C
    • ثم وضع قيمة عنصر المصفوفة B في العنصر التالي في المصفوفة C
    • ثم سيتم زيادة قيمة المتغير k إثنين لتجاوز الخانتين السابقتين اللتين تم وضع القيم فيهما.
    • طريقة عمل الكود:
      • في البداية, قيمة العداد i تساوي 0, لذلك سيتم وضع قيمة العنصر A[0] في العنصر C[0], ثم قيمة العنصر B[0] في العنصر C[1]
      • بعد أن تم إضافة 2 على قيمة المتغير k و أصبحت قيمة العداد i تساوي 1, سيتم وضع قيمة العنصر A[1] في العنصر C[2], ثم قيمة العنصر B[1]في العنصر C[3]
      • بعد أن تم إضافة 2 على قيمة المتغير k و أصبحت قيمة العداد i تساوي 2, سيتم وضع قيمة العنصر A[2] في العنصر C[4], ثم قيمة العنصر B[2]في العنصر C[5]
      • بعد أن تم إضافة 2 على قيمة المتغير k و أصبحت قيمة العداد i تساوي 3, سيتم وضع قيمة العنصر A[3] في العنصر C[6], ثم قيمة العنصر B[3]في العنصر C[7]
      • مهما كان حجم المصفوفات فإن الكود سيعمل بنفس الطريقة.
    1.         for (int i=0; i<=(N*2)-1; i++)
    2.         {
    3.             System.out.print(“C[“ +i+ “]: “ + C[i] +“\n”);
    4.         }
  • هنا أنشأنا حلقة تبدأ من index العنصر الأول في المصفوفة C إلى آخر عنصر موجود فيها بهدف عرض قيمة كل عنصر أصبح فيها.
  • في كل دورة من دورات الحلقة i سيطبع للمستخدم أن العنصر رقم كذا قيمته كذا.

 

المصدر: التعامل مع المصفوفة ذات البعد الواحد في الخوارزميات – التمرين السابع – المناهج السعودية

مقالات ذات صلة

اترك تعليقاً

لن يتم نشر عنوان بريدك الإلكتروني. الحقول الإلزامية مشار إليها بـ *

التعليم السعودي

التعامل مع المصفوفة ذات البعد الواحد في الخوارزميات – التمرين السابع 

التعامل مع المصفوفة ذات البعد الواحد في الخوارزميات – التمرين السابع
التعامل مع المصفوفة ذات البعد الواحد في الخوارزميات – التمرين السابع
التعامل مع المصفوفة ذات البعد الواحد في الخوارزميات – التمرين السابع
التعامل مع المصفوفة ذات البعد الواحد في الخوارزميات – التمرين السابع
التعامل مع المصفوفة ذات البعد الواحد في الخوارزميات – التمرين السابع

المناهج السعودية

التعامل مع المصفوفة ذات البعد الواحد في الخوارزميات – التمرين السابع

المطلوب

هذا التمرين مقسّم إلى أربع أفكار رئيسية, عليك اتباع التقسيم التالي خطوة خطوة حتى تنجز البرنامج.

  1. أكتب برنامج يعرّف ثلاث مصفوفات A و B و C.
  2. ثم يطلب من المستخدم إدخال العدد الذي يمثل عدد عناصر المصفوفتين A و B.
  3. بعدها يطلب من المستخدم إعطاء قيم للمصفوفتين A و B و يخزنهم في المصفوفة C.
  4. في الأخير يعرض للمستخدم القيم التي أصبحت تحتويها المصفوفة C.

 

إرشادات

يجب أن يتم جمع قيم عناصر المصفوفتين A و B قي المصفوفة C كالتالي.

 

النتيجة المطلوبة

لنفترض أن المستخدم أراد حجم المصفوفتين A و B يساوي ” 4 ” و أدخل نفس القيم كما في الصورة السابقة.

الخوارزمية

كود الجافا

  1. package vector;
  2. import java.util.Scanner;
  3. public class Vector {
  4.     public static void main (String[] args) {
  5.         Scanner input = new Scanner(System.in);
  6.         int N;
  7.         int[] A;
  8.         int[] B;
  9.         int[] C;
  10.         int k = 0;     // C سنستخدم هذا المتغير كعداد للوصول لعناصر المصفوفة
  11.         do
  12.         {
  13.             System.out.print(“Enter the length for vectors ( A ) and ( B ): “);
  14.             N = input.nextInt();
  15.         }
  16.         while ( N <= 0 );
  17.         A = new int[N] ;
  18.         B = new int[N] ;
  19.         C = new int[N*2] ;
  20.         System.out.print(“\n”);
  21.         for (int i=0; i<=N-1; i++)
  22.         {
  23.             System.out.print(“Enter A[“ +i+ “]: “);
  24.             A[i] = input.nextInt();
  25.             System.out.print(“Enter B[“ +i+ “]: “);
  26.             B[i] = input.nextInt();
  27.         }
  28.         System.out.print(“\n”);
  29.         for (int i=0; i<=N-1; i++)
  30.         {
  31.             C[k] = A[i] ;
  32.             C[k+1] = B[i] ;
  33.             k = k+2;
  34.         }
  35.         System.out.print(“\n”);
  36.         for (int i=0; i<=(N*2)-1; i++)
  37.         {
  38.             System.out.print(“C[“ +i+ “]: “ + C[i] +“\n”);
  39.         }
  40.         System.out.print(“\n”);
  41.     }
  42. }

شرح الكود

  1.         int N;
  2.         int[] A;
  3.         int[] B;
  4.         int[] C;
  5.         int k = 0;
    • هنا قمنا بتجهيز المتغير N لتخزين عدد عناصر المصفوفتين A و B, و هو أول شيء سيطلب من المستخدم إدخاله.
    • و المصفوفات A و B و C و لم نحدد عدد عناصرهم.
    • و المتغير k الذي أعطيناه القيمة 0 كقيمة أولية لأننا سنستخدمه كعداد للوصول إلى عناصر المصفوفة C
  1.         do
  2.         {
  3.             System.out.print(“Enter the length for vectors ( A ) and ( B ): “);
  4.             N = input.nextInt();
  5.         }
  6.         while ( N <= 0 );
    • هنا سيطلب من المستخدم إدخال عدد عناصر المصفوفتينA و B, بعدها سيتم تخزينه في المتغير N
    • بعدها سيتم فحص قيمة المتغير N. إذا كانت أصغر أو تساوي 0, سيطلب من المستخدم إدخال العدد من جديد.
    • إذاً هذه الحلقة تضمن أن لا يقوم المستخدم بإدخال عدد أصغر أو يساوي 0.
  1.         A = new int[N] ;
  2.         B = new int[N] ;
  3.         C = new int[N*2] ;
    • هنا سيتم تحديد عدد عناصر المصفوفات الثلاثة كالتالي:
      • عدد عناصر المصفوفتان A و B يساوي قيمة المتغير N
      • عدد عناصر المصفوفة c يساوي عدد عناصر المصفوفتين A و B مع بعض, أي يساوي قيمة المتغير N*2
        ملاحظة: عدد عناصر المصفوفة C يمكن تحديدها بأكثر من طريقة, فمثلاً يمكنك أن تكتب N+N أو A.length + B.length بدل N*2
  1.         for (int i=0; i<=N-1; i++)
  2.         {
  3.             System.out.print(“Enter A[“ +i+ “]: “);
  4.             A[i] = input.nextInt();
  5.             System.out.print(“Enter B[“ +i+ “]: “);
  6.             B[i] = input.nextInt();
  7.         }
    • هنا أنشأنا حلقة تبدأ من index العنصر الأول في كلا المصفوفتين, أي العنصر رقم 0, إلى آخر عنصر موجود فيهما و الذي يملك الـ index الأخير, أي N-1
    • في كل دورة من دورات الحلقة i سيطلب من المستخدم إدخال قيمة لعنصر في المصفوفة A, و قيمة لعنصر في المصفوفة B
      فمثلاً, عندما تكون قيمة العداد i تساوي 0 , سيطلب منه إدخال قيمة للعنصر A[0] و العنصر B[0]
  1.         for (int i=0; i<=N-1; i++)
  2.         {
  3.             C[k] = A[i] ;
  4.             C[k+1] = B[i] ;
  5.             k = k+2;
  6.         }
  • هنا أنشأنا حلقة تبدأ من index العنصر الأول في كل المصفوفات, أي العنصر رقم 0, إلى آخر عنصر موجود في المصفوفات و الذي يملك الـ index الأخير, أي N-1
  • في كل دورة من دورات الحلقة i سيحدث التالي في المصفوفة C من خلال العداد k :
    • سيتم وضع قيمة عنصر المصفوفة A في عنصر جديد في المصفوفة C
    • ثم وضع قيمة عنصر المصفوفة B في العنصر التالي في المصفوفة C
    • ثم سيتم زيادة قيمة المتغير k إثنين لتجاوز الخانتين السابقتين اللتين تم وضع القيم فيهما.
    • طريقة عمل الكود:
      • في البداية, قيمة العداد i تساوي 0, لذلك سيتم وضع قيمة العنصر A[0] في العنصر C[0], ثم قيمة العنصر B[0] في العنصر C[1]
      • بعد أن تم إضافة 2 على قيمة المتغير k و أصبحت قيمة العداد i تساوي 1, سيتم وضع قيمة العنصر A[1] في العنصر C[2], ثم قيمة العنصر B[1]في العنصر C[3]
      • بعد أن تم إضافة 2 على قيمة المتغير k و أصبحت قيمة العداد i تساوي 2, سيتم وضع قيمة العنصر A[2] في العنصر C[4], ثم قيمة العنصر B[2]في العنصر C[5]
      • بعد أن تم إضافة 2 على قيمة المتغير k و أصبحت قيمة العداد i تساوي 3, سيتم وضع قيمة العنصر A[3] في العنصر C[6], ثم قيمة العنصر B[3]في العنصر C[7]
      • مهما كان حجم المصفوفات فإن الكود سيعمل بنفس الطريقة.
    1.         for (int i=0; i<=(N*2)-1; i++)
    2.         {
    3.             System.out.print(“C[“ +i+ “]: “ + C[i] +“\n”);
    4.         }
  • هنا أنشأنا حلقة تبدأ من index العنصر الأول في المصفوفة C إلى آخر عنصر موجود فيها بهدف عرض قيمة كل عنصر أصبح فيها.
  • في كل دورة من دورات الحلقة i سيطبع للمستخدم أن العنصر رقم كذا قيمته كذا.

 

المصدر: التعامل مع المصفوفة ذات البعد الواحد في الخوارزميات – التمرين السابع – المناهج السعودية

مقالات ذات صلة

اترك تعليقاً

لن يتم نشر عنوان بريدك الإلكتروني. الحقول الإلزامية مشار إليها بـ *

زر الذهاب إلى الأعلى