Upload
gabriel-colmenares
View
227
Download
1
Embed Size (px)
DESCRIPTION
Â
Citation preview
Autores:
Gabriel Colmenares
Rojas Ronald
Referencias:
http://www.programacion
facil.com/pascal/funciones
http://www.programacion
facil.com/pascal/procedimi
entos
Editorial:
Maestro
Maestro
Inicialmente cuando hablamos de Funciones y
Procedimientos nos referimos a una serie de
parámetros que debemos de aplicar en un lenguaje de
consultas para adquirir una información específica
filtrada ya sea una inserción, borrado o una simple
consulta de datos desde una base de datos.
Un procedimiento es una porción de código dentro
de un programa más grande, que realiza una tarea
específica y es relativamente independiente del
resto del código.
Los procedimientos suelen utilizarse para reducir la
duplicación de códigos en un programa, permitir
reusar los códigos, descomponer problemas
complejos en piezas simples (mejorando la
mantenibilidad y facilidad de extensión del código),
mejora la lectura del código de un programa, oculta
o regula parte de un programa, etc.
Los procedimientos son ejecutados cuando son
llamados desde otros procedimientos, funciones o
módulos. Los procedimientos pueden recibir
parámetros, pero no necesitan devolver un valor
como las funciones.
Una función es un conjunto de líneas de código que
realizan una tarea específica y puede retornar un
valor. Las funciones pueden tomar parámetros que
modifiquen su funcionamiento. Las funciones son
utilizadas para descomponer grandes problemas en
tareas simples y para implementar operaciones que
son comúnmente utilizadas durante un programa y de
esta manera reducir la cantidad de código. Cuando
una función es invocada se le pasa el control a la
misma, una vez que esta finalizó con su tarea el
control es devuelto al punto desde el cual la función
fue llamada.
Los procedimientos se
podrán escribir después
del cuerpo principal del
programa utilizando el
formato:
procedure nombre;
const
(* Constantes *)
var
(* Variables *)
begin
(* instrucciones *)
end;
Observar que es similar a un
programa completo y se declara en la
parte de arriba después del USES.
Pero también los procedimientos
deberán declararse antes del main
como lo muestra el programa
ejemplo.
Un programa puede tener tantos
procedimientos como se deseen para
hacer una llamada o invocación al
procedimiento durante la ejecución
de un programa solo se deberá
escribir el nombre del procedimiento. program prog9;
uses crt;
procedure edadmeses;
var
edad,meses:integer;
begin
clrscr;
write('dame edad
:');readln(edad);
meses:=edad*12;
write('meses = ',meses);
readln;
end;
begin
(* invocando procedimiento *)
edadmeses;
end.
La forma general de una
función es:
Function
NomFuncion(parametros):
tipodatoregresa;
Begin
Instrucciones;
End;
Donde tipodato especifica el
tipo de dato que regresara la
función.
Y el NomFuncion tiene dos
papeles en pascal:
A) Es el nombre que se
invocara dentro del principal o
de algún procedimiento u otra
función.
B) Es también una variable que
deberá cargarse dentro del
cuerpo de instrucciones (begin
..end) para que pueda regresar el
dato o resultado al principal o
procedimiento o función que la
esté invocando.
La lista de parámetros formales
es una lista de variables
separadas por punto y coma ( ;)
que almacenaran los valores que
reciba la función, estas variables
actúan como locales dentro del
cuerpo de la función.
Recordar además que cuando se
llame una función deberá haber
una variable que reciba el valor
que regresara la función, es
decir generalmente se llama una
función mediante una sentencia
de asignación, por ejemplo
resultado=funcion(5, 3.1416)
program prog11;
uses crt;
var
dolar:real;
FUNCTION
dolares(pesos,tc:real):real;
begin
dolares := pesos /tc;
end;
begin
clrscr;
(* llamando funcion y
cargando resultado *)
dolar := dolares(123.45 ,
11.25);
write('SON ',dolar:0:2, '
DOLARES');
readln;
end.
- Las funciones sólo pueden
retornar un único valor, los
procedimientos más de uno.
- Las funciones sólo aceptan
parámetros de entrada. Los
procedimientos aceptan tanto
parámetros de entrada como
de entrada/salida.
- Los procedimientos pueden
contener otras subrutinas. Las
funciones no.
- Los procedimientos son
autónomos. Las funciones no.
- Una función debe especificar
el tipo de dato a devolver. Los
procedimientos no.
- Ambos tipos de subrutinas son
definidas por el usuario (el
programador).
- Ambos tipos pueden definirse
para que acepten argumentos
(parámetros).
- Ambos tipos pueden
invocarse de diversas formas
para su ejecución y desde
varios puntos dentro del
programa principal.
- Ambos tipos pueden retornar
resultados al punto de
llamada.
- Ambos tipos pueden
agruparse en librerías de
subrutinas que otros
programas pueden incluir.
Las variables locales sólo
existen dentro de una función,
una sección del código del
programa que realiza una tarea
específica, en la que se definen
o declaran. Dejan de existir una
vez que la función es ejecutada.
Las variables locales se vuelven
a crear cada vez que la función
es llamada, o ejecutada. Estas
variables no son accesibles para
otras funciones o para el
programa principal y, como tal,
por lo general están
implementados utilizando un
tipo especial de estructura de
datos, conocido como pila.
Las variables globales son
declaradas en el cuerpo
principal del código fuente del
programa, fuera de todas las
funciones, y por lo tanto existen
en cualquier parte del código,
incluso dentro de las funciones.
Las variables globales no se
vuelven a crear cada vez que
una función en particular es
llamada. Los programas suelen
utilizar variables globales para
almacenar datos que son
procesados por muchas
funciones diferentes. Un
programa de edición de texto
simple, por ejemplo, puede
cargar el contenido del archivo
en que se está trabajando en una
variable global.
Las variables locales hacen que
los programas de computadora
sean más fáciles de depurar y
mantener. Los programadores
pueden determinar el punto
exacto en el que un programa
modifica el valor de una variable
local, mientras que las variables
globales pueden ser modificadas
en cualquier lugar dentro del
código fuente. Las variables
locales también producen menos
interacciones inesperadas con
llamadas a funciones, o el mundo
exterior, conocidas como efectos
secundarios, que las variables
globales. Las variables globales
son accesibles en funciones en
las que no son utilizadas, en
contradicción con el concepto
de programación modular, en el
que el código del programa se
compone de bloques o módulos
pequeños aislados, por lo que
los programadores que
favorecen la estructura modular
rara vez las utilizan.