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

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

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

 
 Ответить  Открыть новую тему 
> Светофор, принцип действия сфетофора
Милана
сообщение 8.11.2007 22:06
Сообщение #1


Гость






Помогите нужна срочно программа по принципу действия светофора на сложном перекрестке!!!!!!!
 К началу страницы 
+ Ответить 
cooler
сообщение 8.11.2007 22:24
Сообщение #2


Бывалый
***

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

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


Как понять по принципу действия светофора?
Чтобы там машины ездили и пешеходы ходили на перекрестке?

Сообщение отредактировано: cooler - 8.11.2007 22:24
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
Гость
сообщение 8.11.2007 22:31
Сообщение #3


Гость






Цитата(cooler @ 8.11.2007 22:24) *

Как понять по принципу действия светофора?
Чтобы там машины ездили и пешеходы ходили на перекрестке?





нет, просто есть перекресток нужно описать принцип как бут переключаться на нем светофоры
 К началу страницы 
+ Ответить 
мисс_граффити
сообщение 9.11.2007 2:11
Сообщение #4


просто человек
******

Группа: Модераторы
Сообщений: 3 641
Пол: Женский
Реальное имя: Юлия

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


blink.gif что такое сложный перекресток?
Цитата
Перекресток - это пересечение проезжих частей, расположенных в 1 уровне
(с) мой инструктор, основываясь на ПДД


--------------------
Все содержимое данного сообщения (кроме цитат) является моим личным скромным мнением и на статус истины в высшей инстанции не претендует.
На вопросы по программированию, физике, математике и т.д. в аське и личке не отвечаю. Даже "один-единственный раз" в виде исключения!
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
Lapp
сообщение 9.11.2007 3:27
Сообщение #5


Уникум
*******

Группа: Модераторы
Сообщений: 6 823
Пол: Мужской
Реальное имя: Лопáрь (Андрей)

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


Милана, тебе нужно просто описать это словами или сделать на Паскале программу, эмулирующую действия светофора?


--------------------
я - ветер, я северный холодный ветер
я час расставанья, я год возвращенья домой
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
Гость
сообщение 9.11.2007 11:23
Сообщение #6


Гость






я знаю как описать )
 К началу страницы 
+ Ответить 
Lapp
сообщение 9.11.2007 12:31
Сообщение #7


Уникум
*******

Группа: Модераторы
Сообщений: 6 823
Пол: Мужской
Реальное имя: Лопáрь (Андрей)

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


Цитата(Гость @ 9.11.2007 11:23) *

я знаю как описать )

То есть, нужна программа, переключающая огни светофора?


--------------------
я - ветер, я северный холодный ветер
я час расставанья, я год возвращенья домой
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
Lapp
сообщение 9.11.2007 15:28
Сообщение #8


Уникум
*******

Группа: Модераторы
Сообщений: 6 823
Пол: Мужской
Реальное имя: Лопáрь (Андрей)

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


Вот, набросал на скорую руку smile.gif. Два светофора, обычный перекресток (несложный smile.gif)
Возможно, тебе придется поиграть временами RT, DT и YT.
Если раскомментировать строку WriteLn в процедуре Show, то новые состояния будут выводиться на новой строке.
uses CRT;

const
RT=1000; {время, когда оба красные (очень короткое)}
GT=10000; {время, когда горит зеленый (длинное)}
YT=2000; {время, когда горит желтый (короткое)}

type
tLi=(G,Y,R);
tTrLi=object
Act:tLi;
x:integer;
constructor Init(a:integer);
procedure Switch(a:tLi);
procedure Show;
end;

const
C:array[tLi] of char=('G','Y','R');

constructor tTrLi.Init(a:integer);
begin
Act:=R;
x:=a
end;

procedure tTrLi.Switch(a:tLi);
begin
Act:=a
end;

procedure tTrLi.Show;
var
i:tLi;
begin
GoToXY(x,WhereY);
for i:=Low(tLi) to High(tLi) do begin
Write(' ');
if i=Act then Write(C[Act]) else Write('*')
end;
end;

var
i,j,k:0..1;
TrLi:array[0..1]of tTrLi;

procedure Show;
var
i:integer;
begin
for i:=0 to 1 do TrLi[i].Show;
{WriteLn}
end;

begin
i:=0;
TrLi[0].Init(1);
TrLi[1].Init(10);
repeat
j:=(i+1) mod 2;
Show;
Delay(RT);
TrLi[i].Switch(G);
Show;
Delay(GT);
TrLi[i].Switch(Y);
Show;
Delay(YT);
TrLi[i].Switch®;
i:=j
until KeyPressed
end.


--------------------
я - ветер, я северный холодный ветер
я час расставанья, я год возвращенья домой
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
Гость
сообщение 10.11.2007 11:26
Сообщение #9


Гость






Спасибо большое, но там должны быть графы с возможными поворотами и они должны иметь определенный цвет, какк это сделать?
 К началу страницы 
+ Ответить 
Lapp
сообщение 10.11.2007 12:08
Сообщение #10


Уникум
*******

Группа: Модераторы
Сообщений: 6 823
Пол: Мужской
Реальное имя: Лопáрь (Андрей)

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


Цитата(Гость @ 10.11.2007 11:26) *

должны быть графы с возможными поворотами и они должны иметь определенный цвет,
Что значит "определенный цвет"? Цветов всего три: красный, желтый, зеленый! Если будет больше - ездить станет невозможно..
Может, ты имеешь в виду стрелки? Их, в принципе, можно ввести. Я же написал - это пока простейшая прога, типа базис, фундамент, чтоб тебе было, от чего отталкиваться. Все можно доделать и переделать (графический интерфейс, многосторонние перекрестки..) Ты въезжай в принципы, разбирайся и - вперед! А мы поможем.. smile.gif


--------------------
я - ветер, я северный холодный ветер
я час расставанья, я год возвращенья домой
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

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

 



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