∧ - логическое ИЛИ, ∨ - логическое И, ¬ - не что-то.
А и В принимают значения 0 (ложь) и 1 (истина) (здесь нам это не дано, надо просто сократить).
(A∧ ¬B)∨(¬A∧B)∧(A∨B) это
(A или не В) и (не А или В) или (А и В),
далее: (первые две скобки сократим, в данном случае надо чтобы хотя бы А или В имели любое значение)
(А или В) или (не А или не В) или (А и В)
то есть:
(А ∧ В) ∧ (¬А ∧ ¬В) ∧ (А ∨ В)
(но зачем нам А и В, когда есть А или В, то есть А и В становится бесполезным выражением, когда есть выражение, которому надо всего одно истинное значение)
и так:
(А или В) или (не А или не В)
то есть выражение всегда будет истинно, так как какое бы значение и имели А , В - выражение истинно.
Можно заменить это следующим:
А или не А или В или не В
А ∧ ¬А ∧ В ∧ ¬В
готово, а главное выражение всегда истинно!
1)Cначала заполняем массив случайными числами от 2 до 5 (включительно)
2)Потом выводим его (Для проверки)
3) Потом считаем оценки. Но сначала нужно обнулить переменные( В самом начале это делали), а то получится кака (:
program N_0547847;
var
b, c, d, f, i:integer;
a: array [1..20] of integer;
begin;
randomize;
b:=0; c:=0; d:=0; f:=0;
for i:=1 to 20 do begin
a[i]:=random(4)+2;
write(a[i],' '); end;
writeln;
for i:=1 to 20 do begin
if a[i]=2 then b:=b+1;
if a[i]=3 then c:=c+1;
if a[i]=4 then d:=d+1;
if a[i]=5 then f:=f+1;
end;
writeln('Двоек: ', b);
writeln('Троек: ', c);
writeln('Четверок: ',d);
writeln('Пятерок: ',f);
end.