Programación General > Pascal

 PROBLEMA CON EJERCICIO

(1/1)

Jorgehr:
Buenos dias a todos los foreros, estoy aprendiendo a utilizar el turbopascal.Llevo dos semanas en esto y me he quedado atascado en un ejercicio ,necesitaria ayuda ,y si conoceis de alguna pagina mas donde pueda acceder a mas ejercicios os lo agradeceria ,un saludo y gracias.

El ejercicio es :

Realizar un algoritmo que calcule la suma de los diez primeros números de la serie polinómica indicada a continuación:

X + X(al cubo)/ 3!+ x(a la quinta)/5!+X (a la septima)/7! +......

Siendo X un número introducido por el teclado, el numerador es el número elevado al exponente indicado y el denominador es el factorial de los números impares.

Muchas gracias de antemano

m0skit0:
Buenos días a ti también

¿Qué tal si pones lo que llevas hecho?

Salud

Jorgehr:
si claro no hay ningun problema,hecho solo la funcion de potencia pero nose seguir mas:

Function Potencia (Numero, Exponente: Real) : Real;
Begin
If Exponente = 0.0 Then Potencia:= 1.0 Else
If Numero = 0.0 Then Potencia:= 0.0 Else
If Abs(Exponente*Ln(Abs(Numero))) > 87.498 Then
Begin Writeln ('Error fatal: Desbordamiento interno en la expresión.'); Halt; End
Else
If Numero > 0.0 Then
Potencia := Exp(Exponente*Ln(Numero))
Else
If (Numero < 0.0) And (Frac(Exponente) = 0.0) Then
If Odd(Round(Exponente)) Then
Potencia:= -Potencia (-Numero, Exponente)
Else
Potencia := Potencia (-Numero, Exponente)
Else
Begin
Writeln ('Error fatal: La expresión dada no es válida.'); Halt;
End;
End; {Función}

m0skit0:
Para la potencia, puedes usar esto, que es más corto, aunque tu método también está bien:


--- Código: Pascal ---Function Potencia(Base, Exponente:integer) : real;begin    Potencia := Exp(Base*Ln(Exponente));end; Aquí usamos el hecho de que el logaritmo es la inversa de la exponencial para eliminar el número e y conseguir base elevado a exponente  ;) Ah, y muy pocas veces se usan números reales como base o exponente porque se los números decimales se pueden convertir a potencias fácilmente  ^_^

¿Sabes cómo se define una factorial?


--- Código: Text ---factorial(x) = x * factorial(x-1), donde factorial(1) = 1 
¿Cómo harías esto en Pascal?

Por favor, usa la etiquetas de código  ;)

Navegación

[0] Índice de Mensajes

Ir a la versión completa