Pascal/Turbo Pascal - Como hacer la funcion seno en pascal

 
Vista:

Como hacer la funcion seno en pascal

Publicado por Luis Andres (12 intervenciones) el 16/12/2012 18:27:13
Tengo que hacer una FUNCION que dado un X cualquiera me saque el SENO de ese numero, mediante el uso de esta formula

X – X^/3! + X^5/5! – X^7/7! ….

No puedo hacer la funcion completa entera, dentro del programa, por lo que hice las funciones de factorial y exponente a parte, y me quedo asi:

function factorial(num:integer):integer;
begin
if (num = 0) or (num = 1) then
begin //Calculo del factorial
factorial := 1;
end
else
begin
factorial := num * factorial(num-1);
end;
end;

function potencia(base,exp:integer):longint;
var
p : longint;
i : integer;
begin
if (exp=0)
then p := 1 //Calculo de la potencia
else begin
p := base;
for i := 2 to exp do
p := p*base;
end;
potencia := p;
end;

Por ese lado bien, ahora como implemento eso, dentro de una funcion, para que me calcule el Seno ??
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
sin imagen de perfil

Como hacer la funcion seno en pascal

Publicado por M2 (15 intervenciones) el 17/12/2012 10:13:44
Muy buenas,

para utilizar ls dos funciones creo que tendrias que llamarlas:

potencia(base,factorial(num)).

pruebalo no se si te servira.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Como hacer la funcion seno en pascal

Publicado por ramon (2158 intervenciones) el 17/12/2012 17:23:25
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
65
{Esta es la forma para dentro de una función}
 
program funciones;
  uses
    crt;
 const
        base = 1;
  var
    numero : longint;
 
 
 
  function valorseno : real;  {Vasado en funciones pascal}
  begin
     valorseno := 0.0;
     write('Entre Numero A Calcular : ');
     readln(numero);
     valorseno := sin(numero);
  end;
 
  function valorseno2 : integer;   {Implementacion tullo}
  var
     num : integer;
     function factorial(num : integer) : integer;
     begin
        if (num = 0) or (num = 1) then
        begin
           factorial := 1;
        end
    else
       begin
         factorial := num * factorial(num-1);
       end;
    end;
 
     function potencia(base,exp:integer):integer;
     var
       p : longint;
       i : integer;
       begin
       if (exp = 0) then
       p := 1
     else
     begin
       p := base;
        for i := 2 to exp do
        p := p * base;
     end;
      potencia := p;
   end;     {Forma de una sola funcion}
 
  begin
     write('Entre Numero A Calcular : ');
     readln(numero);
     valorseno2 := potencia(base,potencia(factorial(numero)));
  end;
 
 
 
  begin
      clrscr;
      writeln(valorseno);
      writeln(valorseno2);
      readln;
  end.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Como hacer la funcion seno en pascal

Publicado por Luis Andres (12 intervenciones) el 17/12/2012 18:02:33
Muchas gracias por responder, pero acabo de meter tu codigo, en el compilador Dev-Pascal y me da error en esta parte:

valorseno2 := potencia(base,potencia(factorial(numero)));

Dice "Wrong Amount of parameters specified"
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar