Переменная a до выполнения условного оператора имеет значение 20. Чтобы из 20 получить 15, нужно вычесть 5, т.е. должен выполниться оператор присваивания, указанный после then, что возможно при истинности логического выражения if (a<1) ... (a>b). Отношение a<1 при a=20 ложно, отношение a>b при a=20 и b=5 истинно. Логическая операция, результатом которой является "истинно" в случае, когда один операнд имеет значение "ложно", а второй "истинно" - это операция дизъюнкции ("логическое ИЛИ"). В языке Паскаль она записывается как "or" ответ: or
Var a1,a2,a3,a4,a5,max: integer; begin writeln ('Введите 5 чисел через пробел: '); readln (a1,a2,a3,a4,a5); begin if (a1>a2) then max:= a1else max:=a2; if (a2>a3) then max:=a2else max:=a3; if (a3>a4) then max:=a3else max:=a4; if (a4>a5) then max:=a4else max:=a5; end; writeln (max); end. Аналогично с минимальным числом. var a1,a2,a3,a4,a5,min: integer; begin writeln ('Введите 5 чисел через пробел: '); readln (a1,a2,a3,a4,a5); begin if (a1<a2) then min:= a1else min:=a2; if (a2<a3) then min:=a2else min:=a3; if (a3<a4) then min:=a3else min:=a4; if (a4<a5) then min:=a4else min:=a5; end; writeln (min); end. Можно так же решить с массива, если нужно пишите.
0 - False
1 - True
г)a = 0
b = 0
not a or not b = 1
a = 1
b = 0
not a or not b = 1
a = 0
b = 1
not a or not b = 1
a = 1
b = 1
not a or not b = 1
д)a = 0
b = 0
(a or not b) and (a or not b) = 1
a = 1
b = 0
(a or not b) and (a or not b) = 1
a = 0
b = 1
(a or not b) and (a or not b) = 0
a = 1
b = 1
(a or not b) and (a or not b) = 1
e)a = 0
b = 0
a and not b or not a and b = 0
a = 1
b = 0
a and not b or not a and b = 1
a = 0
b = 1
a and not b or not a and b = 1
a = 1
b = 1
a and not b or not a and b = 0