Форум программистов, компьютерный форум, киберфорум
Delphi для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.93/15: Рейтинг темы: голосов - 15, средняя оценка - 4.93
0 / 0 / 1
Регистрация: 13.01.2011
Сообщений: 10
1

Найти значение выражения: sin(sin(…sin(x))), где функция sin используется n раз

14.01.2011, 11:14. Показов 3075. Ответов 4
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Delphi
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
uses
  SysUtils;
function sin1(x:real; n:integer):real;
var a:real; i:integer;
begin
a:=sin(x);
for i:=1 to n do
a:=sin(a);
sin1:=a;
end;
 
function sin2(x:real; n:integer):real;
var i:integer;
begin
if x=0 then sin2:=0 else
sin2:=sin(x);
for i:=1 to n do
sin2:=sin(sin2(x,n-1));
end;
procedure sin3(var n:integer; var x,a:real);
begin
if n>0 then
begin
a:=sin(x);
if x=0 then a:=0 else
begin
n:=n-1;
sin3(n,x,a);
a:=sin(a);
end;
end;
end;
 
var n:integer; x,a:real;
begin
write ('Vvedite x,n ');
readln(x,n);
sin1(x,n);
writeln('sin1 = ',sin1(x,n));
sin2(x,n);
writeln('sin2 = ',sin2(x,n));
sin3(n,x,a);
writeln('sin3 = ',a);
readln;
end.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
14.01.2011, 11:14
Ответы с готовыми решениями:

Цикл с предусловием и постусловием. Вычислить: sin(x)+sin(x)^2+...sin(x)^n
что в ней не так,ребят помогите Даны натуральное число n и вещественная число x....

Вычислить сумму ряда s=sin(1)+sin(2)+…+sin(n)
Вычислите сумму ряда s=sin(1)+sin(2)+…+sin(n), для n введенного с клавиатуры. Не могу понять,...

Построить график функции v:=w*r*(Sin(a)+(y/4)*sin(2*a)
построить график функции v:=w*r*(Sin(a))+(y/4)*sin(2*a)

Вычислить sin(1+sin(1+…sin(1+sin 1))…)
Вычислить sin(1+sin(1+…sin(1+sin 1))…)

4
134 / 47 / 11
Регистрация: 27.05.2008
Сообщений: 246
14.01.2011, 14:32 2
sin2 уже рекурсивная.
можешь задание четко сформулировать?
0
0 / 0 / 1
Регистрация: 13.01.2011
Сообщений: 10
20.01.2011, 22:00  [ТС] 3
Помогите испарвить ошибку в функции(выдает ошибку на else в рекурсивной функции)...
Delphi
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
uses
SysUtils;
 
function sin1(x:real; n:integer):real;
var a:real; i:integer;
begin
a:=sin(x);
for i:=1 to n do
a:=sin(a);
sin1:=a;
end;
 
function sin2(x:real; n:integer):real;
var sx:real;
begin
if n=1 then 
sin2:=sin(x);
else
begin
sx:=sin2(x);
sin2:=sin(sx);
end;
end;
 
procedure sin3(var n:integer; var x,a:real);
begin
if n>0 then
begin
a:=sin(x);
if x=0 then a:=0 else
begin
n:=n-1;
sin3(n,x,a);
a:=sin(a);
end;
end;
end;
 
var n:integer; x,a:real;
begin
write ('Vvedite x,n ');
readln(x,n);
sin1(x,n);
writeln('sin1 = ',sin1(x,n));
sin2(x,n);
writeln('sin2 = ',sin2(x,n));
sin3(n,x,a);
writeln('sin3 = ',a);
readln;
0
24 / 24 / 0
Регистрация: 09.11.2010
Сообщений: 190
21.01.2011, 16:30 4
Попробуй так
Код
program Project2;

{$APPTYPE CONSOLE}

uses
  SysUtils,math;

function sin1(x:real; n:integer):real;
var a:real; i:integer;
begin
a:=sin(x);
for i:=1 to n do
a:=sin(a);
sin1:=a;
end;

function sin2(x:real; n:integer):real;
var sx:real;
begin
if n=1 then
sin2:=sin(x) - тут ставить ; ненадо.
else
begin
sx:=sin2(x,n); -тут был просто x без n это ошибка! 
sin2:=sin(sx);
end;
end;

procedure sin3(var n:integer; var x,a:real);
begin
if n>0 then
begin
a:=sin(x);
if x=0 then a:=0 else
begin
n:=n-1;
sin3(n,x,a);
a:=sin(a);
end;
end;
end;

var n:integer; x,a:real;
begin
write ('Vvedite x,n ');
readln(x,n);
sin1(x,n);
writeln('sin1 = ',sin1(x,n));
sin2(x,n);
writeln('sin2 = ',sin2(x,n));
sin3(n,x,a);
writeln('sin3 = ',a);
readln;
  { TODO -oUser -cConsole Main : Insert code here }
end.
0
15 / 15 / 5
Регистрация: 10.01.2011
Сообщений: 52
24.01.2011, 13:55 5
Delphi
1
2
3
4
5
6
7
8
9
10
11
12
function forum ( n : integer ) : longint ; //или float. не помню
begin if ( n = 0 ) then
forum := sin(0) else 
forum := sin(forum-1) ;
end ;
 
-----------
var n : integer ; 
begin 
n:=strtoint(edit1.text); 
edit1.text:=inttostr(forum(n)); //floatToStr(forum(n))
end .
РЅР° счёт работы РЅРµ уверен РЅР° 100% так как РїРёС?Сѓ СЃ телефона. РЅРѕ общая суть должна быть понятна
0
24.01.2011, 13:55
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
24.01.2011, 13:55
Помогаю со студенческими работами здесь

постоить график y=sin(sin x)
напишите пожалуста програму постоить график y=sin(sin x)

Найти значение функции y=sin(x)
помогите плз надо найти y=sin(x) в делфи ч вводится с клавиатуры

Найти и вывести на экран значение разности между максимальным и минимальным значениями функции F(x)=lg|sin x * cos(x+5)|
Найти и вывести на экран значение разности между максимальным и минимальным значениями функции...

Вычислить значение функции sin(x)+x
Необходимо вычислить значение функции F=SIN(X) +X на интервале от 0 до 2*pi радиан с шагом 0.1...

Значение функций COS и SIN
Скажите, когда определяется COS и SIN значение угла задается в градусах или радианах?

Вычислить значение функции y=sin^3*x^2 на интервале от -1 до 3
Вычислить значение функции y=sin^3*x^2 на интервале от -1 до 3 с шагом 0.5. Блок схему


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru