На бесконечном поле имеются 4 стены, расположенные в форме прямоугольника. Длины вертикальных и горизонтальных стен неизвестны. Робот находится в клетке, расположенной в левом верхнем углу прямоугольника. На рисунке указан один из возможных расположения стен и Робота (Робот обозначен буквой «Р»). Напишите для Робота алгоритм, закрашивающий все клетки, расположенные с внутренней стороны верхней и нижней стен. Робот должен закрасить только клетки, удовлетворяющие данному условию. Например, для приведённого выше рисунка Робот должен закрасить следующие клетки (см. рисунок). При исполнении алгоритма Робот не должен разрушиться, выполнение алгоритма должно завершиться. Конечное расположение Робота может быть произвольным. Алгоритм должен решать задачу для любого допустимого расположения стен и любого расположения и размера проходов внутри стен. Алгоритм может быть выполнен в среде формального исполнителя или записан в текстовом редакторе. Сохраните алгоритм в формате программы Кумир или в текстовом файле.
// PascalABC.NET 3.1, сборка 1172 от 19.02.2016 begin var s:=Range(1,ReadInteger('n='),2).Select(x->Rec(x,x*x,x*x*x)); foreach var e in s do Writeln(e.Item1:10,e.Item2:10,e.Item3:10) end.
1. Направо 45 (это равносильно "Направо 1", потому что 45 - это 44 + 1 (4 * 11 + 1), а 4 поворота возвращают её в начальное состояние. 2. Вперед 45 (проходим 45 ячеек в направлении "направо")
3. Направо 45 (направление будет "вниз") 4. Вперед 45 (проходим 45 ячеек в направлении "вниз")
5. Направо 45 (направление будет "влево") 6. Вперед 45 (проходим 45 ячеек в направлении "влево")
7. Направо 45 (направление будет "вверх") 8. Вперед 45 (проходим 45 ячеек в направлении "вверх")
Дальше опять тоже самое (4 поворота с перемещением).
0,0(0 оценок)
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota
Оформи подписку