
Вопрос задан 06.03.2021 в 23:40.
Предмет Информатика.
Спрашивает Рудовская Елена.
Дано натуральное число 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.

Ответы на вопрос

Отвечает Павлов Егор.
У вас переменная u не определена при первом запуске цикла, поэтому программа берет u=0, и в итоге выходит тоже ноль. Поставьте после фора сразу:
u:=1-(1/sqr(k));а потом уже:
s:=s*u;
u:=1-(1/sqr(k));а потом уже:
s:=s*u;



Отвечает нейросеть ChatGpt. Будьте внимательны, ответы нейросети могут содержать ошибочные или выдуманные данные.
В данном коде есть несколько ошибок, которые приводят к некорректному результату. Вот исправленный код:
pascalprogram lab51; {$APPTYPE CONSOLE} uses SysUtils, Math; var s, u: real; n, k: byte; begin writeln('Введите N:'); readln(n); s := 1; if n > 2 then begin for k := 2 to n do begin


Топ вопросов за вчера в категории Информатика
Последние заданные вопросы в категории Информатика
Предметы
-
Математика
-
Литература
-
Алгебра
-
Русский язык
-
Геометрия
-
Английский язык
-
Химия
-
Физика
-
Биология
-
Другие предметы
-
История
-
Обществознание
-
Окружающий мир
-
География
-
Українська мова
-
Информатика
-
Українська література
-
Қазақ тiлi
-
Экономика
-
Музыка
-
Право
-
Беларуская мова
-
Французский язык
-
Немецкий язык
-
МХК
-
ОБЖ
-
Психология
-
Физкультура и спорт
-
Астрономия
-
Кыргыз тили
-
Оʻzbek tili