La Web del Programador: Comunidad de Programadores
 
    Pregunta:  59677 - DUDA PROCEDIMIENTOS POR REFERENCIA
Autor:  Roberto Sánchez Romero
Buenos días:

Estoy haciendo un programa y me he queado bloqueado en una apartado. Se trata de un procedimiento:

Es algo como esto

PROGRAM PRUEBA;

PROCEDURE EJERCICIO (VAR numero:integer);

BEGIN {begin procedimiento}

numero:=5;

END; {End Procedimiento}

VAR
numero:integer; {declaracion variables en el programa principal}

BEGIN {PROGRAMA PRINCIPAL}

writeln(numero);

END. {PROGRAMA PRINCIPAL}

Lo que quiero que haga el programa es que imprima un 5 pero no se porque motivo imprime un 0. Hago un seguimiento de la variable y llega a valer 5 pero cuando vuelve al programa principal vale 0. ¿A.lguien tiene alguna explicación? Cualquier sugerencia sería de gran ayuda.

  Respuesta:  Alex F
El problema es que no "llamas" al procedimiento en tu programa principal.
...
...
BEGIN {PROGRAMA PRINCIPAL}
Ejercicio(numero); {--> Llamada a tu procedimiento}
Writeln(numero);

END. {PROGRAMA PRINCIPAL}

Un saludo