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

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

المطلوب

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

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

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

في الخطوة الأولى: عند تشغيل البرنامج سيطلب من المستخدم إدخال عدد يمثل عدد عناصر المصفوفة.

  • في حال أدخل المستخدم العدد 5- سيطلب منه إدخال عدد جديد لأنه يعتبر أصغر أو يساوي صفر.
  • في حال أدخل المستخدم العدد 0 سيطلب منه إدخال عدد جديد لأنه يعتبر أصغر أو يساوي صفر أيضاً.
  • في حال أدخل المستخدم العدد 5 سيقبله لأنه ليس أصغر أو يساوي صفر, ثم سينتقل إلى الخطوة التالية.

في الخطوة الثانية: سيعرض له العدد الذي قبله من المستخدم و الذي سيمثل عدد عناصر المصفوفة.

في الخطوة الثالثة: سينتظر المستخدم ليدخل قيمة لكل عنصر.

في الخطوة الرابعة: سيعرض له قيم جميع عناصر المصفوفة النهائية.

الخوارزمية

كود الجافا

import java.util.Scanner;
 
public class Vector {
 
    public static void main (String[] args) {
 
        Scanner input = new Scanner(System.in);
 
        int N;
        int[] vector;
 
        do
        {
            System.out.print("Enter the length of the vector: ");
            N = input.nextInt();
        }
        while ( N<= 0 );
 
        System.out.print("--------------------------------------\n");
 
        vector = new int[N];
        System.out.print("vector contains " + vector.length + " elements \n" );
 
        System.out.print("--------------------------------------\n");
 
        for (int i=0; i<=N-1; i++)
        {
            System.out.print("Enter vector[" +i+ "]: " );
            vector[i] = input.nextInt();
        }
 
        System.out.print("--------------------------------------\n");
 
        for (int i=0; i<=N-1; i++)
        {
            System.out.print("vector[" +i+ "]: " +vector[i]+ "\n" );
        }
 
    }
 
}

شرح الكود

  • الهدف من هذا البرنامج تعليمك كيف تتعامل مع المصفوفة من خلال حلقة.


        int N;
        int[] vector;
  • هنا قمنا بتجهيز المتغير N لتخزين عدد عناصر المصفوفة, و هو أول شيء سيطلب من المستخدم إدخاله.
  • و المصفوفة vector و التي لم يتم تحديد عدد عناصرها.


        do
        {
            System.out.print("Enter the length of the vector: ");
            N = input.nextInt();
        }
        while ( N<= 0 );
  • هنا سيطلب من المستخدم إدخال عدد عناصر المصفوفة, بعدها سيتم تخزينه في المتغير N.
  • بعدها سيتم فحص قيمة المتغير N, إذا كانت أصغر أو تساوي 0 سيطلب من المستخدم إدخال العدد من جديد.
  • إذاً هذه الحلقة تضمن أن لا يقوم المستخدم بإدخال عدد أصغر أو يساوي 0.


        vector = new int[N];
        System.out.print("vector contains " + vector.length + " elements \n" );
  • هنا سيتم تحديد عدد عناصر المصفوفة و الذي يساوي قيمة العدد N التي أدخلها المستخدم.
  • بعدها سيتم طباعة عدد عناصر المصفوفة باستخدام الخاصية length.
  • لو وضعنا N بدل vector.length لكان الجواب نفسه لأن عدد العناصر أيضاً يساوي قيمة المتغير N.


        for (int i=0; i<=N-1; i++)
        {
            System.out.print("Enter vector[" +i+ "]: " );
            vector[i] = input.nextInt();
        }
  • هنا أنشأنا حلقة تبدأ من index العنصر الأول في المصفوفة إلى آخر عنصر موجود فيها بهدف إعطاء قيمة لكل عنصر فيها.
  • في كل دورة من دورات الحلقة i سيطلب من المستخدم إدخال قيمة لعنصر محدد فيها, بعدها سيتم تخزين العدد الذي أدخله في هذا العنصر.


        for (int i=0; i<=N-1; i++)
        {
            System.out.print("vector[" +i+ "]: " +vector[i]+ "\n" );
        }
  • هنا أنشأنا حلقة تبدأ من index العنصر الأول في المصفوفة إلى آخر عنصر موجود فيها بهدف عرض قيمة كل عنصر فيها.
  • في كل دورة من دورات الحلقة i سيطبع للمستخدم أن العنصر رقم كذا قيمته كذا.

ملاحظة

جميع الحلقات i التي قمنا بتعريفها في هذا البرنامح, يمكن كتابتها بطرق مختلفة.
فمثلاً لو وضعنا الشرط i<N أو i<=vector.length-1 أو i<vector.length بدل i<=N-1 لعمل البرنامج أيضاً بنفس الطريقة لأن كل هذه الشروط ستجعل الحلقة تتوقف عند index آحر عنصر في المصفوفة.

لو عدت للتمرين, و وضعت أي شرط منهم و أدخلت نفس القيم التي أدخلناها, فإن آخر قيمة للعداد i ستكون 4 طالما أن قيمة المتغير N الذي يمثل عدد عناصر المصفوفة تساوي 5.

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


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