C клавиатуры вводится действительное число x. Проверить равенство - Free Pascal
Формулировка задачи:
Помогите решить задачу на Pascal. C клавиатуры вводится действительное число x. Проверить равенство:
-cos(x)+cos(2x)/2^2-...+((-1)^n)*cos(nx)/n^2...=1/4(x^2-pi^2/3)
Решение задачи: «C клавиатуры вводится действительное число x. Проверить равенство»
textual
Листинг программы
var n: integer;
x, a, s, e: real;
begin
s := 0;
repeat
write('Точность = ');
readln(e);
if e <= 0 then writeln('Точность вычислений должна быть больше 0. Повторите ввод.')
until e > 0;
write('x = ');
readln(x);
a := -cos(x);
s := a;
n := 1;
while 1 / n / n >= e do
begin
inc(n);
a := (1 - 2 * (n and 1)) * cos(n * x) / n / n;
s := s + a
end;
if abs(s - (x * x - pi * pi / 3) / 4) < e
then writeln('Верно с точностью ', e)
else writeln('Неверно');
readln
end.
Объяснение кода листинга программы
- Объявлены четыре переменные: n, x, a, s типа integer и real соответственно.
- Переменная s инициализируется значением 0.
- В цикле while с шагом 1 / n / n >= e происходит вычисление значения переменной a.
- Значение переменной a добавляется к переменной s.
- Значение переменной n увеличивается на единицу.
- Если 1 / n / n < e, то цикл продолжается, иначе выполняется следующая итерация.
- В конце цикла выполняется проверка: если abs(s - (x x - pi pi / 3) / 4) < e, то выводится сообщение
Верно с точностью e, иначе выводится сообщениеНеверно. - Программа ожидает ввода с клавиатуры для завершения работы.