Предмет: Информатика,
автор: Gjvjom1
Дано натуральное число N. Вычислить Р=(1-1/2^2)*(1-1/3^2)*...*(1-1/n^2), где N>2
Запускает, но не считает,0.000000000Е 0000 выводит. В чём ошибка?
program lab51;
{$APPTYPE CONSOLE}
uses
SysUtils,
Math;
var s,u:real; n,k:byte;
begin
writeln('vvedite n'); readln(n);
s:=1;
if n>2 then
begin
for k:=2 to n do
s:=s*u;
//inc(k);
u:=1-(1/sqr(k));
end;
writeln(s);
readln;
end.
Ответы
Автор ответа:
2
У вас переменная u не определена при первом запуске цикла, поэтому программа берет u=0, и в итоге выходит тоже ноль. Поставьте после фора сразу:
u:=1-(1/sqr(k));а потом уже:
s:=s*u;
u:=1-(1/sqr(k));а потом уже:
s:=s*u;
Gjvjom1:
Спасибо большое!
Похожие вопросы
Предмет: Математика,
автор: міла7
Предмет: Математика,
автор: таня1153
Предмет: Русский язык,
автор: Føxŷ12
Предмет: Математика,
автор: mrazota1094
Предмет: Математика,
автор: serag69