Масиви. Їх опис і використання в програмувані

Матеріал з Фізмат Вікіпедії
Перейти до: навігація, пошук

Мета:

  • ознайомити учнів з поняттям масиву, виробити навички користування масивом при складанні програм;
  • розвинути кмітливість, логічне мислення;
  • виховати інтерес до навчального предмету.

Тип уроку:

лекція з елементами бесіди.

Організаційний етап

Перевірка готовності класу до уроку і писутніх учнів на ньому.

Мотиваційний етап

У розглянутих раніше прикладах програм ми проводили обробку одиничних даних – значень простих змінних. При розв’язуванні практичних задач часто доводиться аналізувати не окремі значення, а деякі сукупності таких значень, наприклад при табличному задані функції. Такі дані об’єднуються в різні структури, найпростішими з яких є масиви.

Пояснення нового матеріалу.

Відкрийте свої зошити і запийте сьогоднішнє число. Отож, сьогодні ми з вами будемо вивчати один з видів структур – “масиви”.

Дамо поняття масиву. Масив – це впорядкований іменований набір із фіксованої кількості однотипних даних. Доступ до будь-якого елементу масиву здійснюється за його номером. У масиви можна об’єднувати результати експериментів, списки прізвищ співробітників, різні складні структури даних. Наприклад, список учнів у класному журналі є масивом. У масиві дані розрізняються за своїми порядковими номерами (індексами). Якщо кожний елемент масиву визначається за допомогою одного номера, то такий масив називається одновимірним, якщо за двома – то двовимірним. Двовимірний масив – це таблиця з рядків і стовпців. У таблицях перший номер вказує на рядок, а другий – на положення елемента в рядку. Усі рядки таблиці мають однакову довжину.

Одновимірний масив може бути набором чисел, сукупністю символьних даних чи елементів іншої природи (навіть масив масивів). Так само, як і в послідовності, в одновимірному масиві можна вказати елемент з конкретним номером, наприклад а5, або записати загальний вигляд елемента, використовуючи як індекс змінну і, вказуючи діапазон її зміни:

a[i] , i=1, 2 n.

Задачі, в яких використовуються масиви, можуть мати різне формулювання. Наприклад, задача починається зі слів «Дано n чисел...» і далі вказується, що треба зробити з цими числами. При написанні програми мовою Паскаль для розв'язання подібної задачі слід виконати такі дії:

  • визначити, які числа задані: цілі чи дійсні; якщо про це

конкретно не сказано, то краще вважати їх дійсними;

  • назвати весь масив одним ім'ям (це ім'я буде використовуватись для кожного елемента, тільки до імені масиву додаватиметься номер елемента – індекс);
  • описати масив у розділі змінних var, тим самим відвести місце в пам'яті для масиву;
  • ввести дані до пам'яті.

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

Здебільшого номери елементів змінюються від 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;

При обробці масивів розв'язування багатьох задач базується на простіших задачах:

  • обчислення суми (добутку) елементів масиву;
  • знаходження найбільшого (найменшого) елемента;
  • упорядкування елементів за зростанням або спаданням.

Розглянемо ці базові задачі.

1. Обчислення суми елементів масиву. Знаходження суми елементів масиву нічим не відрізняється, по суті, від додавання значень простих змінних.

Розв'язування задачі поділяється на три основні етапи: 1.введення даних; 2.обчислення суми; 3.друкування результатів.

Програма матиме вигляд:

Program1.jpg

Результати виконання цієї програми наведено в таблиці.

Tab121.jpg

2. Знаходження найбільшого елемента масиву.

У попередньому прикладі значення змінної s змінювались у процесі розв'язування задачі. Для відшукання найбільшого числа серед сукупності чисел потрібно послідовно переглядати і порівнювати між собою числа, записані в пам'яті. Уявімо, що кожне число написане на окремій картці і картки складені купкою. Перше число запам'ятаємо відразу як найбільше і перевернемо картку. Тепер у нашому розпорядженні є два числа: одне бачимо, друге — пам'ятаємо. Порівнюючи їх між собою, запам'ятаємо більше, тобто якщо число, запам’ятовано раніше, більше, то запам'ятовувати нове число не треба, а необхідно дивитись наступну картку. Якщо друге число більше першого, перше далі пам'ятати не треба і запам'ятовуємо лише друге. Таким чином, на кожному етапі порівняння пам'ятатимемо більше з переглянутих чисел і наприкінці знайдемо найбільший елемент, тобто розв'яжемо поставлену задачу. Записавши цей алгоритм дій у вигляді відповідного набору операторів, дістанемо програму знаходження найбільшого значення. Проміжні значення шуканої величини і остаточний результат містить змінна max.

Програма має вигляд:

Pr2.jpg


Закріплення нового матеріалу.

(Фронтальне опитування)

1 Що ми називаємо масивом?

– Масив – це впорядкований іменований набір із фіксованої кількості однотипних даних.

2. Що можна об’єднувати у масиви?

– У масиви можна об’єднувати результати експериментів, списки прізвищ співробітників, різні складні структури даних.

3. Які бувають масив?

– Одновимірні і двовимірні.

4. Що називається одновимірним масивом?

– Якщо кожний елемент масиву визначається за допомогою одного номера, то такий масив називається одновимірним.

5. Що називається двовимірним масивом?

– Якщо кожний елемент масиву визначається за допомогою двох номерів, то такий масив називається двовимірним.

6. Яке спеціальне слово ми використовуємо для запису масиву?

– Слово array, що означає масив.

7. Назвіть приклад запису масиву?

const n = 10; var a: array [1..n] of real;.

Добре. А зараз давайте застосуємо ці знання при складанні програм. Запишіть собі таку умову задачі:

Задача 1. У заданій послідовності цілих чисел визначити кількість і суму елементів, кратних 10.

Pr3.jpg

Задача 2. Напишіть програму для відшукання найбільшого елементу масиву [1..n], де n = 117.

Pr4.jpg

Домашнє завдання.

Вивчити конспект лекції, і розв’язати наступні задачі.

Задача 1. Знайдіть суму всіх цілих чисел від 1 до 100?

Pr5.jpg

Задача 2. Дано n чисел. Замінити всі від’ємні числа їх модулями.

Pr6.jpg