Deutsch
Germany.ruФорумы → Архив Досок→ Программирование

Задачи для начинающих

5160   12 13 14 15 16 17 18 19 20 21 22 все
AlexNek патриот17.02.21 19:56
AlexNek
NEW 17.02.21 19:56 
в ответ anly 17.02.21 18:04
не нажимая кнопок нельзя. ибо это пешеходный светофор по кнопке

Странно, а я считал, что это светофор с кнопкой запрашивающей приоритет перехода смущ

По крайней мере, именно так описал.

anly патриот17.02.21 20:15
anly
NEW 17.02.21 20:15 
в ответ AlexNek 17.02.21 19:56

а где описание?, что то я не заметил.

каков алгоритм работы?

Проклят нарушающий межи ближнего своего (Втор.27:17)
AlexNek патриот17.02.21 21:59
AlexNek
17.02.21 21:59 
в ответ anly 17.02.21 20:15
каков алгоритм работы?

Задача то ваша была, я написал как понял смущ


https://foren.germany.ru/showmessage.pl?Number=37617857&Bo...

anly патриот17.02.21 22:03
anly
NEW 17.02.21 22:03 
в ответ AlexNek 17.02.21 21:59, Последний раз изменено 17.02.21 22:13 (anly)

а что такое "стандартный режим" ?


я подразумевал что машинам зелёный по умолчанию, и только если пешеход кнопку нажал, то на некоторое время машинам включается красный (ну и желтый конечно)


конечно можно бес проблем "зелёный по умолчанию" убрать и переключать как по кнопке, так и по таймеру. Но тогда странно будет, если пешеходов нету, а машинам красный.

Проклят нарушающий межи ближнего своего (Втор.27:17)
AlexNek патриот17.02.21 22:38
AlexNek
NEW 17.02.21 22:38 
в ответ anly 17.02.21 22:03
а что такое "стандартный режим" ?

то что видим каждый день RYGYR смущ


Но тогда странно будет, если пешеходов нету, а машинам красный.

У меня на перекрестке именно так и кнопа есть.

Я так предполагал, что если ничего не сказано против этого так оно и есть.


Но в итоге мы делали разные задачи, хорошо хоть выяснили наконец. В общем, стандартное общение с заказчиком спок

anly патриот18.02.21 07:31
anly
NEW 18.02.21 07:31 
в ответ AlexNek 17.02.21 22:38

ну вот теперь машины будут ездить не более 10 секунд (от балды цифра), даже если пешеходов нету.

Проклят нарушающий межи ближнего своего (Втор.27:17)
AlexNek патриот18.02.21 17:39
AlexNek
NEW 18.02.21 17:39 
в ответ anly 18.02.21 07:31

Всё равно как то странно получается, то красный и зелёный не горят, то 10 секунд на желтый.


+------+-----+-----+
|Pdestr|Auto |Delay|
|  R G |R Y G| [s] |
|------+-----+-----|
|  *   |    *|0.047|
|      |  *  |10.016|
|    * |*    |2.016|
|  *   |  *  |5.015|
|  *   |    *|1.016|
|      |  *  |10.015|
|    * |*    |2.016|
|  *   |  *  |5.016|
anly патриот18.02.21 18:05
anly
NEW 18.02.21 18:05 
в ответ AlexNek 18.02.21 17:39, Последний раз изменено 18.02.21 18:38 (anly)

да на скорую руку сделано. не проверено.

неужто самому трудно проверить и подправить?

вот это железно будет работать:

но задержки, надеюсь, сможешь нужные поставить?!

чтоб точнее времена совпадали, надо почаще дергать. раз 10 в секунду - ок.

погрешность будет одна десятая секунды.

..........

итого должно быть так, если нету пешегоходов

- зеленый 30 сек (пешеходам красный)

- желтый 2 сек

- красный 5 сек (пешеходам зеленый)

- желтый 1 сек (пешеходам красный)

- и сначала.


Проклят нарушающий межи ближнего своего (Втор.27:17)
AlexNek патриот18.02.21 18:57
AlexNek
NEW 18.02.21 18:57 
в ответ anly 18.02.21 18:05
неужто самому трудно проверить и подправить?

Ну как бы это сказать....

Стиль работы в команде предполагает, что каждый участник выполняет свою работу правильно и до конца. Если за каждым всё тестировать и переделывать, то ...

Пока, что видны только недостатки языков визуального программирования в области отладки. Что даже достаточно опытный программист, не может сразу предоставить работоспособный код.


Пысы: мне в принципе хватило того, что бы добавить туды табличку для вывода результатов.

Что полезно железякам - не полезно винде смущ

AlexNek патриот18.02.21 19:17
AlexNek
NEW 18.02.21 19:17 
в ответ anly 18.02.21 18:05

Увы, ничего не могу даже проверить. Лампочка зеленого для авто постоянно мерцает.

Auto Green False

Auto Green True

