Anda di halaman 1dari 33

+

Conceptos
bsicos de
Programacin

Subprogra
mas
Programacin I
Hctor Ral Zeledn Hernndez

+
Definicin
Llamados
tambin
subalgoritmos
o
subrutinas,
dentro
del
paradigma
de
programacin imperativo son
porciones de cdigo que se
encuentra fuera del bloque del
programa principal y que realiza
una tarea especifica,
y que
pueden ser invocados desde
diferentes
partes
de
un
programa
en
muchas
ocasiones.
Hctor Zeledn.

+
Caractersticas
Segn Sebesta (2010):

1.

Cada subprograma posee un nico punto de


entrada.

2.

La unidad que realiza la llamada suspende su


ejecucin durante el llamado al subprograma, lo
que implica que solo puede ejecutarse un
subprograma a la vez.

3.

El control siempre
subprograma.

retorna

al

invocador

del

+
Caractersticas
1. Cada subprograma posee un nico punto de
entrada.
subprograma

Para acceder a un subprograma,


este debe invocarse a travs de
un identificador definido por el
programador.

+
Caractersticas
2. La unidad que realiza la llamada suspende
su
ejecucin
durante
el
llamado
al
subprograma, lo que implica que solo puede
ejecutarse un subprograma a la vez.
Programa Principal

Subprograma

+
Caractersticas
El

control siempre retorna al invocador del


subprograma.
Programa Principal

Subprograma 1

Subprograma 2

+
Ventajas
Segn Guerrero Conde (2009):

Cada subprograma se disea para realizar una


tarea especifica que se puede utilizar en la
resolucin de diferentes problemas similares.

Cada subprograma se construye una nica vez y


puede ser invocado las veces que
sea necesario desde el
programa principal u
otros subprogramas.

+
Ventajas
Segn Guerrero Conde (2009):

Es posible construir mdulos o libreras,


repositorios de subprogramas que pueden
utilizarse en diferentes aplicaciones.

Optimizan el uso de memoria de


computadora al utilizar variables locales.
Funcin
Funcin
Funcin
Funcin

1
2
3
4

la

+
Clasificacin
Los subprogramas pueden clasificarse en:

Funcin.
Procedimiento.

Es necesario destacar que no todos los lenguajes


de programacin incluyen ambos tipos de
subprogramas de manera explicita.

+
Clasificacin
Funciones.
Tipo de subprograma que
recibe uno o varios datos del
exterior,
denominados
parmetros,
realiza
operaciones sobre esos datos y
retorna un nico valor como
resultado.

Dat
o

Dat
o
Dat
o

Resultado

+
Clasificacin
Procedimientos.
Tipo de subprograma que
puede o no recibir valores y
puede o no retornar uno o
muchos
valores
como
resultado.

+
Estructura
La estructura de los subprogramas es la
siguiente:
Protocolo
Cuerpo
Retorno
Cierre

de subprograma (Encabezado).

de subprograma (Sentencias).
de valor (En caso de las funciones).

del Subprograma.

+
Estructura
Protocolo

de subprograma (Encabezado), este

esta compuesto por:

a.

Tipo de subprograma.

b.

Identificador del Subprograma.

c.

Perfil de parmetros.

d.

Tipo de retorno. (Solo para funciones)

+
Estructura
Protocolo

de subprograma (Encabezado), este

esta compuesto por:

a.

Tipo de subprograma.
Identifica si el programa es una funcin o
procedimiento

+
Estructura
Protocolo

de subprograma (Encabezado), este

esta compuesto por:

b.

Identificador del Subprograma


Su funcin es identificar de manera inequvoca
el

subprograma,

para

designarlo

debe

utilizarse las reglas para definicin de nombres


de variables.

+
Estructura

Protocolo de subprograma (Encabezado), este esta


compuesto por:
c.

Perfil de parmetros.
Listado de variables y sus respectivos tipos de
datos, los cuales son necesarios para el
subprograma
realice los procedimientos definidos por el
programador.

+
Estructura
Protocolo

de subprograma (Encabezado), este

esta compuesto por:

d.

Tipo de retorno. (Solo para funciones)


