8
Maestro

Funciones y procedimientos - Gabriel y Ronald

Embed Size (px)

DESCRIPTION

 

Citation preview

Maestro

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.

Maestro