Programas > Ejemplo: Funciones recursivas
  
Ejemplo: Funciones recursivas
Utilice las capacidades de programación de PTC Mathcad para definir funciones recursivas.
Ejemplo 1: Definición de la función factorial
1. Defina la función Fac que calcula el factorial de n. Rotule la función mediante el rótulo Función.
Pulse aquí para copiar esta expresión
2. Calcule el factorial de 6 mediante Fac y compruébelo utilizando el operador factorial PTC Mathcad.
Pulse aquí para copiar esta expresión
Pulse aquí para copiar esta expresión
3. Defina otra función Fac con una condición diferente en n y llame a la función, tal y como se indica a continuación.
Pulse aquí para copiar esta expresión
Pulse aquí para copiar esta expresión
PTC Mathcad produce el mismo resultado porque recuerda la definición anterior de Fac para realizar el cálculo.
4. Desactive la primera definición de Fac para ver la diferencia en los resultados. Si desea evitar esta ambigüedad, no reutilice nombres de función.
Ejemplo 2: Cálculo del máximo común divisor (GCD) de dos números enteros positivos
1. Grabe una función recurrente GCD que calcule el máximo común divisor de dos números, que es el entero más alto por el que se pueden dividir uniformemente x e y.
Pulse aquí para copiar esta expresión
2. Llame a esta función con distintos valores.
Pulse aquí para copiar esta expresión
Pulse aquí para copiar esta expresión
Este programa es igual que la función de máximo común divisor gcd integrada:
Pulse aquí para copiar esta expresión
Pulse aquí para copiar esta expresión
Ejemplo 3: Definición de la iteración n de una función f(x) en el punto a
1. Grabe un anidamiento de funciones recurrente que calcule la iteración n de una función f(x) en el punto a.
Pulse aquí para copiar esta expresión
2. Defina una función f(x) y asigne 1 a a.
Pulse aquí para copiar esta expresión
Pulse aquí para copiar esta expresión
3. Llame a esta función con distintos valores.
Pulse aquí para copiar esta expresión
Pulse aquí para copiar esta expresión
Pulse aquí para copiar esta expresión
Pulse aquí para copiar esta expresión
Ejemplo 4: Definición de la secuencia de Fibonacci (dos llamadas recurrentes por invocación)
1. Grabe una función fib que calcule el valor de la secuencia de Fibonacci para n.
Pulse aquí para copiar esta expresión
2. Defina un vector k y llame a la función fib.
Pulse aquí para copiar esta expresión
Pulse aquí para copiar esta expresión
Ejemplo 5: Definición de la función de partición
1. Escriba una función recurrente part que calcule el número de métodos diferentes para expresar m como una suma de números enteros positivos que no supere n.
Pulse aquí para copiar esta expresión
2. Llame a la función con distintos valores.
Pulse aquí para copiar esta expresión
Pulse aquí para copiar esta expresión
Ejemplo 6: Creación de un árbol binario aleatorio
1. Escriba una función Tree recursiva que cree un árbol binario aleatorio.
Pulse aquí para copiar esta expresión
2. Llame a la función.
Pulse aquí para copiar esta expresión
Pulse aquí para copiar esta expresión
Ejemplo 7: Búsqueda de la altura del árbol binario
1. Escriba una función height recursiva que devuelva la altura del árbol binario.
Pulse aquí para copiar esta expresión
2. Llame a la función con el árbol que ha creado en el ejemplo anterior.
Pulse aquí para copiar esta expresión
* 
Puesto que Tree crea un árbol binario aleatorio, la altura devuelta cambia tras cada nuevo cálculo.
Ejemplo 8: Configuración de la criba de Eratóstenes para buscar números primos
1. Utilice una función ceil para grabar una función recurrente p que calcule todos los números primos menores que n mediante la criba de Eratóstenes.
Pulse aquí para copiar esta expresión
2. Llame a la función para obtener un vector de todos los números primos menores que 200.
Pulse aquí para copiar esta expresión