Опрацювання двовимірних масивів даних
За навчальною програмою 2017 року
Урок 62
Інформатика 9
teach-inf.com.ua
за підручником
Бондаренко О.О. та ін.
Опрацювання двовимірних масивів даних
До типових задач опрацювання двовимірних масивів належать завдання на обчислення:
суми
добутку
кількості
середнього арифметичного
максимуму
мінімуму
елементів кожного рядка або кожного стовпця, заданого рядка або заданого стовпця.
© Вивчаємо інформатику teach-inf.com.ua
Розділ 5
§ 36
Опрацювання двовимірних масивів даних
Уявіть, що ви керівник фірми, і вам потрібно проаналізувати динаміку продажів телефонів.
© Вивчаємо інформатику teach-inf.com.ua
Розділ 5
§ 36
Опрацювання двовимірних масивів даних
Якщо вас цікавить сумарний обсяг продажів за січень, то вам потрібно виконати додавання елементів першого стовпця таблиці «Продаж телефонів».
Продаж телефонів
№ | Марка | Продаж телефонів, шт. | ||
Січень | Лютий | Березень | ||
1 | Nokia | 80 | 110 | 120 |
2 | Samsung | 80 | 90 | 80 |
3 | Alcotel | 60 | 70 | 130 |
© Вивчаємо інформатику teach-inf.com.ua
Розділ 5
§ 36
Опрацювання двовимірних масивів даних
Щоб знайти загальну кількість проданих телефонів марки Samsung, треба знайти суму елементів другого рядка.
Продаж телефонів
№ | Марка | Продаж телефонів, шт. | ||
Січень | Лютий | Березень | ||
1 | Nokia | 80 | 110 | 120 |
2 | Samsung | 80 | 90 | 80 |
3 | Alcotel | 60 | 70 | 130 |
© Вивчаємо інформатику teach-inf.com.ua
Розділ 5
§ 36
Опрацювання двовимірних масивів даних
Якщо ж потрібно знайти загальну кількість проданих телефонів усіх марок за рік, то слід обчислити суму всіх елементів масиву.
Продаж телефонів
№ | Марка | Продаж телефонів, шт. | ||
Січень | Лютий | Березень | ||
1 | Nokia | 80 | 110 | 120 |
2 | Samsung | 80 | 90 | 80 |
3 | Alcotel | 60 | 70 | 130 |
© Вивчаємо інформатику teach-inf.com.ua
Розділ 5
§ 36
Додавання значень елементів�двовимірного масиву
ПРИКЛАД 1. Знайти суму елементів масиву:
a = [[1, 2, 3, 4], [5, 6, 1, 1], [7, 8, 9, 1]]
s = 0
for i in range(len(a)):
for j in range(len(a[i])):
s += a[i][j]
print(s)
s = 0
for i in range(len(a)):
s = s+sum(a[i])
print(s)
48
Результат виконання
Рядки двовимірного масиву зберігаються як списки, тому при опрацюванні масиву по рядках зручно застосовувати методи роботи зі списками.
© Вивчаємо інформатику teach-inf.com.ua
Розділ 5
§ 36
Додавання значень елементів�двовимірного масиву
ПРИКЛАД 2. Знайти суму елементів 3-го рядка масиву a = [[1, 2, 3, 4], [5, 6, 1, 1], [7, 8, 9, 1]]
можна двома способами:
Звертаючись до кожного елемента рядка за його індексами
Викликавши метод sum() для списку, в якому зберігаються елементи
3-го рядка
s = 0
for j in range(len(a[2])):
s = s+a[2][j]
print(s)
s = 0
s = sum(a[2])
print(s)
© Вивчаємо інформатику teach-inf.com.ua
Розділ 5
§ 36
Додавання значень елементів�двовимірного масиву
ПРИКЛАД 3. Застосуємо обидва способи, щоб знайти суми елементів у кожному рядку масиву:
for i in range(len(a)): # Зовнішній цикл по рядках
s = 0 # Перед початком додавання сума обнуляється
for j in range(len(a[i])):
s = s+a[i][j] # Додавання елементів і-го рядка
print(s) # Друк суми елементів і-го рядка
s = 0
for i in range(len(a)):
print(sum(a[i]))
Або
© Вивчаємо інформатику teach-inf.com.ua
Розділ 5
§ 36
Додавання значень елементів�двовимірного масиву
Якщо потрібно здійснити опрацювання двовимірного масиву по стовпцях, то за параметр зовнішнього циклу слід взяти індекс стовпця, а за параметр внутрішнього — індекс рядка.
ПРИКЛАД 4. Знайти суму 2-го стовпця масиву
a = [[1, 2, 3, 4], [5, 6, 1, 1], [7, 8, 9, 1]]:
s = 0
for i in range(len(a)):
s = s+a[i][2]
print(s)
13
Результат
1 | 2 | 3 | 4 |
5 | 6 | 1 | 1 |
7 | 8 | 9 | 1 |
j = 2
© Вивчаємо інформатику teach-inf.com.ua
Розділ 5
§ 36
Додавання значень елементів�двовимірного масиву
ПРИКЛАД 5. Знайти суми по стовпцях масиву
a = [[1, 2, 3, 4], [5, 6, 1, 1], [7, 8, 9, 1]]:
for j in range(4): # Зовнішній цикл по стовпцях
s = 0
for i in range(len(a)):
s = s+a[i][j] # Додавання елементів j-го стовпця
print(s) # Друк суми елементів j-го стовпця
13
16
13
6
Результат виконання
1 | 2 | 3 | 4 |
5 | 6 | 1 | 1 |
7 | 8 | 9 | 1 |
© Вивчаємо інформатику teach-inf.com.ua
Розділ 5
§ 36
Питання для самоперевірки
© Вивчаємо інформатику teach-inf.com.ua
Розділ 5
§ 36
Розгадайте ребус
Таблиця
«Ребуси українською» © rebus1.com
© Вивчаємо інформатику teach-inf.com.ua
Розділ 5
§ 36
Домашнє завдання
Проаналізувати
§ 36, с. 218-219
© Вивчаємо інформатику teach-inf.com.ua
Розділ 5
§ 36
Працюємо за комп’ютером
Сторінка
222
© Вивчаємо інформатику teach-inf.com.ua
Розділ 5
§ 36
Дякую за увагу!
За навчальною програмою 2017 року
Урок 62
Інформатика 9
teach-inf.com.ua
за підручником
Бондаренко О.О. та ін.