• Viernes 3 de Mayo de 2024, 06:57

Autor Tema:  Ejercicio Con Variable Auxiliar  (Leído 1977 veces)

lau82

  • Nuevo Miembro
  • *
  • Mensajes: 18
    • Ver Perfil
Ejercicio Con Variable Auxiliar
« en: Viernes 28 de Abril de 2006, 21:00 »
0
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

Perrero

  • Miembro MUY activo
  • ***
  • Mensajes: 209
    • Ver Perfil
Re: Ejercicio Con Variable Auxiliar
« Respuesta #1 en: Viernes 28 de Abril de 2006, 21:42 »
0
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:

Saiyan1

  • Miembro activo
  • **
  • Mensajes: 54
    • Ver Perfil
    • http://www.anaprog.com.ar
Re: Ejercicio Con Variable Auxiliar
« Respuesta #2 en: Sábado 29 de Abril de 2006, 00:08 »
0
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?
----------------------
Gustavo Insaurralde
Foro de Analista Programador

juancpalmajr

  • Miembro activo
  • **
  • Mensajes: 51
    • Ver Perfil
    • http://www.linuxcommunity.com.ar
Re: Ejercicio Con Variable Auxiliar
« Respuesta #3 en: Miércoles 24 de Mayo de 2006, 05:12 »
0
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.  

juancpalmajr

  • Miembro activo
  • **
  • Mensajes: 51
    • Ver Perfil
    • http://www.linuxcommunity.com.ar
Re: Ejercicio Con Variable Auxiliar
« Respuesta #4 en: Miércoles 24 de Mayo de 2006, 05:15 »
0
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.