1. Поняття масиву.
У попередніх
пунктах розглядали задачі, в яких використовувалася невелика кількість змінних.
Але існує багато задач, у яких потрібно опрацьовувати значення досить великої кількості змінних.
Наприклад, якщо
потрібно скласти програму для знаходження середньої маси 100 учнів 11-х класів,
то очевидно потрібно використати 100
змінних, значенням кожної з яких буде маса відповідного одинадцятикласника,
знайти суму значень цих змінних і поділити її на 100.
Якщо використати
100 змінних з довільними іменами, наприклад a,b, c, ..., z, aa, ab, ac, ...,
az, ba, bb, bc, ..., bz, ca, cb, cc, ..., cv (як в електронних таблицях),
то команда знаходження суми їхніх значень міститиме в правій своїй частині 100
доданків, або потрібно включити до тексту програми 100 команд, які по черзі
додають до значення змінної summa значення маси наступного
одинадцятикласника:
summa := a;
summa := summa + b;
summa := summa + c;
...
summa := summa + cv;
Усе це робить
текст програми громіздким і незручним, зважаючи на те, що кількість учнів може
бути ще більшою або взагалі довільною.
Для розв’язування
задач, у яких опрацьовуються значення великої кількості змінних, можна піти
таким шляхом: розглядати всі ці змінні як елементи деякого впорядкованого
набору змінних. Цей набір змінних має ім’я, а ім’я кожної змінної набору
складається з імені набору та порядкового номера цієї змінної в наборі. Такому
набору даних можна надати загальне
ім’я, а кожна окрема змінна визначатиметься наданим загальним іменем і своїм порядковим номером у
цьому наборі.
Впорядкований
набір змінних одного типу називається масивом. Кожна змінна, що входить
до масиву, називається елементом масиву.
2.
Оголошення одновимірного масиву. Індексація
елементів масиву.
Масив, у якому
кожний елемент визначається тільки одним порядковим номером, називається одновимірним.
Ім’я кожного
елемента одновимірного масиву складається з імені масиву й узятого у квадратні
дужки порядкового номера цього елемента в масиві.
Так, для прикладу,
розглянутого вище, замість 100 окремих змінних варто розглядати масив, що
складається зі 100 елементів. Якщо надати ім’я масиву a, то імена
змінних – елементів цього масиву будуть такі: a[1], a[2], a[3],
..., a[100]. Кожна з цих змінних матиме тип Real.
Тоді, щоб знайти
суму значень усіх цих 100 змінних, достатньо
записати такі
команди:
summa := 0;
for i := 1 to
100 do
summa := summa +
a[i];
Зверніть увагу, що номер елемента масиву може задаватися як числом,
так і значенням виразу, що набуває цілочисельного значення.
Виконання цього
фрагмента програми відбуватиметься так:
У результаті
виконання наведеного фрагмента програми значення змінної summa дорівнюватиме
сумі значень усіх 100 змінних – елементів одновимірного масиву, тобто сумарній
масі даних 100 учнів.
У тексті програми
мовою Lazarus у рядку var змінна a типу одновимірний масив оголошується
так: var a: array [1..100] of Real (англ. Array – масив). У
квадратних дужках указується діапазон номерів елементів масиву: від 1 до
100. За цим записом компілятор виділяє в пам’яті комп’ютера 100 ділянок під
кожну зі 100 змінних – елементів масиву.
Розмір кожної
ділянки залежить від типу елементів масиву.
Зверніть увагу,
що інколи зручно нумерувати
елементи масиву, починаючи не з першого номера. Так, наприклад, для змінних,
значення яких – кількість населення України в період з 1990 по 2011 роки можна
використати масив a: array [1990..2011] of Integer. Взагалі, номери
елементів одновимірного масиву можуть буди елементами довільного діапазону
цілих чисел.
Практичні завдання:
1. Складіть таблицю виконання фрагмента програми та
визначте значення змінної dob після його завершення для масиву, значеннями
елементів якого є числа 2; –3,5; 1,2; 0,25; –4:
dob := 1;
for i := 1 to 5
do
dob := dob *
a[i];
2. Cкладіть таблицю виконання фрагмента програми та
визначте значення змінної sum після його завершення для масиву,
значеннями якого є числа 2; 0; 23; –14:
sum := 0;
for i := 1 to 4
do
if a[i] mod 2
=0 then sum := sum + a[i]*a[i];
3. Запишіть рядок оголошення змінних типу
одновимірний масив:
а) масив змінних
цілого типу з іменем х і діапазоном номерів від 1 до 50;
б) масив змінних
дійсного типу з іменем mas і діапазоном номерів від 10 до 35;
в) масив змінних цілого типу з іменем tab і
діапазоном номерів від –7 до 12.
Комментариев нет:
Отправить комментарий