Т.к. требуется использовать цикл until, то значит требуется код на языке Паскаль.
1) цикл for
program p_for
var
p: real;
i, n: integer;
begin
readln(n);
p := 1;//начальное значение
for i := 1 to n do
p := p * i;
writeln(p);
end.
2) цикл while
program p_while
var
p: real;
i, n: integer;
begin
readln(n);
i := 1;
p := 1;//начальное значение
while i <= n do
begin
p := p * i;
i := i + 1;
end;
writeln(p);
end.
3) цикл until
program p_until
var
p: real;
i, n: integer;
begin
readln(n);
i := 1;
p := 1;//начальное значение
repeat
p := p * i;
i := i + 1;
until i > n;
writeln(p);
end.
Объяснение:
program Prog;
var i, x, Proiz, MinEl: Integer;
arr: array[1..8] of Integer;
begin
Proiz:=1;
MinEl:=13;
randomize;
write('Введите X: ');
read(x);
// запоолнение, вычисление мин. эл., и умножения
for i:=1 to 8 do begin
arr[i]:=random(12)+2;
Proiz:=Proiz*arr[i];
if arr[i]<MinEl then
MinEl:=arr[i]
end;
// вывод всего массива
for i:=1 to 8 do
write(arr[i], ' ');
writeln;
// вывод нужных элементов
writeln('Минимальный элемент: ', MinEl);
writeln('Произведение элементов: ', Proiz);
writeln('Элементы, равные X: ');
for i:=1 to 8 do
if arr[i]=x then
write(arr[i], ' ')
end.