Está en la página 1de 3

PROCEDIMIENTOS Y FUNCIONES:

La diferencia entre ellos es que un procedimiento ejecuta una serie de acciones que estn relacionadas

entre s, puede devolver ningn valor o multiples valores, y escribir en pantalla y leer datos, mientras que la funcin devuelve como minimo 1 valor, y no puede ni escribir en pantalla ni leer datos

Definicin de procedimiento Un procedimiento es un grupo de sentencias que realizan una tarea concreta !n lugar de reescribir el cdigo completo de esa tarea cada vez que se necesite, unicamente se "ace una referencia al procedimiento #or ejemplo, es muy comn que se quiera visualizar un ttulo determinado varias veces en un programa, para evitar teclear ese ttulo en nuestro programa fuente todas las veces que sea necesario creamos un procedimiento llamado $%itulo$ que se encargar de escribirlo Una vez creado un procedimiento actuar como una instruccin ms de %urbo #ascal, y para ejecutarlo unicamente teclearemos el nombre de dic"o procedimiento #ara poder ejecutar un procedimiento es necesario declararlo en el programa que se este utilizando &reacin de los procedimientos !l primer paso para crear un procedimiento es saber que queremos que "aga Una vez definiendo este punto declaramos el procedimiento despues de "aber declarado variables y constantes, antes del cuerpo del programa principal 'a palabra reservada para su declaracin es #rocedure seguida del nombre del procedimiento (amos a crear un procedimiento encargado de escribir en pantalla el enunciado $#rograma de %urbo #ascal$) #*+&!DU*! %itulo, -!./0 1rite'n 23#rograma de %urbo #ascal34, !0D, Uso de los procedimientos Una vez declarado el procedimiento es posible utilizarlo como una instruccin de %urbo #ascal 5l uso de un procedimiento se le conoce como llamada al procedimiento !l siguiente programa ilustra el uso o la llamada al procedimiento creado anteriormente) #*+.*56 #rocedimientos, #*+&!DU*! %itulo, -!./0 1rite'n 23#rograma de %urbo #ascal34, !0D, -!./0 1rite'n 23#rograma ejemplo del uso de procedimientos34, %itulo, 7'lama al procedimiento8 1rite'n, %itulo, 7(uelve a llamar al procedimiento8 !0D, (ariables locales y globales !n %urbo #ascal cada identificador tiene un campo de accin, solo dentro de 9ste campo es posible utilizarlo 'os ejemplos ms claros son las variables, que pueden ser globales o locales 'a 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 ine:istente !jemplo) #*+.*56 (ariables, (5* ;ola ) <tring, #*+&!DU*! prueba, (5*

5dios ) <tring, -!./0 7!n esta seccin si es posible usar la variable ;ola8 5dios )= 35dios, que les vaya bien3, 1rite'n 25dios4, !0D, -!./0 7!n esta seccin no se reconoce a la variable 5dios8 ;ola )= 3;ola, bienvenidos al programa3, 1rite'n 2;ola4, 1rite'n 25dios4, 75l compilar el programa se generar un error ya que la variable 5dios es ine:istente en esta seccin, para eliminar el problema quites esta linea8 prueba, !0D !s 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 #or ejemplo) #*+.*56 (ariables>?, (5* <aludo ) <tring, #*+&!DU*! 6ensaje, (5* <aludo ) <tring, -!./0 <aludo )= 3!ste mensaje solo es vlido para el procedimiento $6ensaje$3, 1rite'n23<aludo34, !0D, -!./0 <aludo )= 3#rimer saludo 2.lobal43, 1rite'n 2<aludo4, 6ensaje, 1rite'n 2<aludo4, 7<e escribir el mensaje $#rimer saludo$8 !0D #armetros #ara poder pasar informacin entre el programa principal y procedimientos, o entre los mismos procedimientos usamos los parmetros, que son los canales de comunicacin de datos 'os parmetros son opcionales y si no se necesitan no se deben usar #ara utilizarlos es necesario declararlos son la siguiente sinta:is) #*+&!DU*! nombre 2lista de parmetros4, 'a lista de parmetros 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 $,$ !jemplo) #rocedure !jemplo2a, b ) /nteger, c, d ) <tring4, #ara llamar a un procedimiento que utiliza parmetros se pueden utilizar como tales otras variables o constantes, siempre y cuando sean del mismo tipo que los declarados !jemplo) !jemplo21, ?, 3;ola3, 35dios34, !jemplo de un programa con procedimiento que utiliza un parmetro #*+.*56 #arametros, (5* <aludo ) <tring, #*+&!DU*! /mprime>@ 2a ) <tring4, (5*

&ontador ) /nteger, -!./0 A+* contador )= 1 to @ D+ 7/mprime @ veces la cadena almacenada 8 1rite'n2a4, 7en la variable $a$, que es la informacin8 !0D, 7que llega como parmetro 8 -!./0 <aludo )= 3-ienvenidos al programa3, /mprime>@ 2<aludo4, 7llama al procedimiento /mprime>@, usando como8 7parmetro la variable <aludo 8 /mprime>@ 23Ain34, 7Utiliza la cadena $fin$ como parmetro 8 !0D !s vlido crear un procedimiento que llame a otro procedimiento siempre y cuando el procedimiento llamado "aya sido declarado antes del que lo usar Definicin de las funciones 'as funciones son, al igual que los procedimientos, un conjunto de sentencias que se ejecutan constantemente, la diferencia entre 9stas y los procedimientos es que las funciones regresan un valor 'a declaracin de las funciones se realiza de la siguiente forma) AU0&%/+0 nombre2parmetros4 ) tipo>de>datos, 5 continuacin se escribe el contenido de la funcin como una sentencia normal 2sencilla o compuesta4, normalmente terminando con la igualacin de la funcin al valor que regresar !jemplo) AU0&%/+0 #romedio 2a, b ) *eal4 ) *eal, 7#romedio de dos nmeros reales8 -!./0 #romedio )= 2a B b4 C ?, !0D, Uso de las funciones &omo las funciones devuelven un valor especfico la forma ms usual de utilizarlas es por medio de asignaciones de una variable a la funcin !jemplo) #*+.*56 Aunciones, (5* D, E, F ) *eal, AU0&%/+0 #romedio 2a, b ) *eal4 ) *eal, 7#romedio de dos nmeros reales8 -!./0 #romedio )= 2a B b4 C ?, !0D, -!./0 D )= @ GH, E )= H ?I, F )= #romedio 2D, E4, 7/guala F al valor devuelto por la funcin #romedio8 1rite'n23!l promedio de 3,D,3 y 3,E,3 es) 3,F4, !0D

También podría gustarte