17. Даны значения целочисленных переменных: a = 10, b = 20. Чему будет равно значение логической переменной rez после выполнения операции присваивания?
а) rez := (a = 10) or (b > 10)
б) rez := (a > 5) and (b > 5) and (a < 20) and (b < 30)
в) rez := (not(a < 15)) or (b > 20)
Ответ
Для каждого выражения присваивания определим значение переменной rez.
а) rez := (a = 10) or (b > 10)
В данном выражении сначала выполняется операция присваивания a = 10, которая возвращает значение 10. Затем проверяется условие (b > 10), которое является ложным, так как b равно 20. Итоговое значение rez будет равно результату логической операции or между 10 и False, что даст True.
б) rez := (a > 5) and (b > 5) and (a < 20) and (b < 30)
Проанализируем каждую операцию в данном выражении:
- (a > 5) — истина, так как a = 10.
- (b > 5) — истина, так как b = 20.
- (a < 20) — истина, так как a = 10.
- (b < 30) — истина, так как b = 20.
Итоговое значение rez будет равно результату логической операции and между истинной четверкой, что даст True.
в) rez := (not(a < 15)) or (b > 20)
В данном выражении сначала выполняется операция отрицания not(a < 15), которая является ложной, так как a = 10 и 10 < 15 истинно. Затем проверяется условие (b > 20), которое является истинным, так как b = 20. Итоговое значение rez будет равно результату логической операции or между False и True, что даст True.
Итак, после выполнения каждого из перечисленных выражений операции присваивания, значение переменной rez будет равно True.