Помощь - Поиск - Пользователи - Календарь
Полная версия: Разработка виртуального процессора
Форум «Всё о Паскале» > Pascal, Object Pascal > Задачи
Stinger
Нужно разработать виртуальный процессор для резки листов железа.Система команд типа "опустить резак","переместить резак на n миллиметров","повернуть резак на k градусов" и т.д. Дать описание системы команд и программу на ней для вырезания квадратного листа с треугольным отверстием посередине.
Помогите пожалуйста. wacko.gif
-Volvo-
В старом TP (еще до GRAPH) был такой модуль "GRAPH3" (работа с "черепашкой")... Так вот там были ОЧЕНЬ похожие команды. Найди где-нибудь этот модуль и попробуй его использовать...
Дож
Вот, написал год назад...

(Это только заголовок модуля)
Код

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
Stinger
Всё дело в том что нужно сначала написать программу-интерпритатор команд, а после уже саму программу с использованием новых команд.
volvo
Stinger,
ну, а что по-твоему, находится в аттаче? Не уже реализованная система команд?

Цитата(Stinger @ 5.12.2005 16:43)
Система команд типа "опустить резак","переместить резак на n миллиметров","повернуть резак на k градусов" и т.д.

"опустить резак" = PenDown
"переместить резак на n миллиметров" = Move(n)
"повернуть резак на k градусов" = Turn(k)
...

Что еще надо? Все, что осталось - написать простейший парсер, последовательно принимающий строки из текстового файла (или с консоли, что в принципе одно и то же) и запускающий соответствующие операции...
Stinger
Thanks good.gif
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.