Está en la página 1de 8

DFD, clase13 – llamadas a funciones / subprogramas

Posted on 30 enero 2010 by Eddy Perdomo

Hola a todos/as,

Bien retomando un poco las clases de DFD por comentarios y por necesidad de que se
encuentre un material bueno sobre las funciones en DFD porque hay informacion en internet
pero muchas veces no llegamos a entenderla bien, me propuse a hacer una entrada sobre éste
contenido en DFD las funciones.

¿ Qué es una función ?

Una funcion es por decir un programa / subprograma que hace alguna operacion en especial
pero a su vez no es independiente, y por ello puede ser llamado en momentos determinados
por el programa principal para que realize una operacion que necesite el programa en dicho
momento. Por ejemplo:

Tenemos un programa que quiere calcular la suma de dos numeros, bien como ya sabemos
simplemente declaramos las variables en éste caso n1 y n2 para los numeros y respuesta para
que ahi se almacene la suma de ambos. Pero eso es haciendolo sin funciones ( normal ), la
novedad de las funciones es que el programa principal por ejemplo solo va a pedir los datos y
nuestra funcion ( subprograma ) va a hacer la operacion, es deicr que el subprograma se va a
encargar de hacer la suma de ambos numeros ingresados en el programa principal, y el
resultado será el mismo como si lo hubieramos hecho de la manera normal.

¿ Cómo sé cual es el programa principal ?

Simple, en los lenguajes de programacion mas avanzados como C++ ( del cual tambien
hablamos en mi blog ). El programa principal se define como:

main ( )

}
Y esta delimitado por esas llaves que indican donde comienza y donde termina el programa
principal. Bien pero en DFD nuestro programa principal será siempre aquel que comienze con:

inicio

fin

Y para mas claridad es el que siempre hemos venido usando ( ya que no hemos trabajado con
funciones / subprogramas ), es éste:

Ampliar imagen

¿ Cómo se cual es un subprograma / funcion ?

Bien, primero hay que saber como identificarlo entre los otros simbolos que tenemos para
realizar un algoritmo. Para ello por favor ingresen a ver la entrada: DFD – simbolos [ AQUI ]

REPORT THIS AD

Ahi veran que los simbolos que tenemos para hacer un subprograma / funcion y el simbolo
para llamar a la funcion / subprograma son parecidos, la diferencia es que el subprograma
tiene debajo un RETURN, eso significa que va a retornar valores a la funcion principal o de
donde haya sido llamado. Mientras que el simbolo de llamada al subprograma solo posee un
simbolo ( parecido al del ciclo para.. ), pero la diferencia está en lo que hace, para saber que
hace cada quien se debe abrir el simbolo, pueden hacerlo con doble click sobre el simbolo una
vez colocado en el algoritmo.

Las ventanas que tenemos son las siguientes:

a) Para el subprograma:
Ampliar imagen

Nota: el icono para crear un subprograma se encuentra aqui:

Ampliar imagen

b) Para la llamada al subprograma:

Ampliar imagen

Nota: el icono de llamada a un subprograma se encuentra aqui:

Ampliar imagen

Bien, ahora que tenemos las ventanas de cada una vamos a analizarlas para ver que
parametros necesitan para funcionar y como llenar sus campos para que funcione
correctamente, vamos con la primera:

La ventana del subprograma ( la imagen [a] de arriba ), tiene los siguientes campos:

– Nombre del subprograma: Aqui se coloca el nombre que le queramos poner a nuestro
subprograma / funcion, si suponemos el caso del que hablaba arriba de la suma de dos
numeros, por ejemplo podriamos llamarlo “suma” ( sin las comillas ) y nuestro subprorgama se
llamaria: suma.

– Parametros: Aqui ponemos las variables que va a recibir el subprograma / funcion, asi mismo
si ponemos como ejemplo al que dije de los dos numeros nosotros en el programa principal (
que ya sabemos que es el que tiene: inicio – fin como vimos arriba ), tendriamos tres variables
n1 , n2 y respuesta como recuerdan que eran nuestros numeros y la variable donde se
almacenaria la suma de ellos, y bien como queremos que haye la suma de los dos numeros,
pues le mandamos como parametros los numeros y la variable donde guardará su suma osea
repsuesta ( es como mandarle paquetes, le mandamos las variables con las que queremos que
haga lo que tenga que hacer, en éste caso una suma ), y no olvidarse que cada parametro
enviado debe ser separado con una coma ( , ).
– Descripcion: Solo sirve para poner como un comentario de lo que realizará la funcion que
creamos o estamos por crear, llenarlo es opcional.

Suponiendo todo lo anterior tomado como un ejercicio nuestro subprograma quedaria de ésta
manera:

Ampliar imagen

Ahora con la segunda, la “llamda a subprograma” ( la imagen [b] de arriba ), como su nombre
indica sirve para llamar a una funcion / subprograma ya hecho, en nuestro caso llamariamos a
nuestro subprograma suma, el cual lo llamamos para que haga su funcion ( que seria calcular
respuesta = n1 + n2 ).

Asi mismo la “llamada al subprograma” tiene una ventana con datos para llenar, vamos a
revisarlos a continuacion:

– Nombre del subprograma: Aqui ponemos el nombre del subprograma / funcion que
creamos, osea “suma“. Debe ser escrito tal y cual como se lo creó pues no es lo mismo las
funciones: Suma, sUma, suMa, sumA … a la funcion: suma, porque las otras no existen no las
hemos creado. Debe ser tal cual se creo con ese nombre, respetando mayusculas y minusculas.

