План-конспект уроку з інформатики
8 клас
Тема: «Інструктаж з БЖД. Поняття елемента керування. Кнопка (у Pascal та Python)»
Мета:
Навчальна: засвоїти поняття кнопка, елемент керування, обробник подій; сформувати уявлення про основні етапи створення проекту; сформувати вміння пояснювати поняття властивостей, методів, подій елементів керування.
Розвивальна: розвивати пам’ять, уяву, увагу, творче та словеснологічне мислення, творчі здібності, координаційну моторику, мовлення.
Виховна: виховувати працелюбність, дисциплінованість, акуратність, уважність, старанність, допитливість, далекоглядність та стійкість; виховувати культуру створення алгоритму і програми.
Тип уроку: засвоєння нових знань та навичок.
Обладнання: комп’ютери, програма Lazarus (або pascal.online), replit.com, підручник 8 клас «Інформатика» (авт. Ривкінд) 2021 р.
Хід роботи І. Організаційний етап. (2 хв.)
Привітання.
Нагадування про правила поведінки у комп’ютерному класі:
Ⅱ. Актуалізація опорних знань. (4 хв.)
ІІІ. Повідомлення теми і мети уроку. Мотивація. (2 хв.)
Які варіанти керування програмою ви знаєте?
Щоб керувати програмою користувачу треба надати можливість. Одна з найпростіших - натискання чи не натискання певних кнопок. Отже, сьогодні на уроці ми з Вами навчимося як описати у програмі елемент керування кнопка.
ІV. Пояснення нового матеріалу. (25 хв.)
Окрім напису, який є статичним об’єктом вікна графічної форми результату виконання програми мовою Python, можна використовувати об’єкти – елементи керування, які можуть «реагувати» на деякі події.
Елементи керування – це графічні об’єкти, розташовані на вікні і програми для показу або введення даних, виконання дій або полегшення роботи: текстові поля, списки, перемикачі, кнопки, прапорці тощо.
Якщо властивості характеризують стан елемента керування, методи – дії, які він може виконати, то події – зовнішній вплив на елемент керування, на який цей елемент може реагувати.
Тому елемент керування умовно можна описати формулою:
Елемент керування = властивості (стан) + методи (дії) + події
(зворотні зв’язки)
Виділяють такі три основні типи подій:
• взаємодія з мишею;
• натискання клавіш на клавіатурі;
• зміна стану об’єктів, створених у результаті виконання програми.
Приклади подій взаємодії з мишею:
• <Button-1> - клацання лівою кнопкою миші;
• <Button-2> - клацання середньою кнопкою миші;
• <Button-3> - клацання правою кнопкою миші;
• <Double-Button-1> - подвійне клацання лівою кнопкою миші;
• <Motion> - рух миші.
При описі події натискання клавіш клавіатури, літерні клавіші можна записувати і без кутових дужок (наприклад `L`). Для неалфавітних клавіш існують спеціальні зарезервовані слова:
• <Return> - натискання клавіші Enter.
• <Space> - пропуск.
• <Control> - натискання клавіші Ctrl.
• <Shift> - натискання клавіші Shift.
• <z> - натискання клавіші z.
В останньому випадку замість z можна використовувати і будь-який символ клавіатури, що містить літеру.
Назву події при натисканні комбінації клавіш вказують через дефіс. Наприклад: <Control-a> або <Control-Shift>.
Для додавання елемента керування кнопка до вікна програми з графічними елементами, яке створене мовою Python з використанням модуля tkinter, використовують команду Button().
#вікно з кнопкою import tkinter
#створення вікна програми window=tkinter.Tk()
window.title ('Вікно з кнопкою')
#створення кнопки button1
Button1=tkinter.Button()
#розташування кнопки button1 на головному вікні button1.pack() #запуск події window.mainloop()
Так само, як і напис, об’єкт кнопка може мати і свої властивості, які описують службовими словами:
• text – напис на кнопці;
• width, height – ширина і довжина (у знакомісцях);
• bg – колір кнопки;
• fg – колір напису;
• font – шрифт і його розмір;
• padx – відступ від межі до об’єкта по горизонталі;
• pady – відступ від межі до об'єкта по вертикалі.
Змінити властивість об’єкта під час виконання програми можна за допомогою методу: configure.
Якщо програму доповнити командами додавання кнопки 2, то отримаємо вікно з двома кнопками, які за замовчуванням розміщуються по центру верхнього краю.
#вікно з кнопкою import tkinter
#створення вікна програми window=tkinter.Tk()
window.title ('Вікно з кнопкою')
#створення кнопки button1
Button1=tkinter.Button()
#розташування кнопки button1 на головному вікні button1.pack()
button2=tkinter.Button(window, text=’Натисни’, width=10, height=1, bg=’blue’, fg=’yellow’, font=’Arial 14’) button2.pack() #запуск події window.mainloop()
Розміщення кнопок, як і іншими елементами керування на вікні, управляють за допомогою властивостей методу pack( ):
• expand: якщо дорівнює True, то елемент управління заповнює все вікно;
• fill: визначає, чи буде елемент управління розтягуватися, щоб заповнити вільне поле. Цей параметр може набувати значень: NONE (за замовчуванням, елемент не розтягується), X (елемент розтягується тільки за горизонталлю),Y(елемент розтягується тільки за вертикаллю), BOTH (елемент розтягується і за горизонталлю, і за вертикаллю);
• side: вирівнює елемент управління щодо сторін вікна. Може набувати значень:
TOP (за замовчуванням, вирівнюється зверху, по центру),
BOTTON(вирівнюється по центру, по нижній основі), LEFT (вирівнюється за лівою межею), RIGHT(вирівнюється за правою межею).
Ці властивості заздалегідь потрібно імпортувати з модуля tkinter:
From tkinter import TOP, BOTTOM, RIGHT, LEFT.
Щоб описати дії, які можуть виконуватися за настання деякої події для об’єкта, необхідно написати програмний код – обробник події.
Обробник події – це частина програми, що виконує певні дії у відповідб на подію (спричинену, наприклад, дією користувача).
Описують подію за допомогою функції користувача. Функцію потрібно оголошувати на початку, після підключення модулів, аби не вийшло непорозумінь з інтерпретатором.
Функції створюються наступним чином:
Def назва_функції(аргументи):
команда
…
Назву функції ми вигадуємо самостійно, а до команд можуть відноситися створення об’єктів, елементів управління, або змінення властивостей певних об’єктів.
Зверніть увагу, що мовою програмування Python під час запису наступної команди в певному рядку важливою є відстань зліва, що формується за допомогою відповідної кількості пропусків.
Команди, які мають однаковий рівень за вертикаллю, незалежні одна від одної і виконуються послідовно, а для команд, що розпочинаються правіше – кожний наступний рівень вказує, що команди цього рівня виконуються в межах команди вищого рівня.
Для опрацювання натиснення на кнопку в конструкторі кнопки потрібно встановити параметр command, надавши йому посилання на функцію, яка діятиме при натисненні.
import tkinter
#сопрацювання події натиснення на кнопку def button_click(): print(‘Привіт!’) window=tkinter.Tk()
#створення текстового напису та його розміщення на головній формі label1=tkinter.Label(text=’Hello world!’) label1.pack()
#створення кнопки та її розміщення на головній формі button=tkinter.Button(window, text=’Привіт!’, command=button_click) button.pack() #запуск події window.mainloop()
З’язувати об’єкт керування, подію та дію можна й за допомогою методу bind. У функцій-обробників, які викликають через bind, а не через властивість command, має обов'язково бути параматр event, через який передається подія.
Тоді виклик цієї функції задається конструкцією:
Об’єкт bind(‘<подія>’, назва_функції)
Окрім головного вікна програми, за допомогою додаткових модулів tkinter можна отримати вікна повідомлень, вибору «так-ні», відкривання файлів тощо. Одним з модулів є модуль massagebox.
Щоб викликати цей модуль, на початку програми записують команду: import.tkinter.messagebox
Тоді вікно повідомлення із заголовком та текстом формується за допомогою команди:
tkinter.messagebox.showinfo(‘Заголовок’, ‘Команда’)
У мові Phython можна створити вікна повідомлень кількох видів. Для цього призначено команди:
• showinfo (‘<Текст у рядку заголовка>’,’<текст повідомлення>’) – створення інформаційного вікна зі значком і текстовим повідомленням.
• showwarning (‘<Текст у рядку заголовка>’,’<текст повідомлення>’) – створення вікна попередження зі значком і текстом попередження.
• showerror (‘<Текст у рядку заголовка>’,’<текст повідомлення>’) – створення вікна оповіщення про помилку зі значком і текстом повідомлення про помилку.
V. Закріплення нових знань (7 хв.)
Завдання. Складіть програму, яка за допомогою кнопок ілюструє сторони горизонту. При натисканні кожної із кнопок з’являється повідомлення – переклад сторону горизонту англійською мовою.
VІ. Підведення підсумків. (4 хв.)
VІІ. Повідомлення д/з. (2 хв.)
Додаток А:
Тема: Поняття елемента керування. Кнопка.
Елементи керування – це графічні об’єкти, розташовані на вікні і програми для показу або введення даних, виконання дій або полегшення роботи: текстові поля, списки, перемикачі, кнопки, прапорці тощо.
Елемент керування умовно можна описати формулою:
Елемент керування = властивості (стан) + методи (дії) + події (зворотні зв’язки) Виділяють три основні типи подій: взаємодія з мишею;
• натискання клавіш на клавіатурі;
• зміна стану об’єктів, створених у результаті виконання програми.
Приклади подій взаємодії з мишею:
• <Button-1> - клацання лівою кнопкою миші;
• <Button-2> - клацання середньою кнопкою миші;
• <Button-3> - клацання правою кнопкою миші;
• <Double-Button-1> - подвійне клацання лівою кнопкою миші; <Motion> - рух миші.
При описі події натискання клавіш клавіатури, літерні клавіші можна записувати і без кутових дужок (наприклад `L`). Для неалфавітних клавіш існують спеціальні зарезервовані слова:
• <Return> - натискання клавіші Enter.
• <Space> - пропуск.
• <Control> - натискання клавіші Ctrl.
• <Shift> - натискання клавіші Shift.
• <z> - натискання клавіші z.
В останньому випадку замість z можна використовувати і будь-який символ клавіатури, що містить літеру. Назву події при натисканні комбінації клавіш вказують через дефіс. Наприклад: <Control-a> або <Control-Shift>.
Для додавання елемента керування кнопка до вікна програми з графічними елементами, яке створене мовою Python з використанням модуля tkinter, використовують команду Button(). #вікно з кнопкою import tkinter
#створення вікна програми window=tkinter.Tk()
window.title ('Вікно з кнопкою')
#створення кнопки button1
Button1=tkinter.Button()
#розташування кнопки button1 на головному вікні button1.pack() #запуск події window.mainloop()
Так само, як і напис, об’єкт кнопка може мати і свої властивості, які описують службовими словами:
• text – напис на кнопці;
• width, height – ширина і довжина (у знакомісцях);
• bg – колір кнопки;
• fg – колір напису;
• font – шрифт і його розмір;
• padx – відступ від межі до об’єкта по горизонталі;
• pady – відступ від межі до об'єкта по вертикалі. Змінити властивість об’єкта під час виконання програми можна за допомогою методу:
configure.
Розміщення кнопок, як і іншими елементами керування на вікні, управляють за допомогою властивостей методу pack( ):
• expand: якщо дорівнює True, то елемент управління заповнює все вікно;
• fill: визначає, чи буде елемент управління розтягуватися, щоб заповнити вільне поле. Цей параметр може набувати значень: NONE (за замовчуванням, елемент не розтягується), X (елемент розтягується тільки за горизонталлю),Y(елемент розтягується тільки за вертикаллю), BOTH (елемент розтягується і за горизонталлю, і за вертикаллю);
• side: вирівнює елемент управління щодо сторін вікна. Може набувати значень:
TOP (за замовчуванням, вирівнюється зверху, по центру), BOTTON(вирівнюється по центру, по нижній основі), LEFT (вирівнюється за лівою межею), RIGHT(вирівнюється за правою межею).
Ці властивості заздалегідь потрібно імпортувати з модуля tkinter:
From tkinter import TOP, BOTTOM, RIGHT, LEFT.
Щоб описати дії, які можуть виконуватися за настання деякої події для об’єкта, необхідно написати програмний код – обробник події.
Обробник події – це частина програми, що виконує певні дії у відповідб на подію (спричинену, наприклад, дією користувача).
Описують подію за допомогою функції користувача. Функцію потрібно оголошувати на початку, після підключення модулів, аби не вийшло непорозумінь з інтерпретатором.
Функції створюються наступним чином: Def назва_функції(аргументи): команда …
Назву функції ми вигадуємо самостійно, а до команд можуть відноситися створення об’єктів, елементів управління, або змінення властивостей певних об’єктів.
Для опрацювання натиснення на кнопку в конструкторі кнопки потрібно встановити параметр command, надавши йому посилання на функцію, яка діятиме при натисненні.
З’язувати об’єкт керування, подію та дію можна й за допомогою методу bind. У функцій-обробників, які викликають через bind, а не через властивість command, має обов'язково бути параматр event, через який передається подія.
Тоді виклик цієї функції задається конструкцією: Об’єкт bind(‘<подія>’, назва_функції)
Окрім головного вікна програми, за допомогою додаткових модулів tkinter можна отримати вікна повідомлень, вибору «так-ні», відкривання файлів тощо. Одним з модулів є модуль massagebox.
Щоб викликати цей модуль, на початку програми записують команду: import.tkinter.messagebox
Тоді вікно повідомлення із заголовком та текстом формується за допомогою команди: tkinter.messagebox.showinfo(‘Заголовок’, ‘Команда’)
У мові Phython можна створити вікна повідомлень кількох видів. Для цього призначено команди:
• showinfo (‘<Текст у рядку заголовка>’,’<текст повідомлення>’) – створення інформаційного вікна зі значком і текстовим повідомленням.
• showwarning (‘<Текст у рядку заголовка>’,’<текст повідомлення>’) – створення вікна попередження зі значком і текстом попередження.
• showerror (‘<Текст у рядку заголовка>’,’<текст повідомлення>’) – створення вікна оповіщення про помилку зі значком і текстом повідомлення про помилку.