SoloCodigo

Programación General => Pascal => Mensaje iniciado por: lau82 en Viernes 28 de Abril de 2006, 21:00

Título: Ejercicio Con Variable Auxiliar
Publicado por: lau82 en Viernes 28 de Abril de 2006, 21:00
Mi profesora nos dio este ejercicio para hacer.


Escribir un programa en Pascal que lea dos números desde el
teclado y si el primero es mayor que el segundo intercambie sus valores.


PROGRAM EJER;
        USES CRT;

        VAR num1,num2:INTEGER;
BEGIN
        ClrScr;

        WRITELN ('Escriba dos numeros: ');
        READLN (num1);  WRITE ('');    READLN (num2);
        WRITELN ('');

        IF num1 > num2 THEN
        BEGIN
             WRITE(num2,' ',num1,'. El primer numero introducido
      es mayor.');
             WRITE(' Se cambia el orden.');
        ELSE
             WRITE(num1,' ',num2,'. El segundo numero introducido es
      mayor.');
             WRITE(' No se cambia el orden.');
        END;
END.

Pero me dicen que hay que crear una variable auxiliar, asi no se pierde ningun n° al intercambiarlo. Como habria que hacer el ejercicio en este caso?
sldos

Lau
Título: Re: Ejercicio Con Variable Auxiliar
Publicado por: Perrero en Viernes 28 de Abril de 2006, 21:42
Mmmmmmmmmmm bueno no soy un experto, pero creo que tu profesora quizo decirte lo siguiente:

Código: Text
  1.  
  2. PROGRAM EJER;
  3. USES CRT;
  4.  
  5. VAR num1,num2, auxiliar:INTEGER;
  6. BEGIN
  7. ClrScr;
  8.  
  9. WRITELN ('Escriba dos numeros: ');
  10. READLN (num1,num2);
  11.  
  12. IF num1 > num2 THEN
  13.   BEGIN
  14.      auxiliar:= num1;    //Se guarda el valor de num1 para que no se pierda            
  15.      num1:= num2;      //Se le asigna a num1 su nuevo valor
  16.      num2:= auxiliar;   //Se le da a num2 el valor guardado
  17.      WRITE(num1,' ',num2,' Se realizo un intercambio de valores');
  18.   END
  19. ELSE
  20.   BEGIN
  21.      WRITE(num1,' ',num2,' No se realixo ningn intercambio);
  22.      WRITE(' No se cambia el orden.');
  23.   END;
  24. END.
  25.  
  26.  

Mnnn Bueno creo que eso es lo que te pidieron, aunque no lo compile, supondre que corre, weno espero te haya serivo en algo mi humilde ayuda...bye  :hola:
Título: Re: Ejercicio Con Variable Auxiliar
Publicado por: Saiyan1 en Sábado 29 de Abril de 2006, 00:08
Si, tb creo que es asi.. aunque un poco... "poco util"  :P

lau... te sirvio lo que te explique del writeln en el otro topic que preguntabas eso?
y el ejercicio?
Título: Re: Ejercicio Con Variable Auxiliar
Publicado por: juancpalmajr en Miércoles 24 de Mayo de 2006, 05:12
Cita de: "lau82"
Mi profesora nos dio este ejercicio para hacer.


Escribir un programa en Pascal que lea dos números desde el
teclado y si el primero es mayor que el segundo intercambie sus valores.


PROGRAM EJER;
        USES CRT;

        VAR num1,num2:INTEGER;
BEGIN
        ClrScr;

        WRITELN ('Escriba dos numeros: ');
        READLN (num1);  WRITE ('');    READLN (num2);
        WRITELN ('');

        IF num1 > num2 THEN
        BEGIN
             WRITE(num2,' ',num1,'. El primer numero introducido
      es mayor.');
             WRITE(' Se cambia el orden.');
        ELSE
             WRITE(num1,' ',num2,'. El segundo numero introducido es
      mayor.');
             WRITE(' No se cambia el orden.');
        END;
END.

Pero me dicen que hay que crear una variable auxiliar, asi no se pierde ningun n° al intercambiarlo. Como habria que hacer el ejercicio en este caso?
sldos

Lau
seria asi:
Código: Text
  1.  
  2. Program ejercicio;
  3. Var
  4.   Num1, Num2: Integer
  5.  
  6.   Procedure Intercambio ( VAR Num1, VAR Num2: Integer);
  7.   Var
  8.     Auxiliar: Integer;
  9.   Begin
  10.     Auxiliar:=Num1;
  11.     Num1:=Num2;
  12.     Num2:=Auxiliar;
  13.   End;
  14.  
  15. Begin
  16.  
  17.   Readln (Num1);
  18.   Readln (Num2);
  19.  
  20.   Writeln (Num1, Num2);
  21.  
  22.   If (Num1 > Num2) Then Begin
  23.     Intercambio(Num1, Num2);
  24.   End;
  25.  
  26.   Writeln (Num1, Num2);
  27.  
  28. End.
  29.  
  30.  
  31.  
Título: Re: Ejercicio Con Variable Auxiliar
Publicado por: juancpalmajr en Miércoles 24 de Mayo de 2006, 05:15
jajaja, no habia visto el codigo de PERRERO, es muy similar al mio, hasta le puso el mismo nombre de variable. De todos modos son diferentes.