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
Ir a la versión completa