[ Foro de Pascal ]

ejercicio recursivo duda

17-May-2016 21:35
Invitado (Ricardo)
1 Respuestas

Buenas!

Veran, tengo un ejercicio que dice asi: Encontrar un procedimiento recursivo que lea una serie de caracteres hasta encontrar una ?F? e imprimirlos en orden inverso.

Lo resolvi asi:


Program tp6;

Procedure Invertir (Car:Char);
Begin
       If (Car<>'F') then
              Begin
              Write ('Ingrese caracter: ');
              Readln(Car);
              Invertir(Car);
              Writeln (Car);
       End;	
End;

Var
Car:char;
Begin
       Invertir (Car);
       Writeln;
End.


Si pruebo A B C D E F devuelve F E D C B A.

Ahi funciona bien, lo que no entiendo es porque imprime solos F cuando modifico el parametro Car por un entrada/salida (por referencia creo que dice) quedando asi:

Procedure Invertir (Var Car:Char);

En este caso, si pruebo otra vez A B C D E F devuelve F F F F F F

Esa es mi duda, si la pudieran constestar se los agradeceria!


20-May-2016 23:31
Nacho Cabanes (+84)

La primera llamada, "car" no tiene valor, lo que puede hacer que se comporte de forma inesperada.

Y... ¿para qué quieres pasar el parámetro por referencia?






(No se puede continuar esta discusión porque tiene más de dos meses de antigüedad. Si tienes dudas parecidas, abre un nuevo hilo.)