Робота з двовимірними масивами у Python

План-конспект уроку з інформатики

Тема: Робота з двовимірними масивами у Python
Клас: 9
Тривалість: 45 хвилин


Мета уроку

  1. Ознайомити учнів з поняттям двовимірного масиву (списку списків).
  2. Навчити працювати з таблицями даних у Python.
  3. Розвивати навички створення програм з обчисленнями та графічним інтерфейсом.
  4. Продемонструвати використання tkinter та ttk.Combobox.

Обладнання

  • Комп’ютери з Python (версія 3.8 або новіша).
  • Середовище розробки (Thonny, VS Code або IDLE).
  • Проєктор або інтерактивна дошка (для демонстрації).
  • Роздатковий матеріал або зошити для конспекту.

Хід уроку


I. Організаційний момент (2 хв)

  • Привітання, перевірка присутності.
  • Повідомлення теми й мети уроку.

II. Актуалізація знань (5 хв)

Коротке опитування:

  • Що таке список у Python?
  • Як працюють індекси в списках?
  • Для чого використовувати вкладені списки?

Учитель коротко демонструє масив:

table = [['яблуко', 10], ['груша', 12]]

III. Вивчення нового матеріалу (10 хв)

Пояснення термінів

  • Двовимірний масив — структура даних, де кожен елемент основного списку є списком (рядком таблиці).
  • Формат:
flowers = [['Троянда', 130], ['Орхідея', 375]]

Читання даних:

  • flowers[0][0] — назва першої квітки
  • flowers[0][1] — її ціна

Пояснення про +1 в індексі

  • У Python індексація з 0, а користувачам звично бачити нумерацію з 1.
  • Тому при виведенні додаємо +1, а при виборі — віднімаємо 1.

IV. Демонстрація графічної програми (5 хв)

import tkinter as tk
from tkinter import ttk
 
kvity = [
    ['Троянда', 130],
    ['Орхідея', 375],
    ['Тюльпан', 55],
    ['Піон', 180],
    ['Фіалка', 70]
]
 
def rozrahunok():
    idx = combo.current()
    try:
        k = int(entry.get())
        total = kvity[idx][1] * k
        result.set(f'Сума: {total} грн')
    except:
        result.set('Уведіть правильну кількість!')
 
root = tk.Tk()
root.title('Магазин квітів')
 
tk.Label(root, text='Оберіть квітку:').grid(row=0, column=0)
combo = ttk.Combobox(root, values=[f'{t[0]} – {t[1]} грн' for t in kvity])
combo.grid(row=0, column=1)
combo.current(0)
 
tk.Label(root, text='Кількість:').grid(row=1, column=0)
entry = tk.Entry(root)
entry.grid(row=1, column=1)
 
tk.Button(root, text='Обчислити', command=rozrahunok).grid(row=2, column=0, columnspan=2)
 
result = tk.StringVar()
tk.Label(root, textvariable=result, fg='blue').grid(row=3, column=0, columnspan=2)
 
root.mainloop()

V. Практична робота (15 хв)

Завдання:
Створити програму, яка:

  • Має список товарів (назва і ціна);
  • Дозволяє вибрати товар;
  • Ввести кількість;
  • Обчислює вартість і виводить результат.

Учні можуть обрати — реалізувати консольну версію або графічну з Combobox.


VI. Підсумок уроку (5 хв)

Обговорення:

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

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

Обов’язкове (базовий рівень)

Створити список з 5 фруктів та їх цінами.
Реалізувати консольну програму, яка:

  • Дозволяє вибрати фрукт;
  • Ввести кількість;
  • Обчислити повну вартість;
  • Якщо кількість більше 5 — надати знижку 10%.

Приклад структури:

fruits = [
    ['Яблуко', 15],
    ['Апельсин', 22],
    ['Груша', 18],
    ['Банан', 20],
    ['Ківі', 28]
]

Підказка:

if quantity > 5:
    total *= 0.9  # знижка 10%

Додаткове (вищий рівень)

Реалізувати цю ж задачу з графічним інтерфейсом (tkinter + Combobox).
Додатково: виводити повідомлення про знижку, якщо вона застосована.

Коментарі

Популярні дописи з цього блогу

Азбука Морзе Українською

Python: Урок 4. Логічні вирази