Види навчальної діяльності
Обговорюємо
- Які оператори для опису алгоритмічної структури повторення використовують у програмах мовою програмування Free Pascal?
- Чим відрізняються оператори для опису алгоритмічної структури повторення в мові програмування Python від подібних операторів циклу в мові програмування Free Pascal?
- Як в операторах циклу в мовах програмування Free Pascal та Python організовують виконання декількох команд у тілі циклу?
Діємо разом
- Вправа 1. Фермер вирощує новий сорт рослин для годівлі тварин. Він дослідив закономірність, що після кожного зрізу, який здійснюється через тиждень (один раз на два тижні) не більше 5 разів, кількість зеленої маси збільшується за формулою s = s + (i - 1) * i, де і – номер тижня, s – кількість зеленої маси. Розробіть проект у середовищі програмування мовою Python, за яким буде визначено, чи встигне фермер зібрати n одиниць зеленої маси.
- У середовищі програмування мовою Python створіть новий файл з іменем Урожай.
- В області програмного коду запишіть команди за зразком:
- Запустіть проект на виконання. Перевірте, чи отримаєте ви для значення 50 повідомлення "Встигне отримати 141".
- Збережіть проект і завершіть роботу із середовищем програмування.
import tkinter
from tkinter import ttk
from tkinter import messagebox
main = tkinter.Tk()
main.title('Урожай')
# створення об'єкта для отримання значення з текстового поля: Потреба зеленої маси
z_var = tkinter.StringVar()
# опрацювання події натиснення кнопки
def button_click():
# початкові дані: i - номер тижня, s - кількість зеленої маси, при першому зрізі s=1
s = 1
i = 1
# отримання значення введеного рядка і присвоєння змінній k
k = int(z_var.get())
# обчислюємо збільшення зеленої маси за формулою s = s + (i-1) * i за 10 тижнів
while i <= 10:
s += (i-1) * i
i += 2
# виведення повідомлення про зібрання кількості зеленої маси
if k <= s:
tkinter.messagebox.showinfo('Результат', 'Встигне отримати ' + str(s) + '.')
else:
tkinter.messagebox.showinfo('Результат', 'Не встигне отримати.')
#створення текстового напису Введіть потребу зеленої маси та його розміщення на головній формі
label = tkinter.Label(text='Введіть потребу зеленої маси')
label.pack()
#створення текстового поля Введіть потребу зеленої маси та його розміщення на головній формі
edit = tkinter.Entry(main, textvariable=z_var)
edit.pack()
#створення кнопки та розміщення об'єкта на головній формі
button = tkinter.Button(main, text='Визначити', command=button_click)
button.pack()
#запуск опрацювання подій програми
main.mainloop()
- Вправа 2. Розробіть проект у середовищі програмування Lazarus, у якому за введеним початковим і кінцевим значеннями температури та кроком їх зміни в текстове поле буде виведений список відповідних температур за шкалою Фаренгейта, якщо для такого переведення використовуються формулу:
- Завантажте середовище Lazarus і створіть новий проект.
- Змініть значення властивостей об'єкта Form1, розмістіть на формі об'єкти, як на зразку, та надайте значень їх властивостям Зверніть увагу на використання у програмі елемента управління ListBox для відображення списку температур Змініть шрифт і розмір текстових написів на формі.
- Створіть процедуру опрацювання події натиснення кнопки Отримати список температур:
procedure TForm1.Button1Click(Sender: TObject); var t1, t2, k, tf : real; begin t1 := StrToFloat(Edit1.Text); t2 := StrToFloat(Edit2.Text); k := StrToFloat(Edit3.Text); while t1 <= t2 do begin tf := 9/5*t1 + 32; ListBox1.Items.Add(FloatToStr(tf)); t1 := t1 + k end; end;
- Запустіть проект на виконання. Введіть початкове і кінцеве значення температур за шкалою Цельсія, крок зміни і отримайте значення за шкалою Фаренгейта. Якщо є помилки - виправте їх.
- Поміркуйте, як записуються значення температури у вигляді списку в полі ListBox. Яка частина програмного коду це виконує?
- Збережіть проект і завершіть роботу із середовищем програмування.
- Поміркуйте, чим відрізнятиметься проект Урожай, створений мовою програмування Python, від аналогічного, розробленого мовою програмування Free Pascal. Реалізуйте такий проект у середовищі Lazarus.
Досліджуємо
- Завдання. Яких значень буде надано змінним, імена яких трапляються в командах, у результаті виконання таких фрагментів програм (для різних значень вхідних даних):
- Опрацювати підручник: §25 с. 170-172