Види навчальної діяльності
Обговорюємо
- У чому різниця між описами порівняння величин мовами програмування Free Pascal і Python?
- Як визначити значення логічного виразу, що містить логічні операції and, or та not? Як для пошуку відповіді на це запитання можна використати таблиці істинності?
- Які засоби для перетворення логічних даних в інші типи передбачені у мові програмування Python?
- Чим відрізняються описи оператора повного розгалуження мовами програмування Free Pascal та Python?
- Наведіть приклади, коли у програмі варто застосовувати оператор неповного розгалуження.
Діємо разом
- Завантажте середовище Lazarus і створіть новий проект.
- Змініть значення властивостей об'єкта Form1, розмістіть на формі об'єкти, як на зразку, та надайте значень їх властивостям.
- Створіть процедуру опрацювання події натиснення кнопки Визначити. У вікні редактора коду введіть програмний код і зверніть увагу на структуру команди розгалуження:
procedure TForm1.Button1Click(Sender: TObject); var t: real; begin t:=StrToFloat(Edit1.Text); if t < 0 then Edit2.text:='Вода перебуває в твердому стані' else if t > 100 then Edit2.Text:='Вода перебуває у газоподібному стані' else Edit2.Text:='Вода перебуває у рідкому стані' end;
- Запустіть проект на виконання. Введіть значення температури, наприклад 25. Перевірте отриманий результат. Установіть, яка умова відповідає отриманому значенню.
- Запустіть проект на виконання ще раз для значення -10,5. Поясніть, чому проект не виконується. Внесіть зміни до проекту так, щоб користувач міг задавати температуру води дійсним числом. Зауважте, що дійсне число, яке вводиться в текстове поле, записується із десятковою комою, а в програмному коді використовують число, записане з десятковою крапкою.
- Збережіть проект і завершіть роботу із середовищем програмування.
- Вправа 2. У середовищі програмування мовою Python розробіть проект, за допомогою якого можна визначити, чи введений текст складається з одного слова, чи з декількох.
- У середовищі програмування мовою Python створіть новий файл з іменем Текст.
- В області програмного коду запишіть команди за зразком:
- Запустіть проект на виконання. Доберіть тестові дані та перевірте правильність складеної програми. Збережіть проект. Завершіть роботу із середовищем програмування.
import tkinter
import tkinter.messagebox
main = tkinter.Tk()
# створення об'єкта для отримання значення з текстового поля
str_var = tkinter.StringVar()
# опрацювання події натиснення кнопки
def button_click():
# отримання значення введеного рядка і присвоєння змінній s
s = str_var.get()
# перевірка умови: пропуск входить у рядок s чи ні
if ' ' in s:
# виведення повідомлення при істинній умові
tkinter.messagebox.showinfo('Результат', 'введено кілька слів')
else:
# виведення повідомлення при хибній умові
tkinter.messagebox.showinfo('Результат', 'введено одне слово')
#створення текстового напису та його розміщення на головній формі
label = tkinter.Label(text='Введіть текст')
label.pack()
#створення текстового поля та його розміщення на головній формі
edit = tkinter.Entry(main, textvariable=str_var)
edit.pack()
#створення кнопки та розміщення об'єкта на головній формі
button = tkinter.Button(main, text='Перевірити', command=button_click)
button.pack()
#запуск опрацювання подій програми
main.mainloop()
- Поміркуйте, чим буде відрізнятись порядок розробки проекту про агрегатний стан води в середовищі програмування мовою Python від його створення в середовищі Lazarus. Реалізуйте цей проект.
Виконуємо самостійно
- Завдання 1. У середовищі програмування Lazarus розробіть проект Мішень, у якому за введеними в текстові поля дійсними числами x та y у вікні повідомлення буде виведено повідомлення «Вітаємо! Влучний постріл!», якщо точка з координатами (x; y) належить заштрихованій області, та повідомлення «Шкода, не влучив!» - в іншому разі. Орієнтовний зразок інтерфейсу програми:
- Завдання 2. У середовищі програмування мовою Python розробіть проект, у якому виконується перевірка, чи дане слово є паліндромом (можна прочитати зліва направо так само, як справа наліво). Наприклад, слово «око» - це паліндром. Передбачте засоби, які слід використати для того, щоб слово «Пилип» теж було визначене як паліндром, ураховуючи різницю між великими та малими літерами. Проаналізуйте програмний код і реалізуйте власну програму:
import tkinter from tkinter import messagebox main = tkinter.Tk() # створення об'єкта для отримання значення з текстового поля: Введіть слово word_var = tkinter.StringVar() # опрацювання події натиснення кнопки def button_click(): # отримання значення введеного рядка і присвоєння змінній word word = word_var.get() # напишіть програмний код, який враховує різницю між великими та малими літерами # перевірка чи є слово паліндромом if word_edit == word_edit[::-1]: # виведення повідомлення про те, що слово є паліндромом tkinter.messagebox.showinfo('Результат', 'Слово '+ word + ' є паліндромом.') else: # виведення повідомлення про те, що слово не є паліндромом tkinter.messagebox.showinfo('Результат', 'Слово '+ word + ' не є паліндромом.') #створення текстового напису та його розміщення на головній формі label = tkinter.Label(text='Введіть слово') label.pack() #створення текстового поля та його розміщення на головній формі edit = tkinter.Entry(main, textvariable=word_var) edit.pack() #створення кнопки та розміщення об'єкта на головній формі button = tkinter.Button(main, text='Перевірити слово', command=button_click) button.pack() #запуск опрацювання подій програми main.mainloop()
- Опрацювати підручник: §24 с. 157-161