
Представим ситуацию, при которой у вас нет возможности использовать любые электрические приборы во
время полудня. Поэтому при расчете расписания сеансов приема спутников на вашей станции вам приходится выполнять проверку: пересекается ли интервал времени прогнозируемого сеанса приема c интервалом запретного времени около полудня. Для представления интервалов времени вы используете двухэлементные массивы (индексируемые с 0), в которых первый элемент содержит время начала интервала, второй – время конца. Тип элементов этих массивов позволяет использовать операторы < и > для сравнения моментов времени («раньше/позже»). Интервал времени сеанса хранится в переменной pass, запретного времени – в переменной noon. Какое из следующих выражений ваш программист должен использовать для проверки пересекается ли, хотя бы частично, интервал pass c интервалом noon: а) (noon[0] > pass[0]) and ( noon[1] < pass[1] ) б) (noon[1] > pass[0]) and ( noon[0] < pass[1] ) в) (noon[1] > pass[0]) or ( noon[0] < pass[1] ) г) (noon[1] < pass[0]) or ( noon[0] > pass[1] )

Ответы на вопрос

Ответ:
б
Объяснение:
1) Рассмотрим эти два интервала времени. Допустим, что интервал noon начался раньше интервала pass. Это значит, что noon[0]<pass[0]. Если же эти два интервала пересекаются, то конец noon будет позже начала pass. А это значит, что noon[1]>pass[0]. Само собой разумеется, что noon[0] будет тогда раньше, чем pass[1] (noon[0]<pass[1]).
2) Рассмотрим теперь второй случай, когда интервал pass начался раньше noon и эти два интервала пересекаются. Получается, что тогда noon[0] расположен между pass[0] и pass[1]. А это значит, что верны следующие два выражения: pass[0]<noon[0] и noon[0]<pass[1]. Тогда, так как noon[1]>noon[0] и в то же время pass[0]<noon[0], то pass[0]<noon[1]. Или, если записать наоборот, то noon[1]>pass[0]
3) Обратим внимание, что и в первом, и во втором случае выполняются те выражения, которые выделены жирным шрифтом. А это значит, что noon[1]>pass[0] и noon[0]<pass[1] верны при любых обстоятельствах. Значит из предложенных вариантов ответов, правильный ответ под буквой б.



Для проверки пересечения интервалов времени, ваш программист должен использовать следующее выражение:
в) (noon[1] > pass[0]) and (noon[0] < pass[1])
Это выражение проверяет, пересекаются ли интервалы pass и noon хотя бы частично.


Похожие вопросы
Топ вопросов за вчера в категории Информатика







Последние заданные вопросы в категории Информатика
-
Математика
-
Литература
-
Алгебра
-
Русский язык
-
Геометрия
-
Английский язык
-
Химия
-
Физика
-
Биология
-
Другие предметы
-
История
-
Обществознание
-
Окружающий мир
-
География
-
Українська мова
-
Информатика
-
Українська література
-
Қазақ тiлi
-
Экономика
-
Музыка
-
Право
-
Беларуская мова
-
Французский язык
-
Немецкий язык
-
МХК
-
ОБЖ
-
Психология
-
Физкультура и спорт
-
Астрономия
-
Кыргыз тили
-
Оʻzbek tili