Реферат: Алгоритмы с циклами


Алгоритмы с циклами
Задание 1. Придумайте задачу, алгоритм решения которой имеет вид:













Задание 2. Составьте алгоритм закраски прямоугольника, состоящего из квадратиков.




Задание 3. «Приключения Тома Сойера» начинаются с того, что тетя Полли зовет Тома:

- Том!

Нет ответа.

- Том!

Нет ответа.

- Том!

Нет ответа...

Составьте алгоритм вызова Тома.

Задание 4. Используя алгоритм с повторением, составьте словесный алгоритм выполнения домашнего задания по переводу текста с иностранного языка:

Прочитать первое предложение.

Перевести его.

Записать перевод.

Прочитать следующее предложение.

Перевести его.

Записать перевод...

Задание 5. Во время большой перемены проголодавшийся Петя зашел в столовую с намерением поесть пирожков. Находившийся рядом друг Вася тут же посоветовал ему воспользоваться следующим алгоритмом:

Пока не исчезло чувство голода, повторять:

Купить пирожок. Конец цикла.

Съесть пирожок.

Сумеет ли школьник поесть пирожков? Исправьте алгоритм так, чтобы школьник ушел сытым.

Задание 6. Маше задали на дом несколько задач по математике. Придя домой, она решила сначала выполнить домашнее задание, а затем пойти гулять. Бабушка посоветовала воспользоваться следу­ющим алгоритмом:

Пока не решены все задачи, повторять:

Решить очередную задачу.

Пойти гулять до ужина.

Конец цикла.

Назавтра Маша получила двойку за домашнее задание. Объясните почему.

Задание 7. Для приведённых начальных обстановок были составлены линейные алгоритмы. Запишите эти алгоритмы с использованием команды Повторять_Пока. Подберите подходящие условия.

а) Программа сбор

Вниз Вниз

Вниз Вправо

Вправо Вверх

Вверх Вверх

Конец_Программы





б) Программа сбор

Вправо Закрасить(2)

Вправо Закрасить(2)

Вправо Закрасить(2)

Вправо Закрасить(2)

Вниз Вниз Вниз

Вправо Взять

Вправо Взять

Вправо Взять

Вправо Взять

Конец_Программы






в) Программа сбор

Вниз Закрасить(7)

Вниз Закрасить(7)

Вниз Закрасить(7)

Вниз Взять

Вниз Взять

Вниз Взять

Вправо Вправо

Вправо Вправо

Конец_Программы






г) Программа сбор

Вниз Вниз

Вниз Вправо

Вправо

Вправо

Вверх

Вверх Вверх

Взять

Вверх

Конец_Программы






Задание 8. Дана программа и несколько начальных обстановок. Каким будет результат для каждой из предложенных начальных обстановок?


а) Программа сбор

Вниз

Повторять_Пока не Справа_Линия

Взять

Вправо

Завершить

Конец_Программы




б) Программа ход

Повторять_Пока Слева_Линия

Вниз Вправо

Вниз Влево

Завершить

Конец_Программы





в) Программа путь

Повторять_Пока Справа_Пусто

Вправо Вниз

Вправо Вверх

Завершить

Конец_Программы








Задание 9. Робот выполнил программу. Сформулируйте задачу для Робота. Нарисуйте начальную и конечную обстановки на поле Робота. Изобразите блок-схему данного алгоритма.


а) Программа обход

Повторять_Пока Вверху_Линия

Закрасить(2) Вправо

Завершить

Закрасить(2) Вверх

Закрасить(2) Влево

Повторять_Пока Внизу_Линия

Закрасить(2) Влево

Завершить

Конец_Программы


б) Программа обход

Повторять_Пока Внизу_До_Края >2

Закрасить(2) Вниз

Завершить

Закрасить(2) Влево

Повторять_Пока Вверху_До_Края >2

Закрасить(2) Вверх

Завершить

Закрасить(2)

Конец_Программы

в) Программа сбор

Повторять_Пока Внизу_Пусто

Взять Вправо

Вниз Вправо

Вверх

Завершить

Конец_Программы


г) Программа обход

Повторять_Пока Что_Это=1

Взять Закрасить(3)

Вправо Вправо

Завершить

Повторять_Пока Внизу_Пусто

Вниз

Завершить

Повторять_Пока не Слева_Линия

Влево

Завершить

Повторять_Пока Слева_Линия

Вверх

Завершить

Конец_Программы


Задание 10. Составьте алгоритмы закраски клеток для получения следующих рисунков. Подберите цвет и, при необходимости, измените количество клеток на поле Робота.

а)



б)



в)



г)



д)



е)




Задание 11. Начальные обстановки поля Робота заданы на рисунках. Помогите Роботу выйти из лабиринта.

а) б)

в) г)


Задание 12. Составьте алгоритмы, выполнив которые Робот выйдет из лабиринта и закрасит клетки помеченные точкой.

а) б)

в) г)

Ответы:

а) Программа з_10

Повторять_Пока Внизу_Линия

Вправо

Вверх

Закрасить(2)

Вниз

Вправо

Завершить

Повторять_Пока не Внизу_Линия

Вниз

Завершить

Повторять_Пока Внизу_Линия

Влево

Завершить

Конец_Программы


б) Программа з_10

Вниз Вниз

Повторять_Пока не Справа_Линия

Влево

Закрасить(2)

Вправо Вправо

Закрасить(2) Влево

Вниз Вниз

Завершить

Повторять_Пока не Слева_Линия

Влево

