RESPUESTA A LA PREGUNTA 5690 - PASCAL/TURBO PASCAL La diferencia entre var1, var2 y var3 es: Var1 y var2 son argumentos o parámetros de entrada de la función o procedimiento y var3 es una variable local a esa función o procedimiento. Ej: Procedure salida (letra:char); Var i:integer; begin for i=1 to 10 do write(letra); end; letra es un parámetro de entrada e i es una variable local a salida que vamos a utilizar en este caso en un bucle. En las funciones y procedimientos tenemos dos tipos de parámetros o argumentos: Los de entrada: es como está definido en el procedimiento salida. Admiten variables y constantes como argumentos. Los de entrada/salida: su valor puede ser modificado. Sólo admiten variables como argumentos. Supongamos los siguientes casos: Caso 1: Procedure suma (a,b:integer); Begin Writeln(a+b); a:=a+30; End; Y en el llamado: x:=6; y:=8; suma (x,y); Va a mostrar por pantalla el numero 14. Dentro del procedimiento el valor de la variable de entrada es incrementada en 30, pero esto no afecta a la variable que pasamos como parámetro. Luego que sale del procedimiento suma, x va a seguir teniendo como valor 6. Caso 2: procedure suma (a,b:integer; var resultado:integer); begin resultado:=a+b; end; Y en el llamado: x:=6; y:=8; res:=0; suma(x,y,res); Luego de salir del procedimiento res va a tener como valor 14 porque fue pasada como un parámetro de entrada/salida. Todos los argumentos o parámetros de las funciones o procedimientos que están declarados con la palabra VAR delante, son parámetros de entrada/salida. En los llamados: Formas correctas: suma(x,y,c) ó suma(6,8,c) Forma incorrecta: suma(x,y,3), el último parámetro sólo puede ser una variable. Mario Campos marioacampos@uol.com.ar