Добрий день, діти! Сьогодні у нас підсумковий урок з теми 4 «Алгоритми та програми». Ми з вами вивчали основи візуального програмування в Lazarus: як створювати прості програми з кнопками, написами, полями введення, як використовувати логічні вирази, розгалуження (if), прапорці, перемикачі, цикли з лічильником (for) і з передумовою (while). Це важлива тема, бо саме тут ви навчилися не просто клікати мишкою, а створювати власні програми, які реагують на дії користувача та виконують обчислення.
Актуальність і застосування у житті
Уміння створювати програми з елементами керування та логікою розгалужень і циклів використовується скрізь: у створенні калькуляторів, тестів, ігор, програм для обробки даних (наприклад, підрахунок балів у класі, генератор паролів, прості симулятори). У реальному світі це основа для розробки додатків, веб-інтерфейсів, автоматизації завдань. Навіть у повсякденному житті ви вже стикалися з такими програмами: калькулятор на телефоні, форма реєстрації, вікно з вибором опцій.
Актуалізація знань учнів
Давайте пригадаємо основне (відповідайте швидко, піднімаючи руку):
Як називається вікно, де ми розміщуємо елементи керування в Lazarus? Відповідь: Форма (або головна форма проєкту).
Яка подія відбувається, коли користувач натискає на кнопку? Відповідь: OnClick (обробник події Click).
Як у Lazarus позначається логічне заперечення? Відповідь: not (або NOT).
Яка різниця між циклом for і while? Відповідь: for — з лічильником, відоме наперед кількість повторів; while — з передумовою, повторюється, поки умова істинна.
Як називається елемент для введення тексту чи числа? Відповідь: Поле (TEdit).
Як перетворити текст з поля в число? Відповідь: StrToInt() або StrToFloat().
Основні теоретичні відомості та терміни (коротко повторимо)
Алгоритм — точна послідовність дій для розв’язання задачі.
Властивості елементів: Caption (напис), Text (для Edit), Checked (для CheckBox, RadioButton), Enabled, Visible.
Обробники подій: procedure TForm1.Button1Click(Sender: TObject);
Логічні операції: and (кон’юнкція), or (диз’юнкція), not (заперечення), xor.
Розгалуження: if умова then … else …;
Цикл з лічильником: for i := 1 to 10 do …;
Цикл з передумовою: while умова do …;
Введення/виведення: Edit1.Text, Label1.Caption, ShowMessage().
Практична робота № 5 (підсумкова, 20–25 хвилин)
Тема завдання: «Програма-тест «Хто ти з казкових героїв?»»
(цікаве, не надто складне, використовує кнопки, поля, прапорці, розгалуження та простий цикл).
Завдання для учнів
Створити програму-тест, яка ставить 3 простих питання користувачеві, збирає відповіді за допомогою прапорців (CheckBox) або перемикачів (RadioButton), а потім за результатами видає, хто ти: Кіт у чоботях, Попелюшка чи Іван-царевич.
Чітка покрокова інструкція виконання (виконайте точно в такій послідовності!)
Запустіть Lazarus: Пуск → Усі програми → Lazarus → Lazarus (або ярлик на робочому столі).
Створіть новий проєкт: File → New → Application → OK.
Збережіть проєкт одразу: File → Save All. У папці D:\Work створіть папку з вашим прізвищем (наприклад, Іванов). Збережіть проект у цю папку: назва проєкту TestKazka, одиниця форми Unit1.pas.
На форму додайте елементи (з панелі компонентів Standard та Additional):
1 Label (назвіть LabelQuestion, Caption = «Обери, що тобі подобається найбільше:» розмістіть зверху).
3 CheckBox (або 3 RadioButton у групі — краще RadioButton для одного вибору): CheckBox1.Caption := 'Пригоди та подорожі'; CheckBox2.Caption := 'Краса та чарівність'; CheckBox3.Caption := 'Сила та хоробрість';
1 Button (Caption = 'Показати результат', Name = ButtonResult).
1 Label (нижче, Name = LabelResult, Caption = '', Font.Size = 14).
Двічі клацніть на ButtonResult — відкриється код обробника ButtonResultClick.
Напишіть код (уважно копіюйте!):
pascal
procedure TForm1.ButtonResultClick(Sender: TObject);
var points: integer;
begin
points := 0;
if CheckBox1.Checked then points := points + 1;
if CheckBox2.Checked then points := points + 2;
if CheckBox3.Checked then points := points + 3;
if points = 1 then
LabelResult.Caption := 'Ти — Кіт у чоботях! Любитель пригод!'
else if points = 2 then
LabelResult.Caption := 'Ти — Попелюшка! Краса та мрії!'
else if points = 3 then
LabelResult.Caption := 'Ти — Іван-царевич! Сила та відвага!'
else
LabelResult.Caption := 'Обери хоча б одну відповідь!';
end;
(Якщо використовуєте RadioButton — тоді if RadioButton1.Checked then …)
Запустіть програму: F9 або зелена стрілка Run.
Перевірте роботу: оберіть варіанти, натисніть кнопку, подивіться результат.
Зупиніть програму (кнопка Stop або закрийте вікно).
Збережіть зміни: File → Save All.
Звіт (10 хвилин):
Створіть документ у Microsoft Word за таким шаблоном:
Відкрийте Microsoft Word: Пуск → введіть «Word» → Enter.
У першу строчку введіть: Прізвище Ім’я Клас Підгрупа Завдання Практична робота №5 (шрифт 28 пт, по центру).
Далі (шрифт 14 пт): Дата уроку Практична робота Тема: Підсумкова з теми «Алгоритми та програми»
Зробіть скріншот форми з результатом (кнопка Print Screen → Вставка → Вставити в Word).
Збережіть файл: Файл → Зберегти як → Огляд → Цей ПК → Локальний диск D: → Work → папка «Ваше прізвище». Назва файлу: PR5ТемаВашеПрізвище.docx (наприклад, PR5АлгоритмиІванов.docx) → Зберегти.
Оцінювання за 12-бальною шкалою (НУШ, групи результатів)
ГР1 (Працює з інформацією, даними, моделями) — max 3 б: правильно використовує логічні конструкції, накопичує бали (0–3).
ГР2 (Створює інформаційні продукти) — max 4 б: програма працює, видає правильний результат, інтерфейс зрозумілий (0–4).
ГР3 (Працює в цифровому середовищі) — max 3 б: правильно створив проєкт, зберіг, запустив без помилок (0–3).
ГР4 (Безпечно та відповідально) — max 2 б: не змінював чужі файли, зберіг у своїй папці, закрив програму (0–2). Максимум — 12 балів.
Домашнє завдання
Повторити всі приклади з теми 4 (стор. підручника Ривкінд 8 клас, § про розгалуження, цикли). Підготувати ідею простої програми (наприклад, калькулятор або вікторина) — записати в зошит 3–5 рядків псевдокоду.
Безмашинний варіант уроку (30 хвилин, при відключенні світла)
На аркушах А4 учні малюють блок-схеми та пишуть псевдокод для програми «Вгадай число» (комп’ютер загадав число 1–100, користувач вводить спроби, програма каже «більше/менше/вгадав»).
Намалювати блок-схему з циклом while.
Записати псевдокод: Загадане = 42 Поки спроба ≠ Загадане Ввести спробу Якщо спроба < Загадане то «Більше!» Інакше якщо спроба > Загадане то «Менше!» Кінець циклу Вивести «Вгадав!» Обговорюємо 2–3 найкращі схеми вголос. Здайте аркуші вчителю.