program z1;
var i,n,s:integer;
a : array [1..100] of integer;
begin
write ('Введите количество элементов n < 100: ');
readln(n);
write ('Массив: ');
for i:= 1 to n do
begin
a[i]:=random (21)-10;
write(a[i]:5)
end;
writeln;
s:=0;
for i:= 1 to n do
if a[i]<0 then s:=s+a[i];
writeln ('s = ',s)
end.
Объяснение:
Ошибки
1) нет названия программы и ; после неё
2) в описании массива 3 точки (надо 2)
3) нет кавычек для ввода текста в первом write
4) нет ; после readln (n)
5) нет : при присваивании i в цикле for i = 1
6) нет форматированного вывода или добавленного разделителя в write(a[i])
7) нет ; после первого end
8) нет ; после s:=0
9) нет кавычек для ввода текста в writeln (s = ,s)
10) нет точки после последнего end
Условие
for i:= 1 to n do (перебираем весь массив)
if a[i]<0 then s:=s+a[i]; (если элемент меньше 0, то увеличиваем переменную s (сумму) на него)
Конъюнкция истинна, если верны все конъюнкты. Значит, все импликации должны быть истинны.
Импликация истинна во всех случаях, кроме 1 → 0, поэтому если xk = 1, то и все x с номерами, большими k, единицы. Если записывать решение в виде строчки со значениями переменных от x1 до x5, получается 6 решений: 00000, 00001, 00011, 00111, 01111, 11111.
Аналогично, есть 6 решений для игреков: 11111, 11110, 11100, 11000, 10000, 00000.
x2 ∨ y2 = 1, значит, хотя бы одна из переменных x2, y2 истинна. Подсчитываем число комбинаций.
1) x2 истинна (решение 01111 или 11111). Подходят все 6 решений для игреков, по правилу произведения получаем 2 * 6 = 12 решений.
2) x2 ложна (4 решения). Подходят 4 решения для игреков (все, кроме 10000 и 00000). По правилу произведения 4 * 4 = 16 решений.
Всего 12 + 16 = 28 решений.