Во время хакатона команда, в которой участвовала Маша, разрабатывала программное обеспечение для контроллера, управляющего тревожной сигнализацией в небольшом здании.
Входные сигналы поступали в порт, представляющий собой байт. Его биты имели следующие
значения:
0-й – признак штатного режима работы системы.
1-й и 2-й – признаки нажатия тревожных кнопок в помещениях 1 и 2.
3-й и 4-й – сигналы от датчика повышенной температуры в помещениях 1 и 2.
5-й и 6-й – признак наличия задымления в помещениях 1 и 2.
7-й – признак ручной блокировки системы
Включение сирены должно осуществляться в ситуациях, когда система работает в штатном режиме
и не блокирована, и при этом в одном из помещений одновременно сработали датчики дыма и
повышенной температуры.
Маше поручено подготовить тестовые значения для проверки системы. При каких из
перечисленных ниже состояниях порта должна быть включена сирена?
А) 255 Б) 101 В) 166 Г) 49 Д) 25 Е) 121
Объяснение:
А) 255 (10)=11111111 (2) не включается
Б) 101 (10) = 01100101 (2) не включается
В) 166 (10) = 10100110 (2) не включается
Г) 49 (10) = 00110001 (2) не включается
Д) 25 (10) = 00011001 (2) не включается
Е) 121 (10) = 01111001 (2) сирена включается
К сожалению, в задании не указано, 1 или 0 является признаком ON. Предположим что 1 поданная в соответствующий бит, устанавливает признак в положение ON.
Так же, надо напомнить, что нулевой бит - самый правый, а седьмой - самый левый.
Тогда в ответе А и в ответе В в 7 бите стоит единица- то есть система блокирована вручную, сирена НЕ всключается.
В ответах Б, Г, Д, Е в 7 бите стоит 0, то есть система не блокирована. В нулевом бите стоит 1 - то есть во всех 4 случаях система находится в штатном режиме и сирена должна будет включиться если в битах 3 и 5 стоят единицы, и /или в битах 4 и 6 стоят единицы.
В ответе Б сирена не включается так как битами 5,6 установлено наличие задымления в помещениях 1 и 2 но отсутствует повышение температуры в битах 3 и 4
В ответе Г сирена не всключается, так как битом 4 установлено повышение температуры в помещении 2, а битом 5 установлено задымление в помещении 1
В ответе Д биты 3 и 4 устанавливают повышение температуры в помещениях 1 и 2 но биты 5 и 6 не фиксируют задымления - сирена не включается.
ответ Е - сирена ВКЛЮЧИТСЯ, поскольку биты 3 и 5 установлены в 1 и биты 4 и 6 установлены в 1 - то есть в помещении 1 и помещении 2 наблюдается задымление и повышение температуры.