Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
!_Методичка_ТР.doc
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
2.17 Mб
Скачать

5.1 Дії над масивами

Для роботи з масивом як єдиним цілим використовується його ім'я без вказівки індексу у квадратних дужках. Масив може брати участь тільки в операціях відношення: '=', '<>' і в операторі присвоєння ':='. Масиви, що беруть участь у цих діях, мають бути ідентичні за структурою, тобто мати однаковий тип індексів і однакові типи компонентів.

Наприклад, якщо масиви А і В описані як

VAR А, В: array [1..20] of real;

то застосування до них допустимих операцій дасть такий результат:

A=В − True, якщо значення кожного елементу масиву А дорівнює відповідному значенню елементу масиву В;

А<>В − True, якщо хоча б одне значення елемента масиву А не дорівнює відповідному значенню елементу масиву В;

А:=В − усі значення елементів масиву В присвоюються відповідним елементам масиву А [6].

5.2 Дії над елементами масиву

Після оголошення масиву кожен його елемент можна обробляти, вказавши ім'я масиву та індекси елементу [5].

Наприклад, запис Matr[4,4] робить доступним для обробки значення елемента четвертого стовпця масиву Matг, що знаходиться в четвертому рядку.

Індексовані елементи масиву називаються індексованими змінними і можуть бути використані так само, як і прості змінні.

5.3 Типові ситуації, що виникають при роботі з двовимірними масивами

Введення елементів масиву здійснюється, як правило, таким чином:

for i:=1 to 10 do

for j:=1 to 15 do readln(В[i, j]);

Можна ввести і значення окремих елементів, а не усього масиву. Так, за допомогою процедури readln(В[6,9]); вводиться значення елемента, розташованого в шостому рядку дев'ятого стовпця матриці В.

Виведення значень елементів масиву виконується аналогічним чином, але використовуються процедури write і writeln (див. приклад 5.1).

Приклад 5.1 Задано двовимірний масив різних дійсних чисел, що містить 5 рядків і 4 стовпці. Рядок, що містить максимальний елемент масиву, поміняти місцями з рядком, що містить мінімальний елемент, перетворений масив вивести на друк.

program Z51;

uses crt;

tуре massiv = array[l..4] of real;

var

m: array[1..5] of mass; {опис масиву m типу massiv}

ml: massiv; {опис масиву ml типу massiv}

max, min: real; {max, min елементи дійсного типу}

maxi, mini {i- номери max, min елементів}

i, j: integer;

begin clrscr;

writeln('Введіть початковий масив:');

for i:=1 to 5 do {Введення елементів масиву m }

for j:=1 to 4 do

begin

write('m[', i', ', ', j']=');

readln(m[i, j])

end;

writeln('Початковий масив :'); {Виведення початкового масиву}

for i:=l to 5 do

begin

for j:=1 to 4 do write(m[i, j]:5:2);

writeln;

end;

{Пошук максимального і мінімального значень та їх індексів}

max:=m[1,1]; min:=m[1,1] ;

maxi:=1; mini:=1;

for i:=1 to 5 do

for j:=1 to 4 do

begin

if max<m[i, j] then

begin max:=m[i, j]; maxi:=i end;

if min>m[i, j] then begin min:=m[i, j]; mini:=i end

end;

{Перестановка рядків з максимальним і мінімальним значеннями}

m1:=m[maxi];

m[maxi]:=m[mini];

m[mini]:=m1;

writeln('Macив після перестановки рядків:');

{Виведення перетвореного масиву}

for i:=1 to 5 do

begin

for j:=l to 4 do write(m[i, j]:5:2);

writeln;

end

readkey

end.