مقدمة & nbsp؛
في كثير من الأحيان ، عند التعامل مع أي معلومات ، يتعين عليك التعامل مع البيانات المجدولة. غالبًا ما تعمل البرامج الحديثة مع هذه البيانات. أبسط مثال على ذلك هو برمجة الألعاب على لوحة مربعات: tic-tac-toe ، الشطرنج ، لعبة الداما ، إلخ.

في الرياضيات ، تسمى هذه الهياكل المصفوفات.
نبسب ؛
المصفوفة عبارة عن جدول مستطيل مكون من عناصر من نفس النوع (أرقام ، سلاسل ، إلخ. .)
يمكن تخزين مثل هذه البيانات في باسكال ومعالجتها كمصفوفات ثنائية الأبعاد - "مصفوفات المصفوفات".
لمعالجة البيانات الموجودة في الجدول ، من الضروري تذكر حالة كل خلية (خلية). تحتوي كل خلية على رقمين: رقم صف ورقم عمود.
في المصفوفة ، يحتوي كل عنصر على مؤشرين: أولاً يتم الإشارة إلى رقم الصف ، ثم رقم العمود. يبدأ ترقيم الصفوف والأعمدة من الصفر.
على سبيل المثال ، العنصر أ [1] [2] هو العنصر الموجود في الصف الثاني والعمود الثالث.

تمامًا كما هو الحال مع المصفوفات العادية (القوائم) ، من أجل العمل مع المصفوفات ، تحتاج إلى تعلم كيفية إنشاءها وإدخالها ومعالجتها وعرضها.
نبسب ؛
إنشاء المصفوفة
مهمة أنشئ في الذاكرة مصفوفة بالحجم المحدد مليئة بالأصفار.

لإنشاء مصفوفة بشكل صحيح ، تحتاج إلى إجبار المترجم على إنشاء كل السلاسل في الذاكرة ككائنات مختلفة.
للقيام بذلك ، يجب عليك أولاً إنشاء مصفوفة فارغة ، ثم تحديد عدد الصفوف في المصفوفة ، ثم تحديد عدد العناصر في كل صف باستخدام طريقة setLength () في حلقة: ن: = 3 م: = 2 setLength (A ، N) ؛ بالنسبة إلى i: = 0 إلى N - 1 do نبسب ؛ setLength (A [i]، M)؛

& nbsp؛

تعبئة المصفوفة بقيم عشوائية بعد إنشاء مصفوفة ، يمكنك ملؤها بقيم عشوائية. نظرًا لأن كل عنصر يحتوي على مؤشرين ، فمن الضروري استخدام حلقات متداخلة بالنسبة إلى i: = 0 إلى N تبدأ بالنسبة إلى j: = 0 إلى M تبدأ أ [i] [j]: = ... نبسب ؛ نهاية؛ نهاية؛ نبسب ؛
عرض المصفوفة

عادةً ما تُستخدم حلقتان متداخلتان لمعالجة القائمة وعرضها. الدورة الأولى برقم السطر ، والدورة الثانية بواسطة العناصر الموجودة داخل السطر.
من أجل عرض المصفوفة سطراً بسطر ، وفصل الأرقام بمسافات في سطر واحد ، & nbsp ؛ تحتاج إلى كتابة الجزء التالي: بالنسبة إلى i: = 0 إلى length (A) - 1 هل تبدأ // length (A) - تُرجع عدد الصفوف في المصفوفة A نبسب ؛ نبسب ؛ بالنسبة إلى j: = 0 إلى length (A [i]) - 1 do // length (A [i]) - تُرجع عدد العناصر في السلسلة i نبسب ؛ نبسب ؛ نبسب ؛ نبسب ؛ اكتب (a [i] [j] ، & # 39 ؛ & # 39 ؛) ؛ نبسب ؛ نبسب ؛ writeln () ؛ // قم بعمل سطر جديد بعد عرض السطر نهاية؛

هي نفسها ، ولكن ليس حسب الفهرس ، ولكن حسب قيم القائمة (يمكن للحلقة for أن تتكرر على جميع العناصر في القائمة (المصفوفة) ، السلسلة): للصف في ابدأ // كرر على جميع صفوف المصفوفة أ نبسب ؛ نبسب ؛ بالنسبة إلى العنصر في الصف ، قم بإجراء // حلقة خلال جميع العناصر في الصف نبسب ؛ نبسب ؛ نبسب ؛ نبسب ؛ اكتب (elem ، & # 39 ؛ & # 39 ؛) ؛ نبسب ؛ نبسب ؛ writeln () ؛ النهاية ؛

ملء مصفوفة بقيم من لوحة المفاتيح

دع البرنامج يتلقى مصفوفة ثنائية الأبعاد كمدخلات ، على شكل & nbsp؛ n & nbsp؛ lines ، كل منها يحتوي على & nbsp؛ m & nbsp؛ أرقام مفصولة بـ المساحات. يمكنك حفظ هذه البيانات في مصفوفة ثنائية الأبعاد مثل هذا: قراءة (ن ، م) ؛ ضبط الطول (أ ، ن) ؛ بالنسبة إلى i: = 0 إلى n - 1 ابدأ نبسب ؛ نبسب ؛ setlength (a [i]، m) ؛ نبسب ؛ نبسب ؛ بالنسبة إلى j: = 0 إلى m - 1 اقرأ (a [i] [j]) ؛ النهاية ؛

يحتوي كل عنصر من عناصر المصفوفة على مؤشرين ، لذلك تحتاج إلى استخدام حلقة متداخلة لتكرار كل العناصر.
عادةً ما يتم تكرار المصفوفة صفًا بصف: الحلقة الخارجية تتكرر فوق فهارس الصف ، بينما تتكرر الحلقة الداخلية فوق فهارس الأعمدة.
ولكن إذا لزم الأمر ، يمكنك التكرار على المصفوفة والأعمدة ، ثم تنعكس الدورات.