TIPOS
DE PARÁMETROS
DE LAS FUNCIONES
Mg. Marcelino Torres Villanueva
PARÁMETROS POR VALOR
Son aquellos a través de los cuales
se pasan valores a la función, es
decir se hace una copia de la
variable pasada como
argumento. A estos parámetros se
les conoce como parámetros de
entrada.
Ejemplo
DIAGRAMA DE FLUJO
CODIFICACION SALIDA DE PANTALLA
El resultado es : x=3
La variable x del programa principal al llamar a la función calculo hace una copia de
su valor al parámetro de la función, luego la que se incrementa es la variable x de la
función y no la variable x del programa principal.
PARÁMETROS POR REFERENCIA
Son aquellos a través de los cuales se
pasan referencias de las variables esto
permite que las variables pasadas
como argumento se puedan modificar.
Para declarar un parámetro por
referencia se utiliza el operador
referencia &.
Ejemplo
DIAGRAMA DE FLUJO
CODIFICACION SALIDA DE PANTALLA
El resultado es : x=5
La variable x del programa principal al llamar a la función calculo pasa la
referencia de la variable esto hace que la variable x se pueda modificar.
Ejercicios resueltos
01. Programa para intercambiar el valor de 2 variables numéricas
DIAGRAMA DE FLUJO
DIAGRAMA DE FLUJO
CODIFICACION SALIDA DE PANTALLA
Valor de a : 75
Valor de b : 30
Nuevo valor de a : 30
Nuevo valor de b : 75
Ejercicios resueltos
02. Programa para ingresar el valor de un Punto en coordenadas Polares y
reporte su equivalente en coordenadas cartesianas.
DIAGRAMA DE FLUJO
DIAGRAMA DE FLUJO
DIAGRAMA DE FLUJO
CODIFICACION SALIDA DE PANTALLA
Valor de r : 90
Angulo en grados
sexagesimales : 180
x = -90
y = -7.86805e-006
Ejercicios resueltos
03. Ingrese 2 puntos del plano cartesiano y reporte la ecuación de la
recta que los contiene.
DIAGRAMA DE FLUJO
DIAGRAMA DE FLUJO
DIAGRAMA DE FLUJO
DIAGRAMA DE FLUJO
CODIFICACION SALIDA DE PANTALLA
Primer Punto
Valor de x : 10
Valor de y : 12
Segundo Punto
Valor de x : 15
Valor de y : 17
y = 1x+2
Ejercicios resueltos
03. Reportar los n primeros números primos
DIAGRAMA DE FLUJO
DIAGRAMA DE FLUJO
DIAGRAMA DE FLUJO
DIAGRAMA DE FLUJO
SALIDA DE PANTALLA
Valor de n: 10
2 3 5 7 11 13 17 19 23 29
CODIFICACION
RECURSIVIDAD
Mg. Marcelino Torres Villanueva
¿QUE ES RECURSIVIDAD?
➢La recursividad es un concepto fundamental en
matemáticas y en computación.
➢Es una alternativa diferente para implementar
estructuras de repetición (ciclos). Los módulos se
hacen llamadas recursivas.
➢Se puede usar en toda situación en la cual la solución
pueda ser expresada como una secuencia de
movimientos, pasos o transformaciones gobernadas
por un conjunto de reglas no ambiguas.
Divide y vencerás
La recursividad nos permite solucionar un problema bajo el criterio de
“Divide y Vencerás”
Un problema complejo se divide en problemas más pequeños, de forma
que se compone la solución al final a partir de las soluciones
parciales que se van obteniendo.
Resolver un problema mediante recursión significa que la solución
depende de las soluciones de pequeñas instancias del mismo problema
FUNCION RECURSIVA
Las funciones recursivas se componen de:
➢Caso base: Una solución simple para un caso particular (puede
haber más de un caso base).
➢Caso recursivo: Una solución que involucra volver a utilizar la
función original, con parámetros que se acercan más al caso
base. Los pasos que sigue el caso recursivo son los siguientes :
1. La función se llama a sí misma.
2. El problema se resuelve, resolviendo el mismo problema
pero de tamaño menor
3. La manera en la cual el tamaño del problema disminuye
asegura que el caso base eventualmente se alcanzará
EJEMPLO : FACTORIAL
Muchas funciones matemáticas se definen recursivamente. Un
ejemplo de ello es el factorial de un numero entero:
5! = 5 x 4 x 3 x 2 x 1 5! = 5 x 4!
4! = 4 x 3 x 2 x 1 4! = 4 x 3!
3! = 3 x 2 x 1 3! = 3 x 2!
2! = 2 x 1 2! = 2 x 1!
1! = 1 x 1 1! = 1 x 0!
0! = 1 0! = 1
Sin recursividad Con recursividad
SOLUCION
Aquí podemos ver la secuencia que toma el factorial
1 si N = 0 (base)
N! =
N * (N – 1) ! si N > 0 (recursión)
Un razonamiento recursivo tiene dos partes: la base y la regla recursiva de
construcción. La base no es recursiva y es el punto tanto de partida como de
terminación de la definición.
factorial (5) = 5 * factorial(4) = 5 * 24 = 120
factorial (4) = 4 * factorial(3) = 4 * 6 = 24
factorial(3) = 3 * factorial(2) =3*2=6
factorial(2) = 2 * factorial(1) =2*1=2
factorial(1) = 1 * factorial(0) =1*1=1
factorial(0) = 1 = 1
Ejercicio : Hacer un programa para calcular el factorial de un numero usando recursividad
¿Recursividad o Iteración?
Semejanzas
- Ambas estrategias implican repetición: La iteración usa explícitamente una estructura de repetición que
en la recursión esta implícita
- Ambas requieren una condición de corte: la iteración cuando llega al tope del contador y la recursión
cuando alcanza el caso base.
- Ambas se aproximan a la solución gradualmente: la iteración modificando las variables iterativamente y
la recursión produciendo versiones mas sencillas del problema original.
- Ambas pueden caer en bucles infinitos
Diferencias
- La recursividad produce algoritmos cortos y elegantes, mientras que la iteración presentan la habitual
forma de uno o varios bucles.
- La recursión conlleva una repetida invocación de la función que, en general, incurre en un gasto de
tiempo y de memoria que no se da en la versión iterativa.
01. Programa para calcular la potencia de x elevado a la n. x real y n>0
02. Crear una función recursiva para calcular el enésimo termino de la serie de
Fibonacci
0 , 1, 1, 2, 3, 5, 8, 13, 21, …
Esta serie tiene la siguiente regla:
0 si n =1
fibo(n) = 1 si n = 2
fibo(n-1) + fibo(n-2) Si n>3
La función recursiva será:
03. Programa para calcular la suma de los dígitos de un numero
04. Programa para ingresar un número y lo reporte al revés
05. Programa para ingresar un número y reporte los factores primos de un numero
06. Programa para ingresar un número de base 10 y lo reporte a base b (entre 2 y 9)
07. Programa para calcular el máximo común divisor de 2 números usando el
algoritmo de Euclides.