Está en la página 1de 7

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD

ESCUELA DE CIENCIAS BASICAS TECNOLOGIA E INGENIERA


CONTENIDO DIDCTICO DEL CUSO: 301303 ALGORITMO

SUBPROGRAMA O MODULO
Introduccin
Hay una expresin que dice Divide y Vencers, precisamente los mdulos lo que
permiten es dividir los programas grades, en fragmentos pequeos.

Un subprograma o modulo es un trozo de cdigo que tiene


Entradas
Salidas
Instrucciones
Es otro programa prendido al programa principal

Funciones
Una funcin se considera como un subprograma puede ser utilizado por el
programa principal o por otros subprogramas
Al dividir un programa en mdulos este permite

Permite mayores niveles de abstraccin, por ende capacidad de abordar


problemas ms complejos
Disear programas ms claros, y por ende ms fciles de mantener
Permite la reutilizacin de cdigo, y por ende evita duplicidad de trabajo y
aumenta productividad
La deteccin de errores y correccin se hace fcil.
Puesto que nuestra herramienta de programacin va a ser el lenguaje C# se har
una introduccin al uso de de funciones aunque este tema ser estudiado en
profundidad en el curso de introduccin a la programacin
En esquema un programa dividido en mdulos ser:

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD


ESCUELA DE CIENCIAS BASICAS TECNOLOGIA E INGENIERA
CONTENIDO DIDCTICO DEL CUSO: 301303 ALGORITMO

Programa
Principal

Retorna informacin

Enva
datos
Modulo

Modulo

Interacta entre
mdulos

Solicita Informacin

Otro
Programa

Modulo

Retorna
informacin

Figura1: Funciones

Como se puede apreciar en la anterior grafica, se debe crear un programa


principal que haga el llamado a cada una de las funciones que este necesite y a su
vez un modulo o funcin puede llamar a otro. Es de destacar que en algunos
casos de la figura se puede apreciar que existen flechas en doble sentido es decir
se enva informacin de un lado o del programa principal y este enva informacin
de retorno.

Leccin 12: procedimientos


A pesar que muchos de los lenguajes de programacin o ara ser mas exactos
todos aquellos derivados de C o C++, emplean solamente funciones, existen otros
que tambin pueden utilizar procedimientos, la diferencia esencial entre una
funcin y un procedimiento radica en que este ltimo es un subprograma que
realiza una o varias tarea especficas y Puede recibir cero o mas valores del
programa que llama y devolver cero o mas valores a dicho programa, en el caso
de una funcin, esta puede recibir varios argumentos o valores y retornar cero o
mximo un valor.
La declaracin de de los procedimientos es similar a las funciones
Procedimiento nombre (lista de parmetros)
Instrucciones

Fin procedimiento

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD


ESCUELA DE CIENCIAS BASICAS TECNOLOGIA E INGENIERA
CONTENIDO DIDCTICO DEL CUSO: 301303 ALGORITMO

Los parmetros tienen el mismo significado que en las funciones


En ambos casos es importante tener en cuenta la forma de pasar los datos, que
pueden ser por valor o por referencia

Paso de parmetros por valor


El paso de parmetros por valor es el ms utilizado por los lenguajes de
programacin, la gran ventaja de esto es que los valores se transforma en
variables para ser trabajadas en los procedimiento o funciones, por ejemplo los
valores 5,41 y 2 se transforman en X,Y,Z respectivamente cuando se ejecuta el
procedimiento, en este sentido es de desatacar que los cambios que se produzcan
dentro de la funcin invocada, esta no tiene cambio directo en los argumentos
originales
Ejemplo
A=5, b=7;
Llamar a funcin suma (a, 20, b*2+6)
Funcin suma (R entero: X, Y ,Z)
Entonces la variable X toma el valor de a (5)
La variable Y toma el valor de 20
Y la variable Z toma el valor de 20 (7*2+6)
Y todo lo que se haga dentro de la funcin suma no afectara para nada las
variables A,B

Paso De Parmetros Por Referencia


Para el caso de los parmetros por referencia, esta caracterstica existe tambin
en muchos de los lenguajes que manejan memoria dinmica, la caracterstica de
este radica en la idea lgica de las variable tienen una posicin de memoria
asignada desde la cual se puede asesar o actualizar los valores para este caso los
parmetros se denominan parmetros variables.
La definicin de los procedimientos se realiza de acuerdo al lenguaje de
programacin, para el caso de los algoritmos, tambin se hace una definicin
previa en la cabecera y luego su construccin al final del programa principal

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD


