Subprogramas
Algoritmos y Estructuras de Datos
Company
LOGO
Agenda
1.
1.Programación
Programación Modular
Modular
2.
2. Procedimientos
Procedimientos
3.
3.Funciones
Funciones
4.
4.RecursividadRecursividad
Parámetros
Un Problema
Diseñe un algoritmo que nos muestre la
frecuencia de aparición de cada una de
las vocales presentes en una frase
ingresada por el usuario.
Omitirmayúsculas y tildes por ahora.
La frase debe enviarse como parámetro
Módulos propuestos
Parámetros y argumentos
Parámetros y argumentos
Parámetros y argumentos
mostrar_frecuencia
(mi_vocal,mi_frecuencia);
mostrar_frecuencia
(mi_frecuencia, mi_vocal);
Para qué usar módulos
Parámetros por Valor
Módulo: Calcular
frecuencia
Parámetros por Referencia
Módulo: Calcular
frecuencia
FuncionesFunciones incorporadas
Funciones definidas por el
Usuario
Módulo: Calcular
frecuencia
El Problema
Módulo Contar Vocales
La solución
Recursividad
Un subprograma
recursivo es uno
que seinvoca a sí
mismo.
En un tiempo,
había lenguajes
que no soportaban
recursividad.
Proveen soluciones
eficientes para
problemas
específicos.
Por ejemplo,
calcular la suma de
los primeros N
enteros.
Unejemplo
Proceso principal
Definir mi_limite como Entero;
mi_limite <- 4;
Escribir "La suma de los primeros ", mi_limite, " numeros es ", sumar(mi_limite);
FinProceso
Funcion resultado <-sumar(limite)
Definir resultado como Entero;
Si limite = 1 Entonces
resultado <- 1;
Sino
resultado <- Sumar(limite - 1) + limite;
FinSi
FinFuncion
Flujo de ejecución
Si la ejecución está aquí
limiteresultado
Inicio de la primera invocación a
Sumar
4
Indefinido
Inicio de la segunda invocación a
Sumar
3
Indefinido
Inicio de la tercera invocación a
Sumar
2
Indefinido
Inicio de la cuartainvocación a
Sumar
1
Indefinido
Fin de la cuarta invocación a Sumar
1
1
Fin de la tercera invocación a Sumar
2
3
Fin de la segunda invocación a
Sumar
3
6
Fin de la primera invocación a
Sumar
4...
Regístrate para leer el documento completo.