Костёр 1990-05, страница 43
В железнодорожной мастерской Машинист что-то сооружал. «Э, да он, видимо, строит нового робота-исполнителя», догадался Петя Кук. Машинист рад был рассказать о новом исполнителе. Ты уже видел, какие бывают неприятности на дороге, если за ней постоянно не следить. Таким осмотром займется робот, которого я назвал Обходчик. Железнодорожный путь состоит из рельсов. На их стыках возможны неисправности. Обходчик может двигаться от стыка к стыку и осматривать их. — Чтобы познакомиться с исполнителем, надо знать его систему команд. Так ведь? Ты прав! Обходчик имеет в своей СКИ такие команды: ВПЕРЕД (по этой команде он продвигается на один стык), НАЗАД (движение назад на один стык), СТОП (остановка), ПРИБАВЬ (прибавить единицу к счетчику), СБРОСЬ (очистить счетчик, послать нуль в счетчик), СООБЩИ (по этой команде Обходчик отправляет сообщение, которое компьютер может напечатать). И это все? Не торопись. Подобно Таракану, Обходчик умеет проверять условия. Правда, условия у него другие. Например, на стыке рельсов он может уз нать состояние стыка — ответить на вопрос: СТЫК ИСПРАВЕН? (ответ либо ДА, либо НЕТ). В конце пути находится тупик, и на вопрос ТУПИК? — робот отвечает ДА, если он находится на последнем стыке, и НЕТ, когда до конца пути есть хотя бы один стык. Обходчик тоже соединен (по радио) с компьютером, получает от него команды. Так, компьютер может попросить Обходчика повторить несколько раз группу команд — выполнить цикл. И компьютер понимает Обходчика: команда СООБЩИ — это лишь передача сообщения — телеграммы Обходчика компьютеру, а печатает телеграмму, конечно, принтер, соединенный с компьютером. Обходчик, как и Таракан, может получать от компьютера не только отдельные команды своей СКИ, но и новые команды, то есть последовательности команд из СКИ — программы, хранящиеся в памяти компьютера и выполняемые при обращении к ним по имени. Машинист выкатил Обходчика на рельсы: — Сейчас я начинаю испытания нового исполнителя. Можешь дать ему команду ВПЕ- РЕД. Петя набрал на клавиатуре компьютера команду ВПЕРЕД. Исполнитель доехал до первого стыка и встал. Тогда Петя захотел пустить его сразу на четыре стыка вперед и посоветовался с Машинистом. Могу ли я написать так: ВПЕРЕД ВПЕРЕД ВПЕРЕД ВПЕРЕД Конечно. Но лучше воспользоваться для этого циклом: ПОВТОРИ 4 ВПЕРЕД ЗАДАЧА 1. Напишите программу, которая научит Обходчика пройти 6 стыков вперед, а затем вернуться назад. Напишите и команду, по которой эта программа выполняется. — В этой задаче,— сказал Петя,— при составлении задания Обходчику приходится считать число шагов-стыков. А как запустить нашего робота вперед, не думая, сколько ему надо пройти шагов? Для этого я должен тебе рассказать еще об одной команде компьютера. Это цикл, который начинается не привычным уже словом ПОВТОРИ, а словом ПОКА. За словом ПОКА следует условие — точь-в-точь как в условной команде, а потом повторяемая команда. Цикл ПОКА работает следующим образом: проверяется условие: если оно верно (ответ ДА), то одна повторяемая команда (записанная после условия) выполняется, и вновь компьютер возвращается к проверке условия: если условие неверно (ответ НЕТ), повторение заканчивается. Петя спросил: Значит, если компьютер выполняет команду ПОКА СТЫК ИСПРАВЕН? ВПЕРЕД, то под его управлением Обходчик будет двигаться от стыка к стыку до тех пор, пока не остановится у неисправности? И сам себе ответил: Удобно. Можно не считать каждый раз, как далеко надо посылать Обходчика. \ 0 j > |