Сьогодні відбувся
Вебінар:
«
Інтелектуальна власність у професійній діяльності педагога: розбір практичних кейсів
»
Взяти участь Всі події
Урок:

Практична робота "Опрацювання двовимірних масивів Python"

04.02.2024
0 0
Опис уроку (учням цей опис не показується):

Інформатика : підруч. для 9 кл. закл. загал. серед.освіти / [О. О. Бондаренко, В. В. Ластовецький,О. П. Пилипчук, Є. А. Шестопалов]. — Харків : Видво «Ранок», 2022

Вміст уроку:
1
2
3
4
5
6
7

Урок не містить жодного завдання. Додайте завдання.

Щоб додати завдання, оберіть категорію завдання на панелі запитань.

1

До типових задач опрацювання двомірних масивів належать завдання на обчислення суми, добутку, кількості, середнього арифметичного, максимуму, мінімуму елементів кожного рядка або кожного стовпця, заданого рядка або заданого стовпця.


Уявіть, що ви — керівник фірми і вам потрібно проаналізувати динаміку продажів телефонів.

Розглянемо таблицю (рис.1):

06007d54-34d4-609x146.png

Якщо вас цікавить сумарний обсяг продажів за січень, то вам потрібно виконати додавання елементів нульового стовпця таблиці числових даних про кількість проданих телефонів. Щоб знайти загальну кількість проданих телефонів марки Samsung, треба знайти суму елементів першого рядка, а щоб знайти загальну кількість проданих телефонів усіх марок за рік, слід обчислити суму всіх елементів масиву.

Як обчислити сумарний обсяг
продажів за січень?

Обчислити суму елементів
нульового стовпця

s=0

for i in range(len(tabl)):

s=s+ tabl [i][0]

Як знайти загальну кількість проданих
телефонів марки Samsung?

Обчислити суму елементів
першого рядка

s =sum(tabl [1])

Як знайти загальну кількість проданих
телефонів усіх марок за І квартал року?

Обчислити суму всіх
елементів масиву

s = 0
for i in range(len(tabl)):

s = s+ sum(tabl[i])

Обчислення сум по рядках двовимірного масиву

Знайти суму елементів 3-го рядка масиву a[3,4] можна двома способами:

Звертаючись до кожного елемента рядка за його індексами

Викликавши метод sum() для списку, в якому зберігаються елементи 3-го рядка

s=0

for j in range(len(a[2])):

s=s+a[2][j]

print (s)

s=sum(a[2])

Знайти суми кожного рядка масиву a можна двома способами:

Звертаючись до кожного рядка (елемента двовимірного списку) за його індексом

Перебираючи всі рядки (елементи двовимірного списку та викликаючи метод sum() для кожного рядка

for і in range(len(a):

s=sum(a[і])

print (s)

for row in a:

s=sum(row)

print(s)

2

Створення вкладених списків

Нехай потрібно створити двовимірний масив для збереження даних

прямокутної таблиці, у якій n рядків і m стовпців, і заповнити його нулями.

Це можна зробити в такий спосіб: створити порожній список, потім додати

до нього n елементів — рядків масиву.

n = 3
m = 4
a = []
for i in range(n):
 a.append([0]*m)

Іншим способом створення двовимірного масиву є використання

генератора. Список [0]*m заново генерується для заповнення чергового

елемента списку а.

n = 3
m = 4
a = [[0]*m for i in range(n)]

Введення елементів двовимірного масиву

Щоб створити двовимірний масив із n рядків та m стовпців, уводячи

значення елементів масиву з клавіатури, слід n разів повторити дії:

  1. увести рядок row, що містить m чисел, відокремлених пробілами, і розбити рядок row функцією split() на список;

  2. кожний елемент row[i] рядка row перетворити на числовий тип;

  3. рядок row додати до списку а.

n = int(input()) # Кількість рядків масиву
a = [] # Створюється порожній список
for i in range(n):
 row = input().split()
 for j in range(len(row)):
 row[j] = int(row[j])
 a.append(row)

ПРИКЛАД . Заповнення двовимірного масиву з 3 рядків та 4 стовпців

випадковими числами:

from random import*
a = [[], [], []]
for i in range(len(a)):
 for j in range(4):
 a[i] = a[i]+[randint(1,10)] # Додавання чергового елемента до і-го
рядка

ПРИКЛАД. Заповнити двовимірний масив 5 × 5 у такий спосіб:

елементам головної діагоналі присвоїти значення 1, елементам, що

розташовані вище головної діагоналі, — значення 2, елементам, що

розташовані нижче головної діагоналі, — значення 0.

a = [[], [], [], [], []]
for i in range(5):
 for j in range(5):
 if i == j:
 a[i].append(1)
 elif i<j:
 a[i].append(2)
 else:
 a[i].append(0)
 print(a[i])

3

2 з 12 балів

Назвіть кількість рядків і кількість стовпців у двовимірному масиві,

для збереження якого створено такий вкладений список:

а) a = [[1, 2, 3, 4], [5, 6,1,1], [7, 8, 9,1]]

б) b = [[], [], []]

в) c = [[] for i in range(10)]

4

2 з 12 балів

Збережіть дані таблиці, поданої на рисунку, у змінній mas.

06007dof-d158-249x106.png

5

3 з 12 балів

Запишіть фрагмент коду, призначений для введення значень

двовимірного масиву з 5 рядків та 5 стовпців із клавіатури і збереження

значень елементів масиву у вкладеному списку

6

2 з 12 балів

Завдання 1:

Знайти суму 2-го стовпця масиву a = [[1, 2, 3, 4], [5, 6,1,1], [7, 8, 9,1]]

06007d6y-1d5e-155x105.png

7

3 з 12 балів

Створіть вкладений список А для збереження значень двовимірного

масиву з 4 рядків та 6 стовпців, елементами якого є випадкові числа.

Рефлексія від 19 учнів

Сподобався:

0

Так: 10

Ні: 9

Зрозумілий:

0

Так: 11

Ні: 8

Потрібні роз'яснення:

0

Ні: 15

Так: 4

Рекомендуємо

Практична робота: "Розробка алгоритмів з двовимірними масивами та їх реалізація у вигляді програм"

Практична робота: "Розробка алгоритмів з двовимірними масивами та їх реалізація у вигляді програм"

138

Аватар профіля Губчик Вероніка Григорівна
Інформатика
9 клас

25 грн

ПРАКТИЧНА РОБОТА "Розробка алгоритмів роботи з одновимірними масивами та їх реалізація у вигляді програм"

ПРАКТИЧНА РОБОТА "Розробка алгоритмів роботи з одновимірними масивами та їх реалізація у вигляді програм"

167

Аватар профіля Губчик Вероніка Григорівна
Інформатика
9 клас

25 грн

Робота з великими числами в Python

Робота з великими числами в Python

269

Аватар профіля Губчик Вероніка Григорівна
Інформатика
10—11 клас

33 грн

Практична робота "Робота з контуром GIMP"

Практична робота "Робота з контуром GIMP"

315

Аватар профіля Губчик Вероніка Григорівна
Інформатика
10—11 клас

50 грн

Практична робота "Використання конструктора класу"

Практична робота "Використання конструктора класу"

246

Аватар профіля Губчик Вероніка Григорівна
Інформатика
10 клас

20 грн

Перевірочна робота "Дані, змінні, константи, прості типи даних у Python"

Перевірочна робота "Дані, змінні, константи, прості типи даних у Python"

139

Аватар профіля Губчик Вероніка Григорівна
Інформатика
8 клас

50 грн

Схожі уроки

Впорядкування, пошук і фільтрування даних.

Впорядкування, пошук і фільтрування даних.

1278

Аватар профіля Вожга Ірина Леонідівна
Інформатика
9 клас

Створення й уведення структури таблиць. Поняття таблиці, поля, запису. Створення таблиць, означення полів і ключів у середовищі СКБД. Властивості полів, типи даних.

Створення й уведення структури таблиць. Поняття таблиці, поля, запису. Створення таблиць, означення полів і ключів у середовищі СКБД. Властивості полів, типи даних.

1097

Аватар профіля Савка-Ржематорська Оксана Василівна
Інформатика
9 клас

Цикли з передумовою у вкладених циклах

Цикли з передумовою у вкладених циклах

1340

Аватар профіля Вожга Ірина Леонідівна
Інформатика
6 клас

Налаштування часових параметрів аудіо- та відеоряду.

Налаштування часових параметрів аудіо- та відеоряду.

491

Аватар профіля Солодовнікова Катерина Олексіївна
Інформатика
8 клас

Елемент керування «кнопка». Поняття об’єкту та його властивостей і методів (на прикладі елементів екранної форми). Властивості і методи елементів керування.

Елемент керування «кнопка». Поняття об’єкту та його властивостей і методів (на прикладі елементів екранної форми). Властивості і методи елементів керування.

648

Аватар профіля Пилипенко Олена Володимирівна
Інформатика
8 клас

Елемент керування кнопка

Елемент керування кнопка

276

Аватар профіля Пилипенко Олена Володимирівна
Інформатика
8 клас