8-А клас Тема: Інструктаж з БЖД. Опрацювання величин у програмах з елементами керування. Текстове поле.
Освітня мета: ознайомитись із використанням текстового поля для роботи з величинами; засвоїти операції, що виконують над текстовими величинами; ознайомитись з функціями, що використовують для опрацювання текстових величин.
Розвивальна мета: розвивати пам’ять, уяву, увагу, творче та словеснологічне мислення, творчі здібності, координаційну моторику, мовлення.
Виховна мета: виховувати працелюбність, дисциплінованість, акуратність, уважність, старанність, допитливість, далекоглядність та стійкість; виховувати культуру створення алгоритму і програми.
Тип уроку: засвоєння нових знань та навичок.
Обладнання: ПК із встановленим ОС і середовищем програмування мовою Python або стійким сполученням з Інтернетом для роботи з середовищем програмування мовою Python у режимі online.
Хід роботи І. Організаційний етап. (2 хв.) ІІ. Актуалізація опорних знань. (5 хв.)
1. Які властивості вікна ви знаєте?
2. Які події можуть відбуватися з вікном? У чому полягає кожна з них?
3. Які властивості кнопки ви знаєте?
4. Що таке обробник події ? Як його створити? Як його виконати?
5. Які властивості має компонент напис?
ІІІ. Повідомлення теми і мети уроку. Мотивація. (3 хв.)
Ще одним компонентом (елементом керування), який можна використати у вікні проєкту, є поле – елемент керування, який використовується в основному для введення даних, а також для виведення результатів.
ІV. Пояснення нового матеріалу. (20 хв.)
Матеріал взятий з підручника
Інформатика 8 клас Морзе, Барна (2021).
Надавати значення величинам можна різнимиспособами:
• під час написання програмного коду за допомогою оператора присвоювання;
• під час виконання програми, що містить команду введення Input;
• за допомогою елементів управління.
Entry – це елемент керування для введення одного рядка тексту. Має такі додаткові (порівняно з Button i Label) властивості: borderwidth (або скоречено bd) – ширина межі; show – відображувані символи.
Наприклад, змінна text1 отримує значення з однорядкового текстового поля висотою 7, шириною 8, яке написано шрифтом за замовчуванням 14 розміром.
Text – це елемент керування для введення довільного багаторядкового тексту. Має (додаткову) властивість wrap, що відповідає за перенесення на новий рядок. Щоб переносити по словам, потрібно надати їй значення WORD, яке додається з бібліотеки додатково. Наприклад, текст у текстовому полі вводили без натискування клавіші Enter у вікні з елементом управління багаторядкове поле за допомогою такого коду: import tkinter from tkinter import WORD window=tkinter.Tk()
text1=tkinter.Text(window, height=7, width=8, font=’14’, wrap=WORD,
bd=5) text1.pack() window.mainloop()
Методи insert, delete і get, відповідно, додають, видаляють або витягають текст. Перший аргумент – місце вставлення у вигляді ‘x.y’, де x – це рядок, а y – стовпчик.
text1.insert(‘1.0’,’Додати цей текст \ n \ в початок першого рядка’) text1.delete(‘1.0’,END) #Видалити все text1.get(‘1.0’, END) #Витягти все
Наприклад, змінній s надають значення командою
s = tkinter.StringVar()
s.set(‘Значення’)
А отримати значення можна так:
s.get ()
Для того щоб отримати значення з текстового напису, використовують об’єкти (внутрішні змінні): BooleanVar(), StringVar(), IntVar(), DoubleVar(). Тоді серед параметрів елемента керування має бути textvariable.
Наприклад, змінній текстового типу str_var буде надано значення, яке отримано з текстового поля edit:
str_var = tkinter.StringVar()
edit = tkinter.Entry(window, textvariable = str_var)
Над текстовими величинами виконують операцію склеювання – поєднання кількох рядкових величин, яка позначається символом «+».
Наприклад, у результаті виконання фрагменту програми
F=’алго’
L=’ритм’
R=F+L отримаємо значення R, що дорівнює ‘алгоритм’.
Текстові величини є незмінюваними, це означає, що не можна змінити частину рядка, не створивши нового.
Ви вже знаєте, що в програмі мовою програмування Phyton під час роботи з текстовими величинами можна використовувати операцію зрізу, за допомогою якої копіюється послідовність або її частина. Наприклад, для змінної s=’Hello world’ операції зрізу подано нижче у таблиці.
Опис |
Приклад команди |
Результат – значення змінної s1 |
Зріз від початку рядка до символу з номером n |
s1 = s[:6] + ’Phyton!’ |
’Hello Phyton!’ |
Зріз від символу з номером n рядка включно до символу з номером m |
s1 = s[3:5] |
’lo’ |
Зріз від символу з номером n рядка включно до кінця рядка |
s1 = s[6:] |
’world’ |
Щоб записати символи в рядку в зворотному порядку, використовують |
операцію:
s3 = s[::-1] .
Тоді змінна s3 матиме значення ’dlrow olleH’.
У мові програмування Python можна вставляти в рядок дані в необхідному форматі. Для цього використовують оператор %, першим операндом якого є рядок-шаблон, а другим – тьюпл із даними для вставки.
Рядок-шаблон містить «заглушки», що позначають, у які місця мають вставляти дані та в якому форматі. Наприклад:
s = “My name is %s, I’m %s years old.” % (‘Vasia’, 14)
аналогічне запису s = “My name is ‘ + ‘Vasia’ + ’, I’m ‘ + str(14) + ‘years old.”
Дані вставляються в рядок у тому порядку, в якому вони перебувають у тьюплі. «Заглушка» %s позначає вставлення даних із приведенням їх до типу рядок – str().
У мові програмування Python для опрацювання текстових величин використовують функції, наведені у таблиці:
Опис функції мовою програмування |
Призначення |
len(S) |
Визначення кількості символів S |
s.upper() |
Змінює регістр усіх символів рядка на верхній |
s.lower() |
Змінює регістр усіх символів рядка на нижній |
s.replace(s_old, s_new) |
Замінює всі входження фрагмента s_old у рядку на s_new |
s.replace(s_old, s_new, count) |
Змінює перші count входжень фрагмента s_old у рядку на s_new |
s.find(s1) |
Повертає позицію входження (індекс першого символу) фрагмента s1 у рядку, або -1, якщо фрагмент не знайдено |
s.find(s1, start_pos) |
Повертає позицію входження (індекс першого символу) фрагмента s1 у рядку, починаючи з позиції start_pos або -1, якщо фрагмент не знайдено |
У мові програмування Python є функції для роботи з кодами текстових |
величин.
Опис функції мовою програмування |
Тип аргументу |
Тип результату |
Призначення |
chr(x) |
цілий |
символьний |
Визначає символ з кодом х |
оrd(c) |
символьний |
цілий |
Визначає код символа с |
|
|
|
|
V. Закріплення нових знань (10 хв.)
Завдання 1. У середовищі програмування розробіть проєкт, у якому користувач буде вводити день тижня, натискати кнопку Гаразд й отримувати у вікні із заголовком Увага! таке повідомлення: Сьогодні – <день тижня, який було введено>.
import tkinter import tkinter.messagebox from tkinter import WORD window = tkinter.Tk() str_var = tkinter.StringVar() def button_click():
tkinter.messagebox.showinfo(“Увага!”, “Сьогодні - ” +
str_var.get()) label = tkinter.Label(text=”Введіть день тижня”) label.pack()
edit = tkinter.Entry(window, textvariable = str_var) edit.pack()
button=tkinter.Button(window, text=”Гаразд”, command=button_click) button.pack() window.mainloop()
Завдання 2. Напишіть програму графічного інтерфейсу Python для створення текстового поля за допомогою модуля tkinter. Вставте рядок В чужім краю не цвірінькають... на початку, а потім вставте рядок і солов’ї в поточний текст так, щоб отримати приказку В чужім краю і солов’ї не цвірінькають.
Видаліть перший і два останні символи тексту.
import tkinter window = tkinter.Tk() mytext = tkinter.Text(window) # Вставте рядок на початку mytext.insert('1.0', '_В чужім краю не цвірінькають..')
# Вставте рядок в кінці mytext.insert('1.14', 'і солов`ї ') # Видаліть перший і два останні знаки mytext.delete('1.0') mytext.delete('end - 2 chars') mytext.pack() window.mainloop()
Завдання 3 (додатково). Розглянте команди та їх параметри, що використані у програмі, після запуску якої отримають вікно. Дослідіть призначення методу place. Зверніть увагу, що для того щоб скоротити назву бібліотеки tkinter, призначили ім’я tk (as tk).
#Доступ import tkinter as tk window = tk.Tk() window.geometry("400x250") name = tk.Label(window, text = "Name").place(x = 30, y = 50) email = tk.Label(window, text = "User ID").place(x = 30, y = 90) password = tk.Label(window, text = "Password").place(x = 30, y = 130) sbmitbtn = tk.Button(window, text = "Submit").place(x = 120, y = 170) entry1 = tk.Entry(window).place(x = 85, y = 50) entry2 = tk.Entry(window).place(x = 85, y = 90) entry3 = tk.Entry(window).place(x = 90, y = 130)
window.mainloop()
VІ. Підведення підсумків. (4 хв.)
1. Для чого може використовуватися текстове поле?
2. Як створити текстове поле в мові Python?
3. Які властивості поля ви знаєте? Охарактеризуйте їх.
4. Як можна значення з поля; записати в поле; видалити дані з поля?
VІІ. Повідомлення д/з. (2 хв.)
1) Вивчити опорний конспект.
2) Розробіть програму, після запуску якої на екрані в текстове поле вводять текст. Натискування кнопки Перетворити викликає на екран інформаційне вікно з перетвореним текстом:
• у тексті забрано першу та останню літери;
• текст написано двічі;
• усі літери тексту записані у верхньому регістрі;
• виведено кількість символів у тексті.
Опорний конспект для учнів (роздрукувати та роздати учням)
Тема: Опрацювання величин у програмах з елементами керування.
Текстове поле.
Entry – це елемент керування для введення одного рядка тексту. Має такі додаткові (порівняно з Button i Label) властивості: borderwidth (або скоречено bd) – ширина межі; show – відображувані символи.
Наприклад, змінна text1 отримує значення з однорядкового текстового поля висотою 7, шириною 8, яке написано шрифтом за замовчуванням 14 розміром.
Text – це елемент керування для введення довільного багаторядкового тексту. Має (додаткову) властивість wrap, що відповідає за перенесення на новий рядок. Щоб переносити по словам, потрібно надати їй значення WORD, яке додається з бібліотеки додатково. Наприклад, текст у текстовому полі вводили без натискування клавіші Enter у вікні з елементом управління багаторядкове поле за допомогою такого коду: import tkinter from tkinter import WORD window=tkinter.Tk()
text1=tkinter.Text(window, height=7, width=8, font=’14’, wrap=WORD,
bd=5) text1.pack() window.mainloop()
Методи insert, delete і get, відповідно, додають, видаляють або витягають текст. Перший аргумент – місце вставлення у вигляді ‘x.y’, де x – це рядок, а y – стовпчик.
text1.insert(‘1.0’,’Додати цей текст \ n \ в початок першого рядка’) text1.delete(‘1.0’,END) #Видалити все text1.get(‘1.0’, END) #Витягти все
Наприклад, змінній s надають значення командою
s = tkinter.StringVar()
s.set(‘Значення’)
А отримати значення можна так:
s.get ()
Для того щоб отримати значення з текстового напису, використовують об’єкти (внутрішні змінні): BooleanVar(), StringVar(), IntVar(), DoubleVar(). Тоді серед параметрів елемента керування має бути textvariable.
Наприклад, змінній текстового типу str_var буде надано значення, яке отримано з текстового поля edit:
str_var = tkinter.StringVar()
edit = tkinter.Entry(window, textvariable = str_var)
Над текстовими величинами виконують операцію склеювання – поєднання кількох рядкових величин, яка позначається символом «+».
Наприклад, у результаті виконання фрагменту програми
F=’алго’
L=’ритм’
R=F+L отримаємо значення R, що дорівнює ‘алгоритм’.
Текстові величини є незмінюваними, це означає, що не можна змінити частину рядка, не створивши нового.
Ви вже знаєте, що в програмі мовою програмування Phyton під час роботи з текстовими величинами можна використовувати операцію зрізу, за допомогою якої копіюється послідовність або її частина. Наприклад, для змінної s=’Hello world’ операції зрізу подано нижче у таблиці.
Опис |
Приклад команди |
Результат – значення змінної s1 |
Зріз від початку рядка до символу з номером n |
s1 = s[:6] + ’Phyton!’ |
’Hello Phyton!’ |
Зріз від символу з номером n рядка включно до символу з номером m |
s1 = s[3:5] |
’lo’ |
Зріз від символу з номером n рядка включно до кінця рядка |
s1 = s[6:] |
’world’ |
Щоб записати символи в рядку в зворотному порядку, використовують операцію:
s3 = s[::-1] .
Тоді змінна s3 матиме значення ’dlrow olleH’.
У мові програмування Python можна вставляти в рядок дані в необхідному форматі. Для цього використовують оператор %, першим операндом якого є рядок-шаблон, а другим – тьюпл із даними для вставки.
Рядок-шаблон містить «заглушки», що позначають, у які місця мають вставляти дані та в якому форматі. Наприклад:
s = “My name is %s, I’m %s years old.” % (‘Vasia’, 14)
аналогічне запису s = “My name is ‘ + ‘Vasia’ + ’, I’m ‘ + str(14) + ‘years old.”
Дані вставляються в рядок у тому порядку, в якому вони перебувають у тьюплі. «Заглушка» %s позначає вставлення даних із приведенням їх до типу рядок – str().
У мові програмування Python для опрацювання текстових величин використовують функції, наведені у таблиці:
Опис функції мовою програмування |
Призначення |
len(S) |
Визначення кількості символів S |
s.upper() |
Змінює регістр усіх символів рядка на верхній |
s.lower() |
Змінює регістр усіх символів рядка на нижній |
s.replace(s_old, s_new) |
Замінює всі входження фрагмента s_old у рядку на s_new |
s.replace(s_old, s_new, count) |
Змінює перші count входжень фрагмента s_old у рядку на s_new |
s.find(s1) |
Повертає позицію входження (індекс першого символу) фрагмента s1 у рядку, або -1, якщо фрагмент не знайдено |
s.find(s1, start_pos) |
Повертає позицію входження (індекс першого символу) фрагмента s1 у рядку, починаючи з позиції start_pos або -1, якщо фрагмент не знайдено |
У мові програмування Python є функції для роботи з кодами текстових |
величин.
Опис функції мовою програмування |
Тип аргументу |
Тип результату |
Призначення |
chr(x) |
цілий |
символьний |
Визначає символ з кодом х |
оrd(c) |
символьний |
цілий |
Визначає код символа с |
|
|
|
|