Для того чтобы значение переменной «a» после выполнения фрагмента программы стало равно 17, нужно правильно выбрать логическую операцию, которая будет использоваться в условии if
. Давайте разберем это по шагам.
У нас есть следующие переменные и их начальные значения:
a := 10
b := 5
Условие в if
выглядит следующим образом:
if (a > 1) . (a < b) then
a := a - 7
else
a := a + 7;
Здесь ключевым моментом является выбор логической операции, обозначенной как .
. Рассмотрим два основных варианта логических операций: логическое И (and
) и логическое ИЛИ (or
).
Логическое И (AND):
- Условие
(a > 1) and (a < b)
проверяет, выполняются ли оба условия одновременно.
- Подставим значения
a
и b
: (10 > 1) and (10 < 5)
.
- Первое условие
(10 > 1)
истинно, но второе условие (10 < 5)
ложно.
- Логическое И требует, чтобы оба условия были истинны, но это не так. Следовательно, условие
if
будет ложным, и выполнится ветка else
.
Ветви программы:
else
a := a + 7; // a = 10 + 7 = 17
В этом случае значение переменной a
станет 17.
Логическое ИЛИ (OR):
- Условие
(a > 1) or (a < b)
проверяет, выполняется ли хотя бы одно из условий.
- Подставим значения
a
и b
: (10 > 1) or (10 < 5)
.
- Первое условие
(10 > 1)
истинно, и этого достаточно, чтобы условие if
было истинным, так как логическое ИЛИ требует выполнения хотя бы одного условия.
Ветви программы:
if (a > 1) or (a < b) then
a := a - 7; // a = 10 - 7 = 3
В этом случае значение переменной a
станет 3, что не соответствует нашему требованию.
Таким образом, чтобы значение переменной a
после выполнения фрагмента программы стало равно 17, нужно использовать логическую операцию and
:
if (a > 1) and (a < b) then
a := a - 7
else
a := a + 7;
Ответ: логическая операция, которую нужно добавить вместо многоточия, это and
.