• Viernes 26 de Abril de 2024, 16:59

Autor Tema:  algoritmo para series numericas  (Leído 6705 veces)

celuti

  • Nuevo Miembro
  • *
  • Mensajes: 2
    • Ver Perfil
algoritmo para series numericas
« en: Viernes 14 de Mayo de 2010, 17:16 »
0
Hola:
¿Alguien sabría como diseñar un algoritmo que almacene en cada posición de un vector el resultado de la serie?
1, 1/2, 1/(2+1/3), 1/(2+1/(3+1/4)), 1/(2+1/(3+1/(4+1/5))),...,?
Muchas gracias.
Saludos.

Nebire

  • Miembro HIPER activo
  • ****
  • Mensajes: 670
    • Ver Perfil
Re: algoritmo para series numericas
« Respuesta #1 en: Sábado 15 de Mayo de 2010, 23:37 »
0
El algortmo subyacente son 2 simples bucles...
Se resuelve abriendo el bucle externo en un ciclo creciente (recorriendo el vector) y el bucle interno iniiciando el cálculo desde la división más profunda hasta la primera (bucle regresivo)



Código: Text
  1.  
  2. Cantidad = 10  
  3. Matriz(Cantidad-1)  designa una matriz de 10 elementos.
  4. n = 1
  5. Matriz(0)= n
  6. hacer: Mientras n < (Cantidad -1)
  7.      Incrementar n
  8.      Cuenta = n
  9.      div = ( 1 / n )  la priemra división se realiza fuera del bucle para inicializar la división en su valor más 'profundo'
  10.      Hacer  Mientras Cuenta > 1
  11.            Div = (1 / (Cuenta + Div))
  12.            Decrementar Cuenta
  13.      repetir
  14.      Matriz(n) = Div
  15. repertir
  16.  
Nota que 'div' y la propia 'matriz' tendrás que declararlo como double, de lo contrario a partir de cierto índice de la matriz la diferencia entre 2 elementos consecutivos será tan pequeña que puede perderse si se emplea un tipo de datos sin la debida precisión.

La verdad es que el algoritmo no ofrece ninguna cmplejidad y todo el mundo debería ser capaz de resolverlo acaso con un poco más de tiempo invertido...
« última modificación: Jueves 20 de Mayo de 2010, 04:11 por Nebire »
«Ma non troppo»
----> ModoVacaciones = False<----

celuti

  • Nuevo Miembro
  • *
  • Mensajes: 2
    • Ver Perfil
Re: algoritmo para series numericas
« Respuesta #2 en: Martes 18 de Mayo de 2010, 14:04 »
0
Muchas gracias por tu ayuda. Me ha sido de mucha utilidad.
Un saludo.