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