Поділіться своєю думкою про онлайн уроки інформатики. Пройдіть анонімне опитування на головній сторінці сайту
Вітаю, учні 8 класу! Сьогодні наш урок буде присвячений оператору вибору, важливому елементу програмування, який дозволяє вашим програмам реагувати на різні ситуації. Ми розглянемо цей концепт на прикладах в середовищах Lazarus та Python.
Вступ:
Оператор вибору - це інструмент, який дозволяє програмі виконувати різні блоки коду в залежності від умов. Найпоширенішим видом оператора вибору є if, else if та else. Він дає можливість створювати гнучкі та адаптивні програми, які можуть взаємодіяти з різними умовами.
Оператор вибору в Lazarus:
Давайте розглянемо простий приклад на Pascal (Lazarus), де ми будемо перевіряти температуру та давати поради:
program ПорадиТемпература;
var
температура: integer;
begin
writeln('Введіть температуру: ');
readln(температура);
if температура > 30 then
writeln('Зовні жарко. Залиштеся під кондиціонером!')
else if (температура <= 30) and (температура > 15) then
writeln('Погода приємна. Насолоджуйтеся днем!')
else
writeln('Трошки прохолодно. Не забудьте теплий одяг!');
end.
Оператор вибору в Python:
Тепер давайте перепишемо той же фрагмент коду для Python, щоб ви могли порівняти синтаксис:
# Поради по температурі на Python
температура = int(input('Введіть температуру: '))
if температура > 30:
print("Зовні жарко. Залиштеся під кондиціонером!")
elif 15 < температура <= 30:
print('Погода приємна. Насолоджуйтеся днем!')
else:
print("Трошки прохолодно. Не забудьте теплий одяг!")
нструкція з введення у середовищі Lazarus:
Відкрийте Lazarus на вашому комп'ютері.
Оберіть "File" (Файл) у головному меню.
Виберіть "New Project..." (Створити новий проект).
Оберіть тип проекту, наприклад, "Application" (Додаток) або "Console Application" (Консольний додаток), залежно від вашої потреби.
Клікніть "OK" (ОК).
У головному меню, оберіть "File" (Файл), а потім "New Form" (Нова форма), якщо вам потрібно інтерфейс користувача.
Виберіть тип форми, наприклад, "Form" (Форма).
Клікніть "OK".
Якщо ви створили форму, додайте на неї елементи у вікні дизайнера.
Двічі клікніть на форму або виберіть "View Code" (Перегляд коду), щоб відкрити редактор коду.
Введіть код для обробки введення з клавіатури. Наприклад:
var
userInput: string;
begin
// Зчитування рядка з клавіатури
write('Введіть щось: ');
readln(userInput);
// Виведення результату
writeln('Ви ввели: ', userInput);
end.
Натисніть "Run" (Запустити) у головному меню або використайте гарячу клавішу F9.
Це базовий огляд, який допоможе вам розпочати роботу з Lazarus та обробкою введення з клавіатури.
Тест на тему "Оператор вибору":
Що робить оператор вибору?
a) Виводить текст на екран
b) Визначає вирази для виконання в залежності від умови
c) Виконує цикл
Відповідь: b) Визначає вирази для виконання в залежності від умови
Яким чином виглядає умовний оператор в Pascal?
a) if condition then
b) if (condition):
c) if condition {
Відповідь: a) if condition then
Що буде виведено у результаті виконання коду на Pascal:
if 5 > 3 then
writeln('Правда')
else
writeln('Неправда');
a) "Правда"
b) "Неправда"
c) Код не виконується
Відповідь: a) "Правда"
Як виглядає синтаксис умовного оператора в Python?
a) if condition then
b) if (condition):
c) if condition {
Відповідь: b) if (condition):
Що буде виведено у результаті виконання коду на Python:
temperature = 25
if temperature > 30:
print("Зовні жарко")
elif 15 < temperature <= 30:
print('Погода приємна')
else:
print("Трошки прохолодно")
a) "Зовні жарко"
b) "Погода приємна"
c) "Трошки прохолодно"
Відповідь: b) "Погода приємна"
Що таке оператор elif?
a) Команда виводу
b) Команда заміни
c) Команда альтернативного вибору
Відповідь: c) Команда альтернативного вибору
Для чого використовується ключове слово else в операторі вибору?
a) Для визначення альтернативного виразу
b) Для визначення виразу у випадку, коли жодна з умов не виконується
c) Для визначення додаткових умов
Відповідь: b) Для визначення виразу у випадку, коли жодна з умов не виконується
Як можна використовувати вкладені умови в операторі вибору?
a) Так, можна
b) Ні, неможливо
c) Залежить від мови програмування
Відповідь: a) Так, можна
Як можна перевірити дві умови одночасно в операторі вибору в Python?
a) if condition1 and condition2:
b) if condition1 or condition2:
c) if condition1, condition2:
Відповідь: a) if condition1 and condition2:
Що робить опціональний оператор elif?
a) Вказує альтернативний шлях, якщо попередня умова виявиться хибною
b) Вказує головний шлях виконання коду
c) Вказує виключення, яке буде вилучати умову
Відповідь: a) Вказує альтернативний шлях, якщо попередня умова виявиться хибною
Практична робота
Оператор вибору дозволяє виконувати різні дії залежно від умови. У Python для цього використовується if-elif-else, а в Lazarus — конструкція case.
Задача 1. Визначення пори року за номером місяця
Формулювання: Напишіть програму, яка за введеним номером місяця визначає пору року.
Розв’язок на Python:
python
Копіювати код
# Введення номера місяця
month = int(input("Введіть номер місяця (1-12): "))
# Визначення пори року
if 3 <= month <= 5:
season = "Весна"
elif 6 <= month <= 8:
season = "Літо"
elif 9 <= month <= 11:
season = "Осінь"
elif month == 12 or month <= 2:
season = "Зима"
else:
season = "Некоректний номер місяця"
# Виведення результату
print("Пора року:", season)
Розв’язок на Lazarus:
Алгоритм створення проекту:
Елементи на формі:
Поле введення (TEdit) для номера місяця.
Кнопка (TButton) для запуску перевірки.
Поле для відображення результату (TLabel).
Події та обробники подій:
Натискання кнопки запускає подію OnClick, яка визначає пору року.
pascal
Копіювати код
procedure TForm1.Button1Click(Sender: TObject);
var
month: Integer;
season: String;
begin
month := StrToInt(Edit1.Text); // Зчитування номера місяця
case month of
3..5: season := 'Весна';
6..8: season := 'Літо';
9..11: season := 'Осінь';
12, 1, 2: season := 'Зима';
else
season := 'Некоректний номер місяця';
end;
Label1.Caption := 'Пора року: ' + season; // Виведення результату
end;
Задача 2. Визначення оцінки за балами
Формулювання: Програма приймає бал студента (0-100) і визначає оцінку:
90-100: "Відмінно"
75-89: "Добре"
50-74: "Задовільно"
0-49: "Незадовільно"
Розв’язок на Python:
python
Копіювати код
# Введення бала
score = int(input("Введіть бал (0-100): "))
# Визначення оцінки
if 90 <= score <= 100:
grade = "Відмінно"
elif 75 <= score < 90:
grade = "Добре"
elif 50 <= score < 75:
grade = "Задовільно"
elif 0 <= score < 50:
grade = "Незадовільно"
else:
grade = "Некоректний бал"
# Виведення результату
print("Оцінка:", grade)
Розв’язок на Lazarus:
Алгоритм створення проекту:
Елементи на формі:
Поле введення (TEdit) для бала.
Кнопка (TButton) для обчислення оцінки.
Поле для відображення результату (TLabel).
Події та обробники подій:
Натискання кнопки запускає перевірку балів.
pascal
Копіювати код
procedure TForm1.Button1Click(Sender: TObject);
var
score: Integer;
grade: String;
begin
score := StrToInt(Edit1.Text); // Зчитування бала
case score of
90..100: grade := 'Відмінно';
75..89: grade := 'Добре';
50..74: grade := 'Задовільно';
0..49: grade := 'Незадовільно';
else
grade := 'Некоректний бал';
end;
Label1.Caption := 'Оцінка: ' + grade; // Виведення результату
end;
Задача 3. Калькулятор простих операцій
Формулювання: Напишіть програму, яка виконує одну з операцій (+, -, *, /) над двома числами залежно від введеного символу операції.
Розв’язок на Python:
python
Копіювати код
# Введення чисел і операції
num1 = float(input("Введіть перше число: "))
num2 = float(input("Введіть друге число: "))
operation = input("Введіть операцію (+, -, *, /): ")
# Виконання операції
if operation == "+":
result = num1 + num2
elif operation == "-":
result = num1 - num2
elif operation == "*":
result = num1 * num2
elif operation == "/":
if num2 != 0:
result = num1 / num2
else:
result = "Ділення на нуль!"
else:
result = "Некоректна операція"
# Виведення результату
print("Результат:", result)
Розв’язок на Lazarus:
Алгоритм створення проекту:
Елементи на формі:
Два поля введення (TEdit) для чисел.
Поле введення (TEdit) для операції.
Кнопка (TButton) для виконання обчислення.
Поле для відображення результату (TLabel).
Події та обробники подій:
Натискання кнопки обчислює результат залежно від операції.
pascal
Копіювати код
procedure TForm1.Button1Click(Sender: TObject);
var
num1, num2: Real;
operation: String;
result: Real;
begin
num1 := StrToFloat(Edit1.Text); // Зчитування першого числа
num2 := StrToFloat(Edit2.Text); // Зчитування другого числа
operation := Edit3.Text; // Зчитування операції
if operation = '+' then
result := num1 + num2
else if operation = '-' then
result := num1 - num2
else if operation = '*' then
result := num1 * num2
else if (operation = '/') and (num2 <> 0) then
result := num1 / num2
else
begin
Label1.Caption := 'Некоректна операція або ділення на нуль!';
Exit;
end;
Label1.Caption := 'Результат: ' + FloatToStr(result); // Виведення результату
end;