Tipo de dato el cual retornar
como resultado la funcin.

+
Estructura
Protocolo

de subprograma (Encabezado).

Ejemplo (Visual Basic):


Tipo de
Retorno

Identificador

Function potencia (ByVal base as integer, ByVal potencia as integer)


as integer
Tipo de
Subprograma

Perfil de Parmetros

+
Estructura
Protocolo

de subprograma (Encabezado).

Ejemplo (Visual Basic):


Identificador
Sub leerMatriz

Tipo de
Subprograma

(ByVal base as integer, ByVal potencia as integer)

Perfil de Parmetros

+
Estructura
Cuerpo

de subprograma (Sentencias).

Lneas de cdigo que realizan las


operaciones definidas por el
programador.

+
Estructura
Retorno

de valor (En caso de las funciones).

Sentencia en la cual se devuelve un valor al invocador


del subprograma, en Visual Basic.Net:
Return Valor_a_retornar
Nota: El valor a retornar puede encontrase
en una variable.

+
Estructura
Cierre

del Subprograma.

Sentencia

que

define

la

finalizacin

subprograma, en Visual Basic.Net


En funciones: End Function
En Procedimientos: End sub

del

+
Estructura
Protocolo (Encabezado)
Function potencia (ByVal base as integer, ByVal potencia as
integer) as integer
Dim i, resultado as integer
For i = 1 to potencia

Cuerpo de Subprograma

resultado *= base
Next

Retorno de valor (solo en funciones)

Return resultado
Cierre de Subprograma
End Function

+
Parmetros
Existen dos formas en la cual un subprograma puede
acceder a datos:

Acceder directamente a variables no locales, que


pueden

ser

declaradas

en

cualquier

parte

del

programa siempre y cuando sean visibles para el


subprograma.

Realizar un paso de parmetros al subprograma.

+
Parmetros
Es importante tener en cuenta que el acceso
extendido a variables no locales dentro de un
subprograma pude reducir la confiabilidad.
Por otra parte el paso de parmetros brinda mayor
flexibilidad en el manejo de los datos que el uso de
variables no locales.

+
Parmetros
Existen diversos mtodos para realizar el paso de
parmetros, para efectos prcticos nos centraremos
en dos:

Paso por Valor.

Paso por Referencia.

+
Parmetros

Paso por Valor.


Cuando un parmetro es asignado por valor, se
crea una copia del valor en una nueva variable
local del subprograma, esto implica que los
cambios realizados al parmetro no afectaran de
ningn modo
al valor con que se invoco el subprograma.

+
Parmetros

Paso por Valor.


Para realizar un paso por valor en Visual Basic.Net
debe incluirse la palabra reservada ByVal, por
ejemplo:
ByVal base as integer

+
Parmetros

Paso por Referencia.


Cuando un parmetro es asignado por
referencia, el lenguaje de programacin,
utiliza

la

direccin

de

memoria

del

parmetro, por ello los cambios realizados


en los datos del parmetro se mantendrn
visibles

en

subprograma.

el

cdigo

que

invoco

al

+
Parmetros

Paso por Referencia.


Para realizar un paso por valor en Visual Basic.Net
debe incluirse la palabra reservada ByRef, por
ejemplo:
ByRef cadena as String

+
Ejemplo

Funcin, La siguiente funcin retorna true si un


valor es par:

Public Function par(ByVal num As Integer) As


Boolean
If (num Mod 2 = 0) Then
Return True
Else
Return False
End If
End Function

+
Ejemplo

Procedimiento, el siguiente procedimiento muestra en


pantalla el contenido de una matriz:

Sub mostrarMatriz(ByVal matriz(,) As Integer)


Dim fila, columna As Integer
For fila = 1 To UBound(matriz, 1)
For columna = 1 To UBound(matriz, 2)
Console.Write(matriz(fila, columna) & ", ")
Next
Console.WriteLine()
Next
End Sub

+
Referencias

Sebesta, Robert W. (2010) Concepts of


Programming Languages. (9 Edicin). PEARSON

Guerrero Conde, H. E. (2009). La Culpa es del


Programmer Versin 1.0.

Anda mungkin juga menyukai