Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Курсова робота7_7.doc
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
122 Кб
Скачать
☆

I. Теоретична частина

1. Масиви

1.1. Опис типу

Масив (array) – це скінченний набір елементів одного (базового) типу, які зберігаються в послідовно розташованих комірках оперативної памя’ті і мають спільну назву.

У математиці поняттю масив відповідають поняття вектор та матриці. Розрізняють одно- та багатовимірні масиви. Двовимірний масив даних – це таблиця, що складається з декількох рядків.

Загальний вигляд конструкції опису типу масиву такий:

array [<розмір>] of <назва базового типу> ;

Розмір (кількість елементів) масиву найчастіше задають у вигляді діапазону або назви деякого перерахованого типу даних, ця кількість фіксується при описі і в процесі виконання програми не міняється [1, 2].

Описати масив можна у розділі опису типів type, у розділі констант const, або у розділі оголошення змінних var. Назви типів масивів і змінних-масивів придумує користувач [2].

Доступ до кожного окремого елемента здійснюється шляхом індексациї елементів масиву. Індекси масиву рівні поняттю індекс елемента вектора [1].

Приклади опису масиву: 1) опис типу масивів (назва типу mymasyv), 2) оголошення сталого масиву (масиву-константи) vydatky типу mymasyv і 3) оголошення змінних-масивів а, а1 типу mymasyv та масивів: b (він має 7 елементів цілого типу), с (має 100 елементівсимволів,тобто даних типу char).

type mymasyv= array [ 1.. 10] of real;

day=(mon, tue, wed, the, f ri,sat, sun);

const vydatky: mymasyv =(1.2,1,1,2,18,2.4,8.97,3,7,1.3);

var a,al: mymasyv;

b: array[day] of integer;

c: array [1..100] of char; [1].

1.2. Дії над масивами

Для роботи з масивом як єдиним цілим використовується ідентифікатор масиву без вказівки індексу в квадратних дужках. Масив може брати участь тільки в операціях відношення "рівно", "не рівно" і в операторі присвоєння. Масиви, що беруть участь в цих діях, повинні бути ідентичні по структурі, тобто мати однакові типи індексів і однакові типи компонентів. Наприклад, якщо масиви А і В описані, як Var А, В : array[1. .20] of real; то застосування до них допустимих операцій дасть наступний результат

вираз результат

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

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

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

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

Після оголошення масиву кожен його елемент можна обробити, вказавши ідентифікатор (ім'я) масиву і індекс елементу в квадратних дужках. Наприклад, запис Mas[2], vektorZ[10] дозволяє звернутися до другого елементу масиву Mas і десятого елементу масиву vectorZ. При роботі з двовимірним масивом вказуються два індекси, з n-мірним масивом - n індексів. Наприклад, запис MATRU[4,4] робить доступним для обробки значення елементу, що знаходиться в четвертому рядку четвертого стовпця масиву MATRU.

Індексовані елементи масиву називаються індексованими змінними і можуть бути використані так само, як і прості змінні. Наприклад, вони можуть знаходитися у виразах як операнди, використовуватися в операторах for, while, repeat, входити як параметри до операторів read, readln, write, writeln; їм можна присвоювати будь-які значення, відповідні їх типу.

Розглянемо типові ситуації, що виникають при роботі з даними типу array. Для цього опишемо три масиви і чотири допоміжні змінні:

Var A, D : array [1..4] of real;

B : array[1..10,1..15] of integer;

L, J : integer;

K : integer;

S: real;

Ініціалізація масиву полягає в приcвоєнні кожному елементу масиву одного і того ж значення, відповідного базовому типу, найефективніше ця операція виконується за допомогою оператора for:

for I := 1 to 4 do A[I]:= 0;

для ініціалізації двомірного масиву зазвичай використовується вкладений оператор for:

for I := 1 to 10 do for J := 1 to 15 do B[I, J] := 0;

Мова Паскаль не має засобів введення-виведення елементів масиву відразу, тому введення і виведення значень проводиться поелементно.

Значення елементам масиву можна присвоїти за допомогою оператора присвоєння, як показано в прикладі ініціалізації, проте найчастіше вони вводяться з екрану за допомогою оператора read або readln з використанням оператора організації циклу for:

for І:=1 to 4 do readln (A[I]);

Значення двомірного масиву вводяться за допомогою вкладеного оператора for:

for I := 1 to 10 do

for J := 1 to 15 do readln (B[I, J]);

Аналогічним чином здійснюються вивід значень елементів масиву.

Копіювання масивів називається присвоєнням значення всіх елементів одного масиву всім відповідним елементам другого масиву (аналог операції присвоєння масиву).

Інколи необхідно здійснювати пошук в масиві деяких елементів, що задовільняють певні умови. Наприклад треба з’ясувати скільки елементів масиву А мають нульове значення:

K:=0;

For I:=1 to 4 do

If A[I]=0 then K:=K+1;

Перестановка значень елементів масива відбувається за допомогою змінної тогож типу, що і базовий тип масива. Наприклад треба помінятизначення першого та п’ятого елементів масиву A:

Vs:=A[5];

A[5]:=A[1];

A[1]:=Vs; [1].