Хорошо, давайте разберем, что у нас тут.
Нам дан фрагмент программы, и надо выбрать логическую операцию так, чтобы значение переменной a стало равно 17 после выполнения кода.
Исходные значения переменных следующие:
a := 10;
b := 5;
Далее идет условие:
if (a > 1) ??? (a < b) then
a := a - 7
else
a := a + 7;
Нам нужно вставить логическую операцию вместо ??? таким образом, чтобы в итоге a стало равно 17.
Поскольку a изначально равно 10, чтобы получить 17, нам нужно прибавить к a 7. Следовательно, условие должно приводить к выполнению ветки else.
Сейчас a > 1 является true, а a < b является false, потому что b равно 5. Мы хотим, чтобы условие в целом было false и выполнялась ветка else. Это значит, что логическая операция должна быть "И" (AND), потому что true AND false дает false.
То есть, правильно будет записать and вместо ???:
if (a > 1) and (a < b) then
a := a - 7
else
a := a + 7;
Теперь мы можем ввести ответ: and.