anly патриот18.02.21 19:37
anly
NEW 18.02.21 19:37 
в ответ AlexNek 18.02.21 19:17, Последний раз изменено 18.02.21 19:50 (anly)
Увы, ничего не могу даже проверить. Лампочка зеленого для авто постоянно мерцает. Auto Green False Auto Green True
это чтото у тебя не так. тут уж я зуб даю. ибо у себя проверил.

выложи как ты там дергаешь. что то не так.

надо сделать экземпляр Ампеля и его Process дергать по таймеру (10 раз в сек например)

Проклят нарушающий межи ближнего своего (Втор.27:17)
anly патриот18.02.21 19:41
anly
NEW 18.02.21 19:41 
в ответ AlexNek 18.02.21 18:57
Пока, что видны только недостатки языков визуального программирования в области отладки. Что даже достаточно опытный программист, не может сразу предоставить работоспособный код.
да если без отладки релиз делать, то и с текстовым языком проблемы будут тем более, чем с визуальным.
Проклят нарушающий межи ближнего своего (Втор.27:17)
AlexNek патриот18.02.21 19:56
AlexNek
NEW 18.02.21 19:56 
в ответ anly 18.02.21 19:37
тут уж я зуб даю.

Считай повезло, что я не зубной врач хаха

Мерцает абсолютно всё, судя по коду.


            R = Y = G = false;
            if (B1_Pulse)
...
               /*машины едут, пешеходы стоят*/
                case 1: /*S1*/
                    {
                        G = true;
выложи как ты там дергаешь.

Уже всё выкладывал смущ

Сейчас, правда немного по другому

       private static void Main(string[] args)
        {
            TrafficLight5 trafficLight = new TrafficLight5();
            InitTraceState();
            while (true)
            {
                trafficLight.RunStep();
                if (trafficLight.IsAnyChanges)
                {
                    TraceState(trafficLight);
                }
            }
        }
AlexNek патриот18.02.21 20:01
AlexNek
NEW 18.02.21 20:01 
в ответ anly 18.02.21 19:41
да если без отладки релиз делать

А что за спиной заказчик стоит с секундомером?

Нет времени или ломит, ну не надо выкладывать, кто-то может захочет использовать.

anly патриот18.02.21 20:03
anly
NEW 18.02.21 20:03 
в ответ AlexNek 18.02.21 19:56, Последний раз изменено 18.02.21 20:16 (anly)
Мерцает абсолютно всё, судя по коду.
код правильный. выходы надо читать после вызова Process, а то что там внутри происходит это вызывателя не касается.

Поэтому переопределение выходов - это твоя ошибка.

Я же не сделал выходы виртуальными, а ты это в моем коде подправил.

......

пардон не верно сказал про "виртуальными".

но ты сменил переменные на свойства, и считаешь изменением каждую запись в свойство (пусть даже другого значения), а это неверно.

читать надо не то что происходит внутри Процесс, а то что есть после Процесс.

Проклят нарушающий межи ближнего своего (Втор.27:17)
anly патриот18.02.21 20:05
anly
NEW 18.02.21 20:05 
в ответ AlexNek 18.02.21 20:01
А что за спиной заказчик стоит с секундомером? Нет времени или ломит, ну не надо выкладывать, кто-то может захочет использовать.
так тут выкладывается не продукт, а идея.
Проклят нарушающий межи ближнего своего (Втор.27:17)
AlexNek патриот18.02.21 20:19
AlexNek
NEW 18.02.21 20:19 
в ответ anly 18.02.21 20:03
выходы надо читать после вызова Process

Тогда я не понимаю как работает этот контроллер смущ


По идее должно быть так:

У меня есть цифровой выход, к нему подключена релюшка/тиристор. Установили "1" - реле включилось зажгло лампочку, установили 0 реле отключилось.

Выход "R" - цифровой выход к красному сигналу авто.

Что там и как крутится внутри волновать не должно.


Не могу я выходы сразу читать, надо городить еще что то чтобы "выбросить ненужное".


anly патриот18.02.21 20:20
anly
NEW 18.02.21 20:20 
в ответ AlexNek 18.02.21 19:56

надо где то так:


private static void Main(string<> args)

{

Ampel trafficLight = new Ampel();

while (true)

{

trafficLight.Process();

// Trace outputs ...

Sleep(100);

}

}


и R,G,Y надо оставить переменными, а не свойствами.

Проклят нарушающий межи ближнего своего (Втор.27:17)
AlexNek патриот18.02.21 20:23
AlexNek
NEW 18.02.21 20:23 
в ответ anly 18.02.21 20:05
так тут выкладывается не продукт, а идея.

ну идею то тоже надо как то проверить.

А то вот выложили набор красивых классов, а он оказывается на обычном компе работать не будет.


В этом случае тоже выясняются всё новые и новые подробности.

anly патриот18.02.21 20:24
anly
NEW 18.02.21 20:24 
в ответ AlexNek 18.02.21 20:19
Что там и как крутится внутри волновать не должно.
правильно. Но ты поменял внутреннюю часть моего кода: изменил выходные переменные на свойства, и вставил туда свой код.

Это неправильно.

Ты можешь только читать выходы и больше ничего.

Проклят нарушающий межи ближнего своего (Втор.27:17)