Tema 26 Programación Modular, Diseño de Funciones, Recursividad, Librerías
1. Introducción
- Importancia en el avance tecnológico.
- Aplicación en ciclos formativos y desarrollo de software.
2. Conceptos Previos
- Informática: busca soluciones a problemas mediante algoritmos.
- Programación: traducción de algoritmos a un lenguaje entendible por la computadora.
- Lenguaje de programación: conjunto de reglas y símbolos para escribir programas.
- Evolución: de código “espagueti” a paradigmas estructurados y modulares.
- Paradigmas: Programación estructurada y modular
3. Programación Modular
- Definición: División de un programa en módulos independientes.
- Características:
- Trabajo en equipo.
- Depuración.
- Reutilización.
- Mantenimiento.
- Creación de librerías.
- Objetivos:
- Simplificación del problema.
- Independencia en programación.
- Mejor legibilidad y mantenimiento.
3.1 Programa Principal y Subprogramas
- Subprogramas internos vs externos.
3.2 Ámbito de un Identificador
- Identificadores locales vs globales.
4. Diseño de Funciones
- Definición: Subprograma que devuelve un resultado.
- Tipos: Propias del lenguaje vs definidas por el usuario.
4.1 Declaración
- Cabecera: modificadores, tipo de retorno, nombre función y parametros y tipo.
- Cuerpo: Instrucciones a realizar por la función
// Funcion que calcula el factoria de un numero en java
public static void factoria(int n){ // Cabecera de la funcion
int fact = 1; // Cuerpo de la funcion.
for(int i=1; i<n; i++){
fact = fact * i;
return fact;
}
}
4.2 Invocación
- Llamada con parámetros actuales.
4.3 Paso de Parámetros
- Paso por valor vs referencia.
5. Recursividad
- Definición: Función que se llama a sí misma.
5.1 Estructura
- Caso base.
- Llamada recursiva.
5.2 Características
- Uso de memoria dinámica.
- Almacenamiento en pila.
- Profundidad de recursión.
5.3 Tipos
- Recursividad directa vs indirecta.
6. Librerías
- Definición: Conjunto de funciones reutilizables.
6.1 Estructura
- Llamadas a otras librerías.
- Declaraciones globales.
- Definición de funciones.
6.2 Características
- Ocultación de información.
- Reutilización y portabilidad.
6.3 Tipos
- Librerías estándar vs de usuario.
7. Recursos y Herramientas de Interés
- Ejemplo: Sololearn.
8. Aplicación de los Contenidos al Contexto Escolar y Laboral
- Uso en ciclos formativos.
- Aplicación en desarrollo de software.
9. Conclusión
- Ventajas de la programación modular: legibilidad, mantenimiento, y resolución de problemas.
10. Bibliografía
- Joyanes, L. (2020). Fundamentos de programación.
- Prieto, A. (2006). Introducción a la informática.
- López, L. (2004). Programación Estructurada.
- Hernández M. (2022). Estructuras de datos. Editoria Ra-Ma