Haga clic para cambiar el estilo de título
• Haga clic para modificar el estilo de texto del patrón– Segundo nivel
• Tercer nivel– Cuarto nivel
» Quinto nivel
1
08-2833 INTRODUCCIÓN A LA PROGRAMACIÓN
ING. GERARDO GUACARÁN ZURITA
Pre-Requisito: Matemáticas II (08-1824) Horas semanales: 5
16 semanas 80 Horas Créditos: 3
Haga clic para cambiar el estilo de título
• Haga clic para modificar el estilo de texto del patrón– Segundo nivel
• Tercer nivel– Cuarto nivel
» Quinto nivel
2
Motivación Inicial
Trabajo en equipo
Objetivos 6, 7: Identificar módulos y construir subprogramas con lista de parámetros.
Una de las principales tecnologías que han cobrado gran auge y han demostrado ser vitales para asegurar el éxito de las organizaciones es el trabajar en equipo.
Descomponiendo el problema mayor en varios subproblemas.
Haga clic para cambiar el estilo de título
• Haga clic para modificar el estilo de texto del patrón– Segundo nivel
• Tercer nivel– Cuarto nivel
» Quinto nivel
3
Motivación Inicial
Trabajo en equipo
Objetivos 6, 7: Identificar módulos y construir subprogramas con lista de parámetros.
Si bien el acto de particionar un programa en componentes individuales reduce en algún grado la complejidad, una razón más poderosa para realizarlo es que ésto crea un número de contornos bien documentados dentro del programa.
A continuación estudiaremos los módulos dentro del lenguaje de programación en estudio.
Haga clic para cambiar el estilo de título
• Haga clic para modificar el estilo de texto del patrón– Segundo nivel
• Tercer nivel– Cuarto nivel
» Quinto nivel
4
Subprogramas
Un gran problema puede resolverse
descomponiéndolo en subproblemas, (problemas
más pequeños o módulos), los cuales a su vez
pueden sucesivamente seguir fragmentándose en
problemas más pequeños, hasta que estos sean
solucionados. Este método se denomina diseño
descendente, dado que se comienza en la parte
superior con un problema general y se van
diseñando soluciones específicas para cada uno
de los subproblemas (módulos) en los que ha
sido dividido ese problema principal.
Objetivos 6, 7: Identificar módulos y construir subprogramas con lista de parámetros.
Haga clic para cambiar el estilo de título
• Haga clic para modificar el estilo de texto del patrón– Segundo nivel
• Tercer nivel– Cuarto nivel
» Quinto nivel
5
Subprogramas
Objetivos 6, 7: Identificar módulos y construir subprogramas con lista de parámetros.
Haga clic para cambiar el estilo de título
• Haga clic para modificar el estilo de texto del patrón– Segundo nivel
• Tercer nivel– Cuarto nivel
» Quinto nivel
6
Subprogramas
En el caso que nos compete, los problemas que enfrentamos son aquellos
que podemos resolver aplicando la lógica de la programación
estructurada y que, haciendo uso de la programación modular, podremos
descomponer el programa principal en módulos que realizan tareas
específicas, denominados subprogramas. De esta manera, normalmente
un proyecto de programación se compone, generalmente, de un programa
principal (también llamado conductor del programa) y un conjunto de
subprogramas (módulos), con las llamadas a los mismos dentro del
programa principal o desde otro subprograma.
Objetivos 6, 7: Identificar módulos y construir subprogramas con lista de parámetros.
Haga clic para cambiar el estilo de título
• Haga clic para modificar el estilo de texto del patrón– Segundo nivel
• Tercer nivel– Cuarto nivel
» Quinto nivel
7
Subprogramas
Los subprogramas se clasifican en procedimientos y funciones, los
cuales se definen como unidades de programas diseñados para ejecutar
una tarea específica.
Objetivos 6, 7: Identificar módulos y construir subprogramas con lista de parámetros.
Haga clic para cambiar el estilo de título
• Haga clic para modificar el estilo de texto del patrón– Segundo nivel
• Tercer nivel– Cuarto nivel
» Quinto nivel
8
Procedimientos
Es un subprograma (grupo de sentencias)
que realiza una tarea particular. Al igual
que cualquier programa, un
procedimiento consta de tres partes: Una
cabecera, una lista de parámetros
formales (opcional), una sección de
declaraciones de constantes, variables u
otros procedimientos y la sección
ejecutable o cuerpo del procedimiento.
Objetivos 6, 7: Identificar módulos y construir subprogramas con lista de parámetros.
Haga clic para cambiar el estilo de título
• Haga clic para modificar el estilo de texto del patrón– Segundo nivel
• Tercer nivel– Cuarto nivel
» Quinto nivel
9
Procedimientos
Denominaremos parámetro a una variable cuyo valor debe ser o bien
proporcionada por el programa principal al procedimiento (parámetro de
entrada) o ser devuelto desde el procedimiento al programa principal
(parámetros de salida).
En otras palabras parámetros de entrada son aquellos cuyos valores
deben ser proporcionados por el programa principal y parámetro de salida
son aquellos cuyos valores se calculan en el procedimiento y se
devuelven al programa principal para su proceso posterior.
Objetivos 6, 7: Identificar módulos y construir subprogramas con lista de parámetros.
Haga clic para cambiar el estilo de título
• Haga clic para modificar el estilo de texto del patrón– Segundo nivel
• Tercer nivel– Cuarto nivel
» Quinto nivel
10
Procedimientos
Ahora bien, tanto en el subprograma procedimiento como en el programa
principal debe hacerse referencia a la lista de parámetros que van a ser
intercambiados. Cuando la lista de parámetros es referenciada en el
programa principal se le denomina lista de parámetros actuales, porque
son los valores reales que en el momento de ejecución del programa
(momento actual) van a tomar los parámetros. Mientras que cuando la
lista de parámetros es referenciada en el subprograma procedimiento se
le denomina lista de parámetros formales o ficticios, porque básicamente
constituyen sólo el formato (forma) de los valores que van a ser
intercambiados.
Objetivos 6, 7: Identificar módulos y construir subprogramas con lista de parámetros.
Haga clic para cambiar el estilo de título
• Haga clic para modificar el estilo de texto del patrón– Segundo nivel
• Tercer nivel– Cuarto nivel
» Quinto nivel
11
Procedimientos
Esquemáticamente la interacción entre el programa principal y el
subprograma procedimiento tiene la siguiente forma:
Objetivos 6, 7: Identificar módulos y construir subprogramas con lista de parámetros.
Haga clic para cambiar el estilo de título
• Haga clic para modificar el estilo de texto del patrón– Segundo nivel
• Tercer nivel– Cuarto nivel
» Quinto nivel
12
Procedimientos
El subprograma procedimiento debe ser declarado (PROCEDURE) antes
de que pueda ser referenciado en el cuerpo de un programa principal y es
llamado desde éste u otro procedimiento directamente por su nombre. En
Delphi tiene la forma siguiente:
Objetivos 6, 7: Identificar módulos y construir subprogramas con lista de parámetros.
Haga clic para cambiar el estilo de título
• Haga clic para modificar el estilo de texto del patrón– Segundo nivel
• Tercer nivel– Cuarto nivel
» Quinto nivel
13
Procedimientos
donde lista1 tiene la forma siguiente: PF1,
PF2,... PFN:tipo1
lista2 tiene la forma siguiente: VAR
PF3,PF4,...PFN:tipo2
siendo PF1, PF2, PF3, PF4... parámetros
formales (identificadores válidos) que van a
contener los valores de los parámetros actuales
cuando se llama al procedimiento.
tipo1 y tipo2: son los tipos de datos (valores)
que van a contener los parámetros de la lista1 y
lista2, respectivamente.
(lista de parámetros formales) puede tener la forma siguiente:
lista1:tipo1;lista2:tipo2;...
PROCEDURE es la palabra reservada que se utiliza para
declarar el procedimiento.
nombreproc es un identificador válido, que representa el
nombre del procedimiento
Objetivos 6, 7: Identificar módulos y construir subprogramas con lista de parámetros.
Haga clic para cambiar el estilo de título
• Haga clic para modificar el estilo de texto del patrón– Segundo nivel
• Tercer nivel– Cuarto nivel
» Quinto nivel
14
Procedimientos
NOTAS:
• El valor de los parámetros actuales no se conoce cuando se declara el procedimiento, pero cuando se ejecuta la sentencia de llamada al procedimiento es preciso que tengan valores asignados o previamente leídos, de los contrario dará error.
• Los parámetros actuales en la llamada al procedimiento deben coincidir en número, orden y tipo con los parámetros formales o ficticios de la declaración del procedimiento.
• Las variables que son usadas en un programa con subprogramas procedimientos pueden ser de dos tipos: locales y globales. Las variables locales son las que se declaran en el subprograma y sólo están disponibles durante el funcionamiento del mismo. Las variables globales son las que se declaran en el programa principal y pueden ser usadas tanto en el programa principal como en todos los subprogramas.
Objetivos 6, 7: Identificar módulos y construir subprogramas con lista de parámetros.
Haga clic para cambiar el estilo de título
• Haga clic para modificar el estilo de texto del patrón– Segundo nivel
• Tercer nivel– Cuarto nivel
» Quinto nivel
15
Funciones
Son subprogramas que devuelve un único resultado al programa principal
o subprograma que le llamó. A este tipo de funciones se les denomina
funciones definidas por el usuario. En Delphi tiene un formato similar al
de un procedimiento:
Objetivos 6, 7: Identificar módulos y construir subprogramas con lista de parámetros.
Haga clic para cambiar el estilo de título
• Haga clic para modificar el estilo de texto del patrón– Segundo nivel
• Tercer nivel– Cuarto nivel
» Quinto nivel
16
Funciones
(lista de parámetros formales) tiene la
siguiente forma: PF1,PF2,...: tipo-p
tipo-p es el tipo de los parámetros
FUNCTION es la palabra reservada
que se utiliza para declarar la función.
nombrefun es un identificador válido
que representa el nombre de la
función.
tipo es el tipo del dato del resultado
que devuelve la función, o sea tipo del
valor devuelto (tipo de nombrefun).
Igual que en los procedimientos
Objetivos 6, 7: Identificar módulos y construir subprogramas con lista de parámetros.
Haga clic para cambiar el estilo de título
• Haga clic para modificar el estilo de texto del patrón– Segundo nivel
• Tercer nivel– Cuarto nivel
» Quinto nivel
17
Funciones
En las funciones no existen parámetros variable (VAR) dado que el
resultado de la evaluación del subprograma function se devuelve o está
contenido en su nombre (nombrefun).
NOTAS GENERALES:
• Los arreglos se pueden usar como parámetros en funciones y procedimientos, pero el valor de una función no puede ser arreglo (ARRAY).
• Es mejor pasar el arreglo completo que como elementos individuales, aunque de ambas maneras puede ser realizado.
• Los arreglos como parámetros pueden ser valor o variable: cuando se usan como variable el procedimiento trabaja directamente con el arreglo actual (real). Cuando se usan como parámetro valor el procedimiento trabaja con una copia local y cualquier cambio que se haga en el arreglo local no se refleja en el arreglo real.
Objetivos 6, 7: Identificar módulos y construir subprogramas con lista de parámetros.
Haga clic para cambiar el estilo de título
• Haga clic para modificar el estilo de texto del patrón– Segundo nivel
• Tercer nivel– Cuarto nivel
» Quinto nivel
18
Comparación entre Funciones y Procedimientos
Objetivos 6, 7: Identificar módulos y construir subprogramas con lista de parámetros.
Haga clic para cambiar el estilo de título
• Haga clic para modificar el estilo de texto del patrón– Segundo nivel
• Tercer nivel– Cuarto nivel
» Quinto nivel
19
Repaso
Objetivos 6, 7: Identificar módulos y construir subprogramas con lista de parámetros.
Resuelva el siguiente caso:
Caso 1: Se quiere enviar como parámetros las variables a, b y c
correspondientes a la ecuación de segundo grado, y obtener el resultado
pertinente. ¿Qué se bebe usar una function o un procedure?
Respuesta:
UN PROCEDURE
Ya que la ecuación de segundo grado retorna dos raíces como resultado.
Recuerde que las FUNCTION devuelve un solo valor.
Haga clic para cambiar el estilo de título
• Haga clic para modificar el estilo de texto del patrón– Segundo nivel
• Tercer nivel– Cuarto nivel
» Quinto nivel
20
Conceptos para la próxima clase
1. Datos estructurados.
2. Arreglos de memoria.
3. Arreglos unidimensionales.
4. Arreglos bidimensionales.
5. Elementos de los arreglos.
6. Índices de los arreglos.
Objetivos 6, 7: Identificar módulos y construir subprogramas con lista de parámetros.
Haga clic para cambiar el estilo de título
• Haga clic para modificar el estilo de texto del patrón– Segundo nivel
• Tercer nivel– Cuarto nivel
» Quinto nivel
21