Створення алгоритмів і програм з використанням змінних і алгоритмічної структури розгалуження
7
Визначення більшого(меншого)�з двох значень
Розділ 4 § 4.3
Розглянемо таку задачу.
Задача 2. Мати дала Марічці а грн, щоб вона купила ласощі та пригостила своїх шкільних друзів на свій день народження. Марічка вирішила купити 0,8 кг цукерок і 0,5 кг печива. У магазині Марічці сподобалися цукерки по ціні х грн за 1 кг і печиво по ціні у грн за 1 кг. Чи вистачить Марічці грошей на цю покупку?
7
Визначення більшого(меншого)�з двох значень
Розділ 4 § 4.3
Створимо математичну модель для розв’язування цієї задачі.
Очевидно, що потрібно визначити вартість запланованої покупки і порівняти її із сумою грошей, яку дала мати Марічці:
Якщо вартість покупки більша за суму наявних грошей
а якщо інакше, тобто, не більша
(менша або дорівнює)
то не вистачить
то вистачить
7
Визначення більшого(меншого)�з двох значень
Розділ 4 § 4.3
Отже, алгоритм розв'язування цієї задачі має містити розгалуження. Блок-схему цього алгоритму подано на малюнку.
7
Визначення більшого(меншого)�з двох значень
Розділ 4 § 4.3
Проект розв'язування Задачі 2 в Python подано нижче.
а = float(input("Уведіть видану суму грошей: "))
х = float(input("Уведіть ціну цукерок: "))
у = float(input("Уведіть ціну печива: "))
b = 0.8*х + 0.5*у
if b > а:
print("Не вистачить")
else:
print("Вистачить")
7
Рух по полотні з використанням розгалуження
Розділ 4 § 4.3
У Python є можливість керувати рухом Черепашки шляхом натискання клавіш на клавіатурі. Для кожної клавіші, натискання якої буде опрацьовуватися у проекті, можна вказати різні дїі Черепашки. Для цього призначено команду:
onkey
Загальний вигляд команди onkey такий:
onkey(команда, 'клавіша')
(англ. on – на, key – клавіша).
7
Рух по полотні з використанням розгалуження
Розділ 4 § 4.3
Наприклад, якщо потрібно після натискання клавіші Пропуск повернути Черепашку в центр полотна, то потрібно вказати команду home і код клавіші Пропуск – слово «space». Команда опрацювання натискання клавіші буде такою:
onkey(home, 'space')
Але якщо після натискання клавіші потрібно виконати команду з параметрами (наприклад, fd(20)) або декілька команд, то ці команди описують в окремому алгоритмі. Алгоритму потрібно надати ім’я і саме це ім’я ввести в команді onkey.
7
Рух по полотні з використанням розгалуження
Розділ 4 § 4.3
Наприклад, якщо потрібно при натисканні клавіші стрілка праворуч повертати Черепашку в напрямку праворуч і переміщувати на 10 кроків, то іменем такого алгоритму може бути:
Кодом клавіші стрілка праворуч є слово «Right». Команда, яка викликає виконання алгоритму move_right у відповідь на натискання клавіші стрілка праворуч, має вигляд:
onkey(move_right, 'Right')
(англ. move – рухатись, right - праворуч).
move_right
7
Рух по полотні з використанням розгалуження
Розділ 4 § 4.3
Опис алгоритму move_right розпочинається із заголовка, який має такий вигляд:
Після заголовка описуються команди алгоритму. У проекті вони повинні розміщуватися з відступом вправо від лівої межі екрана.
(англ. definition - визначення).
def move_right():
7
Рух по полотні з використанням розгалуження
Розділ 4 § 4.3
Щоб у проекті відстежувалися натискання на клавіші, потрібно використати команду:
listen()
Складемо проект у Python, у якому Черепашка після кожного натискання клавіші стрілка праворуч рухається по полотну праворуч. Після того як Черепашка дійде до точки на полотні з абсцисою 300, вона з’явиться на полотні з протилежного боку в точці з абсцисою -300.
(англ. listen - слухати).
7
Рух по полотні з використанням розгалуження
Розділ 4 § 4.3
Під час виконання цього алгоритму Черепашка використаємо команди:
Отже, алгоритм руху вправо move_right може бути таким:
Переміщення виконавця на 10 кроків
fd(10)
визначення абсциси положення виконавця
хсог()
встановлення нового значення координати
setx(-300)
def move_right():
fd( 10)
if хсог() > 300:
setx(-300)
7
Рух по полотні з використанням розгалуження
Розділ 4 § 4.3
Переміщення Черепашки в точку на полотні з абсцисою -300 виглядатиме як рух у напрямку ліворуч. Тому доцільно:
на час переміщення приховати зображення Черепашки (команда hideturtle()) (англ. hide - приховати);
установити високу швидкість переміщення (команда speed(0));
після переміщення відобразити зображення виконавця (команда showturtle()) (англ. show - показувати);
уповільнити швидкість руху виконавця (команда speed(1)).
7
Рух по полотні з використанням розгалуження
Розділ 4 § 4.3
Ці команди варто розмістити в алгоритмі move_right у команді розгалуження.
До проекту також доцільно додати команди:
7
Рух по полотні з використанням розгалуження
Розділ 4 § 4.3
Отже, проект може мати вигляд, наведений нижче.
Після символа «#» у проєкті записано коментарі, які пояснюють призначення команд і не виконуються під час виконання проекту.
7
Дайте відповіді на запитання
Розділ 4 § 4.3
7
Домашнє завдання
Проаналізувати
§ 4.3, ст. 145-153
Розділ 4 § 4.3
7
Працюємо за комп’ютером
Розділ 4 § 4.3
Сторінка
150-151
7
Дякую за увагу!
7