уровень 1.2 · практика
Машины и пешеходы
Перекрёсток стоит без света. Запрограммируйте два светофора: три сигнала для машин и три для пешеходов. Машины и пешеходы поедут и пойдут сами — они смотрят на ваши сигналы.
Чем управляете
| Выводы | Что зажигают |
|---|---|
| D13 / D12 / D11 | Светофор для машин: зелёный, жёлтый, красный. |
| D10 / D9 / D8 | Светофор для пешеходов: зелёный, жёлтый, красный. |
Горит тот сигнал, на выводе которого HIGH. Если подать HIGH сразу на несколько — сцена покажет старший по важности: зелёный, затем жёлтый, затем красный.
Что проверяется
- Зелёные не пересекаются. Зелёный машинам и зелёный пешеходам никогда не горят одновременно — это главное правило перекрёстка.
- Жёлтый в обе стороны. У машин, как на настоящем светофоре: зелёный → жёлтый → красный и красный → жёлтый → зелёный.
- Машины успевают проехать: в очереди не больше 4.
- Пешеход не ждёт дольше 20 секунд.
- Ни одного наезда. Водитель уступает пешеходу, вышедшему на зелёный, поэтому наезд возможен только при настоящей ошибке программы.
Подсказка
Зелёный пешеходам можно давать только когда у машин уже горит красный. Порядок такой: зелёный машинам → жёлтый машинам → красный машинам → зелёный пешеходам → жёлтый пешеходам → красный пешеходам → жёлтый машинам → и снова зелёный машинам.