MoreKnig.org

Читать книгу «Інформатика. Дитяча енциклопедія» онлайн.


Шрифт:

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 році) була проведена Пейпертом та його колегами в Массачусетському інституті – МІТ. Лого призначався для допомоги дітям, які вивчали математику з використанням комп’ютера.

Перейти на стр:
Шрифт:
Продолжить читать на другом устройстве:
QR code