مقدمه 
اغلب، هنگام کار با هر اطلاعاتی، باید با داده های جدولی سروکار داشته باشید. برنامه های مدرن اغلب با چنین داده هایی کار می کنند. ساده ترین مثال برنامه نویسی بازی های روی تخته شطرنجی است: تیک تاک، شطرنج، چکرز و غیره.

در ریاضیات به چنین ساختارهایی ماتریس می گویند.
 
ماتریسیک جدول مستطیل شکل است که از عناصری از همان نوع (اعداد، رشته ها و غیره) تشکیل شده است. .)< /div>
چنین داده هایی در پاسکال را می توان به صورت آرایه های دو بعدی - "آرایه آرایه ها" ذخیره و پردازش کرد.
برای پردازش داده های جدول، لازم است وضعیت هر سلول (سلول) را به خاطر بسپارید. هر سلول دو عدد دارد: یک شماره ردیف و یک شماره ستون.
در ماتریس، هر عنصر دارای دو شاخص است: ابتدا شماره ردیف و سپس شماره ستون مشخص می شود. شماره گذاری سطرها و ستون ها از صفر شروع می شود.
به عنوان مثال، عنصر A[1][2] عنصری است که در ردیف دوم و ستون سوم قرار دارد.

درست مانند آرایه های معمولی (لیست ها)، برای کار با ماتریس ها، باید نحوه ایجاد، ورود، پردازش و نمایش آنها را یاد بگیرید.
 
ایجاد ماتریس
وظیفه
ماتریسی به اندازه داده شده پر از صفر در حافظه ایجاد کنید.

برای ایجاد درست یک ماتریس، باید کامپایلر را مجبور کنید تا تمام رشته ها را در حافظه به عنوان اشیاء مختلف ایجاد کند.
برای انجام این کار، ابتدا باید یک آرایه خالی ایجاد کنید، سپس تعداد ردیف های ماتریس را مشخص کنید و سپس تعداد عناصر هر ردیف را با استفاده از روش setLength() در یک حلقه مشخص کنید: N: = 3 M: = 2 setLength (A, N); برای i := 0 تا N - 1 do   setLength(A[i]، M);

 

پر کردن یک ماتریس با مقادیر دلخواه
پس از ایجاد یک ماتریس، می توانید آن را با مقادیر دلخواه پر کنید. از آنجایی که هر عنصر دارای دو شاخص است، استفاده از حلقه های تو در تو ضروری است برای i := 0 تا N شروع کنید برای j := 0 تا M شروع کنید A[i][j] := ...   پایان؛ پایان؛  
نمایش ماتریس

دو حلقه تودرتو معمولاً برای پردازش و نمایش لیست استفاده می شود. چرخه اول توسط شماره خط، چرخه دوم توسط عناصر داخل خط است.
برای نمایش سطر به خط ماتریس، جدا کردن اعداد با فاصله در یک خط، باید قطعه زیر را بنویسید:

برای i := 0 به طول (A) - 1 شروع می شود // طول (A) - تعداد ردیف های ماتریس A را برمی گرداند.     برای j := 0 به طول(A[i]) - 1 do // length(A[i]) - تعداد عناصر را در رشته i برمی گرداند.         نوشتن(a[i][j]، ' ');     writeln(); // بعد از نمایش خط یک خط جدید انجام دهید پایان؛

همانطور است، اما نه بر اساس شاخص، بلکه بر اساس مقادیر لیست چرخه می‌شود (حلقه for می‌تواند روی همه عناصر موجود در لیست (آرایه)، رشته تکرار شود):

برای ردیف در یک do start // روی تمام ردیف‌های ماتریس a تکرار شود     برای elem در ردیف انجام // حلقه تمام عناصر در ردیف         write(elem, ' ');     writeln(); پایان;

پر کردن یک ماتریس با مقادیر از صفحه کلید

اجازه دهید برنامه یک آرایه دوبعدی را به عنوان ورودی دریافت کند، به شکل n خطوط، که هر کدام حاوی m اعداد جدا شده با فضاها شما می توانید چنین داده هایی را در یک آرایه دو بعدی ذخیره کنید:

خواندن (n, m); طول مجموعه (a, n); برای i:= 0 تا n - 1 شروع می شود     ثبات (a[i]، m);     برای j := 0 تا m - 1 do read(a[i][j]); پایان;

هر عنصر ماتریس دارای دو شاخص است، بنابراین باید از یک حلقه تودرتو برای تکرار روی همه عناصر استفاده کنید.
معمولاً یک ماتریس سطر به ردیف تکرار می شود: حلقه بیرونی روی شاخص های ردیف تکرار می شود، در حالی که حلقه داخلی روی شاخص های ستون تکرار می شود.
اما در صورت لزوم، می توانید روی ماتریس و ستون ها تکرار کنید، سپس چرخه ها برعکس می شوند.