Файл: Программа станет выглядеть так использовать Робот алг нач кон.docx
ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 03.12.2023
Просмотров: 180
Скачиваний: 1
В примере выше с приседаниями именно такой случай.
Для того, чтобы написать цикл со счетчиком для исполнителя необходимо знать его синтаксис. А он такой:
нц<количествоповторений>раз
<команда1>
<команда2>
…
<команда n>
кц
Здесь мы должны указать количество повторений (число) и команды, которые будут повторяться. Команды, которые повторяются в цикле называют теломцикла.
Давайте рассмотрим это на примере.
Закрасим 7 клеток, как на рисунке. Рекомендую почитать про стартовую обстановку Робота и про его простые команды.
Изначально Робот находился в левой верхней клетке.
Давайте для начала решим задачу линейно. В этом случае мы будет закрашивать текущую клетку и перемещаться на 1 клетку вправо и программа будет выглядеть так:
использовать Робот
алг
нач
закрасить
вправо
закрасить
вправо
закрасить
вправо
закрасить
вправо
закрасить
вправо
закрасить
вправо
закрасить
вправо
кон
Как видим, команды закрасить и вправо повторяются 7 раз. Давайте теперь перепишем
программу с использованием цикла. Кстати, чтобы вставить цикл в свою программу можно в меню Вставка выбрать пункт нц-раз-кц или нажать одну из комбинаций клавиш Esc, Р (русская буква Р) или Esc, H (латинская буква H). Причем клавиши надо нажимать последовательно —
сначала Esc, отпустить ее и только потом Р или H.
Так вот, наша программа с циклом будет выглядеть так:
использовать Робот
алгначнц 7 раззакраситьвправокцконЕсли мы ее запустим, то увидим, что в результате получится тоже самое — 7 закрашенных клеток.Однакопрограммасталакорочеи значительно грамотнейсалгоритмической точки зрения!В качестве разминки и закрепления предлагаю самостоятельно написать программу для Робота,которая нарисует квадрат со стороной 7 клеток. Естественно, используя цикл. Жду решения вкомментариях.
Цикл с условием.
Вернемся к физкультуре и изменим задачу. Ведь кто-то может и не сделать 7 приседаний, адругой способенсделать27.Можно лиучестьэто при созданиицикла?Конечно.Толькотеперьмы будем использовать не счетчик (количество повторений), а условие. К примеру, пока не устал,делайприседания.Вэтом случае человекбудетделать неконкретноечисло приседаний,априседатьдотехпор,пока неустанет.И нашциклнаабстрактномязыкеприметтакой вид:поканеусталсделай приседаниеконецциклаСлова не устал в нашем случае — это условие. Когда оно истинно, цикл выполняется. Если же оноложно(устал)тело цикланебудет выполнено.УисполнителяРоботестьнесколькоусловийсверху свободно
снизу свободнослева свободносправа свободносверху стенаснизу стенаслева стенасправастенаТеперь давайте решим следующую задачу для Робота — нарисовать вертикальную линию отлевой до правой границы поля использую цикл с условием. Изначально Робот находится в левомверхнемуглу.Давайте сначала сформулируем словесный алгоритм — т. е. опишем словами что нужно делатьРоботу.Этот алгоритм будетзвучатьпримернотак:«Покасправасвободноделайшагвправоизакрашивайклетку»В результате Робот пробежит по всем клеткам вправо и будет их закрашивать до тех пор, покасправа неокажетсястена.Исходный коднашейпрограммыдляРобота будетпримерно такой:использовать Роботалгначнц пока справа свободновправозакраситькцконВрезультате выполненияэтойпрограммымыувидимвоттакуюкартину:Как видим, не хватает только закрашенной первой клетки. Для этого перед циклом необходимовыполнитькомандузакрасить.Для закрепления прошу написать программу, которая будет делать рамку вокруг рабочего поляРобота независимо от его размера. Конечно же с использованием циклов с условием. В итогедолжнополучитьсятак: