adri5 Subprogramas
SUBPROGRAMAS
Elementos de Programación I
Contenido del Tema
TT
EE
M
M
A
A
55
5.1. Concepto. Tipos de par ámetros
5.1.1. Subprogramas como abstracción de operaciones
Aplicación del diseño descendente
5.1.2. Definición y llamada a subprogramas
Parámetros formales y reales
5.1.3. Paso de parámetros por valor y por referencia
5.1.4. Procedimientos y funciones
5.2. Ámbitos
5.2.1.Subprogramas anidados
5.2.2. Reglas de ámbito
5.2.3. Diseño modular
Elementos de Programación I
TT
EE
M
M
A
A
5.1. Subprogramas
Conceptos.
Tipos de parámetros
55
Elementos de Programación I
Subprogramas como
abstracción de operaciones
• Diseño descendente: Un problema se divide en
subproblemas para conseguir una resolución más sencilla.
• Pasos naturales para la subprogramación:
– Especificacióndetallada del problema
– Definición de subproblemas
– Asignar estos subproblemas a subalgoritmos
Elementos de Programación 4
Subprogramas como
abstracción de operaciones
Ejemplo : Leer una nota numérica e imprimir su calificación
Pasos:
• Especificación del problema
• Definición de subproblemas
Módulo
Principal
Obtener
Imprimir
Nota
calificación
Elementos de Programación 5
Subprogramas comoabstracción de operaciones
Elementos de Programación 6
Subprogramas como
abstracción de operaciones
• Asignar subproblemas a subalgoritmos
Subproblema
– Módulo principal
– Obtener nota
– Imprimir calificación
•
Subalgoritmo
Calificación
ObtenerNotaNumérica
ImprimirCalificación
Al código correspondiente al módulo raíz o principal le
llamaremos algoritmo principal y al código de cada uno de losrestantes módulos subalgoritmo
Elementos de Programación 7
Subprogramas como
abstracción de operaciones
Algoritmo principal:
Algoritmo Calificación
VAR
R nota
INICIO
ObtenerNotaNumérica
ImprimirCalificación
FIN
Elementos de Programación 8
Subprogramas como
abstracción de operaciones
• Algoritmo Obtener_nota_numérica :
Algoritmo ObtenerNotaNumérica
INICIO
REPETIR
Escribir("Introduzca la nota:")Leer(nota)
HASTA QUE (nota >= 0) && (nota <= 10)
FIN
Elementos de Programación 9
Subprogramas como
abstracción de operaciones
Algoritmo ImprimirCalificaci ón
INICIO
SI nota == 10 ENTONCES
Escribir("Matr ícula de Honor")
SINO
SI nota >= 9 ENTONCES
Escribir("Sobresaliente")
SINO
SI nota >= 7 ENTONCES
Escribir("Notable")
SINO
SI nota >= 5 ENTONCES
Escribir("Aprobado")
SINO
Escribir("Suspenso")FINSI
FINSI
FINSI
FINSI
FIN
Elementos de Programación 10
Subprogramas como
abstracción de operaciones
•
¿Qué utilidad tiene la subprogramación?
–
–
–
–
–
•
Descomponer la dificultad
Dividir el trabajo
Reutilización
Facilidad de modificación.
Legibilidad
Pero el código del ejemplo no es totalmente reutilizable.
Deberíamos hacer uso del concepto de llamada.
Elementos de Programación 11Definición y llamada a
subprogramas.
El algoritmo A llama al B
A
1
B
La instrucción de llamada 1 provoca la ejecución del
algoritmo B sobre los valores que le indiquemos.
Al acabar el algoritmo B, puede que nos devuelva unos
resultados
Elementos de Programación 12
Definición y llamada a
subprogramas.
• La llamada a un subprograma se realiza escribiendo el nombre del
mismo, seguido de las expresionessobre las que queremos que trabaje.
• De esta forma se crea una vía de comunicación entre la instrucción de
llamada y el algoritmo llamado, facilitando el intercambio de info entre
ellos.
• Pseudolenguaje :
– Llamada:
identificador ( parámetros )
– Definición del
– subprograma:
Algoritmo [TIPO] identificador (parámetros)
declaraciones
INICIO
sentencias
FIN identificador
Elementos de Programación13
Parámetros reales y formales
•
Como la ejecución de un algoritmo puede depender de algún valor, lo
normal es que se le pase en la llamada. Para esto están los parámetros
•
En la cabecera de la definición de un subalgoritmo aparecerán los
par ámetros formales
Algoritmo [TIPO] nombre ( parámetros formales )
•
En la llamada al subalgoritmo estarán los par ámetros reales (o
actuales), que...
Regístrate para leer el documento completo.