BotonMenu
BotonIndice

Visita : http://www.conoce3000.com
Paypal : https://www.paypal.me/conoce3000/1

PASCAL CON FREE PASCAL

PASCAL CON FREE PASCAL

PASCAL CON FREE PASCAL


6. FUNCIONES, PROCEDIMIENTOS Y UNIDADES.
6.2. DECLARACIÓN DE FUNCIONES Y PROCEDIMIENTOS.
6. FUNCIONES, PROCEDIMIENTOS Y UNIDADES.
6.2. DECLARACIÓN DE FUNCIONES Y PROCEDIMIENTOS.
6. FUNCIONES, PROCEDIMIENTOS Y UNIDADES.
6.2. DECLARACIÓN DE FUNCIONES Y PROCEDIMIENTOS.

SIGUIENTE

SIGUIENTE

SIGUIENTE


‒ Declaración de funciones y procedimientos.

Todo programa en Pascal esta formado por un bloque de instrucciones principal que empieza con la palabra reservada BEGIN y terminan con END y un punto al final. Dentro del bloque se colocan las instrucciones que se ejecutarán por el programa, además están las declaraciones de variables, constantes y tipos de datos que hemos estudiado en los capítulos anteriores. La declaración de las variables, constantes y tipos de datos siempre se deben escribir antes del bloque de instrucciones principal, que empieza con la palabra reservada BEGIN y termina con la palabra reservada END. Si el programa comienza a usar instrucciones con estructuras de control que requieren de bloques de instrucciones, estos bloques se construyen con las palabras reservadas BEGIN y END, terminadas con un punto y coma.

Todo lo explicado anteriormente corresponde a lo que se denomina método de programación estructurada, pero la base fundamental de la programación estructurada son los procedimientos y funciones. La declaración de procedimientos y funciones se hace siempre antes del bloque de instrucciones principal, toda función o procedimiento necesita de un identificador, y el uso de las palabaras reservadas procedure y function, veamos un ejemplo:


Descargar
{$codepage UTF8}
											 
VAR a,b,c:integer;

PROCEDURE Lectura;
  Begin 
    Write('Ingrese primer sumando : ');readln(a); 
    Write('Ingrese segundo sumando : ');readln(b); 
  End;

FUNCTION Suma:integer;
  Begin
    Suma:=a+b;
  End;

BEGIN
  Lectura;
  c:=Suma;
  Writeln('La Suma es ',c);
END.
Código fuente 1: Declaración de un procedimiento y una función.
Descargar

El programa declara un procedimiento llamado Lectura, y una función llamado Suma, como se puede observar la diferencia entre un procedimiento y una función, es que la función devolverá siempre un resultado, en este caso devolverá la suma de las variables a y b. También en la función Suma después del identificador se debe indicar que tipo de dato devolverá la función, en este caso se le indica a la función que devuelva un tipo de dato entero.

El encabezado de una función o procedimiento está compuesto por el identificador y el tipo de dato devuelto cuando es una función, y además el encabezado de una función o procedimiento debe terminar siempre con un punto y coma.

Las instrucciones que se usarán por los procedimientos y funciones se deben encerrar entre un Begin y End, terminando este bloque en un punto y coma.

El orden en que se declaran las variables, constantes, tipos de datos, procedimientos y funciones en un programa depende mucho de como se usan estos elementos, es decir en nuestro ejemplo la función suma hace uso de las variables a y b, entonces estas variables deben ser declaradas o definidas antes de escribir o declarar la función, lo mismo sucede con los tipos de datos, constantes, variables, procedimientos y funciones.

Dentro de los procedimientos y funciones, también se pueden crear o definir sus propias constantes, tipos de datos, variables, funciones y procedimientos, de manera muy parecida a un programa, pero las declaraciones de estos elementos sólo se podrán usar dentro de los procedimientos y funciones, a continuación un ejemplo:


Descargar
{$codepage UTF8}
											 
VAR x1,x2,y1,y2:double;
    a,b,c:double; 	 

PROCEDURE RaizCuadraticaEc;

  function Discriminante:double;
    Begin
      Discriminante:=(b*b)-(4*a*c);
    End;
    
  var disc:double;

  Begin
    disc:=Discriminante;
    if (disc>=0)
      then Begin
             x1:=(-b+sqrt(disc))/(2*a);
             x2:=(-b-sqrt(disc))/(2*a);
             y1:=0;
             y2:=0;           
           End
      else Begin
             x1:=-b/(2*a);
             x2:=-b/(2*a);
             y1:=(sqrt(-disc))/(2*a);
             y2:=-(sqrt(-disc))/(2*a);
           End     
  End;   //Aqui termina el procedimiento RaizCuadraticEc

BEGIN
  Write('a = ');readln(a);
  Write('b = ');readln(b);
  Write('c = ');readln(c);
  RaizCuadraticaEc;
  Writeln('Parte Real');
  Writeln('x1 = ',x1:3:3);
  Writeln('x2 = ',x2:3:3);
  Writeln('Parte Imaginaria');  
  Writeln('y1 = ',y1:3:3);
  Writeln('y2 = ',y2:3:3)  
END.
Código fuente 2: Variable y función dentro de un procedimiento.
Descargar

El programa anterior nos permite hallar las raices de una ecuación cuadrática, ingresando sus tres valores constantes a,b,c. En este programa se hace uso del procedimiento RaizCuadraticaEc, que tiene en su interior una función llamada Discriminante, que calcula el discriminante de la ecuación cuadrática; y una variable disc de tipo double, que guarda el resultado de la función anterior, ambos elementos sólo se pueden usar dentro del procedimiento RaizCuadraticaEc, haciendo de esta manera el uso de los mismos privado y exclusivo sólo para las instrucciones del procedimiento RaizCuadraticaEc.

Las variables x1,x2,y1,y2 y a,b,c se les conoce como variables globales, ya que se pueden usar en cualquier parte del programa y también dentro de cualquier función y procedimiento creado o escrito después de la declaración de las variables. La variable disc, que se encuentra en el procedimiento RaizCuadraticaEc se conoce como una variable local y sólo se puede usar dentro del procedimiento o función en donde fue creado. Además de lo explicado se puede observar tambien el uso de la función sqrt, esta función nos devuelve la raíz cuadrada de un número real cualquiera.




SIGUIENTE
SIGUIENTE
SIGUIENTE



 
‒ Comentarios y sugerencias.

Agradezco de antemano, todo comentario, sugerencia, y donativo (a través de Paypal me), que ayude a mejorar los contenidos educativos de Conoce 3000. Además, cualquier pregunta o duda que tengas lo puedes hacer por este medio. Pero, todo contenido que pueda resultar ofensivo, malicioso, racista, sexista, discriminatorio, obsceno, vulgar será eliminado.


Comments System WIDGET PACK






PORTADA |  INTERESANTE |  APUNTES |  LIBROS |  GALERIA


Creative Commons License


Todos los textos, imágenes y videos de Conoce3000 estan colocados bajo una licencia : Creative Commons Reconocimiento-NoComercial 3.0 Unported License.