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

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

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

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

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

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

  1. أكتب برنامج يطلب من المستخدم إعطائه عدد يمثل عدد عناصر مصفوفة إسمها vector و يخزنه في المتغير L.
    تذكر: يجب أن يدخل المستخدم عدد أكبر من صفر, لأن عدد عناصر المصفوفة لا يمكن أن يكون صفر أو أقل من صفر.
  2. ثم يطلب من المستخدم إدخال قيمة لكل عنصر من عناصر المصفوفة vector.
  3. في الأخير يعرض للمستخدم عدد العناصر التي تملك قيم أكبر من صفر, و عدد العناصر التي تملك قيم الأصغر من صفر, و عدد العناصر التي تملك قيم تساوي صفر.

 

إرشادات

إستخدم متغير خاص لتخزين عدد العناصر التي تملك قيم أكبر من صفر.
و متغير خاص لتخزين عدد العناصر التي تملك قيم أصغر من صفر.
و متغير خاص لتخزين عدد العناصر التي تملك قيم تساوي صفر.
 

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

لنفترض أن المستخدم أدخل ” 10 ” عناصر كما في الصورة التالية.

تحليل النتيجة

لنفترض أن المستخدم أدخل ” 10 ” عناصر كما في الصورة السابقة.

الخوارزمية

كود الجافا

  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 L;
  7.         int[] vector;
  8.         int P = 0;
  9.         int N = 0;
  10.         int Z = 0;
  11.         do
  12.         {
  13.             System.out.print(“Enter the length of the vector: “);
  14.             L = input.nextInt();
  15.         }
  16.         while ( L <= 0 );
  17.         vector = new int[L] ;
  18.         for (int i=0; i<=L-1; i++)
  19.         {
  20.             System.out.print(“Enter vector[“ +i+ “]: “ );
  21.             vector[i] = input.nextInt();
  22.             if ( vector[i] > 0 )
  23.             {
  24.                 P = P + 1;
  25.             }
  26.             else if ( vector[i] < 0 )
  27.             {
  28.                 N = N + 1;
  29.             }
  30.             else
  31.             {
  32.                 Z = Z + 1;
  33.             }
  34.         }
  35.         System.out.print(“The number of positive numbers is: “ +P+ “\n” );
  36.         System.out.print(“The number of negative numbers is: “ +N+ “\n” );
  37.         System.out.print(“The number of zero numbers is: “ +Z+ “\n” );
  38.     }
  39. }

شرح الكود

  1.         int L;
  2.         int[] vector;
  3.         int P = 0;
  4.         int N = 0;
  5.         int Z = 0;
    • هنا قمنا بتجهيز المتغير L لتخزين عدد عناصر المصفوفة, و هو أول شيء سيطلب من المستخدم إدخاله.
    • و المصفوفة vector و التي لم يتم تحديد عدد عناصرها.
    • و المتغير P لتخزين عدد العناصر التي تملك قيمة أكبر من صفر.
    • و المتغير N لتخزين عدد العناصر التي تملك قيمة أصغر من صفر.
    • و المتغير Z لتخزين عدد العناصر التي تملك قيمة تساوي صفر.
  1.         do
  2.         {
  3.             System.out.print(“Enter the length of the vector: “);
  4.             L = input.nextInt();
  5.         }
  6.         while ( L <= 0 );
    • هنا سيطلب من المستخدم إدخال عدد عناصر المصفوفة, بعدها سيتم تخزينه في المتغير L
    • بعدها سيتم فحص قيمة المتغير L. إذا كانت أصغر أو تساوي 0, سيطلب من المستخدم إدخال العدد من جديد.
    • إذاً هذه الحلقة تضمن أن لا يقوم المستخدم بإدخال عدد أصغر أو يساوي 0.
  1.         vector = new int[L] ;
    • هنا سيتم تحديد عدد عناصر المصفوفة و الذي يساوي قيمة العدد L التي أدخلها المستخدم.
    • بعدها سيتم طباعة عدد عناصر المصفوفة باستخدام الخاصية length
    • لو وضعنا L بدل vector.length لكان الجواب نفسه لأن عدد العناصر أيضاً يساوي قيمة المتغير L
  1.         for (int i=0; i<=L-1; i++)
  2.         {
  3.             System.out.print(“Enter vector[“ +i+ “]: “ );
  4.             vector[i] = input.nextInt();
  5.             if ( vector[i] > 0 )
  6.             {
  7.                 P = P + 1;
  8.             }
  9.             else if ( vector[i] < 0 )
  10.             {
  11.                 N = N + 1;
  12.             }
  13.             else
  14.             {
  15.                 Z = Z + 1;
  16.             }
  17.         }
    • هنا أنشأنا حلقة تبدأ من index العنصر الأول في المصفوفة إلى آخر عنصر موجود فيها.
    • في كل دورة من دورات الحلقة i  سيحدث التالي:
      • سيطلب من المستخدم إدخال قيمة لعنصر محدد من عناصر المصفوفة.
      • بعدها سيتم تخزين العدد الذي سيدخله في هذا العنصر.
      • بعدها سيتم فحص قيمة العنصر لمعرفة ما إذا كانت عبارة عن عدد أكبر أو أصغر أو يساوي صفر.
        • إذا كانت قيمة العنصر عبارة عن عدد أكبر من صفر, سيتم إضافة 1 على قيمة المتغير P
        • إذا كانت قيمة العنصر عبارة عن عدد أصغر من صفر, سيتم إضافة 1 على قيمة المتغير N
        • إذا كانت قيمة العنصر عبارة عن عدد يساوي صفر, سيتم إضافة 1 على قيمة المتغير Z
  1.         System.out.print(“The number of positive numbers is: “ +P+ “\n” );
  2.         System.out.print(“The number of negative numbers is: “ +N+ “\n” );
  3.         System.out.print(“The number of zero numbers is: “ +Z+ “\n” );
    • في الأخير سيتم عرض عدد الأرقام الأكبر و الأصغر و التي تساوي صفر, التي تم تخزينها في المتغيرات P و N و Z

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

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

اترك تعليقاً

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

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