Мета уроку:Дати поняття двовимірних таблиць. Навчити розв'язувати типові задачі з обробки двовимірних таблиць.
Двовимірний масив — це масив, де кожному елементу ставиться у відповідність два індекси.
Напрямок зміни другого індексу —>
…
I
…
m
…
n
Напрямок
зміни першого
індексу ↓
Для початку роботи з масивом готуємо місце в пам'яті.
Для цього описуємо його в розділі оголошень, використовуючи зарезервоване слово Array, після якого в квадратних дужках вказуємо розмірність масиву, причому враховуємо, що на першому місці вказуються індекси рядків, а на другому - стовпчиків, і обов'язково — тип елементів.
<поч_інд_ставп>. .<кін_інд_стовп>] of <базовий_тип_елементів>;
Приклад опису:
Const n:=100; m:=100; Var A:array[1..n,1..m] of real;
D:array[l..10,1.100] of integer;
Зверніть увагу на те, що значень у рядках або стовпчиках масиву не обов'язково буде стільки, скільки ми оголосили, але не більше!
Звертання до елементу двовимірного масиву: їм'я_масиву[<індекс_рядка>, <хнд_стовпчика>]
Заповнення масиву:
Ø з клавіатури:
for i:=1 to n do
for j:=1 to m do
Begin
write ('введіть A['i,',',j,']: ') ;
readln(A[i,j])
end;
Ø за формулою:
for і:=1 to n do
for j:=1 to m do
A[i,j]:=i*i-10 {або будь-яка інша формула};
Ø випадковим чином із проміжку [K,L]:
for і:=1 to n do
for j:=1 to m do
A[і,j]:=random(L-K)+K;
Виведення двовимірного масиву на екран
for і:=1 to n do
Begin
for j:=1 to m do write(A[i,j]:8); {виведення в рядок}
writeln; {перехід на новий рядок}
end;
Виведення в рядку необхідно обов'язково форматувати, щоб не трапилося «злипання» елементів (дивись приклад вище).
Як уже було зазначено, для роботи з масивом потрібен будь-який оператор повторення. Очевидно, що у двовимірному масиві необхідно використовувати два оператори повторення: один цикл, внутрішній, потрібен для переходу між елементами рядка (тобто, по стовпчиках), а другий, зовнішній, — для переміщення між рядками. Якщо в матриці кількість рядків і стовпчиків однакова, то таку матрицю називають квадратною (на відміну від звичайної прямокутної таблиці). Тільки в квадратних матрицях існують головна та бічна діагоналі (дивись малюнок):
Елементи, що стоять на головній діагоналі, мають індекси (1, 1), (2, 2), (З, 3), ... (і, і). ..., (п, n), тобто номер рядка дорівнює номеру стовпчика. Елементи, що стоять на бічній діагоналі, мають такі індекси (1, n), (2, п -1), (З, п - 2),..., (і, п + 1 - 0, (п, 1), тобто індекси елементів взаємозалежні за формулою j- п +1 - і.
Далі рекомендується розглянути методи розв'язання деяких типових задач з обробки двовимірних таблиць.
ЗАДАЧА №345(1)
Умова: Дано натуральні числа п, т. Обчислити значення елементів матриці Сij, (і = 1, 2, ... п, j-1, 2, .... т), якщо: