SlideShare una empresa de Scribd logo
Fundamentos de
Programación
M.Sc. Franco Guamán B.
Universidad Técnica Particular de Loja
Departamento de Ciencias de la Computación y
Electrónica
PROGRAMACIÓN MODULAR
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 2
Fundamentos de Programación - Franco Guamán 3
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
Fundamentos de Programación - Franco Guamán 4
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
Fundamentos de Programación - Franco Guamán 5
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()
Fundamentos de Programación - Franco Guamán 6
Subprogramas (funciones/procedimientos)
• Pueden realizar las mismas acciones de un programa.
o Aceptar datos
o 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
Fundamentos de Programación - Franco Guamán 7
Programación Modular
Inicio
instrucción 1
instrucción 2
subprograma1()
instrucción 3
subprograma1()
instrucción 4
subprograma2()
instrucción 5
Fin
Inicio
instrucción 1
instrucción 2
instrucción 3
Fin
Programa principal
Subprograma1
Pueden ser llamadas desde el
programa principal, para luego
devolver el control al lugar
desde donde fue invocado
Fundamentos de Programación - Franco Guamán 8
Programación Modular
Inicio
instrucción 1
instrucción 2
subprograma1()
instrucción 3
subprograma1()
instrucción 4
subprograma2()
instrucción 5
Fin
Programa principal
Inicio
instrucción 1
instrucción 2
instrucción 3
Fin
Subprograma1
Pueden ser solicitados
varias veces durante la
ejecución de un
programa
Fundamentos de Programación - Franco Guamán 9
Programación Modular
Inicio
instrucción 1
instrucción 2
subprograma1()
instrucción 3
subprograma1()
instrucción 4
subprograma2()
instrucción 5
Fin
Programa principal Inicio
instrucción 1
subprograma 2.1()
instrucción 3
Fin
Subprograma2
Inicio
instrucción 1
instrucción 2
instrucción 3
Fin
Subprograma 2.1
Un subprograma a
su vez puede
solicitar el servicio
de otros
subprogramas
Fundamentos de Programación - Franco Guamán 10
Programación Modular
Inicio
instrucción 1
instrucción 2
subprograma1()
instrucción 3
subprograma1()
instrucción 4
subprograma2()
instrucción 5
Fin
Programa principal Inicio
instrucción 1
subprograma 2.1()
instrucción 3
Fin
Subprograma2
Fundamentos de Programación - Franco Guamán 11
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.
Fundamentos de Programación - Franco Guamán 12
Programación Modular
DECLARACIÓN DE FUNCIONES
<tipo_de_resultado> funcion <nombre> (lista de parámetros)
[declaraciones locales]
Inicio
<acciones> //cuerpo de la función
Devolver (<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
Fundamentos de Programación - Franco Guamán 13
Programación Modular
INVOCACIÓN DE FUNCIONES
Dado 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());
Fundamentos de Programación - Franco Guamán 14
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
Fundamentos de Programación - Franco Guamán 15
Programación Modular
ÁMBITO DE LAS VARIABLES
LOCALES:
• 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.
Fundamentos de Programación - Franco Guamán 16
Programación Modular
ÁMBITO DE LAS VARIABLES
GLOBALES:
• 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.
Fundamentos de Programación - Franco Guamán 17
Programación Modular
ÁMBITO DE LAS VARIABLES
Programa DEMO
tipo X, X1, …
Procedimiento A
tipo Y, Y1, …
.
.
.
.
Procedimiento C
tipo W, W1, …
.
.
.
.
Procedimiento B
tipo Z, Z1, …
.
.
.
Ámbito de X
Ámbito de Y
Ámbito de WÁmbito de Z
Ámbito de variables
Fundamentos de Programación - Franco Guamán 18
Programación Modular
PASO DE PARÁMETROS
Paso 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ó.
Inicio
Entero S
S  0
Presentar suma(s)
presentar s
fin
Leer numero1
Leer numero2
S  numero1 + numero2
Devolver S
Fin_función
principal función suma(entero S)entero
5
8
¿Cuál será el valor de S al momento de presentarlo?
Fundamentos de Programación - Franco Guamán 19
Programación Modular
PASO DE PARÁMETROS
Paso por referencia: Si éstos parámetros son modificados
en un subprograma, al terminar, éste adoptará el nuevo
valor asignado a él.
Inicio
Entero S
S  0
Presentar suma(s)
presentar s
fin
Leer numero1
Leer numero2
S  numero1 + numero2
Devolver 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?
Fundamentos de Programación - Franco Guamán 20
Preguntas
Fundamentos de Programación - Franco Guamán 21
Referencias
Joyanes 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

Más contenido relacionado

La actualidad más candente

Tabla comparativa de paradigma de programacion estruturada y pradigma de prog...
Tabla comparativa de paradigma de programacion estruturada y pradigma de prog...Tabla comparativa de paradigma de programacion estruturada y pradigma de prog...
Tabla comparativa de paradigma de programacion estruturada y pradigma de prog...jose francisco arenas jimenez
 
Programación modular estructurada.ppt
Programación modular estructurada.pptProgramación modular estructurada.ppt
Programación modular estructurada.pptLeydi Hernandez
 
Estructura básica de un programa en C++
Estructura básica de un programa en C++Estructura básica de un programa en C++
Estructura básica de un programa en C++
Rosbelia Balza
 
Estructuras de control
Estructuras de controlEstructuras de control
Estructuras de control
Angel R Pilco Q
 
Mapa conceptual estructuras de control SEMESTRE 2
Mapa conceptual estructuras de control SEMESTRE 2Mapa conceptual estructuras de control SEMESTRE 2
Mapa conceptual estructuras de control SEMESTRE 2K Manuel TN
 
Tópicos Avanzados de Programación - Unidad 1 GUI
Tópicos Avanzados de Programación - Unidad 1 GUITópicos Avanzados de Programación - Unidad 1 GUI
Tópicos Avanzados de Programación - Unidad 1 GUI
José Antonio Sandoval Acosta
 
Estructura Repetitiva MIENTRAS (While) con PSeInt
Estructura Repetitiva MIENTRAS (While) con PSeIntEstructura Repetitiva MIENTRAS (While) con PSeInt
Estructura Repetitiva MIENTRAS (While) con PSeInt
Pedro Antonio Villalta (Pavillalta)
 
Programación modular
Programación modularProgramación modular
Programación modular
Reina Rodriguez
 
Conceptos básicos y metodología de la programación
Conceptos básicos y metodología de la programaciónConceptos básicos y metodología de la programación
Conceptos básicos y metodología de la programación
justo morales
 
Algoritmo
AlgoritmoAlgoritmo
Algoritmo
Jennifer Montano
 
Principios diseño del software
Principios diseño del software Principios diseño del software
Principios diseño del software
Jose Patricio Bovet Derpich
 
Lenguajes de programacion rivas maldonado
Lenguajes de programacion  rivas maldonadoLenguajes de programacion  rivas maldonado
Lenguajes de programacion rivas maldonado
RAUL Velez
 
52 ejercicios resueltos en pseudocodigo
52 ejercicios resueltos en pseudocodigo52 ejercicios resueltos en pseudocodigo
52 ejercicios resueltos en pseudocodigo
Brivé Soluciones
 
Foro.pptx
Foro.pptxForo.pptx
Foro.pptx
castlellanos
 
Requerimientos Funcionales y No Funcionales
Requerimientos Funcionales y No FuncionalesRequerimientos Funcionales y No Funcionales
Requerimientos Funcionales y No Funcionales
Carlos Macallums
 
Programación Orientada a Objetos - atributos y métodos
Programación Orientada a Objetos - atributos y métodosProgramación Orientada a Objetos - atributos y métodos
Programación Orientada a Objetos - atributos y métodos
Alvaro Enrique Ruano
 

La actualidad más candente (20)

Tabla comparativa de paradigma de programacion estruturada y pradigma de prog...
Tabla comparativa de paradigma de programacion estruturada y pradigma de prog...Tabla comparativa de paradigma de programacion estruturada y pradigma de prog...
Tabla comparativa de paradigma de programacion estruturada y pradigma de prog...
 
Programación modular estructurada.ppt
Programación modular estructurada.pptProgramación modular estructurada.ppt
Programación modular estructurada.ppt
 
Estructura básica de un programa en C++
Estructura básica de un programa en C++Estructura básica de un programa en C++
Estructura básica de un programa en C++
 
Estructuras de control
Estructuras de controlEstructuras de control
Estructuras de control
 
Mapa conceptual estructuras de control SEMESTRE 2
Mapa conceptual estructuras de control SEMESTRE 2Mapa conceptual estructuras de control SEMESTRE 2
Mapa conceptual estructuras de control SEMESTRE 2
 
Tópicos Avanzados de Programación - Unidad 1 GUI
Tópicos Avanzados de Programación - Unidad 1 GUITópicos Avanzados de Programación - Unidad 1 GUI
Tópicos Avanzados de Programación - Unidad 1 GUI
 
Estructura Repetitiva MIENTRAS (While) con PSeInt
Estructura Repetitiva MIENTRAS (While) con PSeIntEstructura Repetitiva MIENTRAS (While) con PSeInt
Estructura Repetitiva MIENTRAS (While) con PSeInt
 
Topicos avanzados de programacion
Topicos avanzados de programacionTopicos avanzados de programacion
Topicos avanzados de programacion
 
Programación modular
Programación modularProgramación modular
Programación modular
 
Conceptos básicos y metodología de la programación
Conceptos básicos y metodología de la programaciónConceptos básicos y metodología de la programación
Conceptos básicos y metodología de la programación
 
Algoritmo
AlgoritmoAlgoritmo
Algoritmo
 
Algoritmos secuenciales resueldos
Algoritmos  secuenciales resueldosAlgoritmos  secuenciales resueldos
Algoritmos secuenciales resueldos
 
Principios diseño del software
Principios diseño del software Principios diseño del software
Principios diseño del software
 
Ciclo de instrucción
Ciclo de instrucciónCiclo de instrucción
Ciclo de instrucción
 
Lenguajes de programacion rivas maldonado
Lenguajes de programacion  rivas maldonadoLenguajes de programacion  rivas maldonado
Lenguajes de programacion rivas maldonado
 
Ieee 830
Ieee 830Ieee 830
Ieee 830
 
52 ejercicios resueltos en pseudocodigo
52 ejercicios resueltos en pseudocodigo52 ejercicios resueltos en pseudocodigo
52 ejercicios resueltos en pseudocodigo
 
Foro.pptx
Foro.pptxForo.pptx
Foro.pptx
 
Requerimientos Funcionales y No Funcionales
Requerimientos Funcionales y No FuncionalesRequerimientos Funcionales y No Funcionales
Requerimientos Funcionales y No Funcionales
 
Programación Orientada a Objetos - atributos y métodos
Programación Orientada a Objetos - atributos y métodosProgramación Orientada a Objetos - atributos y métodos
Programación Orientada a Objetos - atributos y métodos
 

Similar a Programacion Modular

Ing. Mecatronica Prog. Básica, U5 Módulos
Ing. Mecatronica Prog. Básica, U5 MódulosIng. Mecatronica Prog. Básica, U5 Módulos
Ing. Mecatronica Prog. Básica, U5 Módulos
José Antonio Sandoval Acosta
 
Guia programacion modular
Guia programacion modularGuia programacion modular
Guia programacion modular
Sol Hernández
 
Tema5.pdf
Tema5.pdfTema5.pdf
Tema5.pdf
AnonymousNdBOr4
 
Fundamentos de Programación. Unidad I
Fundamentos de Programación. Unidad IFundamentos de Programación. Unidad I
Fundamentos de Programación. Unidad I
Franco Guamán
 
Fundamentos de Programación - Unidad V: Modularidad
Fundamentos de Programación - Unidad V: ModularidadFundamentos de Programación - Unidad V: Modularidad
Fundamentos de Programación - Unidad V: Modularidad
José Antonio Sandoval Acosta
 
Transparencias7
Transparencias7Transparencias7
Transparencias7
karlalopezbello
 
Unidad III-Programación Modular-introducción al lenguaje programable.pdf
Unidad III-Programación Modular-introducción al lenguaje programable.pdfUnidad III-Programación Modular-introducción al lenguaje programable.pdf
Unidad III-Programación Modular-introducción al lenguaje programable.pdf
EDWINERNESTOMADRIDME
 
Programación Modular - Subprogramas o funciones
Programación Modular - Subprogramas o funcionesProgramación Modular - Subprogramas o funciones
Programación Modular - Subprogramas o funciones
AlexanderAloid
 
Diseño estructurado
Diseño estructuradoDiseño estructurado
Diseño estructuradoMarilugosale
 
Apun9algol
Apun9algolApun9algol
Apun9algolpabesacv
 
Presentación programaciónestructurada
Presentación programaciónestructuradaPresentación programaciónestructurada
Presentación programaciónestructurada
AaronVega18
 
2.2. algoritmos definicion - metodología - ejemplos ing comp
2.2. algoritmos  definicion - metodología - ejemplos ing comp2.2. algoritmos  definicion - metodología - ejemplos ing comp
2.2. algoritmos definicion - metodología - ejemplos ing comp
María Sofía Molina Molina
 
Parametrizacion de bloques de funcion y funciones.pdf
Parametrizacion de bloques de funcion y funciones.pdfParametrizacion de bloques de funcion y funciones.pdf
Parametrizacion de bloques de funcion y funciones.pdf
EradHernandez
 
Dpss u3 a2_alds
Dpss u3 a2_aldsDpss u3 a2_alds
Dpss u3 a2_alds
Michelle Díaz
 
Java y conceptos de apoyo
Java y conceptos de apoyoJava y conceptos de apoyo
Java y conceptos de apoyo
Norma Alicia Barrera Olivares
 
Paradigmas de Programación
Paradigmas de ProgramaciónParadigmas de Programación
Paradigmas de Programación
Consultor Independiente
 
Programación
ProgramaciónProgramación
Programación
lunanogales
 
Guia practica 1.0 2011
Guia practica 1.0  2011Guia practica 1.0  2011
Guia practica 1.0 2011
puchichin666
 
Entornos de desarrollo: Desarrollo de Software
Entornos de desarrollo: Desarrollo de SoftwareEntornos de desarrollo: Desarrollo de Software
Entornos de desarrollo: Desarrollo de Software
Isabel Gómez
 
PROGRAMACION DE MICROCONTROLADOR
PROGRAMACION DE MICROCONTROLADORPROGRAMACION DE MICROCONTROLADOR
PROGRAMACION DE MICROCONTROLADOR
Jorge Paredes Toledo
 

Similar a Programacion Modular (20)

Ing. Mecatronica Prog. Básica, U5 Módulos
Ing. Mecatronica Prog. Básica, U5 MódulosIng. Mecatronica Prog. Básica, U5 Módulos
Ing. Mecatronica Prog. Básica, U5 Módulos
 
Guia programacion modular
Guia programacion modularGuia programacion modular
Guia programacion modular
 
Tema5.pdf
Tema5.pdfTema5.pdf
Tema5.pdf
 
Fundamentos de Programación. Unidad I
Fundamentos de Programación. Unidad IFundamentos de Programación. Unidad I
Fundamentos de Programación. Unidad I
 
Fundamentos de Programación - Unidad V: Modularidad
Fundamentos de Programación - Unidad V: ModularidadFundamentos de Programación - Unidad V: Modularidad
Fundamentos de Programación - Unidad V: Modularidad
 
Transparencias7
Transparencias7Transparencias7
Transparencias7
 
Unidad III-Programación Modular-introducción al lenguaje programable.pdf
Unidad III-Programación Modular-introducción al lenguaje programable.pdfUnidad III-Programación Modular-introducción al lenguaje programable.pdf
Unidad III-Programación Modular-introducción al lenguaje programable.pdf
 
Programación Modular - Subprogramas o funciones
Programación Modular - Subprogramas o funcionesProgramación Modular - Subprogramas o funciones
Programación Modular - Subprogramas o funciones
 
Diseño estructurado
Diseño estructuradoDiseño estructurado
Diseño estructurado
 
Apun9algol
Apun9algolApun9algol
Apun9algol
 
Presentación programaciónestructurada
Presentación programaciónestructuradaPresentación programaciónestructurada
Presentación programaciónestructurada
 
2.2. algoritmos definicion - metodología - ejemplos ing comp
2.2. algoritmos  definicion - metodología - ejemplos ing comp2.2. algoritmos  definicion - metodología - ejemplos ing comp
2.2. algoritmos definicion - metodología - ejemplos ing comp
 
Parametrizacion de bloques de funcion y funciones.pdf
Parametrizacion de bloques de funcion y funciones.pdfParametrizacion de bloques de funcion y funciones.pdf
Parametrizacion de bloques de funcion y funciones.pdf
 
Dpss u3 a2_alds
Dpss u3 a2_aldsDpss u3 a2_alds
Dpss u3 a2_alds
 
Java y conceptos de apoyo
Java y conceptos de apoyoJava y conceptos de apoyo
Java y conceptos de apoyo
 
Paradigmas de Programación
Paradigmas de ProgramaciónParadigmas de Programación
Paradigmas de Programación
 
Programación
ProgramaciónProgramación
Programación
 
Guia practica 1.0 2011
Guia practica 1.0  2011Guia practica 1.0  2011
Guia practica 1.0 2011
 
Entornos de desarrollo: Desarrollo de Software
Entornos de desarrollo: Desarrollo de SoftwareEntornos de desarrollo: Desarrollo de Software
Entornos de desarrollo: Desarrollo de Software
 
PROGRAMACION DE MICROCONTROLADOR
PROGRAMACION DE MICROCONTROLADORPROGRAMACION DE MICROCONTROLADOR
PROGRAMACION DE MICROCONTROLADOR
 

Más de Franco Guamán

Estructuras de datos grafos
Estructuras de datos grafosEstructuras de datos grafos
Estructuras de datos grafos
Franco Guamán
 
Abb diferencias entre c++ y java
Abb diferencias entre c++ y javaAbb diferencias entre c++ y java
Abb diferencias entre c++ y java
Franco Guamán
 
Arbol binario de busqueda java
Arbol binario de busqueda   javaArbol binario de busqueda   java
Arbol binario de busqueda java
Franco Guamán
 
03 uni1-estructuras de datos-arreglos 2 d
03 uni1-estructuras de datos-arreglos 2 d03 uni1-estructuras de datos-arreglos 2 d
03 uni1-estructuras de datos-arreglos 2 d
Franco Guamán
 
02 uni1-estructuras de datos-arreglos
02 uni1-estructuras de datos-arreglos02 uni1-estructuras de datos-arreglos
02 uni1-estructuras de datos-arreglos
Franco Guamán
 
01 uni1-estructuras de datos-introduccion a las ed
01 uni1-estructuras de datos-introduccion a las ed01 uni1-estructuras de datos-introduccion a las ed
01 uni1-estructuras de datos-introduccion a las ed
Franco Guamán
 
Uni6 a series
Uni6 a seriesUni6 a series
Uni6 a series
Franco Guamán
 
Uni4 estructuras-selectivas
Uni4 estructuras-selectivasUni4 estructuras-selectivas
Uni4 estructuras-selectivas
Franco Guamán
 
Uni5 estructuras-repetitivas
Uni5 estructuras-repetitivasUni5 estructuras-repetitivas
Uni5 estructuras-repetitivas
Franco Guamán
 
Uni3 estructura-general-de-un-programa-cont
Uni3 estructura-general-de-un-programa-contUni3 estructura-general-de-un-programa-cont
Uni3 estructura-general-de-un-programa-cont
Franco Guamán
 
Estructura General de un Programa
Estructura General de un ProgramaEstructura General de un Programa
Estructura General de un Programa
Franco Guamán
 

Más de Franco Guamán (11)

Estructuras de datos grafos
Estructuras de datos grafosEstructuras de datos grafos
Estructuras de datos grafos
 
Abb diferencias entre c++ y java
Abb diferencias entre c++ y javaAbb diferencias entre c++ y java
Abb diferencias entre c++ y java
 
Arbol binario de busqueda java
Arbol binario de busqueda   javaArbol binario de busqueda   java
Arbol binario de busqueda java
 
03 uni1-estructuras de datos-arreglos 2 d
03 uni1-estructuras de datos-arreglos 2 d03 uni1-estructuras de datos-arreglos 2 d
03 uni1-estructuras de datos-arreglos 2 d
 
02 uni1-estructuras de datos-arreglos
02 uni1-estructuras de datos-arreglos02 uni1-estructuras de datos-arreglos
02 uni1-estructuras de datos-arreglos
 
01 uni1-estructuras de datos-introduccion a las ed
01 uni1-estructuras de datos-introduccion a las ed01 uni1-estructuras de datos-introduccion a las ed
01 uni1-estructuras de datos-introduccion a las ed
 
Uni6 a series
Uni6 a seriesUni6 a series
Uni6 a series
 
Uni4 estructuras-selectivas
Uni4 estructuras-selectivasUni4 estructuras-selectivas
Uni4 estructuras-selectivas
 
Uni5 estructuras-repetitivas
Uni5 estructuras-repetitivasUni5 estructuras-repetitivas
Uni5 estructuras-repetitivas
 
Uni3 estructura-general-de-un-programa-cont
Uni3 estructura-general-de-un-programa-contUni3 estructura-general-de-un-programa-cont
Uni3 estructura-general-de-un-programa-cont
 
Estructura General de un Programa
Estructura General de un ProgramaEstructura General de un Programa
Estructura General de un Programa
 

Último

PitchCollabART uniendo talentos, creando maravillas digitales
PitchCollabART uniendo talentos, creando maravillas digitalesPitchCollabART uniendo talentos, creando maravillas digitales
PitchCollabART uniendo talentos, creando maravillas digitales
juanorejuela499
 
trabajo integrador final sofi y vane.docx
trabajo integrador final sofi y vane.docxtrabajo integrador final sofi y vane.docx
trabajo integrador final sofi y vane.docx
lasocharfuelan123
 
Maquina de Dibujo y Escritura Automática.pdf
Maquina de Dibujo y Escritura Automática.pdfMaquina de Dibujo y Escritura Automática.pdf
Maquina de Dibujo y Escritura Automática.pdf
juanjosebarreiro704
 
Escaneo y eliminación de malware en el equipo
Escaneo y eliminación de malware en el equipoEscaneo y eliminación de malware en el equipo
Escaneo y eliminación de malware en el equipo
nicromante2000
 
Los desafíos de calidad de software que nos trae la IA y los LLMs
Los desafíos de calidad de software que nos trae la IA y los LLMsLos desafíos de calidad de software que nos trae la IA y los LLMs
Los desafíos de calidad de software que nos trae la IA y los LLMs
Federico Toledo
 
Caso de exito Cirrus - Hospital La Salle
Caso de exito Cirrus - Hospital La SalleCaso de exito Cirrus - Hospital La Salle
Caso de exito Cirrus - Hospital La Salle
Ecaresoft Inc.
 
infografia del sena para analisis y desarrollo de software
infografia del sena para analisis y desarrollo de softwareinfografia del sena para analisis y desarrollo de software
infografia del sena para analisis y desarrollo de software
oscartorres960914
 
