التعامل مع المصفوفة ذات البعد الواحد في الخوارزميات – التمرين الأول
جدول المحتويات
التعامل مع المصفوفة ذات البعد الواحد في الخوارزميات – التمرين الاول
التعامل مع المصفوفة ذات البعد الواحد في الخوارزميات – التمرين الاول
التعامل مع المصفوفة ذات البعد الواحد في الخوارزميات – التمرين الاول
التعامل مع المصفوفة ذات البعد الواحد في الخوارزميات – التمرين الاول
التعامل مع المصفوفة ذات البعد الواحد في الخوارزميات – التمرين الاول
التعامل مع المصفوفة ذات البعد الواحد في الخوارزميات – التمرين الاول
المطلوب
هذا التمرين مقسّم إلى أربع أفكار رئيسية, عليك اتباع التقسيم التالي خطوة خطوة حتى تنجز البرنامج.
- أكتب برنامج يطلب من المستخدم إعطائه عدد يمثل عدد عناصر مصفوفة إسمها
vector
و يخزنه في متغير إسمهN
.
إنتبه: يجب أن يدخل المستخدم عدد أكبر من صفر, لأن عدد عناصر المصفوفة لا يمكن أن يكون صفر أو أقل من صفر. - ثم ينشئ المصفوفة
vector
و يحدد أن عدد عناصرها هو العدد الذي أدخله المستخدم. - ثم يعرض عدد عناصر المصفوفة
vector
للمستخدم باستخدام الخاصيةlength
. - ثم يطلب من المستخدم إدخال قيمة لكل عنصر من عناصر المصفوفة
vector
. - ثم يعرض للمستخدم جميع قيم عناصر المصفوفة
vector
.
النتيجة المطلوبة
في الخطوة الأولى: عند تشغيل البرنامج سيطلب من المستخدم إدخال عدد يمثل عدد عناصر المصفوفة.
- لنفترض أن المستخدم أدخل العدد ” 5- ” سيطلب منه إدخال عدد جديد لأنه أصغر أو يساوي 0.
- لنفترض أن المستخدم أدخل العدد ” 0 ” سيطلب منه إدخال عدد جديد لأنه أصغر أو يساوي 0.
- لنفترض أن المستخدم أدخل العدد ” 5 “. هنا سيقبله لأنه ليس أصغر أو يساوي 0, ثم سينتقل إلى الخطوة التالية.
في الخطوة الثانية: سيعرض له العدد الذي قبله من المستخدم و الذي سيمثل عدد عناصر المصفوفة.
في الخطوة الثالثة: سينتظر المستخدم ليدخل قيمة لكل عنصر.
في الخطوة الرابعة: سيعرض له قيم جميع عناصر المصفوفة النهائية.
كود الجافا
- package vector;
- 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.
المصدر: التعامل مع المصفوفة ذات البعد الواحد في الخوارزميات – التمرين الأول – المناهج السعودية