Const
n = 12;
var
i, p: integer;
a: array[1..n] of integer;
begin
p := 1;
for i := 1 to n do
begin
a[i] := random(150) - 100;
write(a[i], ' ');
if a[i] > 0 then p := p * a[i];
end;
writeln;
writeln('P = ', p);
end.
2)uses crt;
var a:array [1..10] of integer;
i:integer;
begin
clrscr;
randomize;
{генерируем и выводим новый массив}
for i:=1 to 10 do
begin
a[i]:=random(9)+1;
write(a[i]:3);
end;
writeln;
{в цикле проверяем если счетчик i делится на 2 ( признак четности) то либо возводим в степень либо удваиваем}
for i:=1 to 10 do
begin
if (i mod 2=0 ) then a[i]:=a[i]*a[i]
else a[i]:=a[i]*2;
end;
{выводим конечный массив}
for i:=1 to 10 do
write(a[i]:3);
readkey;
end.
3)var arr:array[1..20] of integer;
max,q:integer;
begin
writeln ('ARRAY: ');
for q:=1 to 20 do
begin
arr[q]:=random(80);
write (arr[q]:3);
end;
max:=arr[1];
for q:=2 to 20 do
if arr[q]>max then max:=arr[q];
writeln;
writeln('MAX = ',max);
end.
1)когда найдется элемент равный заданому
2)отсекается 1 элемент
3)Произведение элементов массива, которые лежат в промежутке [40;55)
в паскале как и почти любом ЯП есть переменные,которые содержат имя и значение,например (i: =0)->имя переменной i,значение 0.Значение переменной можно изменить,имя переменной нельзя.Массивы это переменные которые хранят несколько значений.Чтобы обратиться к определенному значению масива использовать синтаксис имямасива[индексмасива],например чтоб получить 3 элемент масива a использовать a[3].repeat (expression) until(boolean) это цикл,в котором будет выполняться expression(любой код) до тех пор пока boolean не будет верно.Boolean это выражение значение которого будет равно true/false(правда/неправда).Напрмер в repeat
i:=i+1;
until (a[i]=x) or (i=10); к переменной i будет прибавляться 1 до тех пор пока a[i] не равно x или i будет меньше 10(так как в масиве всего 10 элементов,если например i будет 11 это будет выход за границу массива).Каждый блок выполнения в цикле(в нашем случае i:=i+1) называется итерацией.В цикле for(a to max) в a идет создание переменной-счетчика(в нашем случае создание переменной i со значением 0) ,потом пишется to и идет максимальное значение счетчика.И итерации этого цикла(if (a[i]=>40) and (a[i]<55) then s:=s*a[i];
).В конце каждой итерации автоматически значение счетчика увеличивается на 1.До тех пор пока счетчик меньше или равен max итерации будут выполняться.
А вообще в интернете очень много обучающих статей по данной теме
Подробнее - на -
Объяснение: