Programación General > Pascal

 Ejercicio Con Variable Auxiliar

(1/1)

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

Perrero:
Mmmmmmmmmmm bueno no soy un experto, pero creo que tu profesora quizo decirte lo siguiente:


--- Código: Text --- PROGRAM EJER;USES CRT; VAR num1,num2, auxiliar:INTEGER;BEGINClrScr; WRITELN ('Escriba dos numeros: ');READLN (num1,num2); IF num1 > num2 THEN  BEGIN     auxiliar:= num1;    //Se guarda el valor de num1 para que no se pierda                 num1:= num2;      //Se le asigna a num1 su nuevo valor     num2:= auxiliar;   //Se le da a num2 el valor guardado     WRITE(num1,' ',num2,' Se realizo un intercambio de valores');  ENDELSE  BEGIN     WRITE(num1,' ',num2,' No se realixo ningn intercambio);     WRITE(' No se cambia el orden.');  END;END.  
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:
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?

juancpalmajr:

--- 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
--- Fin de la cita ---
seria asi:

--- Código: Text --- Program ejercicio;Var   Num1, Num2: Integer   Procedure Intercambio ( VAR Num1, VAR Num2: Integer);  Var    Auxiliar: Integer;  Begin    Auxiliar:=Num1;    Num1:=Num2;    Num2:=Auxiliar;  End; Begin   Readln (Num1);  Readln (Num2);   Writeln (Num1, Num2);   If (Num1 > Num2) Then Begin    Intercambio(Num1, Num2);  End;   Writeln (Num1, Num2); End.   

juancpalmajr:
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.

Navegación

[0] Índice de Mensajes

Ir a la versión completa