1. Продовжіть фрази.
а) Виконавець - це деякий об'єкт (людина, тварина, технічний пристрій), здатний виконувати певний набір команд.
б) Формальний виконавець - виконавець, який одну команду виконує завжди однаково.
в) Неформальний виконавець - виконавець, який одну команду може виконати по-різному.
г) Управління - це процес цілеспрямованого впливу одних об'єктів на інші. Виконавці є об'єктами управління.
д) Алгоритм - це призначене для конкретного виконавця точний опис послідовності дій, спрямованих на вирішення поставленого завдання.
2. Наведіть приклади:
а) неформальним виконавців:
учень, програміст, лікар, собака.
б) формальних виконавців:
магнітофон, телевізор, комп'ютер
3. Виконавець Кулінар призначений для обсмажування коржів. Коржик вважається готовою, якщо кожна її сторона смажилася 1 хвилину.
Серед виконавців - сковорода, на якій міститься два коржі.
Система команд виконавця представлена в таблиці:
Система відмов виконавця наступна. Відмова «не розумію» виникає тоді, коли виконавцю віддають команди «помістити 3», «перевернути 3» і т.п .; цих команд немає в СКІ виконавця Кулінар. Відмова «не можу» виникає при спробі підсмажити одну сторону двічі. Для виконавця Кулінар складіть алгоритм:
а) приготування 4 коржів за 4 хвилини:
Помістити 1, помістити 2, чекати, перевернути 1, перевернути 2, чекати, прибрати 1, прибрати 2.
б) приготування 5 коржів за 5 хвилин:
Помістити 1, помістити 2, чекати, перевернути 1, перевернути 2, чекати, прибрати 1, прибрати 2.
Помістити 1, чекати, перевернути 1, помістити 2, чекати, прибрати 1, перевернути 2, помістити 1, чекати, прибрати 2, перевернути 1, чекати, прибрати 1.
4. Зібрався Іван Царевич на бій зі Змієм Гориничем, триголовим і трёххвостим.
«Ось тобі меч-кладенец, - каже йому Баба Яга. - Одним ударом ти можеш зрубати або одну голову, або дві голови, або один хвіст, або два хвоста. Запам'ятай: зрубаєш голову - нова виросте, зрубаєш хвіст - два нових виростуть, зрубаєш два хвоста - голова виросте, зрубаєш дві голови - нічого не виросте ».
Які удари і в якій послідовності повинен наносити Іван Царевич, щоб якомога швидше зрубати Змієві всі голови і всі хвости?
Рішення завдання уявіть в формі таблиці.
5. Уважно прочитайте текст п. 3.1 «Алгоритм - модель діяльності виконавця алгоритмів». Чому, на вашу думку, його так назвали?
6. Охарактеризуйте виконавця креслярем.
Виконавець креслярем призначений для побудови малюнків на координатної площині.
7. Складіть для креслярем алгоритм малювання рівнобедреного трикутника, якщо відомі координати кінців відрізка, що є його висотою (4, 1) і (4, 6), а також координати (2, 1) однією з вершин.
8. Складіть для креслярем алгоритм малювання прямокутника зі сторонами, паралельними осям координат, якщо відомі координати його двох вершин (2, 1) і (7, 5).
9. Складіть для креслярем алгоритм малювання ромба, центр якого знаходиться в точці (5, 5), діагоналі паралельні координатним осях, а їх довжини рівні 8 і 4 одиницям.
10. Складіть алгоритм управління креслярем, в результаті виконання якого на координатної площині буде намальований квадрат, довжина сторони якого дорівнює 2 одиницям.
11. Складіть алгоритм управління креслярем, в результаті виконання якого на координатної площині буде намальований прямокутник, довжини сторін якого рівні 3 і 4 одиницям.
12. Складіть алгоритм управління креслярем, в результаті виконання якого на координатної площині буде намальований довільний паралелограм.
13. Складіть алгоритми малювання зображених нижче фігур так, щоб в процесі малювання перо не відривався від паперу і жодна лінія не проводилася двічі.
14. Знайдіть в тексті п. 3.2 «Управління виконавцем креслярем» відповідь на питання «Завдяки чому креслярем здатний навчатися?»
15. Оформіть у вигляді процедур алгоритми малювання букв М, І, Р. Складіть алгоритми малювання слів СВІТ, РИМ, МІМ.
16. Розробіть допоміжний алгоритм для малювання будиночка. На його основі складіть основний алгоритм малювання вулиці з п'яти будиночків.
17. Наведіть приклад життєвої ситуації, для опису якої доречно використовувати цикл «повторити n разів».
Фарбування кузова на заводі.
Збирання врожаю на полях.
Скакати на скакалці.
Підтягування на перекладині.
18. Складіть алгоритми управління креслярем, після виконання яких будуть отримані наступні малюнки.
19. Складіть алгоритми управління креслярем, після виконання яких будуть отримані наступні малюнки.
21. Охарактеризуйте виконавця Робот.
Виконавець Робот діє на прямокутному картатому поле. Між деякими клітинами поля можуть бути розташовані стіни. Деякі клітини можуть бути зафарбовані. Робот займає одну клітину поля.
22. Наведіть всі алгоритми з трьох команд, які перемістять Робота з вихідного положення в точку Б.
23. Маша придумала візерунок для Робота. Коля стер рівно половину зафарбованих клітин. Відновіть малюнок, знаючи, що він симетричний відносно вертикальної осі. Напишіть програму для Робота.
24. Напишіть програму, за допомогою якої Робот зможе досягти клітини Б у всіх трьох лабіринтах.
вправо
вниз
вліво
вниз
вправо
вниз
вниз
вліво
25. Напишіть програму, за допомогою якої Робот потрапляє в клітину Б.
26. Відомі два допоміжних алгоритму Робота:
27. Складіть алгоритми, під керуванням яких Робот зафарбувати зазначені клітини.
28. Наведіть приклад життєвої ситуації, для опису якої доречно використовувати цикл «поки».
Бити ворога, поки не здасться.
Фарбувати паркан, поки не закраситься.
Стріляти по мішені, поки не потрапиш.
29. Відомо, що десь правіше Робота є стіна.
Накресліть блок-схему алгоритму, під керуванням якого Робот зафарбувати ряд клітин до стіни і повернеться в початкове положення.
30. Відомо, що десь правіше Робота є зафарбована клітина.
Складіть алгоритм, під керуванням якого Робот зафарбувати ряд клітин до зафарбованою клітини і повернеться в початкове положення.
31. Відомо, що Робот знаходиться поруч з лівим входом в горизонтальний коридор.
Складіть алгоритм, під керуванням якого Робот зафарбувати всі клітини цього коридору і повернеться в початкове положення.
32. Відомо, що Робот знаходиться десь в горизонтальному коридорі. Жодна з клітин коридорах зафарбована.
Складіть блок-схему алгоритму, під керуванням якого Робот зафарбувати всі клітини цього коридору і повернеться в початкове положення.
33. У ряду з десяти клітин правіше Робота деякі клітини зафарбовані:
б) Складіть алгоритм (напишіть програму), під управлінням якого Робот зафарбувати клітини на одну вище і на одну нижче кожної зафарбованою клітини.
ПОВТОРИТИ 10 РАЗ
вправо
ЯКЩО закрашено ТО
вниз
зафарбувати
вгору
вгору
зафарбувати
вниз
КІНЕЦЬ
КІНЕЦЬ
34. Напишіть програму, за допомогою якої Робот може потрапити в клітку D у всіх трьох лабіринтах.
ЯКЩО зліва вільно ТО
вліво
вниз
вправо
вниз
вправо
ІНАКШЕ; ЯКЩО знизу вільно ТО
вниз
вправо
вгору
вправо
вниз
вправо
вгору
ІНАКШЕ; ЯКЩО праворуч вільно ТО
вправо
вправо
вправо
вгору
вгору
вгору
вліво
вниз
вниз
вліво
вліво
вгору
вгору
вправо
КІНЕЦЬ
35. Напишіть програму, дотримуючись якої, Робот зможе пройти по коридору від лівого нижнього кута поля до правого верхнього. Коридор має ширину в одну клітку і тягнеться в напрямку зліва-знизу нагору. Приклад можливого коридору зображений на малюнку.
ПОКИ зверху вільно АБО справа вільно
РОБИТИ
ЯКЩО зверху вільно ТО
вгору
ІНАКШЕ
вправо
КІНЕЦЬ
КІНЕЦЬ
36. Уважно прочитайте текст п. 3.3 «Управління виконавцем Робот». Дайте відповідь на наступні питання:
1) Що спільного у циклів «повторити n разів» і «поки»?
2) Які між ними відмінності?
3) Чи потрібні дві конструкції для опису повторюваних дій?
37. Порівняйте можливості виконавців креслярем і Робота.
Робот більш широку програму, тому що Кресляр може тільки креслити. Робот може використовувати цикл «поки», а креслярем - «повторити n разів».
38. Випишіть основні поняття глави 3 «Алгоритмика» і дайте їх визначення.
Виконавець - людина, група людей, тварина або технічний пристрій, здатні виконувати задані команди. Розрізняють неформальних і формальних виконавців.
Неформальний виконавець - одну і ту ж команду може виконувати по-різному, формальний - завжди однаково. Для кожного формального виконавця можна вказати коло вирішуваних завдань, середу, систему команд, систему відмов і режими роботи.
Алгоритм - це призначене для конкретного виконавця точний опис послідовності дій, спрямованих на вирішення поставленого завдання. Алгоритм - модель діяльності виконавця алгоритмів.
Алгоритм допоміжний - алгоритм, вирішальний деяку підзадачу основного завдання.
Алгоритм лінійний - алгоритм, в якому команди виконуються в порядку, в якому вони записані, тобто послідовно один за одним.
Система команд виконавця (СКІ) - перелік всіх команд, які може виконати конкретний виконавець.
Цикл (повторення) - форма організації дій, при якій виконання однієї і тієї ж послідовності команд (тіла циклу) повторюється, поки виконується деяка заздалегідь встановлений умова. Якщо число повторень тіла циклу відомо заздалегідь, то можна використовувати цикл «повторити n разів». Якщо число повторень тіла циклу заздалегідь невідомо, використовують цикл «поки».
Розгалуження - форма організації дій, при якій в залежності від виконання або невиконання деякої умови здійснюється або одна, або інша послідовність дій.