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

Работа светофора для водителей запрограммирована следующим образом : в начале каждого часа в течении трех минут горит зеленый сигнал , затем , в течении одной минуты - желтый , в течении двух минут - красный , в течении трех минут - опять зеленый и т.д . Дано вещественное число Т , означающее время в минутах , прошедшее с начала очередного часа . Определись , сигнал какого цвета горит для водителей в этот момент (Нужно написать программу на языке программирования 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
Не нашли ответ?
Ответить на вопрос
Похожие вопросы