1.var a:array [1..10] of integer; i,s:integer;
begin
for i:=1 to 10 do
begin
a[i]:=random(-10,10);
if a[i]>0 then s:=a[i]+s;
end;
writeln(s);
end.
2.var a:array [1..10] of integer; i,s:integer;
begin
for i:=1 to 10 do
begin
a[i]:=random(10);
if a[i] mod 2 = 0 then s:=s+a[i];
end;
write(s);
end.
3.var a:array [1..10] of integer; i,s:integer;
begin
for i:=1 to 10 do
begin
a[i]:=random(101);
if (i mod 2 = 0) and (a[i] mod 2 = 0) then s:=s+a[i];
end;
writeln(s);
end.
В задании представлены только 2 операции:
Конъюнкция (/\, *, &, логическое умножение) и дизъюнкция (\/, +, логическое сложение).
Порядок выполнения как в математике, сперва умножение (^) потом сложение (\/). И не стоит забывать что в первую очередь выполняются действия в скобках.
Таким образом:
1) (1 \/ 1) \/ (1 \/ 0) = 1 \/ 0 = 1
2) (((1 \/ 0) \/ 1) \/ 1) = ((1 \/ 1) \/ 1) = 1 \/ 1 = 1
3) (0 & 1) & 1 = 0 & 1 = 0
4) 1 & (1 & 1) & 1 = 1 & 1 & 1 = 1 & 1 = 1
5) ((1 \/ 0) & (1 & 1)) & (0 \/ 1) = (1 & 1) & 1 = 1 & 1 = 1
6) ((1 & 1) \/ 0) & (0 \/ 1) = (1 \/ 0) & 1 = 1 & 1 = 1
7) ((0 & 0) \/ 0) & (1 \/ 1) = (0 \/ 0) & 1 = 0 & 1 = 0
8) (A \/ 1) \/ (B \/ 0) = 1 \/ B = 1
9) ((1 & A) \/ (B & 0)) \/ 1 = (A \/ 0) \/ 1 = A \/ 1 = 1
10) 1 \/ A & 0 = 1 \/ 0 = 1
HP, естественно. Но даже если этого не знать — неужели так лень открыть вики?
Незачто надеюсь правильно
Перевод из двоичной системы в десятичную идёт по следующей схеме:
2ⁿ⁻¹ * S + ... + 2¹ * S + 2⁰ * S, где S - соответствующая числу двоичной системы цифра, а n - количество символов в числе.
Например:
100101
(2⁵ * 1) + (2⁴ * 0) + (2³ * 0) + (2² * 1) + (2¹ * 0) + (2⁰ * 1) = 2⁵ + 2² + 2⁰ = 2⁷ + 1 =
= 129