CONCEPTOS DE PROGRAMACION CUALQUIER LENGUAJE
CONCEPTOS DE PROGRAMACION CUALQUIER LENGUAJECONCEPTOS DE PROGRAMACION CUALQUIER LENGUAJE
CONCEPTOS DE PROGRAMACION CUALQUIER LENGUAJE
SamuelGampley
 
experiencia de aprendizaje sobre lectura y escritura como herramientas de ap...
experiencia de aprendizaje sobre lectura y escritura como  herramientas de ap...experiencia de aprendizaje sobre lectura y escritura como  herramientas de ap...
experiencia de aprendizaje sobre lectura y escritura como herramientas de ap...
cuentauniversidad34
 
FICHA DE TRABAJO DE CREACION DE TABLAS EN WORD
FICHA  DE TRABAJO DE CREACION DE TABLAS EN WORDFICHA  DE TRABAJO DE CREACION DE TABLAS EN WORD
FICHA DE TRABAJO DE CREACION DE TABLAS EN WORD
RobertSotilLujn
 

Último (10)

PitchCollabART uniendo talentos, creando maravillas digitales
PitchCollabART uniendo talentos, creando maravillas digitalesPitchCollabART uniendo talentos, creando maravillas digitales
PitchCollabART uniendo talentos, creando maravillas digitales
 
trabajo integrador final sofi y vane.docx
trabajo integrador final sofi y vane.docxtrabajo integrador final sofi y vane.docx
trabajo integrador final sofi y vane.docx
 
Maquina de Dibujo y Escritura Automática.pdf
Maquina de Dibujo y Escritura Automática.pdfMaquina de Dibujo y Escritura Automática.pdf
Maquina de Dibujo y Escritura Automática.pdf
 
Escaneo y eliminación de malware en el equipo
Escaneo y eliminación de malware en el equipoEscaneo y eliminación de malware en el equipo
Escaneo y eliminación de malware en el equipo
 
Los desafíos de calidad de software que nos trae la IA y los LLMs
Los desafíos de calidad de software que nos trae la IA y los LLMsLos desafíos de calidad de software que nos trae la IA y los LLMs
Los desafíos de calidad de software que nos trae la IA y los LLMs
 
Caso de exito Cirrus - Hospital La Salle
Caso de exito Cirrus - Hospital La SalleCaso de exito Cirrus - Hospital La Salle
Caso de exito Cirrus - Hospital La Salle
 
infografia del sena para analisis y desarrollo de software
infografia del sena para analisis y desarrollo de softwareinfografia del sena para analisis y desarrollo de software
infografia del sena para analisis y desarrollo de software
 
CONCEPTOS DE PROGRAMACION CUALQUIER LENGUAJE
CONCEPTOS DE PROGRAMACION CUALQUIER LENGUAJECONCEPTOS DE PROGRAMACION CUALQUIER LENGUAJE
CONCEPTOS DE PROGRAMACION CUALQUIER LENGUAJE
 
experiencia de aprendizaje sobre lectura y escritura como herramientas de ap...
experiencia de aprendizaje sobre lectura y escritura como  herramientas de ap...experiencia de aprendizaje sobre lectura y escritura como  herramientas de ap...
experiencia de aprendizaje sobre lectura y escritura como herramientas de ap...
 
FICHA DE TRABAJO DE CREACION DE TABLAS EN WORD
FICHA  DE TRABAJO DE CREACION DE TABLAS EN WORDFICHA  DE TRABAJO DE CREACION DE TABLAS EN WORD
FICHA DE TRABAJO DE CREACION DE TABLAS EN WORD
 

