Даны действительное число Х и натуральное число n. Вычислить с помощью рекурсии...

0 голосов
59 просмотров

Даны действительное число Х и натуральное число n. Вычислить с помощью рекурсии s=1+cos2x+cos^(2)2x+...+cos^(n-1)2x


Информатика (20 баллов) | 59 просмотров
Дано ответов: 2
0 голосов
Правильный ответ

Var N: integer;
     x: real;
function Sum(x: real; N: integer): real;
begin
  if (N>1) then Sum:=Power(cos(2*x),N-1)+Sum(x,N-1)
  else Sum:=1;
end;
{ основная программа }
begin
  write('задайте N:  ');  readln(N);
  write('задайте x:  ');  readln(x);
  writeln('сумма ряда = ',Sum(x,N):10:5);
end.

(9.7k баллов)
0

Что это ??? Что оно делает ?

0

Аа я розобрался , вы проленились обьявить переменные , про power не буду говорить .

0

если у Вас нет Power(), то можно записать по -другому Power(x,N) это то же самое, что exp(N*ln(x))

0 голосов

Function summa(x:real; n:integer):real;
var
s,step:
real;
i:integer;
begin
step:=cos(2*x);
if n>1 then
begin
for i:=2 to n do
step:=step*cos(2*x);
summa:=summa(x,n-1)+step;
end
else
summa:=cos(2*x);
end;

var
x:real;
n:integer;
begin
write('X = ');
readln(x);
write('N = ');
readln(n);
writeln('S = ',summa(x,n-1)+1:0:3);
end.

(2.2k баллов)