Машинная память работает по принципу 0 и 1, т. е. 0 это нету сигнала, 1 это есть сигнал. По этому для понимания мы может просто записывать это в таблицу.
К примеру возьмём 2 клетки. Если и первая клетка и вторая равна 1, тогда выполняется что то одно, если не равны, то что то другое.
На самом компьютере да и вообще любом современном электронном устройстве всё работает по этому же принципу, только вместо таблицы с 0 и 1, используется "Есть питания" или же "Нету питания", поступил ток по нужному проводу или нет.
1)var
a:array[1..5]of integer;
i,n,s:integer;
begin
writeln('Введите кол-во элементов');
readln(n);
writeln('Введите число');
s:=0;
for i:=1 to n do begin
read(a[i]);
if a[i]>0 then s:=s+a[i]
end;
writeln('Сумма положительных элементов массива равна ', s)
end.
2)var
a:array[1..10]of integer;
i,n,P:integer;
begin
writeln('Введите число элементов');
readln(n);
writeln('Введите число');
P:=1;
for i:=1 to n do begin
read(a[i]);
if a[i] mod 6 = 0
then P:=P*a[i]
end;
writeln('Произведение элементов массива кратных 6 равна ',P)
end.
3)var
a:array[1..5]of integer;
n,i:integer;
begin
writeln('Введите кол-во элементов');
readln(n);
writeln('Введите число');
for i:=1 to n do begin
read(a[i]);
if a[i]>0 then begin
a[i]:=a[i]*3;
writeln('Новый элемент равен: ',a[i])
end;
if a[i]<=0 then begin
a[i]:=a[i]+5;
writeln('Новый элемент равен: ',a[i])
end;
end;
end.
Буду рад если отметишь мой ответ как лучший
n = 20;
var
i, e, p: integer;
a: array[1..n] of integer;
begin
Randomize;
writeln('Массив А:');
p := 0;
for i := 1 to n do
begin
e := Random(100) - 50;
a[i] := e;
write(e:5);
if e mod 2 = 0 then p := p + 1
end;
writeln;
writeln('Количество четных элементов в массиве равно ', p)
end.
Тестовое решение:
Массив А:
49 19 42 41 -21 -25 42 21 45 -1 -18 29 -48 21 -34 26 -25 4 5 -8
Количество четных элементов в массиве равно 8