Recursividad I - PowerPoint PPT Presentation

1 / 7
About This Presentation
Title:

Recursividad I

Description:

Aprendimos para que sirven y cuando se utilizan las simulaciones ... Eliminar la recursividad, normalmente tiene dos efectos contrapuestos: ... – PowerPoint PPT presentation

Number of Views:66
Avg rating:3.0/5.0
Slides: 8
Provided by: FelipeC2
Category:

less

Transcript and Presenter's Notes

Title: Recursividad I


1
Recursividad (I)
  • Clase 28
  • Introducción a la Programación
  • Marcos Sepúlveda(marcos_at_ing.puc.cl)

2
Resumen del último capítulo
  • Aprendimos para que sirven y cuando se utilizan
    las simulaciones
  • Características de un modelo de simulación
  • Qué son los números (pseudo) aleatorios
  • Vimos en detalle la simulación del supermercado

3
Qué es recursividad?
  • Es una función que se define en términos de si
    misma.
  • Ejemplo el valor de la función para el argumento
    n puede definirse en términos del argumento n-1
    (o alguno anterior).
  • Siempre debe existir un caso base.
  • Ejemplo

Caso Base
Caso Recursivo
4
Ejemplo de recursividad en C
  • int factorial(int n)
  • if ((n 0) (n 1))
  • return(1)
  • else
  • return(nfactorial(n-1))

5
Hay veces en que la recursividadse puede eliminar
  • int factorial(int n)
  • int i, fact 1
  • for (i2 iltn i)
  • fact fact i
  • return(fact)
  • Eliminar la recursividad, normalmente tiene dos
    efectos contrapuestos
  • Aumentar la eficiencia (menos tiempo de
    ejecución)
  • Dificultar la programación (más tiempo de
    programación)

6
Ejercicio programar la serie de Fibonacci con y
sin recursividad
  • F(0)0
  • F(1)1
  • F(n)F(n-1)F(n-2)

double Fibonacci(int n) int i double
Fibi, Fibn1, Fibn2 switch (n) case 0
return 0 case 1 return 1 default
Fibn2 0 Fibn1 1 for (i
2 i lt n i) Fibi Fibn1
Fibn2 Fibn2 Fibn1 Fibn1
Fibi return Fibi
double Fibonacci(int n) switch (n)
case 0 return 0 case 1 return 1
default return Fibonacci(n - 1)
Fibonacci(n - 2)
7
Ejercicio función para calcular el módulo
Write a Comment
User Comments (0)
About PowerShow.com