Завершить

Повторять_Пока не Вверху_Линия

Вверх

Завершить

Повторять_Пока Вверху_Линия

Влево

Завершить

Конец_Программы


в) Программа з_10

Вниз

Повторять_Пока Справа_Линия

Влево Закрасить(11)

Вправо Вниз

Вниз Влево

Закрасить(11)

Вправо Вправо

Закрасить(11)

Влево Вниз Вниз

Завершить

Повторять_Пока не Справа_Линия

Вправо

Завершить

Повторять_Пока Справа_Линия

Вверх

Завершить

Конец_Программы


г) Программа з_10

Повторять_Пока Вверху_Линия

Вниз

Закрасить(11)

Вправо

Закрасить(11)

Вверх Вправо

Вправо

Завершить

Повторять_Пока не Вверху_Линия

Вверх

Завершить

Повторять_Пока Вверху_Линия

Влево

Завершить

Конец_Программы

Задание 13. На поле Робота линий нет. Робот находится в левом верхнем углу прямоугольника из закрашенных клеток. Составьте алгоритм, переводящий Робота в правый нижний угол прямоугольника.

Ответ:

Программа прямоугольник

Повторять_Пока Клетка_Закрашена

Вправо

Завершить

Влево

Повторять_Пока Клетка_Закрашена

Вниз

Завершить

Вверх

Конец_Программы


Задание 14. Робот находится внутри горизонтального коридора. Составьте алгоритм, который переводит Робота в клетку помеченную точкой и закрашивает все клетки коридора.

а) б)

Ответы:

а) Программа коридор

Повторять_Пока Внизу_Линия

Закрасить(11) Вправо

Завершить

Конец_Программы


б) Программа закраска

Повторять_Пока Внизу_Линия

Закрасить(11) Вправо

Завершить

Влево

Повторять_Пока Внизу_Линия

Влево Завершить

Вправо

Повторять_Пока не Клетка_Закрашена

Закрасить(11) Вправо

Завершить

Влево

Конец_Программы


Задание 15. Робот находится внутри горизонтального коридора. Составьте алгоритм, который переводит Робота в клетку помеченную точкой и закрашивает все клетки коридора, кроме исходной.





Задание 16. Робот находится внутри прямоугольника, огороженного с четырёх сторон линиями. Внутри прямоугольника имеется горизонтальная линия с одним проходом, идущая от левого до правого края прямоугольника (проход не прилегает ни к левой, ни к правой стороне прямоугольника). Составьте алгоритм, при выполнении которого Робот переместится в правый нижний угол прямоугольника:

а) Робот находится левом верхнем углу прямоугольника;

б) Робот находится в произвольном месте внутри прямоугольника над линией.



Ответы:

Программа з_16А

Повторять_Пока не Внизу_Линия

Вниз

Завершить

Повторять_Пока Внизу_Линия

Вправо

Завершить

Повторять_Пока не Внизу_Линия

Вниз

Завершить

Повторять_Пока не Справа_Линия

Вправо

Завершить

Конец_Программы


Программа з_16Б

Повторять_Пока не Слева_Линия

Влево

Завершить

Повторять_Пока не Внизу_Линия

Вниз

Завершить

Повторять_Пока Внизу_Линия

Вправо

Завершить

Повторять_Пока не Внизу_Линия

Вниз

Завершить

Повторять_Пока не Справа_Линия

Вправо

Завершить

Конец_Программы


Задание 17. Робот находится внутри прямоугольника, огороженного с четырёх сторон линиями. Внутри прямоугольника линий нет. Составьте алгоритм, при выполнении которого Робот закрашивает все клетки внутри прямоугольника, прилегающие к линиям.




Ответ:

Программа з_17

Повторять_Пока не Справа_Линия

Вправо Закрасить(11)

Завершить

Повторять_Пока не Внизу_Линия

Вниз Закрасить(11)

Завершить

Повторять_Пока не Слева_Линия

Влево Закрасить(11)

Завершить

Повторять_Пока не Вверху_Линия

Вверх Закрасить(11)

Завершить

Конец_Программы


Задание 18. Составьте алгоритм закраски всех клеток вокруг прямоугольника.



Ответ:

Программа закраска

Закрасить(2) Вверх

Повторять_Пока Справа_Линия

Закрасить(2)Вверх

Завершить

Закрасить(2)Вправо

Повторять_Пока Внизу_Линия

Закрасить(2)Вправо

Завершить

Закрасить(2)Вниз

Повторять_Пока Слева_Линия

Закрасить(2)Вниз

Завершить

Закрасить(2)Влево

Повторять_Пока Вверху_Линия

Закрасить(2)Влево

Завершить

Конец_Программы


Задание 19. Составьте алгоритм закраски всех клеток вокруг Т-образной стены неизвестного размера.



Ответ:

Программа закраска

Закрасить(2)Вправо

Повторять_Пока Внизу_Линия

Закрасить(2)Вправо

Завершить

Закрасить(2)Вниз

Закрасить(2)Влево

Повторять_Пока не Слева_Линия

Закрасить(2)Влево

Завершить

Повторять_Пока Слева_Линия

Закрасить(2)Вниз

Завершить

Закрасить(2)Влево

Закрасить(2)Вверх

Повторять_Пока не Вверху_Линия

Закрасить(2)Вверх

Завершить

Повторять_Пока Вверху_Линия

Закрасить(2)Влево

Завершить

Закрасить(2)

Конец_Программы
еще рефераты
Еще работы по разное