– Argumentos: Como puedieron ver el subprograma tiene la seccion “Parametros” que la


vimos arriba, y deciamos que ahi van las variables que va a recibir el subprograma para hacer
lo suyo, acá en la “llamada al subprorgama” como podemos ver para llamarlo primero se debe
poner el nombre y luego los argumentos y bien los argumentos son las variables que va a
recibir el subprorgama, nosotros le vamos a mandar el n1, n2 , respuesta.

Asi mismo, tomando lo anterior como un ejercicio nuestra llamada al subprorgama suma,
quedaria de ésta manera:

Ampliar imagen

Bien, con eso ya sabemos como funcionan los subprogramas ó funciones y la llamada a
subprogramas ó llamada a funciones. Pero para que quede más claro haré ese ejercicio el cual
inventé para explicar ésta clase. Vamos a ello:
NOTA: debido que ésta clase la realize despues de haber terminado las clases oficiales de DFD,
y solo se ha aumentado la [ miscelanea de ejercicios ] con ejercicios muchas veces propuestos
por ustedes, el ejemplo que haré a continuacion quedará como siguiente a la miscelanea, por
lo tanto será el numero 42 segun la lista de ejercicios resueltos 😉

42.) Hacer un Algoritmo que haye la suma de dos numeros usando funciones, cree una funcion
que calcule la suma y muestre el resultado en pantalla.

– Abrimos el programa DFD

– Colocamos un mensaje de que trata el algoritmo

Ampliar imagen

– Declaramos las variables que usaremos, en éste caso 3 variables:

n1 = primer numero que ingresará el usuario/a.

n2 = segundo numero que ingresará el usuario/a.

respuesta = donde se almacenará la suma de n1 con n2.

Ampliar imagen

– Ahora pedimos los numeros con su respectivo mensaje asi:

Ampliar imagen

Ampliar imagen

Ampliar imagen
Ampliar imagen

– Una vez pedidos los numeros y que los haya ingresado el usuario, vamos a crear nuestro
subprorgama / funcion, la cual hará la suma de n1 y n2. Como habiamos dicho en las
explicaciones previas a éste ejercicio le pondremos como nomobre: suma.

– Para crear el subprograma ya sabemos como ubicarlo y ya sabemos como se ve ( ambas


cosas las vimos arriba en las explicaciones ), por lo tanto solo le damos click en la barra de
herramientas donde vimos que estaba el boton para crear un subprograma ( AQUI ) y nos lleva
directamente a una nueva ventana que es ésta:

Ampliar imagen

– Ya que éste va a ser nuestro subprograma / funcion, pues vamos a hacer lo que habiamos
indicado antes, darle doble click y llenar sus parametros para que funcione debidamente. Asi:

Ampliar imagen

– Bien, como ya tenemos nuestra funcion con los parametros que habiamos dicho que iba a
recibir, es decir n1,n2,respuesta. Solo nos queda calcular la suma de n1 con n2, para ello
usamos como ya sabemos el simbolo de asignacion y le asignamos a respuesta la suma de n1
con n2. Asi:

Ampliar imagen

– Ahora como pudimos ver ya hemos hecho nuestro subprograma / funcion que va a realizar la
suma de los dos numeros, y retornará un valor que será respuesta. Esa variable respuesta es lo
que vamos a mostrar en nuestro programa principal. Asi que regresemos a nuestro programa
principal.

Nota: para moverse entre las funcines que vayamos creando se pueden usar los botones que
ven a continuacion:

REPORT THIS AD
Ampliar imagen

– Ahora que estamos en nuestro programa principal debemos llamar al subprograma suma
para que cuando el algoritmo se ejecute, vaya linea por linea asi:

1.) inicio

2.) muestra mensaje

3.) pide primer numero

4.) pide segundo numero

5.) llama al subprograma / funcion: “suma“

6.) el subprograma “suma” hace lo suyo ( sumar n1 con n2 y devolver la respuesta a dicha
operacion en la variable: respuesta )

7.) el programa principal recibe esa respuesta

8.) el programa principal la muestra en pantalla.

9.) fin

– Para llamarlo ya sabemos como hacerlo, vamos a la barra de herramientas y colocamos su


simbolo en nuestro programa principal, por si no recuerdan el simbolo era [ éste ] y lo vimos
arriba. Una vez insertado debemos darle doble click como habiamos visto y llenar sus partes,
asi:

Ampliar imagen
– Bien ese seria nuestro paso ( 5 ) si lo vemos como decia mas arriba, ya que ahi estamos
llamando al subprograma suma para que haga lo suyo.

– Una vez que el subprograma se completó satisfactoriamente, nos devolverá ( return ) la


respuesta que calculamos ahi, esa respuesta la recibe nuestro programa principal pues ahi fue
declarada desde el comienzo, recuerden al inicio del programa principal estan declaradas:

n1 = 0

n2 = 0

respuesta = 0

respuesta tuvo cero hasta antes de que se llame al subprograma, pues una vez que el
subprograma recibió como parametros los numeros, por ejemplo 1 y 2, calculará la suma y la
devolverá en la variable: respuesta que valia cero, entonces 1 + 2 = 3, por lo tanto respuesta en
nuestro programa principal tendra un valor de 3 en ése momento y ése valor es el que
tendremos que mostrar, asi:

Ampliar imagen

Con eso terminamos el programa, espero que les haya servido amigos/as y para cualquier
duda / comentario / sugerencia, siempre estoy por aqui dispuesto a darles una mano, saludos!

También podría gustarte