Programacion I
Programación MODULAR: Subalgoritmos - funciones y
procedimientos
Uno de los métodos fundamentales para resolver un problema es dividirlo en problemas
más pequeños, llamados subproblemas. Estos problemas pueden a su vez dividirse
repetidamente en problemas más pequeños hasta que los problemas sean de fácil
solución. Divide y vencerás… Cada subproblema es deseable que sea independiente de
los demás y se denomina módulo. El problema original se resuelve con un programa
principal (llamado también driver o main), y los subproblemas (módulos) mediante
subprogramas: procedimientos y funciones.
La resolución de un problema comienza con una descomposición modular y luego
nuevas descomposiciones de cada módulo en un proceso denominado refinamiento
sucesivo.
Los subproblemas o módulos se diseñan con subprogramas, que a su vez se clasifican
en procedimientos y funciones. Los procedimientos y funciones son unidades de
programas diseñados para ejecutar una tarea específica. Por ejemplo los procedimientos
predefinidos LEER y ESCRIBIR están diseñados para realizar operaciones de entrada
y salida de datos de un programa. El proceso de descomposición de un problema en
módulos se denomina modularización. Los procedimientos y funciones asisten a la
programación modular.
Las funciones, normalmente, devuelven un sólo valor a la unidad de programa
(programa que invoca a la función) que las referencia.
Los procedimientos pueden devolver cero, uno o varios valores. En el caso de no
devolver ningún valor, realiza alguna tarea tal como alguna operación de entrada
y/o salida. A un procedimiento no se le puede asignar valor, y por consiguiente
ningún tipo está asociado con el nombre del procedimiento.
Una función se referencia utilizando su nombre en una expresión, mientras que
un procedimiento se referencia por su llamada o invocación al mismo.
Funciones
Un subalgoritmo función es un subalgoritmo que recibiendo o no datos devuelve un
único resultado.
Una función es un objeto del ambiente, con nombre, tipo y valor único. El tipo se asocia
al valor que retorna la función cuando es evaluada para un conjunto dado de valores de
sus argumentos.
Función nombre (lista de parámetros formales): Tipo de resultado
Declaración de variables
Inicio
Acciones Devolver (constante, variable o expresión)
Fin función
Lista de parámetros formales: contiene las variables que pasan alguna información
necesaria para que la función ejecute el conjunto de acciones. Tipo de resultado: señala
el tipo de dato que devuelve la función. Declaración de variables: en este lugar se deben
declarar los parámetros formales y también aquellas variables que se usarán en la
función. Cuerpo de la función: lo constituye el conjunto de acciones a realizar por la
función. Retornar el resultado: el único resultado que devuelve la función puede ser un
valor constante, o una variable o una expresión válida, la cual debe colocarse entre
paréntesis al lado de la acción Devolver. Cuando se ejecuta esta acción se devuelve el
control del programa al lugar donde se ha llamado a la función.
Ejemplos:
1- Escribir el algoritmo que devuelva la suma de 2 números utilizando una
función
Funcion resultado <- suma ( v1, v2 )
resultado <- v1+v2
Fin Funcion
Algoritmo Programa_Principal
Escribir "Ingrese el primer valor:"
Leer Valor1
Escribir "Ingrese el segundo valor:"
Leer Valor2
//LLAMADA A LA FUNCION suma
r<- suma (Valor1, Valor2)
Escribir "La suma es:" r
FinAlgoritmo
Procedimientos
Un procedimiento o subrutina es un subalgoritmo que recibiendo o no datos permite
devolver varios resultados, un resultado o ninguno.
Un procedimiento está compuesto por un grupo de sentencias a las que asigna un
nombre (identificador o simplemente nombre del procedimiento) y constituye una
unidad de programa. La tarea asignada al procedimiento se ejecutará siempre que se
encuentre el identificador (nombre del procedimiento) en el conjunto de sentencias que
definen el programa.
Cómo trabajar con procedimientos?
Declaración de un procedimiento
Llamada a un procedimiento
Dónde escribir un procedimiento?
Transferencia de información a/desde procedimientos: parámetros
Ventajas de utilizar un procedimiento
Declaración de un procedimiento
La declaración de un procedimiento no indica a la computadora que ejecute las
instrucciones dadas, sino que indica a la computadora cuáles son estas instrucciones y
dónde están localizadas cuando sea necesario.
Formato 1
Subrutina nombre()
Declaración de variables
Inicio
Acciones
Fin subrutina
Formato 2
Subrutina nombre (lista de parámetros formales)
Declaración de variables
Inicio
Acciones
Fin subrutina