Programacion modular
-
Upload
franco-guaman -
Category
Software
-
view
86 -
download
2
Transcript of Programacion modular
Fundamentos de Programación
Msc. Franco Guamán B.Universidad Técnica Particular de Loja
Departamento de Ciencias de la Computación y Electrónica
PROGRAMACIÓN MODULAR
2
Contenidos Ventajas Propósito Características generales Subprogramas (funciones y procedimientos) Funciones Procedimientos (Subrutinas) Ámbito de variables Paso de parámetros
Fundamentos de Programación - Franco Guamán
3Fundamentos de Programación - Franco Guamán
Ventajas• Mayor claridad para el desarrollo de algoritmos• Desarrollo de programas con mayor complejidad• Utilización de herramientas adicionales• Nuevos enfoque como la Programación Orientada
a Objetos (OOP)
Programación Modular
4Fundamentos de Programación - Franco Guamán
Propósito• Facilitar la comprensión del diseño modular para
lograr el desarrollo de programas complejos de manera sencilla permitiendo la reutilización de fragmentos de un programa.
Programación Modular
5Fundamentos de Programación - Franco Guamán
Características generales• Divide y vencerás• Diseño descendente (Top-down)• Partes son independientes entre si
Programación Modular
Main Program
Subprogram3()Subprogram1() Subprogram2()
6Fundamentos de Programación - Franco Guamán
Subprogramas (funciones/procedimientos)• Pueden realizar las mismas acciones de un
programa.o Aceptar datoso Realizar cálculos (ejecutar instrucciones)o Devolver resultados
• Son utilizados para un propósito específico• Es llamado o invocado desde un programa principal,
ejecuta una tarea y devuelve el control al lugar desde donde fue llamado.
• Un subprograma puede a su vez llamar a sus propios subprogramas.
Programación Modular
7Fundamentos de Programación - Franco Guamán
Programación Modular
Inicioinstrucción 1instrucción 2subprograma1()instrucción 3subprograma1()instrucción 4subprograma2()instrucción 5
Fin
Inicioinstrucción 1instrucción 2instrucción 3
Fin
Programa principal
Subprograma1
Pueden ser llamadas desde el programa principal, para luego devolver el control al lugar desde donde fue invocado
8Fundamentos de Programación - Franco Guamán
Programación Modular
Inicioinstrucción 1instrucción 2subprograma1()instrucción 3subprograma1()instrucción 4subprograma2()instrucción 5
Fin
Programa principal
Inicioinstrucción 1instrucción 2instrucción 3
Fin
Subprograma1
Pueden ser solicitados varias veces durante la ejecución de un programa
9Fundamentos de Programación - Franco Guamán
Programación Modular
Inicioinstrucción 1instrucción 2subprograma1()instrucción 3subprograma1()instrucción 4subprograma2()instrucción 5
Fin
Programa principal Inicioinstrucción 1subprograma 2.1()instrucción 3
Fin
Subprograma2
Inicioinstrucción 1instrucción 2instrucción 3
Fin
Subprograma 2.1Un subprograma a su vez puede solicitar el servicio de otros subprogramas
10Fundamentos de Programación - Franco Guamán
Programación Modular
Inicioinstrucción 1instrucción 2subprograma1()instrucción 3subprograma1()instrucción 4subprograma2()instrucción 5
Fin
Programa principal Inicioinstrucción 1subprograma 2.1()instrucción 3
Fin
Subprograma2
11Fundamentos de Programación - Franco Guamán
Programación Modular
FUNCIONES• Reciben uno a más parámetros, los procesan y
devuelven un único resultado.
TIPOS: Internas. Incorporadas al sistema.Externas. Creadas por el usuario.
12Fundamentos de Programación - Franco Guamán
Programación Modular
DECLARACIÓN DE FUNCIONES
<tipo_de_resultado> funcion <nombre> (lista de parámetros)[declaraciones locales]Inicio
<acciones> //cuerpo de la funciónDevolver (<expresion>)
Fin_funcion
int suma (int num1, int num2){ int resp;
resp = num1 + num2;
return resp:}
Declaración de variables
Tipo de resultado Lista de parámetros
cabecera
Valor devuelto
13Fundamentos de Programación - Franco Guamán
Programación Modular
INVOCACIÓN DE FUNCIONESDado que una función necesariamente debe devolver un valor, debe ser invocado desde un lugar en donde tal valor pueda ser evaluado o almacenado ej:
• Asignación a una variable:a = nombre_funcion();
• Como parte de una sentencia de control:If (nombre_funcion() == ?){
Instrucciones}
• Como parte de una expresión:printf(‘Resultado igual a : ’+ nombre_funcion());
14Fundamentos de Programación - Franco Guamán
Programación Modular
PROCEDIMIENTOS (SUBRUTINAS)• Pueden o no devolver valores.• Ejecutan un proceso específico.• Su invocación se realiza directamente, ej:
nombre_procedimiento();• Declaración:
procedimiento <nombre> ([lista de parámetros])Inicio
<acciones>Fin_procedimiento
15Fundamentos de Programación - Franco Guamán
Programación Modular
ÁMBITO DE LAS VARIABLESLOCALES:• Declaradas o definidas dentro de un subprograma.• Es distinta a las variables con el mismo nombre declaradas
en cualquier parte del programa principal u otro subprograma.
• El espacio de memoria vinculado a ellas es liberado al terminar la ejecución del subprograma y devolver el control al programa que lo solicitó.
• Su área de acción es solamente dentro del subprograma que la creo.
• No es accesible desde ningún otro subprograma.
16Fundamentos de Programación - Franco Guamán
Programación Modular
ÁMBITO DE LAS VARIABLESGLOBALES:• Declaradas o definidas en el programa principal, del que
dependen todos los subprogramas.• Pueden compartir información de diferentes subprogramas.• Su área de acción es en todo el programa.• Pueden ser accesibles desde los subprogramas.• El espacio de memoria vinculado a ellas solamente se libera
cuando terminamos la ejecución del programa.
17Fundamentos de Programación - Franco Guamán
Programación Modular
ÁMBITO DE LAS VARIABLES
Programa DEMOtipo X, X1, …
Procedimiento Atipo Y, Y1, …
.
.
.
.
Procedimiento Ctipo W, W1, …
.
.
.
.
Procedimiento Btipo Z, Z1, …
.
.
.
Ámbito de X
Ámbito de Y
Ámbito de W
Ámbito de Z
Ámbito de variables
18Fundamentos de Programación - Franco Guamán
Programación Modular
PASO DE PARÁMETROSPaso por valor: Si éstos parámetros son modificados dentro de un subprograma, al terminar el mismo aún mantendrá el valor original con el que llegó.
InicioEntero SS 0Presentar suma(s)presentar s
fin
Leer numero1Leer numero2S numero1 + numero2Devolver S
Fin_función
principal función suma(entero S)entero5
8
¿Cuál será el valor de S al momento de presentarlo?
19Fundamentos de Programación - Franco Guamán
Programación Modular
PASO DE PARÁMETROSPaso por referencia: Si éstos parámetros son modificados en un subprograma, al terminar, éste adoptará el nuevo valor asignado a él.
InicioEntero SS 0Presentar suma(s)presentar s
fin
Leer numero1Leer numero2S numero1 + numero2Devolver S
Fin_función
principal función suma(entero var S)entero 5
8
¿Cuál será el valor de S al momento de presentarlo?
20Fundamentos de Programación - Franco Guamán
Preguntas
21Fundamentos de Programación - Franco Guamán
ReferenciasJoyanes A. L. (01-may-2008). «Fundamentos de Programación. Algoritmos,
estructuras de datos y objetos». Cuarta Edición. México. Mc Graw Hill.
Celdo. A. (02-feb-2013). «Funciones y Procedimientos». Recuperado el 12 de junio de 2015, de Slideshare: http://es.slideshare.net/andersonceldo/funciones-y-procedimientos-16315275?qid=71c4930f-3890-4f11-9568-b9b9ed086a7c&v=default&b=&from_search=7