Дамо поняття масиву. Масив – це впорядкований іменований набір із
фіксованої кількості однотипних даних. Доступ до будь-якого елементу
масиву здійснюється за його номером. У масиви можна об’єднувати
результати експериментів, списки прізвищ співробітників, різні складні
структури даних. Наприклад, список учнів у класному журналі є масивом. У
масиві дані розрізняються за своїми порядковими номерами (індексами).
Якщо кожний елемент масиву визначається за допомогою одного номера, то
такий масив називається одновимірним, якщо за двома – то двовимірним.
Двовимірний масив – це таблиця з рядків і стовпців. У таблицях перший
номер вказує на рядок, а другий – на положення елемента в рядку. Усі
рядки таблиці мають однакову довжину.
Одновимірний масив може бути набором чисел, сукупністю символьних даних чи елементів іншої природи (навіть масив масивів). Так само, як і в послідовності, в одновимірному масиві можна вказати елемент з конкретним номером, наприклад а5, або записати загальний вигляд елемента, використовуючи як індекс змінну і, вказуючи діапазон її зміни:
a[i] , i=1, 2 n.
Задачі, в яких використовуються масиви, можуть мати різне формулювання. Наприклад, задача починається зі слів «Дано n чисел...» і далі вказується, що треба зробити з цими числами. При написанні програми мовою Паскаль для розв'язання подібної задачі слід виконати такі дії:
Здебільшого номери елементів змінюються від 1 до заданого числа n, яке є ocтаннім значенням (верхньою межею) номера елемента масиву. Значення n можна задати в розділі констант (const). Приклад опису масиву:
const n = 10; var a: array [1..n] of real;
Цей опис означає, що для масиву a буде відведено десять ділянок оперативної пам'яті по шість байтів кожна. У Паскалі імена цих ділянок записуються так:
a[1], a[2], a[3], a[4], a[5], a[6].
В описі після імені масиву а ставиться двокрапка, після якої вказується тип даного – масив. Якщо в програмі кілька масивів одного розміру і типу, то, як і для простих змінних, їх імена можна задати через кому, а потім, після двокрапки, вказати опис масиву. Для введення даних у пам'ять необхідно організувати цикл. Оскільки введення описаного масиву а може мати вигляд:
for і := 1 to n do read(a[i]);
Значення, що вводяться, набираються на клавіатурі і відокремлюються одне від одного пропусками, після чого натискається Enter. Введення можна прокоментувати і вводити кожне дане в окремому рядку після підказу:
for і := 1 to n do begin write ('a [', і, '] = '); readl n(a[i]) end;
При обробці масивів розв'язування багатьох задач базується на простіших задачах:
задача
Одновимірний масив може бути набором чисел, сукупністю символьних даних чи елементів іншої природи (навіть масив масивів). Так само, як і в послідовності, в одновимірному масиві можна вказати елемент з конкретним номером, наприклад а5, або записати загальний вигляд елемента, використовуючи як індекс змінну і, вказуючи діапазон її зміни:
a[i] , i=1, 2 n.
Задачі, в яких використовуються масиви, можуть мати різне формулювання. Наприклад, задача починається зі слів «Дано n чисел...» і далі вказується, що треба зробити з цими числами. При написанні програми мовою Паскаль для розв'язання подібної задачі слід виконати такі дії:
- визначити, які числа задані: цілі чи дійсні; якщо про це
- назвати весь масив одним ім'ям (це ім'я буде використовуватись для кожного елемента, тільки до імені масиву додаватиметься номер елемента – індекс);
- описати масив у розділі змінних var, тим самим відвести місце в пам'яті для масиву;
- ввести дані до пам'яті.
Здебільшого номери елементів змінюються від 1 до заданого числа n, яке є ocтаннім значенням (верхньою межею) номера елемента масиву. Значення n можна задати в розділі констант (const). Приклад опису масиву:
const n = 10; var a: array [1..n] of real;
Цей опис означає, що для масиву a буде відведено десять ділянок оперативної пам'яті по шість байтів кожна. У Паскалі імена цих ділянок записуються так:
a[1], a[2], a[3], a[4], a[5], a[6].
В описі після імені масиву а ставиться двокрапка, після якої вказується тип даного – масив. Якщо в програмі кілька масивів одного розміру і типу, то, як і для простих змінних, їх імена можна задати через кому, а потім, після двокрапки, вказати опис масиву. Для введення даних у пам'ять необхідно організувати цикл. Оскільки введення описаного масиву а може мати вигляд:
for і := 1 to n do read(a[i]);
Значення, що вводяться, набираються на клавіатурі і відокремлюються одне від одного пропусками, після чого натискається Enter. Введення можна прокоментувати і вводити кожне дане в окремому рядку після підказу:
for і := 1 to n do begin write ('a [', і, '] = '); readl n(a[i]) end;
При обробці масивів розв'язування багатьох задач базується на простіших задачах:
- обчислення суми (добутку) елементів масиву;
- знаходження найбільшого (найменшого) елемента;
- упорядкування елементів за зростанням або спаданням.
Створити масив за допомогою генератора
псевдовипадкових чисел. Ввести з клавіатури деяке значення та визначити
номер найпершого з елементів, що дорівнюють цьому значенню. Якщо таких
елементів не існує, вивести відповідне повідомлення.
Лінійний пошук здійснюється шляхом перебирання всіх
елементів масиву та порівняння кожного з них із заданим значенням. Якщо
елемент знайдено, цикл пошуку переривається і виводиться знайдений
індекс. А якщо цикл пошуку дійшов останнього елемента, і цей елемент не
дорівнює заданому значенню, виводиться повідомлення про відсутність
шуканого елемента. Описаний алгоритм пошуку елемента в неупорядкованому
масиві реалізовано в програмі ех7_5, код якої наведено нижче.
задача
Визначити добуток двох матриць розміром NxN.