Поняття одновимірного масиву
У 8-му класі ви створювали проєкти, у яких використовувалася невелика кількість змінних. Але існує багато задач, у яких потрібно опрацювати значення досить великої кількості змінних. Наприклад, нехай потрібно скласти проєкт для знаходження середньої маси ста учнів та учениць 9-х класів. Очевидно потрібно використати 100 змінних, значенням кожної з яких буде маса відповідного(-ої) дев’ятикласника(-ці), знайти суму значень цих змінних і поділити її на 100.
Якщо використати 100 змінних з іменами, наприклад, a, b, c, ..., z, aa, ab, ac, ...,az, ba, bb, bc, ..., bz, ca, cb, cc, ..., cv, то команда знаходження суми їхніх значень буде містити в правій своїй частині 100 доданків або потрібно включити до тексту програми такі 100 команд:
sum := a;
sum := sum + b;
sum := sum + c;
...
sum := sum + cv;
Усе це робить текст програми громіздким і незручним, зважаючи на те, що кількість учнів/учениць може бути ще більшою або взагалі заздалегідь невідомою. Для розв’язування задач, у яких опрацьовується значення багатьох змінних, можна розглядати всі ці змінні як елементи деякого впорядкованого набору змінних.Такими впорядкованими наборами змінних, наприклад, є:
• значення середніх щоденних температур протягом місяця;
• значення щоденних курсів валют протягом тижня;
• семестрові оцінки учня/учениці;
• врожаї пшениці в Україні протягом останніх 15 років.
Упорядкований набір змінних одного типу називається одновимірним масивом.
Кожна змінна, яка входить до одновимірного масиву, називається елементом одновимірного масиву.
Одновимірний масив має ім'я, яке записують за правилами для імен змінних. Ім'я елемента одновимірного масиву складається з імені цього масиву і порядкового номера (індекса) цього елемента в масиві, який взято у квадратні дужки.
Розглянемо одновимірний масив, що складається зі 100 елементів. Якщо ім’я цього масиву a, то імена змінних – елементів цього масиву – будуть такі: a[1], a[2], a[3], ..., a[100]. Кожна з цих змінних має дійсний тип і певне значення.
Приклад. Знайти суму ста дійсних чисел.
sum=0
for i in range(100):
sum=sum+a[i+1]
У результаті виконання наведеного фрагмента проєкту значення змінної sum дорівнюватиме сумі значень усіх 100 змінних - елементів одновимірного масиву. Використання одновимірних масивів і їх опрацювання в циклі робить програмний код коротшим та ефективнішим.
За таким алгоритмом знаходять cуму 100 елементів масиву для будь-якої задачі, незалежно від суті елементів масиву (маса, температура, зарплата).
Введення й виведення елементів масиву
Для розв'язування задач на опрацювання одновимірних масивів мовою Python може бути використано тип даних список (list). Елементи списку записують у квадратних дужках, розділяючи їх комою.
Наприклад, створити змінну а типу список можна за допомогою такої команди:
a=[4, -6.3, 0, 3.5, -8, 5.1, -2].
Усього у цьому списку 7 елементів. Кожен елемент списку має свій номер (індекс). Номери (індекси) елементів списків розпочинаються з нуля. Номера елементів наведеного списку з іменем а є цілі числа від 0 до 6. Значенням елемента a[0] є число 4, значенням елемента a[1] є число -6.3 і т.д. Останній елемент цього списку a[6] має значення -2.
Для роботи з одновимірним масивом будемо використовувати функції та методи, призначені для опрацювання списків:
len(a) - функція для визначення кількості елементів списку а;
a.append(x) - метод додавання в кінець списку а нового елемента зі значенням х.
Номер елемента списку може задаватися як цілим числом, так і значенням виразу, що набуває цілочисельного значення, наприклад, a[i+2], але перед цим змінна і має набути певного цілого значення.
Під час виконання проєктів можна вводити елементи одновимірного масиву з клавіатури. Для цього спочатку можна створити змінну список , яка не містить жодного елемента (порожній список), а потім додати до цього списку потрібні елементи.
Практичне завдання
Увага! Під час роботи з комп'ютером дотримуйтеся вимог безпеки життєдіяльності та санітарно-гігієнічних норм.
Завдання 1. Увести значення елементів списку з 10 чисел з клавіатури, піднести ці числа до квадрата та вивести отриманий список.
Текст проєкту:
Результат виконання проєкту:
Значення елементів списку також можна вводити з клавіатури в один рядок, розділяючи їх пропуском. Щоб отримати числа з такого рядка символів, потрібно застосувати такі функції та методи:
• input() – уводить у пам’ять комп’ютера рядок тексту, введений у вікні виконання проєкту з клавіатури;
• split() – розділяє рядок тексту на окремі частини на місцях пропусків, утворюючи величину типу список, елементами якого є тексти;
• map(тип, набір_значень) – перетворює кожне значення у наборі на величину вказаного типу;
• list(об’єкт) – перетворює вказаний об’єкт на величину типу список.
Команда для введення списку a з будь-якою кількістю елементів дійсного типу з використанням цих функцій і методів має вигляд:
a = list(map(float, input(‘Уведіть значення елементів списку через пропуск> ‘).split()))
Кількість елементів списку можна визначити після його створення функцією len(a).
Якщо потрібно вивести отриманий у результаті список без квадратних дужок, розділяючи числа пропуском, то потрібно перетворити числа в списку на тексти, з’єднати їх в єдиний текст, використавши метод join, та вивести цей текст:
a = list(map(str, a))
print(‘ ‘.join(a))
Нижче наведено текст проєкту для розв’язування Задачі 1 і результат його виконання:
Завдання 2. Виконайте в зошиті фрагмент проєкту для одновимірного масиву (списку), значеннями елементів якого є числа 2; –2; 3; 0,25; –4:
Завдання 3. Виконайте в зошиті фрагмент проєкту для одновимірного масиву, значеннями елементів якого є числа 0,5; –3; 2; –1,6:
Створіть проєкт для розв'язання Задачі 3.
Завдання 4. Створіть новий проєкт для розв'язання Задачі 3 та доповніть програму так, щоб кількість елементів масиву вводилась з клавіатури і сума рахувалась для всіх елементів масиву.
Завдання 5. Створіть проєкт, у якому вводяться через пропуск 8 цілих чисел як значення елементів списку, кожне з цих чисел збільшується на його номер у списку і оновлений список виводиться.(стор.240)
Завдання 6. Створити проєкт, у якому вводяться значення елементів списку з 8 цілих чисел, кожне з цих чисел збільшується на 5 і виводиться отриманий список.
Завдання 7. Створити проєкт, у якому вводяться значення елементів списку з 6 дійсних чисел, кожне з цих чисел збільшується у 4 рази і виводиться отриманий результат.
Проєкт для розв'язання Завдання 3.