ESCUELA DE CIENCIAS BASICAS TECNOLOGIA E INGENIERA
CONTENIDO DIDCTICO DEL CUSO: 301303 ALGORITMO

Leccin 15: Construccin de un proyecto


Para comprende mejor el concepto, lo realizaremos a travs de
prctico

un ejemplo,

Ejercicio:
Realizar un algoritmo que mediante un men, permita realizar la cuatro
operaciones bsicas, suma, resta, divisin y multiplicacin, terminando,
permitiendo salir con el nmero 0.

Anlisis
1.- ya sabemos cmo se hacen cada una de las operaciones,
2.-sabemos cmo se comportan los ciclos

Men principal

3.-manos a la obra con funciones


Se pide un men1

1....Suma
2....Resta
3....Divisin
4....Multiplicacin

Solucin

0....Salir

1 Algoritmo men
2 Var
3 dato1, dato2, op: entero;
4 inicio
5 op=1;
1

Men: Serie de opciones de donde se debe tomar una para realizar una accin

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD


ESCUELA DE CIENCIAS BASICAS TECNOLOGIA E INGENIERA
CONTENIDO DIDCTICO DEL CUSO: 301303 ALGORITMO

6 Mientras (op<>0)
7

Escriba (1...Suma);

Escriba (2....Resta);

Escriba (3....Divisin);

10

Escriba (4....Multiplicacin)

11

Escriba (0....Salir)

12

Lea (op);

13

Si (op=1)

14

Escriba (Entre el primer numero);

15

Lea (dato1);

16

Escriba (Entre el segundo nmero);

17

Lea (dato2);

18

Escriba (El resultado de la suma es, suma

19

Fin _ si

20

Si (op=2)

21

Escriba (Entre el primer numero);

22

Lea (dato1);

23

Escriba (Entre el segundo nmero);

24

Lea (dato2);

25
26

Llamado a la
funcin suma, a la
cual se le pasan
dos parmetros

(dato1, dato2);
El resultado
viene en el
nombre de la
funcin y se
imprime de
unas ves

Escriba (El resultado de la resta es, resta (dato1, dato2);


Fin _ si

27

Si (op=3)

28

Escriba (Entre el primer numero);

29

Lea (dato1);

30

Escriba (Entre el segundo nmero);

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD


ESCUELA DE CIENCIAS BASICAS TECNOLOGIA E INGENIERA
CONTENIDO DIDCTICO DEL CUSO: 301303 ALGORITMO

31

Lea (dato2);

32

Escriba (El resultado de la divisin es, div(dato1,dato2);

33

Fin _ si

34

Si (op=4)

35

Escriba (Entre el primer numero);

36

Lea (dato1);

37

Escriba (Entre el segundo nmero);

38

Lea (dato2);

39

Escriba (El resultado de la multiplicacin es, mult (dato1, dato2);

40

Fin _ si

41

Fin _ mientras

42 Fin
43 Entero funcin Suma (entero: dato1, dato2)
44 Var
45 Respuesta: entero;
46 Inicio
47

Respuesta= (dato1+dato2);

48

Devolver (respuesta);

Se crea la funcin suma, esta es de tipo


entero por que devuelve, un valor
entero; recibe 2 datos, tambin de tipo
entero que son los que se envan del
programa principal, estos pueden tener
o no el mismo nombre

49 Fin.
50 Entero funcin resta (entero: dato1, dato2)
51 Var
52 Respuesta: entero;
53 Inicio
54

Respuesta= (dato1-dato2);

55

Devolver (respuesta);

Retorna la respuesta al
programa principal

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD


ESCUELA DE CIENCIAS BASICAS TECNOLOGIA E INGENIERA
CONTENIDO DIDCTICO DEL CUSO: 301303 ALGORITMO

56 Fin.
57 Entero funcin div (entero: dato1, dato2)
58 Var
59 Respuesta: entero;
60 Inicio
61 Respuesta= (dato1 div dato2);
62

Devolver (respuesta);

63 Fin.
64 Entero funcin Mult (entero: dato1, dato2)
65 Var
66 Respuesta: entero;
67 Inicio
68 Respuesta= (dato1 * dato2);
69 Devolver (respuesta);
70 Fin.
Notas finales
1.-Nota importante: hay dos tipos de paso de parmetros entre el programa y las
funciones o entre las funciones: por parmetro o por valor
2.-Nota: en muchos lenguajes de programacin existen
funciones y
procedimientos, invitamos a los estudiantes a que profundicen ms en estos
conceptos, mediante consulta en biblioteca o en sitios web

También podría gustarte