Файл: Практическая работа 7 по теме 1 Изучение фундаментальных основ современных технологий на уроках информатики и во внеурочной деятельности.docx

ВУЗ: Не указан

Категория: Не указан

Дисциплина: Не указана

Добавлен: 11.01.2024

Просмотров: 266

Скачиваний: 1

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.
сделайприседаниесделай приседаниесделайприседаниеТ. е мы повторили команду сделай приседание 7 раз. А есть ли смысл писать 7 одинаковыхкоманд? Может проще дать команду сделай 7 приседаний? Конечно проще и правильнее. Это иестьцикл.Выможете сами вспомнить примерыцикловиз жизни—ихдовольномного.Таким образом линейный алгоритм, где повторяются одни и те же команды мы можемоформитьввидециклическогоалгоритма —примернотак:повторяй 7 разсделай приседаниеконецциклаВоттак, напридуманномнами языкемыоформили цикл.УисполнителяРоботтожеестьвозможность записывать циклы. Причем, циклы бывают разные. Тот вариант, который мы толькочто рассмотрелиназываетсяциклсосчетчикомилициклс параметром.

Виды циклов.

Циклсосчетчиком.Цикл со счетчиком применяется когда заранее известно сколько повторений необходимосделать.Впримере вышес приседаниямиименнотакойслучай.Для того, чтобы написать цикл со счетчиком для исполнителя необходимо знать его синтаксис. Аон такой:нц<количествоповторений>раз<команда1><команда2><команда n>кцЗдесь мы должны указать количество повторений (число) и команды, которые будутповторяться.Команды,которыеповторяютсявцикленазываюттеломцикла.Давайте рассмотримэтонапримере.Закрасим 7 клеток, как на рисунке. Рекомендую почитать про стартовую обстановку Робота и проегопростыекоманды.ИзначальноРоботнаходился влевойверхнейклетке.Давайте для начала решим задачу линейно. В этом случае мы будет закрашивать текущую клетку

и перемещаться на 1 клетку вправо и программа будет выглядеть так:

использовать Роботалг

нач
закраситьвправозакраситьвправозакраситьвправозакраситьвправозакраситьвправозакраситьвправозакрасить

вправокон

Как видим, команды закрасить и вправо повторяются 7 раз. Давайте теперь перепишем

программу с использованием цикла. Кстати, чтобы вставить цикл в свою программу можно в меню Вставка выбрать пункт нц-раз-кц или нажать одну из комбинаций клавиш Esc, Р (русская буква Р) или Esc, H (латинская буква H). Причем клавиши надо нажимать последовательно —

сначала Esc, отпустить ее и только потом Р или H.
Так вот, наша программа с циклом будет выглядеть так:
использовать Роботалг

нач
нц 7 раззакраситьвправо

кцкон

Если мы ее запустим, то увидим, что в результате получится тоже самое — 7 закрашенных клеток. Однако программа стала короче и значительно грамотней с алгоритмической точки зрения!

В качестве разминки и закрепления предлагаю самостоятельно написать программу для Робота, которая нарисует квадрат со стороной 7 клеток. Естественно, используя цикл. Жду решения в комментариях.

Цикл с условием.

Вернемся к физкультуре и изменим задачу. Ведь кто-то может и не сделать 7 приседаний, адругой способенсделать27.Можно лиучестьэто при созданиицикла?Конечно.Толькотеперьмы будем использовать не счетчик (количество повторений), а условие. К примеру, пока не устал,делайприседания.Вэтом случае человек

будет делать не конкретное число приседаний, а

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

Слова не устал в нашем случае — это условие. Когда оно истинно, цикл выполняется. Если же оно ложно (устал) тело цикла не будет выполнено. У исполнителя Робот есть несколько условий

сверху свободно

снизу свободнослева свободносправа свободносверху стенаснизу стенаслева стенасправастенаТеперь давайте решим следующую задачу для Робота — нарисовать вертикальную линию отлевой до правой границы поля использую цикл с условием. Изначально Робот находится в левомверхнемуглу.Давайте сначала сформулируем словесный алгоритм — т. е. опишем словами что нужно делатьРоботу.Этот алгоритм будетзвучатьпримернотак:«Покасправасвободноделайшагвправоизакрашивайклетку»В результате Робот пробежит по всем клеткам вправо и будет их закрашивать до тех пор, покасправа неокажетсястена.Исходный коднашейпрограммыдляРобота будетпримерно такой:использовать Роботалгначнц пока справа свободновправозакраситькцконВрезультате выполненияэтойпрограммымыувидимвоттакуюкартину:Как видим, не хватает только закрашенной первой клетки. Для этого перед циклом необходимовыполнитькомандузакрасить.Для закрепления прошу написать программу, которая будет делать рамку вокруг рабочего поля
Робота независимо от его размера. Конечно же с использованием циклов с условием. В итогедолжнополучитьсятак: