1. 8–3
2. 4–7
3. 2–5
4. 7–2
5. 5–8
6. 6–1
7. 3–6
8. 1–4
9. 2-5
10. 8-3
11. 6-1
12. 3-6
13. 4-7
14. 1-4
15. 5-8
16. 7-2
Задумати будь-яке ціле додатне число від 0 до 100. Відгадати число за мінімальну кількість кроків, якщо можна задавати питання «більше?» і «менше?».
Розв’язання: Найпростіший спосіб розв’язання – це послідовний перебір усіх чисел. Але цей спосіб може виявитися найменш ефективним, бо немає гарантії, що ви відгадаєте число з першого, другого, третього… дев’яносто дев’ятого разу, напевно це можна зробити тільки за 100 кроків. Наприклад, було загадано число 100. Ви почали питати з найменшого: 1, 2, 3… Тобто знадобиться 100 питань для знаходження вірної відповіді.
Щоб знайти відповідь швидше, треба виділити групу чисел, де не може бути правильної відповіді, і відкинути її. Тоді ми не будемо витрачати час на перебір усіх чисел. Розділимо групу чисел навпіл і спитаємо, чи загадане число більше 50. Чому саме навпіл? Якщо ми поділимо інакше, то множина чисел розділиться на більшу і меншу частини. У разі, коли загадане число опиниться у меншій частині, це безумовно виграш. Але гарантувати такого не можна. Щоб не покладатися на випадок, а мати гарантований результат, треба ділити якомога рівніше. Так само діляться і наступні множини чисел.
Наприклад, задумано число 33.
Перша спроба – число 50? Відповідь: менше.
Друга спроба – число 25? Відповідь: більше.
Третя спроба – число 37? Відповідь: менше.
Четверта спроба – число 31? Відповідь: більше.
П’ята спроба – число 34? Відповідь: менше.
Шоста спроба – число 32? Відповідь: більше.
Сьома спроба – число 33? Відповідь: вірно!
Вчимося програмувати
Для того щоб написати свою програму, звичайно треба придумати або знайти алгоритм. Але цього замало. Треба реалізувати цей алгоритм за допомогою однієї з мов програмування. На сьогодні таких мов дуже багато. Серед них є й універсальні, що підходять для рішення більшості задач, а є й спеціалізовані. Поміж спеціалізованих мов програмування можна виділити мови, призначенні для навчання. Серед них – LOGO WRITER. Назва мови програмування Лого походить від грецького «логос», що у перекладі є «думка», «ідея», «сенс».
Лого почали розробляти 1967 року в дослідному інституті в Кембриджі (штат Массачусетс, США) вчені Сеймур Пейперт та Уоллес Фейєрцаг. Потім значна частина розробки (у 1985 році) була проведена Пейпертом та його колегами в Массачусетському інституті – МІТ. Лого призначався для допомоги дітям, які вивчали математику з використанням комп’ютера.