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
Ir a la versión completa