Pascal/Turbo Pascal - Como utilizar los procedures en Pascal

   
Vista:

Como utilizar los procedures en Pascal

Publicado por Arturo (1 intervención) el 11/04/2008 02:06:42
He querido usar "procedure" o procedimientos pero me dice "error in statement" cada vez que los declaro.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Como utilizar los procedures en Pascal

Publicado por elizabeth (15 intervenciones) el 11/04/2008 16:48:15
Definición de procedimiento
Un procedimiento es un grupo de sentencias que realizan una tarea concreta. En lugar de reescribir el código completo de esa tarea cada vez que se necesite, unicamente se hace una referencia al procedimiento.

Por ejemplo, es muy común que se quiera visualizar un título determinado varias veces en un programa, para evitar teclear ese título en nuestro programa fuente todas las veces que sea necesario creamos un procedimiento llamado "Titulo" que se encargará de escribirlo.

Una vez creado un procedimiento actuará como una instrucción más de Turbo Pascal, y para ejecutarlo unicamente teclearemos el nombre de dicho procedimiento.

Para poder ejecutar un procedimiento es necesario declararlo en el programa que se este utilizando.

Creación de los procedimientos
El primer paso para crear un procedimiento es saber que queremos que haga. Una vez definiendo este punto declaramos el procedimiento despues de haber declarado variables y constantes, antes del cuerpo del programa principal. La palabra reservada para su declaración es Procedure seguida del nombre del procedimiento. Vamos a crear un procedimiento encargado de escribir en pantalla el enunciado "Programa de Turbo Pascal":

PROCEDURE Titulo;
BEGIN
WriteLn ('Programa de Turbo Pascal');
END;

Uso de los procedimientos
Una vez declarado el procedimiento es posible utilizarlo como una instrucción de Turbo Pascal. Al uso de un procedimiento se le conoce como llamada al procedimiento.

El siguiente programa ilustra el uso o la llamada al procedimiento creado anteriormente:

PROGRAM Procedimientos;

PROCEDURE Titulo;
BEGIN
WriteLn ('Programa de Turbo Pascal');
END;

BEGIN
WriteLn ('Programa ejemplo del uso de procedimientos');
Titulo;
{Llama al procedimiento}
WriteLn;
Titulo;
{Vuelve a llamar al procedimiento}
END;

Variables locales y globales
En Turbo Pascal cada identificador tiene un campo de acción, solo dentro de éste campo es posible utilizarlo. Los ejemplos más claros son las variables, que pueden ser globales o locales. La diferencia estriba en que una variable global puede ser utilizada por cualquier parte del programa, incluyendo a todos los procedimientos, en cambio una variable local puede ser utilizada unicamente por el procedimiento en el que esta declarada, el programa principal y los otros procedimientos la toman como inexistente. Ejemplo:

PROGRAM Variables;
VAR
Hola : String;

PROCEDURE prueba;
VAR
Adios : String;
BEGIN
{En esta sección si es posible usar la variable Hola}
Adios := 'Adios, que les vaya bien';
WriteLn (Adios);
END;

BEGIN
{En esta sección no se reconoce a la variable Adios}
Hola := 'Hola, bienvenidos al programa';
WriteLn (Hola);
WriteLn (Adios);
{Al compilar el programa se generará un error ya que la variable Adios es inexistente en esta sección, para eliminar el problema quites esta linea}
prueba;
END.

Es posible darle el mismo nombre a una variable local y a una global en el mismo programa, pero entonces el procedimiento no podrá utilizar la variable global ya que le da preferencia a las locales sobre las globales. Por ejemplo:

PROGRAM Variables_2;
VAR
Saludo : String;

PROCEDURE Mensaje;
VAR
Saludo : String;
BEGIN
Saludo := 'Este mensaje solo es válido para el procedimiento "Mensaje"';
WriteLn('Saludo');
END;

BEGIN
Saludo := 'Primer saludo (Global)';
WriteLn (Saludo);
Mensaje;
WriteLn (Saludo); {Se escribirá el mensaje "Primer saludo"}
END.

Parámetros
Para poder pasar información entre el programa principal y procedimientos, o entre los mismos procedimientos usamos los parámetros, que son los canales de comunicación de datos.

Los parámetros son opcionales y si no se necesitan no se deben usar. Para utilizarlos es necesario declararlos son la siguiente sintaxis:

PROCEDURE nombre (lista de parámetros);

La lista de parámetros esta compuesta de los nombres de los mismos y del tipo de datos que representan, los del mismo tipo se separan con comas "," y cada tipo diferente se separa con punto y coma ";". Ejemplo:

Procedure Ejemplo(a, b : Integer; c, d : String);

Para llamar a un procedimiento que utiliza parámetros se pueden utilizar como tales otras variables o constantes, siempre y cuando sean del mismo tipo que los declarados. Ejemplo:

Ejemplo(1, 2, 'Hola', 'Adios');

Ejemplo de un programa con procedimiento que utiliza un parámetro.

PROGRAM Parametros;
VAR
Saludo : String;

PROCEDURE Imprime_5 (a : String);
VAR
Contador : Integer;
BEGIN
FOR contador := 1 to 5 DO
{Imprime 5 veces la cadena almacenada }
WriteLn(a);
{en la variable "a", que es la información}
END;
{que llega como parámetro }

BEGIN
Saludo := 'Bienvenidos al programa';
Imprime_5 (Saludo);
{llama al procedimiento Imprime_5, usando como}
{parámetro la variable Saludo }
Imprime_5 ('Fin');
{Utiliza la cadena "fin" como parámetro }
END.

Es válido crear un procedimiento que llame a otro procedimiento siempre y cuando el procedimiento llamado haya sido declarado antes del que lo usará.

Definición de las funciones
Las funciones son, al igual que los procedimientos, un conjunto de sentencias que se ejecutan constantemente, la diferencia entre éstas y los procedimientos es que las funciones regresan un valor. La declaración de las funciones se realiza de la siguiente forma:

FUNCTION nombre(parámetros) : tipo_de_datos;

A continuación se escribe el contenido de la función como una sentencia normal (sencilla o compuesta), normalmente terminando con la igualación de la función al valor que regresará. Ejemplo:

FUNCTION Promedio (a, b : Real) : Real; {Promedio de dos números reales}
BEGIN
Promedio := (a + b) / 2;
END;

Uso de las funciones
Como las funciones devuelven un valor específico la forma más usual de utilizarlas es por medio de asignaciones de una variable a la función. Ejemplo:

PROGRAM Funciones;
VAR
X, Y, Z : Real;

FUNCTION Promedio (a, b : Real) : Real;
{Promedio de dos números reales}
BEGIN
Promedio := (a + b) / 2;
END;

BEGIN
X := 5.89;
Y := 9.23;
Z := Promedio (X, Y);
{Iguala Z al valor devuelto por la función Promedio}
WriteLn('El promedio de ',X,' y ',Y,' es: ',Z);
END.


Procedimieto HALT
El procedimiento HALT ya se habia revisado anteriormente, pero se tomó como una instrucción, siendo que es realmente un procedimiento predefinido de Turbo Pascal que nos permite terminar nuestro programa en cualquier punto del mismo.

El procedimiento EXIT provoca la salida del procedimiento que se está ejecutando y nos regresa al lugar de donde fue llamado.

Procedimientos INC y DEC
El procedimiento INC incrementa en 1 el contenido de cualquier variable de tipo entero, es lo mismo en un programa teclear:

Variable := Variable + 1;

o telcear:

Inc(Variable);

El procedimiento DEC decrementa en 1 el valor de cualquier variable de tipo entero que se le indique, se usa igual que INC:

DEC (Variable);
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Como utilizar los procedures en Pascal

Publicado por ayrton (1 intervención) el 17/11/2008 18:14:39
program cobros;
uses crt;
var {globales}
procedure control_de_datos;
var{locales}
Nombre string;
Apellidos string;
Direccion integer;
Ocupacion string;
telefono integer;
begin;
clrscr;
textbackground(1);
textcolor(blue);
gotoxy(20,1) writeln('RECOPILACION DE DATOS');
gotoxy(20,5) writeln('INGRESE EL NOMBRE: ');
readln(nombre);
gotoxy(20,6) writeln('INGRESE EL APELLIDO: ');
readln(apellido);
gotoxy(20,7) writeln('INGRESE DIRECCION: ');
readln(direccion);
gotoxy(20,8) writeln('INGRESE OCUPACION: ');
readln(ocupacion);
gotoxy(20,9) writeln('INGRESE TELEFONO: ');
readln(telefono);
clrscr;
end;
procedure control_a_pagar;
var
prestamo integer;
meses integer;
total integer;
interes integer;
begin;
clrscr;
writeln('INGRESE EL MONTO A PRESTAR: ');
readln(prestamo);
writeln('SOLO PUEDE OPTAR A 5 MESES');
writeln('INGRESE MESES DE PLAZO: ');
readln(meses);
if meses = 1 then
begin;
interes:(prestamo*0.2);
total:(interes + pretamo);
writeln('SU TOTAL A PAGAR POR EL PRESTAMO EN 1 MES ES DE', total);
readkey;
end

ayudenme por fa respondeme a mi correo
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Como utilizar los procedures en Pascal

Publicado por lupita (1 intervención) el 03/02/2009 18:12:26
muy bien esplikado el programa de PRPCEDURE
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Como utilizar los procedures en Pascal

Publicado por francisco hernandez quiterio (1 intervención) el 20/10/2009 21:26:56
para crear una libreria con procedures y
poner cuadros con sombra..como se pondrias.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar