Автор: Stinger 5.12.2005 21:43
Нужно разработать виртуальный процессор для резки листов железа.Система команд типа "опустить резак","переместить резак на n миллиметров","повернуть резак на k градусов" и т.д. Дать описание системы команд и программу на ней для вырезания квадратного листа с треугольным отверстием посередине.
Помогите пожалуйста.
Автор: -Volvo- 5.12.2005 21:46
В старом TP (еще до GRAPH) был такой модуль "GRAPH3" (работа с "черепашкой")... Так вот там были ОЧЕНЬ похожие команды. Найди где-нибудь этот модуль и попробуй его использовать...
Автор: Дож 5.12.2005 22:04
Вот, написал год назад...
(Это только заголовок модуля)
Код
Unit tortuise;
Interface
Uses graph,crt;
Var gm,gd : integer;{В модуле не используется}
tx,ty,ta : integer;{позиция и угол, на который повернута черепашка}
tr : boolean;{рисовать ли}
tc : word;{цвет карандаша}
Procedure position(q,r : integer);{Устанавливает позицию черепашки}
Procedure setc(q : word);{установить цвет карандаша}
Procedure pendown;{BeginDraw}
Procedure penup;{EndDraw}
Procedure turn(q:integer);{Angle:=Angle+q;}
Procedure turnto(q:integer);{Angle:=q}
Procedure move(q:integer);{сдвинуть черепашку на расстояние q}
IMPLEMENTATION
Прикрепленные файлы
TORTUISE.rar ( 458 байт )
Кол-во скачиваний: 185
Автор: Stinger 5.12.2005 22:25
Всё дело в том что нужно сначала написать программу-интерпритатор команд, а после уже саму программу с использованием новых команд.
Автор: volvo 6.12.2005 0:58
Stinger,
ну, а что по-твоему, находится в аттаче? Не уже реализованная система команд?
Цитата(Stinger @ 5.12.2005 16:43)
Система команд типа "опустить резак","переместить резак на n миллиметров","повернуть резак на k градусов" и т.д.
"опустить резак" = PenDown
"переместить резак на n миллиметров" = Move(n)
"повернуть резак на k градусов" = Turn(k)
...
Что еще надо? Все, что осталось - написать простейший парсер, последовательно принимающий строки из текстового файла (или с консоли, что в принципе одно и то же) и запускающий соответствующие операции...