Programacion Modular

  • 1. Fundamentos de Programación M.Sc. 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 2
  • 3. Fundamentos de Programación - Franco Guamán 3 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
  • 4. Fundamentos de Programación - Franco Guamán 4 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
  • 5. Fundamentos de Programación - Franco Guamán 5 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()
  • 6. Fundamentos de Programación - Franco Guamán 6 Subprogramas (funciones/procedimientos) • Pueden realizar las mismas acciones de un programa. o Aceptar datos o 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
  • 7. Fundamentos de Programación - Franco Guamán 7 Programación Modular Inicio instrucción 1 instrucción 2 subprograma1() instrucción 3 subprograma1() instrucción 4 subprograma2() instrucción 5 Fin Inicio instrucción 1 instrucción 2 instrucción 3 Fin Programa principal Subprograma1 Pueden ser llamadas desde el programa principal, para luego devolver el control al lugar desde donde fue invocado
  • 8. Fundamentos de Programación - Franco Guamán 8 Programación Modular Inicio instrucción 1 instrucción 2 subprograma1() instrucción 3 subprograma1() instrucción 4 subprograma2() instrucción 5 Fin Programa principal Inicio instrucción 1 instrucción 2 instrucción 3 Fin Subprograma1 Pueden ser solicitados varias veces durante la ejecución de un programa
  • 9. Fundamentos de Programación - Franco Guamán 9 Programación Modular Inicio instrucción 1 instrucción 2 subprograma1() instrucción 3 subprograma1() instrucción 4 subprograma2() instrucción 5 Fin Programa principal Inicio instrucción 1 subprograma 2.1() instrucción 3 Fin Subprograma2 Inicio instrucción 1 instrucción 2 instrucción 3 Fin Subprograma 2.1 Un subprograma a su vez puede solicitar el servicio de otros subprogramas
  • 10. Fundamentos de Programación - Franco Guamán 10 Programación Modular Inicio instrucción 1 instrucción 2 subprograma1() instrucción 3 subprograma1() instrucción 4 subprograma2() instrucción 5 Fin Programa principal Inicio instrucción 1 subprograma 2.1() instrucción 3 Fin Subprograma2
  • 11. Fundamentos de Programación - Franco Guamán 11 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.
  • 12. Fundamentos de Programación - Franco Guamán 12 Programación Modular DECLARACIÓN DE FUNCIONES <tipo_de_resultado> funcion <nombre> (lista de parámetros) [declaraciones locales] Inicio <acciones> //cuerpo de la función Devolver (<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
  • 13. Fundamentos de Programación - Franco Guamán 13 Programación Modular INVOCACIÓN DE FUNCIONES Dado 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());
  • 14. Fundamentos de Programación - Franco Guamán 14 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
  • 15. Fundamentos de Programación - Franco Guamán 15 Programación Modular ÁMBITO DE LAS VARIABLES LOCALES: • 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.
  • 16. Fundamentos de Programación - Franco Guamán 16 Programación Modular ÁMBITO DE LAS VARIABLES GLOBALES: • 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.
  • 17. Fundamentos de Programación - Franco Guamán 17 Programación Modular ÁMBITO DE LAS VARIABLES Programa DEMO tipo X, X1, … Procedimiento A tipo Y, Y1, … . . . . Procedimiento C tipo W, W1, … . . . . Procedimiento B tipo Z, Z1, … . . . Ámbito de X Ámbito de Y Ámbito de WÁmbito de Z Ámbito de variables
  • 18. Fundamentos de Programación - Franco Guamán 18 Programación Modular PASO DE PARÁMETROS Paso 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ó. Inicio Entero S S  0 Presentar suma(s) presentar s fin Leer numero1 Leer numero2 S  numero1 + numero2 Devolver S Fin_función principal función suma(entero S)entero 5 8 ¿Cuál será el valor de S al momento de presentarlo?
  • 19. Fundamentos de Programación - Franco Guamán 19 Programación Modular PASO DE PARÁMETROS Paso por referencia: Si éstos parámetros son modificados en un subprograma, al terminar, éste adoptará el nuevo valor asignado a él. Inicio Entero S S  0 Presentar suma(s) presentar s fin Leer numero1 Leer numero2 S  numero1 + numero2 Devolver 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?
  • 20. Fundamentos de Programación - Franco Guamán 20 Preguntas
  • 21. Fundamentos de Programación - Franco Guamán 21 Referencias Joyanes 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