Суть (1040450)
Текст из файла
Р асстановка сил: есть шахматная доска, 8х8. В левом нижнем углу стоит кучка шашек, каждая на своей клетке. Понятия не имею, сколько их там в действительности, я посчитал, что как на этой картинке (12 штук снизу).
ДЗ это 4 задания (отдельных друг от друга):
-
Переставить все шашки из одного угла в другой симметрично относительно диагонали, в глобальной СК WORLD.
-
То же самое, но более гибко. Робот обучается точкам O,X,Y доски (по ним задается плоскость) и все вычисления делаются относительно этой плоскости. Можно повернуть как угодно доску, переобучить новым точкам робота, а прога останется такой же. Прога для первой задачи так не может, ей критично, чтобы оси доски X и Y были параллельны осям WORLD.
-
Нужно переставить шашку из клетки I,j в клетку k,l. Но, информация о том, чему равны эти I,j,k,l передается по какому-то больному порту в виде отдельных байтов. Нужно аккуратно всосать эти байты и обработать их, чтобы все было хорошо.
-
То же, что и задание 2, только если робот в процессе перемещений напорется на какую-нибудь корягу/препятствие, нужно, чтобы он ускакал по соответствующему прерыванию, где бы его обработчик прерывания изнасиловал за такие дела с выводом соответствующего сообщения и вынесением строгого выговора.
Различные интересные факты:
0) Если кто удумает залезть с этим ДЗ поперек меня к Солнцеву, отрежу голову и закопаю на детской площадке позади РЦ. Шутка. Но лезть крайне не рекомендую.
1) Существует 2 режима работы Пумы: запуск набранной проги (она работает сама по себе) в консоли и ручной набор команд в консоли (мониторе).
/*
Второй режим нужен, чтобы обучать Пуму стратегически важным точкам. Это происходит так: с помощью пульта выставляется нужное положение, в консоли пишется:
HERE <POSNAME>
В результате в переменной <POSNAME> (на самом деле, это позиция, массив из 6 чисел) сохраняются текущие декартовы координаты робота (x,y,z,o,a,t схвата)
Если написать
HERE #<POSNAME>
то в POSNAME сохранятся текущие обобщенные координаты робота (углы поворотов сочленений).
Это удобно, т.к. если написать, например:
GO #POSNAME, роботу не надо решать обратную задачу по положению (здорово, Крутиков!), чтобы найти обобщенные координаты для точки POSNAME – они уже есть, нужно просто туда приехать.
В противном случае роботу ничего не остается, кроме как находить обобщенные координаты конечной точки своего маршрута. Это будет с погрешностью, долго и глупо.
Мораль: #!
*/
Далее, запускается набранная программа, которая имеет доступ ко всем точкам, которым был обучен робот, как к обычным переменным, что более гибко и удобно, чем набивать координаты этих точек ручками в коде.
2) Для прог ДЗ обучаются следующие точки:
-
C11 – положение шашки в левой нижней клетке
-
O – положение левого нижнего угла доски (оно не совпадает с C11)
-
X – какая-нибудь точка на нижней грани доски
-
Y – какая-нибудь точка на левой грани доски
-
WORK – положение над центром доски. Промежуточное положение маршрута по переправке шашек в теплые края.
3) Нужно, чтобы OXY была системой координат, к которой двумя сторонами «прилеплена» доска (см. картинку сверху).
СК можно создать в коде проги вот так:
FRAME SYS=O,X,Y
В результате, имеем СК SYS с центром в О и осями OX и OY
O,X,Y используется ТОЛЬКО в задачах 2-4.
4) Переменные в программе глобальные, их не нужно передавать при вызове функции, как например, это делается в C.
5) Кого-нибудь Солнцев по-любому спросит – когда пишется точка перед командой? (например, когда GO READY, а когда .GO READY ?). В тесте программ все команды без точек в начале, в консоли команды набираются с точкой в начале.
6). Проги пишутся на ARPS с довольно убогим синтаксисом: не допускаются пустые строки.
Присвоение переменных – командой SET.
Присвоений позиций – командой LOCATE.
Сдвиг позиции – команда SHIFT.
7). У Пумы есть точка, которая зашита на заводе: READY. Это вертикальное положение руки. Проги написаны так, чтобы манипулятор начинал работу из этой точки и туда же возвращался в конце.
8). Одно из требований ДЗ – при подходе к шашке надо снизить скорость. Здесь это делается с помощью масштабного коэффициента командой SPEED 50% (уменьшить в 2 раза). Обратно – SPEED 100% (выставится номинальная скорость)
9). Геометрия доски представлена в коде числом 34.5 – это шаг клетки.
Об остальных фактах проще рассказать, чем описать их.
Характеристики
Тип файла документ
Документы такого типа открываются такими программами, как Microsoft Office Word на компьютерах Windows, Apple Pages на компьютерах Mac, Open Office - бесплатная альтернатива на различных платформах, в том числе Linux. Наиболее простым и современным решением будут Google документы, так как открываются онлайн без скачивания прямо в браузере на любой платформе. Существуют российские качественные аналоги, например от Яндекса.
Будьте внимательны на мобильных устройствах, так как там используются упрощённый функционал даже в официальном приложении от Microsoft, поэтому для просмотра скачивайте PDF-версию. А если нужно редактировать файл, то используйте оригинальный файл.
Файлы такого типа обычно разбиты на страницы, а текст может быть форматированным (жирный, курсив, выбор шрифта, таблицы и т.п.), а также в него можно добавлять изображения. Формат идеально подходит для рефератов, докладов и РПЗ курсовых проектов, которые необходимо распечатать. Кстати перед печатью также сохраняйте файл в PDF, так как принтер может начудить со шрифтами.