Форум программистов, компьютерный форум, киберфорум
Наши страницы
Turbo Pascal
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.86/14: Рейтинг темы: голосов - 14, средняя оценка - 4.86
мария71
0 / 0 / 0
Регистрация: 12.01.2012
Сообщений: 15
1

Рекурсия. Вычислить рекурсивно функцию вида y=cos(x)+cos(x^2)+cos(x^3)+...+cos(x^n).

30.03.2012, 20:06. Просмотров 2494. Ответов 1
Метки нет (Все метки)

У меня задание вычислить рекурсивно функцию вида y=cos(x)+cos(x^2)+cos(x^3)+...+cos(x^n).
Но мне кажется что работает она неправильно и я не знаю что надо исправить...посмотрите пожалуйста и скажите что не так.
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
Program ret;
const
 max=10;
var
stepen,argyment:integer;
t,y:real;
{---------------------------------------------------}
 
Function Vvod:integer;
var
 st:integer;
 s:string;
 er:integer;
begin
repeat
  write('Введите максимальную степень:');
  readln(s);
  val(s,st,er);
  if er<>0 then
    writeln('ошибка!введите число')
  else
    if st>max then
      writeln('ошибка!значение должно быть < max')
  else
    If st<0 then
      writeln('ошибка!значение должно быть  >0');
until(er=0) or (st<max) or (st>0);
Vvod:=st;
end;
{---------------------------------------------------}
Function Arg:integer;
var
 x:integer;
 er:integer;
 s:string;
begin
repeat
  write('введите значение агрумента:');
  readln(s);
  val(s,x,er);
  if er<>0 then
    writeln('ошибка!Введите число');
until(er=0);
Arg:=x;
end;
{-----------------------------------------------}
Function Schet(a,b:integer):real;
begin
t:=0;
  if a=0 then
    Schet:=1
  else
     Schet:=b*Schet(a-1,b);
 
end;
{---------------------------------------------------}
 
begin
 
stepen:=Vvod;
argyment:=Arg;
t:=t+cos(Schet(stepen,argyment));
writeln('Значение функции',t:3:3);
end.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
30.03.2012, 20:06
Ответы с готовыми решениями:

Как вычислить y=cos 1(+cos(2+.+cos(39+cos 40).) без рекурсии?
Помогите, пожалуйста... 1)как вычислить y=cos 1(+cos(2+...+cos(39+cos 40)...))...

Вычислить y=cosx+cos^2x+cos^2x+cos^3x+...+cos^10x
2) Вычислить y=cosx+cos^2x+cos^2x+cos^3x+...+cos^10x; ...

Вычислить cos 1! + cos 2! + cos 3! +...+ cosN! при заданном N.
Вычислить cos 1! + cos 2! + cos 3! +...+ cosN! при заданном N.

Найти для заданного N>0 наименьший отрезок, содержащий все числа cos 1, cos 2, ..., cos N
Добрый день. Помогите, пожалуйста, решить две задачки. Заранее большое спасибо!...

вычислить y=cos(x)+cos(0.2x)+cos(0.4x)+.+cos(10x)
помогитеееее

1
r@di0
76 / 74 / 11
Регистрация: 24.01.2009
Сообщений: 460
31.03.2012, 01:57 2
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
uses Crt;
var
  x, n: Integer;
  y: Real;
 
function GetNum(hint: string): Integer;
var
  Tmp: string;
  ErrorCode, Res: Integer;
begin
  repeat
    Write(hint);
    ReadLn(Tmp);
    Val(Tmp, Res, ErrorCode);
    if ErrorCode > 0 then
      WriteLn(Copy(Tmp, 1, ErrorCode - 1), '->', Tmp[ErrorCode], '<-', Copy(Tmp, ErrorCode + 1, Length(Tmp) - ErrorCode));
  until ErrorCode = 0;
  GetNum := Res;
end;
 
function f(const x0, MaxN, CurrentStage: Integer): Real;
var
  Res: Real;
begin
  Res := Cos(Exp(CurrentStage * Ln(x0)));
  if CurrentStage < MaxN then
    Res := Res + f(x0, MaxN, CurrentStage + 1);
  f := Res;
end;
 
begin
  ClrScr;
  x := GetNum('Vvedite nachalnoe znachenie argumenta: ');
  n := GetNum('Vvedite maksimalnoe znachenie stepeni: ');
  y := f(x, n, 1);
  WriteLn('y=',y:5:2);
  ReadLn;
end.
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
31.03.2012, 01:57

Вычислить: y = cos (x) + cos (x^2) + cos (x^3) + . + cos (x^n)
Вычислить: y=cos x + cos x2 + cos x3 +...+ cos xn.

58. Описати функцію Cos1(x,eps) для знаходження наближеного значення функції cos(x): [cos(x) = 1 – x2 / 2! + x
Поможіть будьласка рішить до завтра.. Дуже нада.. екзамен просто.. Зарані...

График: f(x)= cos x -(4/15П)*cos 4x где -2П<=x<=4П с шагом h
f(x)= cos x -(4/15П)*cos 4x где -2П&lt;=x&lt;=4П с шагом h заранее спасибо


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru