IPB
ЛогинПароль:

> Прочтите прежде чем задавать вопрос!

1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!

 
 Ответить  Открыть новую тему 
> Разработка виртуального процессора
Stinger
сообщение 5.12.2005 17:43
Сообщение #1


Гость






Нужно разработать виртуальный процессор для резки листов железа.Система команд типа "опустить резак","переместить резак на n миллиметров","повернуть резак на k градусов" и т.д. Дать описание системы команд и программу на ней для вырезания квадратного листа с треугольным отверстием посередине.
Помогите пожалуйста. wacko.gif
 К началу страницы 
+ Ответить 
-Volvo-
сообщение 5.12.2005 17:46
Сообщение #2


Гость






В старом TP (еще до GRAPH) был такой модуль "GRAPH3" (работа с "черепашкой")... Так вот там были ОЧЕНЬ похожие команды. Найди где-нибудь этот модуль и попробуй его использовать...
 К началу страницы 
+ Ответить 
Дож
сообщение 5.12.2005 18:04
Сообщение #3


Бывалый
***

Группа: Пользователи
Сообщений: 179
Пол: Мужской

Репутация: -  1  +


Вот, написал год назад...

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

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 байт ) Кол-во скачиваний: 167


--------------------
Доброго времени суток.
:nnn:
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
Stinger
сообщение 5.12.2005 18:25
Сообщение #4


Гость






Всё дело в том что нужно сначала написать программу-интерпритатор команд, а после уже саму программу с использованием новых команд.
 К началу страницы 
+ Ответить 
volvo
сообщение 5.12.2005 20:58
Сообщение #5


Гость






Stinger,
ну, а что по-твоему, находится в аттаче? Не уже реализованная система команд?

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

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

Что еще надо? Все, что осталось - написать простейший парсер, последовательно принимающий строки из текстового файла (или с консоли, что в принципе одно и то же) и запускающий соответствующие операции...
 К началу страницы 
+ Ответить 
Stinger
сообщение 5.12.2005 21:20
Сообщение #6


Гость






Thanks good.gif
 К началу страницы 
+ Ответить 

 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 



- Текстовая версия 20.06.2025 23:11
Хостинг предоставлен компанией "Веб Сервис Центр" при поддержке компании "ДокЛаб"