Работа светофора для водителей запрограммирована следующим образом : в начале каждого часа в течении трех минут горит зеленый сигнал , затем , в течении одной минуты - желтый , в течении двух минут - красный , в течении трех ми...
Работа светофора для водителей запрограммирована следующим образом : в начале каждого часа в течении трех минут горит зеленый сигнал , затем , в течении одной минуты - желтый , в течении двух минут - красный , в течении трех минут - опять зеленый и т.д . Дано вещественное число Т , означающее время в минутах , прошедшее с начала очередного часа . Определись , сигнал какого цвета горит для водителей в этот момент
(Нужно написать программу на языке программирования QBasic )
Ответ(ы) на вопрос:
Гость
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
PRINT "Зеленый"
CASE IS <= 4
PRINT "Желтый"
CASE ELSE
PRINT "Красный"
END SELECT
Не нашли ответ?
Похожие вопросы