у тебя получается бесконечный цикл с постоянно увеличивающимя n, конечно рано или поздно программа завершится с переполнением. в твоей программа ты самому n присваиваешь значение n * (n - 1) например при n = 5 n станет равно 20, на следующем проходе n = 20 * 19 и так далее
var n:integer; F:real; begin F := 1; write('n = '); readln(n); while n > 1 do begin F := n * F; dec(n); end; writeln('F = ', F); readln; end.
Answers & Comments
у тебя получается бесконечный цикл с постоянно увеличивающимя n, конечно рано или поздно программа завершится с переполнением. в твоей программа ты самому n присваиваешь значение n * (n - 1) например при n = 5 n станет равно 20, на следующем проходе n = 20 * 19 и так далее
var
n:integer;
F:real;
begin
F := 1;
write('n = '); readln(n);
while n > 1 do
begin
F := n * F;
dec(n);
end;
writeln('F = ', F);
readln;
end.