La verdadera potencia de los procedimientos está en que no tienen por qué trabajar siempre con los mismos datos, sino que podemos indicarles unos datos adicionales, que llamaremos parámetros. Por ejemplo, podemos mejorar el procedimiento que escribía asteriscos, si le indicamos la cantidad de asteriscos que debe mostrar en pantalla, así:
(* PROC03.PAS, procedimientos con parametros *)
(* Parte de CUPAS5, por Nacho Cabanes *)
program Proc03;
procedure EscribirAsteriscos( cantidad: integer );
var
i: byte;
begin
{ Escribimos N asteriscos y avanzamos de linea }
for i := 1 to cantidad do
write('*');
writeLn;
end;
begin
writeLn( 'Primer texto' );
EscribirAsteriscos(12);
writeLn( 'Y un segundo texto' );
EscribirAsteriscos(18);
writeLn( 'Y texto de despedida' );
EscribirAsteriscos(20);
end.
(*
Resultado:
Primer texto
************
Y un segundo texto
******************
Y texto de despedida
********************
*)
Ejercicio propuesto 6.2.1: Crea un procedimiento llamado "EscribirGuiones", que escriba en pantalla tantos guiones como se indique como parámetro. Empléalo en un programa.
Ejercicio propuesto 6.2.2: Crea un procedimiento llamado "DibujarRectanguloAsteriscos", que muestre en pantalla un rectángulo de asteriscos, del ancho y alto que se indiquen como parámetros. Utilízalo en un programa.
Ejercicio propuesto 6.2.3: Crea un procedimiento "EscribirVector", que escriba en pantalla los datos de un vector de números reales de 3 elementos. El vector se pasará al procedimiento como parámetro. Los datos deben aparecer separados por comas, y debe haber un paréntesis abierto antes del primer dato y un paréntesis cerrado tras el tercer dato.