Работа светофора для водителей запрограммирована следующим образом : в начале каждого...

0 голосов
219 просмотров

Работа светофора для водителей запрограммирована следующим образом : в начале каждого часа в течении трех минут горит зеленый сигнал , затем , в течении одной минуты - желтый , в течении двух минут - красный , в течении трех минут - опять зеленый и т.д . Дано вещественное число Т , означающее время в минутах , прошедшее с начала очередного часа . Определись , сигнал какого цвета горит для водителей в этот момент
(Нужно написать программу на языке программирования QBasic )


Информатика (27 баллов) | 219 просмотров
Дан 1 ответ
0 голосов
Правильный ответ

1. Опишем циклическое состояние светофора от начала часа
0 ≤ T < 3 ⇒ зеленый
3 ≤ T < 4 ⇒ желтый
4 ≤ T < 6 ⇒ красный
2. Замечаем, что цикл смены состояний светофора составляет 6 секунд, т.е. взяв остаток от деления заданного T на 6, мы сведем задачу к состоянию, описанному в п.1
3. Операция "Взятие остатка от деления вещественного числа" в QBASIC отсутствует, поэтому будем получать некое k - целочисленное частное от деления  T на 6, а потом переопределять T = T - 6*k

'Microsoft QBASIC 1.0
DIM T AS DOUBLE
INPUT "Введите T", T
T = T - 6 * INT(T / 6)
SELECT CASE T
CASE IS <= 3<br>   PRINT "Зеленый"
CASE IS <= 4<br>   PRINT "Желтый"
CASE ELSE
   PRINT "Красный"
END SELECT

(142k баллов)