Forma de Trabajo 3 – Plantear todas las estrategias posibles
4 – Seleccionar la más adecuada
(Método de ordenamiento por Selección)
Forma de Trabajo(Método de ordenamiento por Selección)
El método de ordenamiento por Selección selecciona el elemento mayor (ó menor) y lo inserta en el lugar adecuado. El trabajo se encuentra en la selección del menor/mayor y no en la inserción.
Mientras no se termine la Pila Origen
Pasar a la Pila Destino el MAYOR de la pila Origen
Forma de Trabajo(Método de ordenamiento por Selección)
El método de ordenamiento por Selección selecciona el elemento mayor (ó menor) y lo inserta en el lugar adecuado. El trabajo se encuentra en la selección del menor/mayor y no en la inserción.
Mientras no se termine la Pila Origen
Pasar a la Pila Destino el MAYOR de la pila Origen
Pasar tope de Origen a Destino {considero que es el “mayor”}
Mientras no se termine la Pila Origen
Si el tope de Destino es menor que el tope de Origen {tengo que sacarlo}
guardar en pila Auxiliar el tope de Destino
guardar en pila Destino el tope de Origen
Sino {lo que tengo en destino sigue siendo el mas grande}
guardar en pila Auxiliar el tope de Origen
Guardar en pila Origen toda la pila Auxiliar
Forma de Trabajo
5 – Formalizar la solución mediante el diagrama de estructura
OrdenarPorSelección
PasarMayor
OrigenDestino
Procedimiento
Programa Principal
Program OrdenarPorSeleccion;………..procedure PasarMayor(var Origen: Pila ; var Destino:Pila);var Aux:Pila;begin InicPila(Aux, ' ' );
if not PilaVacia(Origen) then begin Apilar (Destino, Desapilar(Origen)); while Not PilaVacia(Origen) do if Tope(Destino) < Tope(Origen) then begin
Apilar (Aux, Desapilar(Destino));Apilar (Destino, Desapilar(Origen));
end else Apilar (Aux, Desapilar(Origen));
while Not PilaVacia(Aux) do Apilar (Origen, Desapilar(Aux)); end; {if PilaVacia(origen)}
end;begin {programa principal} InicPila(Destino, ' '); ReadPila(Origen); while not PilaVacia(Origen) do
PasarMayor(Origen, Destino); WritePila(Destino)end.
C:\fpc\bin\OrdenarPorSeleccion
Estado de las Pilas durante ejecución:
Destino
Program OrdenarPorSeleccion;………..procedure PasarMayor(var Origen: Pila ; var Destino:Pila);var Aux:Pila;begin InicPila(Aux, ' ' );
if not PilaVacia(Origen) then begin Apilar (Destino, Desapilar(Origen)); while Not PilaVacia(Origen) do if Tope(Destino) < Tope(Origen) then begin
Apilar (Aux, Desapilar(Destino));Apilar (Destino, Desapilar(Origen));
end else Apilar (Aux, Desapilar(Origen));
while Not PilaVacia(Aux) do Apilar (Origen, Desapilar(Aux)); end; {if PilaVacia(origen)}
end;begin {programa principal} InicPila(Destino, ' '); ReadPila(Origen); while not PilaVacia(Origen) do
PasarMayor(Origen, Destino); WritePila(Destino)end.
C:\fpc\bin\OrdenarPorSeleccion
Ingresar elementos a la Pila: <Base><...><Tope> 3 7 1 4
Estado de las Pilas durante ejecución:
Destino
Origen 3 7 1 4
Program OrdenarPorSeleccion;………..procedure PasarMayor(var Origen: Pila ; var Destino:Pila);var Aux:Pila;begin InicPila(Aux, ' ' );
if not PilaVacia(Origen) then begin Apilar (Destino, Desapilar(Origen)); while Not PilaVacia(Origen) do if Tope(Destino) < Tope(Origen) then begin
Apilar (Aux, Desapilar(Destino));Apilar (Destino, Desapilar(Origen));
end else Apilar (Aux, Desapilar(Origen));
while Not PilaVacia(Aux) do Apilar (Origen, Desapilar(Aux)); end; {if PilaVacia(origen)}
end;begin {programa principal} InicPila(Destino, ' '); ReadPila(Origen); while not PilaVacia(Origen) do
PasarMayor(Origen, Destino); WritePila(Destino)end.
C:\fpc\bin\OrdenarPorSeleccion
Ingresar elementos a la Pila: <Base><...><Tope> 3 7 1 4
Estado de las Pilas durante ejecución:
Destino
Origen 3 7 1 4
Program OrdenarPorSeleccion;………..procedure PasarMayor(var Origen: Pila ; var Destino:Pila);var Aux:Pila;begin InicPila(Aux, ' ' );
if not PilaVacia(Origen) then begin Apilar (Destino, Desapilar(Origen)); while Not PilaVacia(Origen) do if Tope(Destino) < Tope(Origen) then begin
Apilar (Aux, Desapilar(Destino));Apilar (Destino, Desapilar(Origen));
end else Apilar (Aux, Desapilar(Origen));
while Not PilaVacia(Aux) do Apilar (Origen, Desapilar(Aux)); end; {if PilaVacia(origen)}
end;begin {programa principal} InicPila(Destino, ' '); ReadPila(Origen); while not PilaVacia(Origen) do
PasarMayor(Origen, Destino); WritePila(Destino)end.
C:\fpc\bin\OrdenarPorSeleccion
Ingresar elementos a la Pila: <Base><...><Tope> 3 7 1 4
Estado de las Pilas durante ejecución:
Destino
Origen 3 7 1 4
Program OrdenarPorSeleccion;………..procedure PasarMayor(var Origen: Pila ; var Destino:Pila);var Aux:Pila;begin InicPila(Aux, ' ' );
if not PilaVacia(Origen) then begin Apilar (Destino, Desapilar(Origen)); while Not PilaVacia(Origen) do if Tope(Destino) < Tope(Origen) then begin
Apilar (Aux, Desapilar(Destino));Apilar (Destino, Desapilar(Origen));
end else Apilar (Aux, Desapilar(Origen));
while Not PilaVacia(Aux) do Apilar (Origen, Desapilar(Aux)); end; {if PilaVacia(origen)}
end;begin {programa principal} InicPila(Destino, ' '); ReadPila(Origen); while not PilaVacia(Origen) do
PasarMayor(Origen, Destino); WritePila(Destino)end.
C:\fpc\bin\OrdenarPorSeleccion
Ingresar elementos a la Pila: <Base><...><Tope> 3 7 1 4
Estado de las Pilas durante ejecución:
Aux
Destino
Origen 3 7 1 4
Program OrdenarPorSeleccion;………..procedure PasarMayor(var Origen: Pila ; var Destino:Pila);var Aux:Pila;begin InicPila(Aux, ' ' );
if not PilaVacia(Origen) then begin Apilar (Destino, Desapilar(Origen)); while Not PilaVacia(Origen) do if Tope(Destino) < Tope(Origen) then begin
Apilar (Aux, Desapilar(Destino));Apilar (Destino, Desapilar(Origen));
end else Apilar (Aux, Desapilar(Origen));
while Not PilaVacia(Aux) do Apilar (Origen, Desapilar(Aux)); end; {if PilaVacia(origen)}
end;begin {programa principal} InicPila(Destino, ' '); ReadPila(Origen); while not PilaVacia(Origen) do
PasarMayor(Origen, Destino); WritePila(Destino)end.
C:\fpc\bin\OrdenarPorSeleccion
Ingresar elementos a la Pila: <Base><...><Tope> 3 7 1 4
Estado de las Pilas durante ejecución:
Aux
Destino
Origen 3 7 1 4
Program OrdenarPorSeleccion;………..procedure PasarMayor(var Origen: Pila ; var Destino:Pila);var Aux:Pila;begin InicPila(Aux, ' ' );
if not PilaVacia(Origen) then begin Apilar (Destino, Desapilar(Origen)); while Not PilaVacia(Origen) do if Tope(Destino) < Tope(Origen) then begin
Apilar (Aux, Desapilar(Destino));Apilar (Destino, Desapilar(Origen));
end else Apilar (Aux, Desapilar(Origen));
while Not PilaVacia(Aux) do Apilar (Origen, Desapilar(Aux)); end; {if PilaVacia(origen)}
end;begin {programa principal} InicPila(Destino, ' '); ReadPila(Origen); while not PilaVacia(Origen) do
PasarMayor(Origen, Destino); WritePila(Destino)end.
C:\fpc\bin\OrdenarPorSeleccion
Ingresar elementos a la Pila: <Base><...><Tope> 3 7 1 4
Estado de las Pilas durante ejecución:
Aux
Destino
Origen 3 7 1
4
Program OrdenarPorSeleccion;………..procedure PasarMayor(var Origen: Pila ; var Destino:Pila);var Aux:Pila;begin InicPila(Aux, ' ' );
if not PilaVacia(Origen) then begin Apilar (Destino, Desapilar(Origen)); while Not PilaVacia(Origen) do if Tope(Destino) < Tope(Origen) then begin
Apilar (Aux, Desapilar(Destino));Apilar (Destino, Desapilar(Origen));
end else Apilar (Aux, Desapilar(Origen));
while Not PilaVacia(Aux) do Apilar (Origen, Desapilar(Aux)); end; {if PilaVacia(origen)}
end;begin {programa principal} InicPila(Destino, ' '); ReadPila(Origen); while not PilaVacia(Origen) do
PasarMayor(Origen, Destino); WritePila(Destino)end.
C:\fpc\bin\OrdenarPorSeleccion
Ingresar elementos a la Pila: <Base><...><Tope> 3 7 1 4
Estado de las Pilas durante ejecución:
Aux
Destino
Origen 3 7 1
4
Program OrdenarPorSeleccion;………..procedure PasarMayor(var Origen: Pila ; var Destino:Pila);var Aux:Pila;begin InicPila(Aux, ' ' );
if not PilaVacia(Origen) then begin Apilar (Destino, Desapilar(Origen)); while Not PilaVacia(Origen) do if Tope(Destino) < Tope(Origen) then begin
Apilar (Aux, Desapilar(Destino));Apilar (Destino, Desapilar(Origen));
end else Apilar (Aux, Desapilar(Origen));
while Not PilaVacia(Aux) do Apilar (Origen, Desapilar(Aux)); end; {if PilaVacia(origen)}
end;begin {programa principal} InicPila(Destino, ' '); ReadPila(Origen); while not PilaVacia(Origen) do
PasarMayor(Origen, Destino); WritePila(Destino)end.
C:\fpc\bin\OrdenarPorSeleccion
Ingresar elementos a la Pila: <Base><...><Tope> 3 7 1 4
Estado de las Pilas durante ejecución:
Aux
Destino
Origen 3 7 1
4
Program OrdenarPorSeleccion;………..procedure PasarMayor(var Origen: Pila ; var Destino:Pila);var Aux:Pila;begin InicPila(Aux, ' ' );
if not PilaVacia(Origen) then begin Apilar (Destino, Desapilar(Origen)); while Not PilaVacia(Origen) do if Tope(Destino) < Tope(Origen) then begin
Apilar (Aux, Desapilar(Destino));Apilar (Destino, Desapilar(Origen));
end else Apilar (Aux, Desapilar(Origen));
while Not PilaVacia(Aux) do Apilar (Origen, Desapilar(Aux)); end; {if PilaVacia(origen)}
end;begin {programa principal} InicPila(Destino, ' '); ReadPila(Origen); while not PilaVacia(Origen) do
PasarMayor(Origen, Destino); WritePila(Destino)end.
C:\fpc\bin\OrdenarPorSeleccion
Ingresar elementos a la Pila: <Base><...><Tope> 3 7 1 4
Estado de las Pilas durante ejecución:
Aux
Destino
Origen 3 7
4
1
Program OrdenarPorSeleccion;………..procedure PasarMayor(var Origen: Pila ; var Destino:Pila);var Aux:Pila;begin InicPila(Aux, ' ' );
if not PilaVacia(Origen) then begin Apilar (Destino, Desapilar(Origen)); while Not PilaVacia(Origen) do if Tope(Destino) < Tope(Origen) then begin
Apilar (Aux, Desapilar(Destino));Apilar (Destino, Desapilar(Origen));
end else Apilar (Aux, Desapilar(Origen));
while Not PilaVacia(Aux) do Apilar (Origen, Desapilar(Aux)); end; {if PilaVacia(origen)}
end;begin {programa principal} InicPila(Destino, ' '); ReadPila(Origen); while not PilaVacia(Origen) do
PasarMayor(Origen, Destino); WritePila(Destino)end.
C:\fpc\bin\OrdenarPorSeleccion
Ingresar elementos a la Pila: <Base><...><Tope> 3 7 1 4
Estado de las Pilas durante ejecución:
Aux
Destino
Origen 3 7
4
1
Program OrdenarPorSeleccion;………..procedure PasarMayor(var Origen: Pila ; var Destino:Pila);var Aux:Pila;begin InicPila(Aux, ' ' );
if not PilaVacia(Origen) then begin Apilar (Destino, Desapilar(Origen)); while Not PilaVacia(Origen) do if Tope(Destino) < Tope(Origen) then begin
Apilar (Aux, Desapilar(Destino));Apilar (Destino, Desapilar(Origen));
end else Apilar (Aux, Desapilar(Origen));
while Not PilaVacia(Aux) do Apilar (Origen, Desapilar(Aux)); end; {if PilaVacia(origen)}
end;begin {programa principal} InicPila(Destino, ' '); ReadPila(Origen); while not PilaVacia(Origen) do
PasarMayor(Origen, Destino); WritePila(Destino)end.
C:\fpc\bin\OrdenarPorSeleccion
Ingresar elementos a la Pila: <Base><...><Tope> 3 7 1 4
Estado de las Pilas durante ejecución:
Aux
Destino
Origen 3 7
4
1
Program OrdenarPorSeleccion;………..procedure PasarMayor(var Origen: Pila ; var Destino:Pila);var Aux:Pila;begin InicPila(Aux, ' ' );
if not PilaVacia(Origen) then begin Apilar (Destino, Desapilar(Origen)); while Not PilaVacia(Origen) do if Tope(Destino) < Tope(Origen) then begin
Apilar (Aux, Desapilar(Destino));Apilar (Destino, Desapilar(Origen));
end else Apilar (Aux, Desapilar(Origen));
while Not PilaVacia(Aux) do Apilar (Origen, Desapilar(Aux)); end; {if PilaVacia(origen)}
end;begin {programa principal} InicPila(Destino, ' '); ReadPila(Origen); while not PilaVacia(Origen) do
PasarMayor(Origen, Destino); WritePila(Destino)end.
C:\fpc\bin\OrdenarPorSeleccion
Ingresar elementos a la Pila: <Base><...><Tope> 3 7 1 4
Estado de las Pilas durante ejecución:
Aux
Destino
Origen 3 7
1 4
Program OrdenarPorSeleccion;………..procedure PasarMayor(var Origen: Pila ; var Destino:Pila);var Aux:Pila;begin InicPila(Aux, ' ' );
if not PilaVacia(Origen) then begin Apilar (Destino, Desapilar(Origen)); while Not PilaVacia(Origen) do if Tope(Destino) < Tope(Origen) then begin
Apilar (Aux, Desapilar(Destino));Apilar (Destino, Desapilar(Origen));
end else Apilar (Aux, Desapilar(Origen));
while Not PilaVacia(Aux) do Apilar (Origen, Desapilar(Aux)); end; {if PilaVacia(origen)}
end;begin {programa principal} InicPila(Destino, ' '); ReadPila(Origen); while not PilaVacia(Origen) do
PasarMayor(Origen, Destino); WritePila(Destino)end.
C:\fpc\bin\OrdenarPorSeleccion
Ingresar elementos a la Pila: <Base><...><Tope> 3 7 1 4
Estado de las Pilas durante ejecución:Estado de las Pilas durante ejecución:
Aux
Destino
Origen 3
1 4
7
Program OrdenarPorSeleccion;………..procedure PasarMayor(var Origen: Pila ; var Destino:Pila);var Aux:Pila;begin InicPila(Aux, ' ' );
if not PilaVacia(Origen) then begin Apilar (Destino, Desapilar(Origen)); while Not PilaVacia(Origen) do if Tope(Destino) < Tope(Origen) then begin
Apilar (Aux, Desapilar(Destino));Apilar (Destino, Desapilar(Origen));
end else Apilar (Aux, Desapilar(Origen));
while Not PilaVacia(Aux) do Apilar (Origen, Desapilar(Aux)); end; {if PilaVacia(origen)}
end;begin {programa principal} InicPila(Destino, ' '); ReadPila(Origen); while not PilaVacia(Origen) do
PasarMayor(Origen, Destino); WritePila(Destino)end.
C:\fpc\bin\OrdenarPorSeleccion
Ingresar elementos a la Pila: <Base><...><Tope> 3 7 1 4
Estado de las Pilas durante ejecución:
Aux
Destino
Origen 3
1 4
7
Program OrdenarPorSeleccion;………..procedure PasarMayor(var Origen: Pila ; var Destino:Pila);var Aux:Pila;begin InicPila(Aux, ' ' );
if not PilaVacia(Origen) then begin Apilar (Destino, Desapilar(Origen)); while Not PilaVacia(Origen) do if Tope(Destino) < Tope(Origen) then begin
Apilar (Aux, Desapilar(Destino));Apilar (Destino, Desapilar(Origen));
end else Apilar (Aux, Desapilar(Origen));
while Not PilaVacia(Aux) do Apilar (Origen, Desapilar(Aux)); end; {if PilaVacia(origen)}
end;begin {programa principal} InicPila(Destino, ' '); ReadPila(Origen); while not PilaVacia(Origen) do
PasarMayor(Origen, Destino); WritePila(Destino)end.
C:\fpc\bin\OrdenarPorSeleccion
Ingresar elementos a la Pila: <Base><...><Tope> 3 7 1 4
Estado de las Pilas durante ejecución:
Aux
Destino
Origen 3
1 4
7
Program OrdenarPorSeleccion;………..procedure PasarMayor(var Origen: Pila ; var Destino:Pila);var Aux:Pila;begin InicPila(Aux, ' ' );
if not PilaVacia(Origen) then begin Apilar (Destino, Desapilar(Origen)); while Not PilaVacia(Origen) do if Tope(Destino) < Tope(Origen) then begin
Apilar (Aux, Desapilar(Destino));Apilar (Destino, Desapilar(Origen));
end else Apilar (Aux, Desapilar(Origen));
while Not PilaVacia(Aux) do Apilar (Origen, Desapilar(Aux)); end; {if PilaVacia(origen)}
end;begin {programa principal} InicPila(Destino, ' '); ReadPila(Origen); while not PilaVacia(Origen) do
PasarMayor(Origen, Destino); WritePila(Destino)end.
C:\fpc\bin\OrdenarPorSeleccion
Ingresar elementos a la Pila: <Base><...><Tope> 3 7 1 4
Estado de las Pilas durante ejecución:
Aux
Destino
Origen
1 4 3
7
Program OrdenarPorSeleccion;………..procedure PasarMayor(var Origen: Pila ; var Destino:Pila);var Aux:Pila;begin InicPila(Aux, ' ' );
if not PilaVacia(Origen) then begin Apilar (Destino, Desapilar(Origen)); while Not PilaVacia(Origen) do if Tope(Destino) < Tope(Origen) then begin
Apilar (Aux, Desapilar(Destino));Apilar (Destino, Desapilar(Origen));
end else Apilar (Aux, Desapilar(Origen));
while Not PilaVacia(Aux) do Apilar (Origen, Desapilar(Aux)); end; {if PilaVacia(origen)}
end;begin {programa principal} InicPila(Destino, ' '); ReadPila(Origen); while not PilaVacia(Origen) do
PasarMayor(Origen, Destino); WritePila(Destino)end.
C:\fpc\bin\OrdenarPorSeleccion
Ingresar elementos a la Pila: <Base><...><Tope> 3 7 1 4
Estado de las Pilas durante ejecución:
Aux
Destino
Origen
1 4 3
7
Program OrdenarPorSeleccion;………..procedure PasarMayor(var Origen: Pila ; var Destino:Pila);var Aux:Pila;begin InicPila(Aux, ' ' );
if not PilaVacia(Origen) then begin Apilar (Destino, Desapilar(Origen)); while Not PilaVacia(Origen) do if Tope(Destino) < Tope(Origen) then begin
Apilar (Aux, Desapilar(Destino));Apilar (Destino, Desapilar(Origen));
end else Apilar (Aux, Desapilar(Origen));
while Not PilaVacia(Aux) do Apilar (Origen, Desapilar(Aux)); end; {if PilaVacia(origen)}
end;begin {programa principal} InicPila(Destino, ' '); ReadPila(Origen); while not PilaVacia(Origen) do
PasarMayor(Origen, Destino); WritePila(Destino)end.
C:\fpc\bin\OrdenarPorSeleccion
Ingresar elementos a la Pila: <Base><...><Tope> 3 7 1 4
Estado de las Pilas durante ejecución:
Aux
Destino
Origen
1 4 3
7
Program OrdenarPorSeleccion;………..procedure PasarMayor(var Origen: Pila ; var Destino:Pila);var Aux:Pila;begin InicPila(Aux, ' ' );
if not PilaVacia(Origen) then begin Apilar (Destino, Desapilar(Origen)); while Not PilaVacia(Origen) do if Tope(Destino) < Tope(Origen) then begin
Apilar (Aux, Desapilar(Destino));Apilar (Destino, Desapilar(Origen));
end else Apilar (Aux, Desapilar(Origen));
while Not PilaVacia(Aux) do Apilar (Origen, Desapilar(Aux)); end; {if PilaVacia(origen)}
end;begin {programa principal} InicPila(Destino, ' '); ReadPila(Origen); while not PilaVacia(Origen) do
PasarMayor(Origen, Destino); WritePila(Destino)end.
C:\fpc\bin\OrdenarPorSeleccion
Ingresar elementos a la Pila: <Base><...><Tope> 3 7 1 4
Estado de las Pilas durante ejecución:
Aux
Destino
Origen
1 4
7
3
Program OrdenarPorSeleccion;………..procedure PasarMayor(var Origen: Pila ; var Destino:Pila);var Aux:Pila;begin InicPila(Aux, ' ' );
if not PilaVacia(Origen) then begin Apilar (Destino, Desapilar(Origen)); while Not PilaVacia(Origen) do if Tope(Destino) < Tope(Origen) then begin
Apilar (Aux, Desapilar(Destino));Apilar (Destino, Desapilar(Origen));
end else Apilar (Aux, Desapilar(Origen));
while Not PilaVacia(Aux) do Apilar (Origen, Desapilar(Aux)); end; {if PilaVacia(origen)}
end;begin {programa principal} InicPila(Destino, ' '); ReadPila(Origen); while not PilaVacia(Origen) do
PasarMayor(Origen, Destino); WritePila(Destino)end.
C:\fpc\bin\OrdenarPorSeleccion
Ingresar elementos a la Pila: <Base><...><Tope> 3 7 1 4
Estado de las Pilas durante ejecución:
Aux
Destino
Origen
1 4
7
3
Program OrdenarPorSeleccion;………..procedure PasarMayor(var Origen: Pila ; var Destino:Pila);var Aux:Pila;begin InicPila(Aux, ' ' );
if not PilaVacia(Origen) then begin Apilar (Destino, Desapilar(Origen)); while Not PilaVacia(Origen) do if Tope(Destino) < Tope(Origen) then begin
Apilar (Aux, Desapilar(Destino));Apilar (Destino, Desapilar(Origen));
end else Apilar (Aux, Desapilar(Origen));
while Not PilaVacia(Aux) do Apilar (Origen, Desapilar(Aux)); end; {if PilaVacia(origen)}
end;begin {programa principal} InicPila(Destino, ' '); ReadPila(Origen); while not PilaVacia(Origen) do
PasarMayor(Origen, Destino); WritePila(Destino)end.
C:\fpc\bin\OrdenarPorSeleccion
Ingresar elementos a la Pila: <Base><...><Tope> 3 7 1 4
Estado de las Pilas durante ejecución:
Aux
Destino
Origen
1
7
3 4
Program OrdenarPorSeleccion;………..procedure PasarMayor(var Origen: Pila ; var Destino:Pila);var Aux:Pila;begin InicPila(Aux, ' ' );
if not PilaVacia(Origen) then begin Apilar (Destino, Desapilar(Origen)); while Not PilaVacia(Origen) do if Tope(Destino) < Tope(Origen) then begin
Apilar (Aux, Desapilar(Destino));Apilar (Destino, Desapilar(Origen));
end else Apilar (Aux, Desapilar(Origen));
while Not PilaVacia(Aux) do Apilar (Origen, Desapilar(Aux)); end; {if PilaVacia(origen)}
end;begin {programa principal} InicPila(Destino, ' '); ReadPila(Origen); while not PilaVacia(Origen) do
PasarMayor(Origen, Destino); WritePila(Destino)end.
C:\fpc\bin\OrdenarPorSeleccion
Ingresar elementos a la Pila: <Base><...><Tope> 3 7 1 4
Estado de las Pilas durante ejecución:
Aux
Destino
Origen
1
7
3 4
Program OrdenarPorSeleccion;………..procedure PasarMayor(var Origen: Pila ; var Destino:Pila);var Aux:Pila;begin InicPila(Aux, ' ' );
if not PilaVacia(Origen) then begin Apilar (Destino, Desapilar(Origen)); while Not PilaVacia(Origen) do if Tope(Destino) < Tope(Origen) then begin
Apilar (Aux, Desapilar(Destino));Apilar (Destino, Desapilar(Origen));
end else Apilar (Aux, Desapilar(Origen));
while Not PilaVacia(Aux) do Apilar (Origen, Desapilar(Aux)); end; {if PilaVacia(origen)}
end;begin {programa principal} InicPila(Destino, ' '); ReadPila(Origen); while not PilaVacia(Origen) do
PasarMayor(Origen, Destino); WritePila(Destino)end.
C:\fpc\bin\OrdenarPorSeleccion
Ingresar elementos a la Pila: <Base><...><Tope> 3 7 1 4
Estado de las Pilas durante ejecución:
Aux
Destino
Origen
7
3 4 1
Program OrdenarPorSeleccion;………..procedure PasarMayor(var Origen: Pila ; var Destino:Pila);var Aux:Pila;begin InicPila(Aux, ' ' );
if not PilaVacia(Origen) then begin Apilar (Destino, Desapilar(Origen)); while Not PilaVacia(Origen) do if Tope(Destino) < Tope(Origen) then begin
Apilar (Aux, Desapilar(Destino));Apilar (Destino, Desapilar(Origen));
end else Apilar (Aux, Desapilar(Origen));
while Not PilaVacia(Aux) do Apilar (Origen, Desapilar(Aux)); end; {if PilaVacia(origen)}
end;begin {programa principal} InicPila(Destino, ' '); ReadPila(Origen); while not PilaVacia(Origen) do
PasarMayor(Origen, Destino); WritePila(Destino)end.
C:\fpc\bin\OrdenarPorSeleccion
Ingresar elementos a la Pila: <Base><...><Tope> 3 7 1 4
Estado de las Pilas durante ejecución:Estado de las Pilas durante ejecución:
Aux
Destino
Origen
7
3 4 1
Program OrdenarPorSeleccion;………..procedure PasarMayor(var Origen: Pila ; var Destino:Pila);var Aux:Pila;begin InicPila(Aux, ' ' );
if not PilaVacia(Origen) then begin Apilar (Destino, Desapilar(Origen)); while Not PilaVacia(Origen) do if Tope(Destino) < Tope(Origen) then begin
Apilar (Aux, Desapilar(Destino));Apilar (Destino, Desapilar(Origen));
end else Apilar (Aux, Desapilar(Origen));
while Not PilaVacia(Aux) do Apilar (Origen, Desapilar(Aux)); end; {if PilaVacia(origen)}
end;begin {programa principal} InicPila(Destino, ' '); ReadPila(Origen); while not PilaVacia(Origen) do
PasarMayor(Origen, Destino); WritePila(Destino)end.
C:\fpc\bin\OrdenarPorSeleccion
Ingresar elementos a la Pila: <Base><...><Tope> 3 7 1 4
Estado de las Pilas durante ejecución:
Estado de las Pilas durante ejecución:
Destino
Origen
7
3 4 1
Program OrdenarPorSeleccion;………..procedure PasarMayor(var Origen: Pila ; var Destino:Pila);var Aux:Pila;begin InicPila(Aux, ' ' );
if not PilaVacia(Origen) then begin Apilar (Destino, Desapilar(Origen)); while Not PilaVacia(Origen) do if Tope(Destino) < Tope(Origen) then begin
Apilar (Aux, Desapilar(Destino));Apilar (Destino, Desapilar(Origen));
end else Apilar (Aux, Desapilar(Origen));
while Not PilaVacia(Aux) do Apilar (Origen, Desapilar(Aux)); end; {if PilaVacia(origen)}
end;begin {programa principal} InicPila(Destino, ' '); ReadPila(Origen); while not PilaVacia(Origen) do
PasarMayor(Origen, Destino); WritePila(Destino)end.
C:\fpc\bin\OrdenarPorSeleccion
Ingresar elementos a la Pila: <Base><...><Tope> 3 7 1 4
Estado de las Pilas durante ejecución:
Destino
Origen
7
3 4 1
Program OrdenarPorSeleccion;………..procedure PasarMayor(var Origen: Pila ; var Destino:Pila);var Aux:Pila;begin InicPila(Aux, ' ' );
if not PilaVacia(Origen) then begin Apilar (Destino, Desapilar(Origen)); while Not PilaVacia(Origen) do if Tope(Destino) < Tope(Origen) then begin
Apilar (Aux, Desapilar(Destino));Apilar (Destino, Desapilar(Origen));
end else Apilar (Aux, Desapilar(Origen));
while Not PilaVacia(Aux) do Apilar (Origen, Desapilar(Aux)); end; {if PilaVacia(origen)}
end;begin {programa principal} InicPila(Destino, ' '); ReadPila(Origen); while not PilaVacia(Origen) do
PasarMayor(Origen, Destino); WritePila(Destino)end.
C:\fpc\bin\OrdenarPorSeleccion
Ingresar elementos a la Pila: <Base><...><Tope> 3 7 1 4
Estado de las Pilas durante ejecución:
Destino
Origen
7
3 4 1
Estado de las Pilas durante ejecución:
Program OrdenarPorSeleccion;………..procedure PasarMayor(var Origen: Pila ; var Destino:Pila);var Aux:Pila;begin InicPila(Aux, ' ' );
if not PilaVacia(Origen) then begin Apilar (Destino, Desapilar(Origen)); while Not PilaVacia(Origen) do if Tope(Destino) < Tope(Origen) then begin
Apilar (Aux, Desapilar(Destino));Apilar (Destino, Desapilar(Origen));
end else Apilar (Aux, Desapilar(Origen));
while Not PilaVacia(Aux) do Apilar (Origen, Desapilar(Aux)); end; {if PilaVacia(origen)}
end;begin {programa principal} InicPila(Destino, ' '); ReadPila(Origen); while not PilaVacia(Origen) do
PasarMayor(Origen, Destino); WritePila(Destino)end.
C:\fpc\bin\OrdenarPorSeleccion
Ingresar elementos a la Pila: <Base><...><Tope> 3 7 1 4
Aux
Destino
Origen
7
3 4 1
Estado de las Pilas durante ejecución:
Program OrdenarPorSeleccion;………..procedure PasarMayor(var Origen: Pila ; var Destino:Pila);var Aux:Pila;begin InicPila(Aux, ' ' );
if not PilaVacia(Origen) then begin Apilar (Destino, Desapilar(Origen)); while Not PilaVacia(Origen) do if Tope(Destino) < Tope(Origen) then begin
Apilar (Aux, Desapilar(Destino));Apilar (Destino, Desapilar(Origen));
end else Apilar (Aux, Desapilar(Origen));
while Not PilaVacia(Aux) do Apilar (Origen, Desapilar(Aux)); end; {if PilaVacia(origen)}
end;begin {programa principal} InicPila(Destino, ' '); ReadPila(Origen); while not PilaVacia(Origen) do
PasarMayor(Origen, Destino); WritePila(Destino)end.
C:\fpc\bin\OrdenarPorSeleccion
Ingresar elementos a la Pila: <Base><...><Tope> 3 7 1 4
Aux
Destino
Origen
7
3 4 1
Estado de las Pilas durante ejecución:
Program OrdenarPorSeleccion;………..procedure PasarMayor(var Origen: Pila ; var Destino:Pila);var Aux:Pila;begin InicPila(Aux, ' ' );
if not PilaVacia(Origen) then begin Apilar (Destino, Desapilar(Origen)); while Not PilaVacia(Origen) do if Tope(Destino) < Tope(Origen) then begin
Apilar (Aux, Desapilar(Destino));Apilar (Destino, Desapilar(Origen));
end else Apilar (Aux, Desapilar(Origen));
while Not PilaVacia(Aux) do Apilar (Origen, Desapilar(Aux)); end; {if PilaVacia(origen)}
end;begin {programa principal} InicPila(Destino, ' '); ReadPila(Origen); while not PilaVacia(Origen) do
PasarMayor(Origen, Destino); WritePila(Destino)end.
C:\fpc\bin\OrdenarPorSeleccion
Ingresar elementos a la Pila: <Base><...><Tope> 3 7 1 4
Aux
Destino
Origen
7 1
3 4
Estado de las Pilas durante ejecución:
Program OrdenarPorSeleccion;………..procedure PasarMayor(var Origen: Pila ; var Destino:Pila);var Aux:Pila;begin InicPila(Aux, ' ' );
if not PilaVacia(Origen) then begin Apilar (Destino, Desapilar(Origen)); while Not PilaVacia(Origen) do if Tope(Destino) < Tope(Origen) then begin
Apilar (Aux, Desapilar(Destino));Apilar (Destino, Desapilar(Origen));
end else Apilar (Aux, Desapilar(Origen));
while Not PilaVacia(Aux) do Apilar (Origen, Desapilar(Aux)); end; {if PilaVacia(origen)}
end;begin {programa principal} InicPila(Destino, ' '); ReadPila(Origen); while not PilaVacia(Origen) do
PasarMayor(Origen, Destino); WritePila(Destino)end.
C:\fpc\bin\OrdenarPorSeleccion
Ingresar elementos a la Pila: <Base><...><Tope> 3 7 1 4
Aux
Destino
Origen
7 1
3 4
Estado de las Pilas durante ejecución:
Program OrdenarPorSeleccion;………..procedure PasarMayor(var Origen: Pila ; var Destino:Pila);var Aux:Pila;begin InicPila(Aux, ' ' );
if not PilaVacia(Origen) then begin Apilar (Destino, Desapilar(Origen)); while Not PilaVacia(Origen) do if Tope(Destino) < Tope(Origen) then begin
Apilar (Aux, Desapilar(Destino));Apilar (Destino, Desapilar(Origen));
end else Apilar (Aux, Desapilar(Origen));
while Not PilaVacia(Aux) do Apilar (Origen, Desapilar(Aux)); end; {if PilaVacia(origen)}
end;begin {programa principal} InicPila(Destino, ' '); ReadPila(Origen); while not PilaVacia(Origen) do
PasarMayor(Origen, Destino); WritePila(Destino)end.
C:\fpc\bin\OrdenarPorSeleccion
Ingresar elementos a la Pila: <Base><...><Tope> 3 7 1 4
Aux
Destino
Origen
7 1
3 4
Estado de las Pilas durante ejecución:
Program OrdenarPorSeleccion;………..procedure PasarMayor(var Origen: Pila ; var Destino:Pila);var Aux:Pila;begin InicPila(Aux, ' ' );
if not PilaVacia(Origen) then begin Apilar (Destino, Desapilar(Origen)); while Not PilaVacia(Origen) do if Tope(Destino) < Tope(Origen) then begin
Apilar (Aux, Desapilar(Destino));Apilar (Destino, Desapilar(Origen));
end else Apilar (Aux, Desapilar(Origen));
while Not PilaVacia(Aux) do Apilar (Origen, Desapilar(Aux)); end; {if PilaVacia(origen)}
end;begin {programa principal} InicPila(Destino, ' '); ReadPila(Origen); while not PilaVacia(Origen) do
PasarMayor(Origen, Destino); WritePila(Destino)end.
C:\fpc\bin\OrdenarPorSeleccion
Ingresar elementos a la Pila: <Base><...><Tope> 3 7 1 4
Aux
Destino
Origen
7
3 4
1
Estado de las Pilas durante ejecución:
Program OrdenarPorSeleccion;………..procedure PasarMayor(var Origen: Pila ; var Destino:Pila);var Aux:Pila;begin InicPila(Aux, ' ' );
if not PilaVacia(Origen) then begin Apilar (Destino, Desapilar(Origen)); while Not PilaVacia(Origen) do if Tope(Destino) < Tope(Origen) then begin
Apilar (Aux, Desapilar(Destino));Apilar (Destino, Desapilar(Origen));
end else Apilar (Aux, Desapilar(Origen));
while Not PilaVacia(Aux) do Apilar (Origen, Desapilar(Aux)); end; {if PilaVacia(origen)}
end;begin {programa principal} InicPila(Destino, ' '); ReadPila(Origen); while not PilaVacia(Origen) do
PasarMayor(Origen, Destino); WritePila(Destino)end.
C:\fpc\bin\OrdenarPorSeleccion
Ingresar elementos a la Pila: <Base><...><Tope> 3 7 1 4
Aux
Destino
Origen
7 4
3
1
Estado de las Pilas durante ejecución:
Program OrdenarPorSeleccion;………..procedure PasarMayor(var Origen: Pila ; var Destino:Pila);var Aux:Pila;begin InicPila(Aux, ' ' );
if not PilaVacia(Origen) then begin Apilar (Destino, Desapilar(Origen)); while Not PilaVacia(Origen) do if Tope(Destino) < Tope(Origen) then begin
Apilar (Aux, Desapilar(Destino));Apilar (Destino, Desapilar(Origen));
end else Apilar (Aux, Desapilar(Origen));
while Not PilaVacia(Aux) do Apilar (Origen, Desapilar(Aux)); end; {if PilaVacia(origen)}
end;begin {programa principal} InicPila(Destino, ' '); ReadPila(Origen); while not PilaVacia(Origen) do
PasarMayor(Origen, Destino); WritePila(Destino)end.
C:\fpc\bin\OrdenarPorSeleccion
Ingresar elementos a la Pila: <Base><...><Tope> 3 7 1 4
Aux
Destino
Origen
7 4
3
1
Estado de las Pilas durante ejecución:
Program OrdenarPorSeleccion;………..procedure PasarMayor(var Origen: Pila ; var Destino:Pila);var Aux:Pila;begin InicPila(Aux, ' ' );
if not PilaVacia(Origen) then begin Apilar (Destino, Desapilar(Origen)); while Not PilaVacia(Origen) do if Tope(Destino) < Tope(Origen) then begin
Apilar (Aux, Desapilar(Destino));Apilar (Destino, Desapilar(Origen));
end else Apilar (Aux, Desapilar(Origen));
while Not PilaVacia(Aux) do Apilar (Origen, Desapilar(Aux)); end; {if PilaVacia(origen)}
end;begin {programa principal} InicPila(Destino, ' '); ReadPila(Origen); while not PilaVacia(Origen) do
PasarMayor(Origen, Destino); WritePila(Destino)end.
C:\fpc\bin\OrdenarPorSeleccion
Ingresar elementos a la Pila: <Base><...><Tope> 3 7 1 4
Aux
Destino
Origen
7 4
3
1
Estado de las Pilas durante ejecución:
Program OrdenarPorSeleccion;………..procedure PasarMayor(var Origen: Pila ; var Destino:Pila);var Aux:Pila;begin InicPila(Aux, ' ' );
if not PilaVacia(Origen) then begin Apilar (Destino, Desapilar(Origen)); while Not PilaVacia(Origen) do if Tope(Destino) < Tope(Origen) then begin
Apilar (Aux, Desapilar(Destino));Apilar (Destino, Desapilar(Origen));
end else Apilar (Aux, Desapilar(Origen));
while Not PilaVacia(Aux) do Apilar (Origen, Desapilar(Aux)); end; {if PilaVacia(origen)}
end;begin {programa principal} InicPila(Destino, ' '); ReadPila(Origen); while not PilaVacia(Origen) do
PasarMayor(Origen, Destino); WritePila(Destino)end.
C:\fpc\bin\OrdenarPorSeleccion
Ingresar elementos a la Pila: <Base><...><Tope> 3 7 1 4
Aux
Destino
Origen
7 4
1 3
Estado de las Pilas durante ejecución:
Program OrdenarPorSeleccion;………..procedure PasarMayor(var Origen: Pila ; var Destino:Pila);var Aux:Pila;begin InicPila(Aux, ' ' );
if not PilaVacia(Origen) then begin Apilar (Destino, Desapilar(Origen)); while Not PilaVacia(Origen) do if Tope(Destino) < Tope(Origen) then begin
Apilar (Aux, Desapilar(Destino));Apilar (Destino, Desapilar(Origen));
end else Apilar (Aux, Desapilar(Origen));
while Not PilaVacia(Aux) do Apilar (Origen, Desapilar(Aux)); end; {if PilaVacia(origen)}
end;begin {programa principal} InicPila(Destino, ' '); ReadPila(Origen); while not PilaVacia(Origen) do
PasarMayor(Origen, Destino); WritePila(Destino)end.
C:\fpc\bin\OrdenarPorSeleccion
Ingresar elementos a la Pila: <Base><...><Tope> 3 7 1 4
Aux
Destino
Origen
7 4
1 3
Estado de las Pilas durante ejecución:
Program OrdenarPorSeleccion;………..procedure PasarMayor(var Origen: Pila ; var Destino:Pila);var Aux:Pila;begin InicPila(Aux, ' ' );
if not PilaVacia(Origen) then begin Apilar (Destino, Desapilar(Origen)); while Not PilaVacia(Origen) do if Tope(Destino) < Tope(Origen) then begin
Apilar (Aux, Desapilar(Destino));Apilar (Destino, Desapilar(Origen));
end else Apilar (Aux, Desapilar(Origen));
while Not PilaVacia(Aux) do Apilar (Origen, Desapilar(Aux)); end; {if PilaVacia(origen)}
end;begin {programa principal} InicPila(Destino, ' '); ReadPila(Origen); while not PilaVacia(Origen) do
PasarMayor(Origen, Destino); WritePila(Destino)end.
C:\fpc\bin\OrdenarPorSeleccion
Ingresar elementos a la Pila: <Base><...><Tope> 3 7 1 4
Aux
Destino
Origen
7 4
1 3
Estado de las Pilas durante ejecución:
Program OrdenarPorSeleccion;………..procedure PasarMayor(var Origen: Pila ; var Destino:Pila);var Aux:Pila;begin InicPila(Aux, ' ' );
if not PilaVacia(Origen) then begin Apilar (Destino, Desapilar(Origen)); while Not PilaVacia(Origen) do if Tope(Destino) < Tope(Origen) then begin
Apilar (Aux, Desapilar(Destino));Apilar (Destino, Desapilar(Origen));
end else Apilar (Aux, Desapilar(Origen));
while Not PilaVacia(Aux) do Apilar (Origen, Desapilar(Aux)); end; {if PilaVacia(origen)}
end;begin {programa principal} InicPila(Destino, ' '); ReadPila(Origen); while not PilaVacia(Origen) do
PasarMayor(Origen, Destino); WritePila(Destino)end.
C:\fpc\bin\OrdenarPorSeleccion
Ingresar elementos a la Pila: <Base><...><Tope> 3 7 1 4
Aux
Destino
Origen
7 4
3
1
Estado de las Pilas durante ejecución:
Program OrdenarPorSeleccion;………..procedure PasarMayor(var Origen: Pila ; var Destino:Pila);var Aux:Pila;begin InicPila(Aux, ' ' );
if not PilaVacia(Origen) then begin Apilar (Destino, Desapilar(Origen)); while Not PilaVacia(Origen) do if Tope(Destino) < Tope(Origen) then begin
Apilar (Aux, Desapilar(Destino));Apilar (Destino, Desapilar(Origen));
end else Apilar (Aux, Desapilar(Origen));
while Not PilaVacia(Aux) do Apilar (Origen, Desapilar(Aux)); end; {if PilaVacia(origen)}
end;begin {programa principal} InicPila(Destino, ' '); ReadPila(Origen); while not PilaVacia(Origen) do
PasarMayor(Origen, Destino); WritePila(Destino)end.
C:\fpc\bin\OrdenarPorSeleccion
Ingresar elementos a la Pila: <Base><...><Tope> 3 7 1 4
Aux
Destino
Origen
7 4
3
1
Estado de las Pilas durante ejecución:
Program OrdenarPorSeleccion;………..procedure PasarMayor(var Origen: Pila ; var Destino:Pila);var Aux:Pila;begin InicPila(Aux, ' ' );
if not PilaVacia(Origen) then begin Apilar (Destino, Desapilar(Origen)); while Not PilaVacia(Origen) do if Tope(Destino) < Tope(Origen) then begin
Apilar (Aux, Desapilar(Destino));Apilar (Destino, Desapilar(Origen));
end else Apilar (Aux, Desapilar(Origen));
while Not PilaVacia(Aux) do Apilar (Origen, Desapilar(Aux)); end; {if PilaVacia(origen)}
end;begin {programa principal} InicPila(Destino, ' '); ReadPila(Origen); while not PilaVacia(Origen) do
PasarMayor(Origen, Destino); WritePila(Destino)end.
C:\fpc\bin\OrdenarPorSeleccion
Ingresar elementos a la Pila: <Base><...><Tope> 3 7 1 4
Aux
Destino
Origen
7 4
3 1
Estado de las Pilas durante ejecución:
Program OrdenarPorSeleccion;………..procedure PasarMayor(var Origen: Pila ; var Destino:Pila);var Aux:Pila;begin InicPila(Aux, ' ' );
if not PilaVacia(Origen) then begin Apilar (Destino, Desapilar(Origen)); while Not PilaVacia(Origen) do if Tope(Destino) < Tope(Origen) then begin
Apilar (Aux, Desapilar(Destino));Apilar (Destino, Desapilar(Origen));
end else Apilar (Aux, Desapilar(Origen));
while Not PilaVacia(Aux) do Apilar (Origen, Desapilar(Aux)); end; {if PilaVacia(origen)}
end;begin {programa principal} InicPila(Destino, ' '); ReadPila(Origen); while not PilaVacia(Origen) do
PasarMayor(Origen, Destino); WritePila(Destino)end.
C:\fpc\bin\OrdenarPorSeleccion
Ingresar elementos a la Pila: <Base><...><Tope> 3 7 1 4
Aux
Destino
Origen
7 4
3 1
Estado de las Pilas durante ejecución:
Program OrdenarPorSeleccion;………..procedure PasarMayor(var Origen: Pila ; var Destino:Pila);var Aux:Pila;begin InicPila(Aux, ' ' );
if not PilaVacia(Origen) then begin Apilar (Destino, Desapilar(Origen)); while Not PilaVacia(Origen) do if Tope(Destino) < Tope(Origen) then begin
Apilar (Aux, Desapilar(Destino));Apilar (Destino, Desapilar(Origen));
end else Apilar (Aux, Desapilar(Origen));
while Not PilaVacia(Aux) do Apilar (Origen, Desapilar(Aux)); end; {if PilaVacia(origen)}
end;begin {programa principal} InicPila(Destino, ' '); ReadPila(Origen); while not PilaVacia(Origen) do
PasarMayor(Origen, Destino); WritePila(Destino)end.
C:\fpc\bin\OrdenarPorSeleccion
Ingresar elementos a la Pila: <Base><...><Tope> 3 7 1 4
Destino
Origen
7 4
3 1
Estado de las Pilas durante ejecución:
Program OrdenarPorSeleccion;………..procedure PasarMayor(var Origen: Pila ; var Destino:Pila);var Aux:Pila;begin InicPila(Aux, ' ' );
if not PilaVacia(Origen) then begin Apilar (Destino, Desapilar(Origen)); while Not PilaVacia(Origen) do if Tope(Destino) < Tope(Origen) then begin
Apilar (Aux, Desapilar(Destino));Apilar (Destino, Desapilar(Origen));
end else Apilar (Aux, Desapilar(Origen));
while Not PilaVacia(Aux) do Apilar (Origen, Desapilar(Aux)); end; {if PilaVacia(origen)}
end;begin {programa principal} InicPila(Destino, ' '); ReadPila(Origen); while not PilaVacia(Origen) do
PasarMayor(Origen, Destino); WritePila(Destino)end.
C:\fpc\bin\OrdenarPorSeleccion
Ingresar elementos a la Pila: <Base><...><Tope> 3 7 1 4
Destino
Origen
7 4
3 1
Estado de las Pilas durante ejecución:
Program OrdenarPorSeleccion;………..procedure PasarMayor(var Origen: Pila ; var Destino:Pila);var Aux:Pila;begin InicPila(Aux, ' ' );
if not PilaVacia(Origen) then begin Apilar (Destino, Desapilar(Origen)); while Not PilaVacia(Origen) do if Tope(Destino) < Tope(Origen) then begin
Apilar (Aux, Desapilar(Destino));Apilar (Destino, Desapilar(Origen));
end else Apilar (Aux, Desapilar(Origen));
while Not PilaVacia(Aux) do Apilar (Origen, Desapilar(Aux)); end; {if PilaVacia(origen)}
end;begin {programa principal} InicPila(Destino, ' '); ReadPila(Origen); while not PilaVacia(Origen) do
PasarMayor(Origen, Destino); WritePila(Destino)end.
C:\fpc\bin\OrdenarPorSeleccion
Ingresar elementos a la Pila: <Base><...><Tope> 3 7 1 4
Destino
Origen
7 4
3 1
Aux
Estado de las Pilas durante ejecución:
Program OrdenarPorSeleccion;………..procedure PasarMayor(var Origen: Pila ; var Destino:Pila);var Aux:Pila;begin InicPila(Aux, ' ' );
if not PilaVacia(Origen) then begin Apilar (Destino, Desapilar(Origen)); while Not PilaVacia(Origen) do if Tope(Destino) < Tope(Origen) then begin
Apilar (Aux, Desapilar(Destino));Apilar (Destino, Desapilar(Origen));
end else Apilar (Aux, Desapilar(Origen));
while Not PilaVacia(Aux) do Apilar (Origen, Desapilar(Aux)); end; {if PilaVacia(origen)}
end;begin {programa principal} InicPila(Destino, ' '); ReadPila(Origen); while not PilaVacia(Origen) do
PasarMayor(Origen, Destino); WritePila(Destino)end.
C:\fpc\bin\OrdenarPorSeleccion
Ingresar elementos a la Pila: <Base><...><Tope> 3 7 1 4
Destino
Origen
7 4
3 1
Aux
Estado de las Pilas durante ejecución:
Program OrdenarPorSeleccion;………..procedure PasarMayor(var Origen: Pila ; var Destino:Pila);var Aux:Pila;begin InicPila(Aux, ' ' );
if not PilaVacia(Origen) then begin Apilar (Destino, Desapilar(Origen)); while Not PilaVacia(Origen) do if Tope(Destino) < Tope(Origen) then begin
Apilar (Aux, Desapilar(Destino));Apilar (Destino, Desapilar(Origen));
end else Apilar (Aux, Desapilar(Origen));
while Not PilaVacia(Aux) do Apilar (Origen, Desapilar(Aux)); end; {if PilaVacia(origen)}
end;begin {programa principal} InicPila(Destino, ' '); ReadPila(Origen); while not PilaVacia(Origen) do
PasarMayor(Origen, Destino); WritePila(Destino)end.
C:\fpc\bin\OrdenarPorSeleccion
Ingresar elementos a la Pila: <Base><...><Tope> 3 7 1 4
Destino
Origen
7 4 1
3
Aux
Estado de las Pilas durante ejecución:
Program OrdenarPorSeleccion;………..procedure PasarMayor(var Origen: Pila ; var Destino:Pila);var Aux:Pila;begin InicPila(Aux, ' ' );
if not PilaVacia(Origen) then begin Apilar (Destino, Desapilar(Origen)); while Not PilaVacia(Origen) do if Tope(Destino) < Tope(Origen) then begin
Apilar (Aux, Desapilar(Destino));Apilar (Destino, Desapilar(Origen));
end else Apilar (Aux, Desapilar(Origen));
while Not PilaVacia(Aux) do Apilar (Origen, Desapilar(Aux)); end; {if PilaVacia(origen)}
end;begin {programa principal} InicPila(Destino, ' '); ReadPila(Origen); while not PilaVacia(Origen) do
PasarMayor(Origen, Destino); WritePila(Destino)end.
C:\fpc\bin\OrdenarPorSeleccion
Ingresar elementos a la Pila: <Base><...><Tope> 3 7 1 4
Destino
Origen
7 4 1
3
Aux
Estado de las Pilas durante ejecución:
Program OrdenarPorSeleccion;………..procedure PasarMayor(var Origen: Pila ; var Destino:Pila);var Aux:Pila;begin InicPila(Aux, ' ' );
if not PilaVacia(Origen) then begin Apilar (Destino, Desapilar(Origen)); while Not PilaVacia(Origen) do if Tope(Destino) < Tope(Origen) then begin
Apilar (Aux, Desapilar(Destino));Apilar (Destino, Desapilar(Origen));
end else Apilar (Aux, Desapilar(Origen));
while Not PilaVacia(Aux) do Apilar (Origen, Desapilar(Aux)); end; {if PilaVacia(origen)}
end;begin {programa principal} InicPila(Destino, ' '); ReadPila(Origen); while not PilaVacia(Origen) do
PasarMayor(Origen, Destino); WritePila(Destino)end.
C:\fpc\bin\OrdenarPorSeleccion
Ingresar elementos a la Pila: <Base><...><Tope> 3 7 1 4
Destino
Origen
7 4 1
3
Aux
Estado de las Pilas durante ejecución:
Program OrdenarPorSeleccion;………..procedure PasarMayor(var Origen: Pila ; var Destino:Pila);var Aux:Pila;begin InicPila(Aux, ' ' );
if not PilaVacia(Origen) then begin Apilar (Destino, Desapilar(Origen)); while Not PilaVacia(Origen) do if Tope(Destino) < Tope(Origen) then begin
Apilar (Aux, Desapilar(Destino));Apilar (Destino, Desapilar(Origen));
end else Apilar (Aux, Desapilar(Origen));
while Not PilaVacia(Aux) do Apilar (Origen, Desapilar(Aux)); end; {if PilaVacia(origen)}
end;begin {programa principal} InicPila(Destino, ' '); ReadPila(Origen); while not PilaVacia(Origen) do
PasarMayor(Origen, Destino); WritePila(Destino)end.
C:\fpc\bin\OrdenarPorSeleccion
Ingresar elementos a la Pila: <Base><...><Tope> 3 7 1 4
Destino
Origen
7 4
3
Aux
1
Estado de las Pilas durante ejecución:
Program OrdenarPorSeleccion;………..procedure PasarMayor(var Origen: Pila ; var Destino:Pila);var Aux:Pila;begin InicPila(Aux, ' ' );
if not PilaVacia(Origen) then begin Apilar (Destino, Desapilar(Origen)); while Not PilaVacia(Origen) do if Tope(Destino) < Tope(Origen) then begin
Apilar (Aux, Desapilar(Destino));Apilar (Destino, Desapilar(Origen));
end else Apilar (Aux, Desapilar(Origen));
while Not PilaVacia(Aux) do Apilar (Origen, Desapilar(Aux)); end; {if PilaVacia(origen)}
end;begin {programa principal} InicPila(Destino, ' '); ReadPila(Origen); while not PilaVacia(Origen) do
PasarMayor(Origen, Destino); WritePila(Destino)end.
C:\fpc\bin\OrdenarPorSeleccion
Ingresar elementos a la Pila: <Base><...><Tope> 3 7 1 4
Destino
Origen
7 4 3
Aux
1
Estado de las Pilas durante ejecución:
Program OrdenarPorSeleccion;………..procedure PasarMayor(var Origen: Pila ; var Destino:Pila);var Aux:Pila;begin InicPila(Aux, ' ' );
if not PilaVacia(Origen) then begin Apilar (Destino, Desapilar(Origen)); while Not PilaVacia(Origen) do if Tope(Destino) < Tope(Origen) then begin
Apilar (Aux, Desapilar(Destino));Apilar (Destino, Desapilar(Origen));
end else Apilar (Aux, Desapilar(Origen));
while Not PilaVacia(Aux) do Apilar (Origen, Desapilar(Aux)); end; {if PilaVacia(origen)}
end;begin {programa principal} InicPila(Destino, ' '); ReadPila(Origen); while not PilaVacia(Origen) do
PasarMayor(Origen, Destino); WritePila(Destino)end.
C:\fpc\bin\OrdenarPorSeleccion
Ingresar elementos a la Pila: <Base><...><Tope> 3 7 1 4
Destino
Origen
7 4 3
Aux
1
Estado de las Pilas durante ejecución:
Program OrdenarPorSeleccion;………..procedure PasarMayor(var Origen: Pila ; var Destino:Pila);var Aux:Pila;begin InicPila(Aux, ' ' );
if not PilaVacia(Origen) then begin Apilar (Destino, Desapilar(Origen)); while Not PilaVacia(Origen) do if Tope(Destino) < Tope(Origen) then begin
Apilar (Aux, Desapilar(Destino));Apilar (Destino, Desapilar(Origen));
end else Apilar (Aux, Desapilar(Origen));
while Not PilaVacia(Aux) do Apilar (Origen, Desapilar(Aux)); end; {if PilaVacia(origen)}
end;begin {programa principal} InicPila(Destino, ' '); ReadPila(Origen); while not PilaVacia(Origen) do
PasarMayor(Origen, Destino); WritePila(Destino)end.
C:\fpc\bin\OrdenarPorSeleccion
Ingresar elementos a la Pila: <Base><...><Tope> 3 7 1 4
Destino
Origen
7 4 3
Aux
1
Estado de las Pilas durante ejecución:
Program OrdenarPorSeleccion;………..procedure PasarMayor(var Origen: Pila ; var Destino:Pila);var Aux:Pila;begin InicPila(Aux, ' ' );
if not PilaVacia(Origen) then begin Apilar (Destino, Desapilar(Origen)); while Not PilaVacia(Origen) do if Tope(Destino) < Tope(Origen) then begin
Apilar (Aux, Desapilar(Destino));Apilar (Destino, Desapilar(Origen));
end else Apilar (Aux, Desapilar(Origen));
while Not PilaVacia(Aux) do Apilar (Origen, Desapilar(Aux)); end; {if PilaVacia(origen)}
end;begin {programa principal} InicPila(Destino, ' '); ReadPila(Origen); while not PilaVacia(Origen) do
PasarMayor(Origen, Destino); WritePila(Destino)end.
C:\fpc\bin\OrdenarPorSeleccion
Ingresar elementos a la Pila: <Base><...><Tope> 3 7 1 4
Destino
Origen
7 4 3
Aux
1
Estado de las Pilas durante ejecución:
Program OrdenarPorSeleccion;………..procedure PasarMayor(var Origen: Pila ; var Destino:Pila);var Aux:Pila;begin InicPila(Aux, ' ' );
if not PilaVacia(Origen) then begin Apilar (Destino, Desapilar(Origen)); while Not PilaVacia(Origen) do if Tope(Destino) < Tope(Origen) then begin
Apilar (Aux, Desapilar(Destino));Apilar (Destino, Desapilar(Origen));
end else Apilar (Aux, Desapilar(Origen));
while Not PilaVacia(Aux) do Apilar (Origen, Desapilar(Aux)); end; {if PilaVacia(origen)}
end;begin {programa principal} InicPila(Destino, ' '); ReadPila(Origen); while not PilaVacia(Origen) do
PasarMayor(Origen, Destino); WritePila(Destino)end.
C:\fpc\bin\OrdenarPorSeleccion
Ingresar elementos a la Pila: <Base><...><Tope> 3 7 1 4
Destino
Origen
7 4 3
1
Estado de las Pilas durante ejecución:
Program OrdenarPorSeleccion;………..procedure PasarMayor(var Origen: Pila ; var Destino:Pila);var Aux:Pila;begin InicPila(Aux, ' ' );
if not PilaVacia(Origen) then begin Apilar (Destino, Desapilar(Origen)); while Not PilaVacia(Origen) do if Tope(Destino) < Tope(Origen) then begin
Apilar (Aux, Desapilar(Destino));Apilar (Destino, Desapilar(Origen));
end else Apilar (Aux, Desapilar(Origen));
while Not PilaVacia(Aux) do Apilar (Origen, Desapilar(Aux)); end; {if PilaVacia(origen)}
end;begin {programa principal} InicPila(Destino, ' '); ReadPila(Origen); while not PilaVacia(Origen) do
PasarMayor(Origen, Destino); WritePila(Destino)end.
C:\fpc\bin\OrdenarPorSeleccion
Ingresar elementos a la Pila: <Base><...><Tope> 3 7 1 4
Destino
Origen
7 4 3
1
Estado de las Pilas durante ejecución:
Program OrdenarPorSeleccion;………..procedure PasarMayor(var Origen: Pila ; var Destino:Pila);var Aux:Pila;begin InicPila(Aux, ' ' );
if not PilaVacia(Origen) then begin Apilar (Destino, Desapilar(Origen)); while Not PilaVacia(Origen) do if Tope(Destino) < Tope(Origen) then begin
Apilar (Aux, Desapilar(Destino));Apilar (Destino, Desapilar(Origen));
end else Apilar (Aux, Desapilar(Origen));
while Not PilaVacia(Aux) do Apilar (Origen, Desapilar(Aux)); end; {if PilaVacia(origen)}
end;begin {programa principal} InicPila(Destino, ' '); ReadPila(Origen); while not PilaVacia(Origen) do
PasarMayor(Origen, Destino); WritePila(Destino)end.
C:\fpc\bin\OrdenarPorSeleccion
Ingresar elementos a la Pila: <Base><...><Tope> 3 7 1 4
Destino
Origen
7 4 3
1
Estado de las Pilas durante ejecución:
Program OrdenarPorSeleccion;………..procedure PasarMayor(var Origen: Pila ; var Destino:Pila);var Aux:Pila;begin InicPila(Aux, ' ' );
if not PilaVacia(Origen) then begin Apilar (Destino, Desapilar(Origen)); while Not PilaVacia(Origen) do if Tope(Destino) < Tope(Origen) then begin
Apilar (Aux, Desapilar(Destino));Apilar (Destino, Desapilar(Origen));
end else Apilar (Aux, Desapilar(Origen));
while Not PilaVacia(Aux) do Apilar (Origen, Desapilar(Aux)); end; {if PilaVacia(origen)}
end;begin {programa principal} InicPila(Destino, ' '); ReadPila(Origen); while not PilaVacia(Origen) do
PasarMayor(Origen, Destino); WritePila(Destino)end.
C:\fpc\bin\OrdenarPorSeleccion
Ingresar elementos a la Pila: <Base><...><Tope> 3 7 1 4
Destino
Origen
7 4 3
1
Aux
Estado de las Pilas durante ejecución:
Program OrdenarPorSeleccion;………..procedure PasarMayor(var Origen: Pila ; var Destino:Pila);var Aux:Pila;begin InicPila(Aux, ' ' );
if not PilaVacia(Origen) then begin Apilar (Destino, Desapilar(Origen)); while Not PilaVacia(Origen) do if Tope(Destino) < Tope(Origen) then begin
Apilar (Aux, Desapilar(Destino));Apilar (Destino, Desapilar(Origen));
end else Apilar (Aux, Desapilar(Origen));
while Not PilaVacia(Aux) do Apilar (Origen, Desapilar(Aux)); end; {if PilaVacia(origen)}
end;begin {programa principal} InicPila(Destino, ' '); ReadPila(Origen); while not PilaVacia(Origen) do
PasarMayor(Origen, Destino); WritePila(Destino)end.
C:\fpc\bin\OrdenarPorSeleccion
Ingresar elementos a la Pila: <Base><...><Tope> 3 7 1 4
Destino
Origen
7 4 3
1
Aux
Estado de las Pilas durante ejecución:
Program OrdenarPorSeleccion;………..procedure PasarMayor(var Origen: Pila ; var Destino:Pila);var Aux:Pila;begin InicPila(Aux, ' ' );
if not PilaVacia(Origen) then begin Apilar (Destino, Desapilar(Origen)); while Not PilaVacia(Origen) do if Tope(Destino) < Tope(Origen) then begin
Apilar (Aux, Desapilar(Destino));Apilar (Destino, Desapilar(Origen));
end else Apilar (Aux, Desapilar(Origen));
while Not PilaVacia(Aux) do Apilar (Origen, Desapilar(Aux)); end; {if PilaVacia(origen)}
end;begin {programa principal} InicPila(Destino, ' '); ReadPila(Origen); while not PilaVacia(Origen) do
PasarMayor(Origen, Destino); WritePila(Destino)end.
C:\fpc\bin\OrdenarPorSeleccion
Ingresar elementos a la Pila: <Base><...><Tope> 3 7 1 4
Destino
Origen
7 4 3 1
Aux
Estado de las Pilas durante ejecución:
Program OrdenarPorSeleccion;………..procedure PasarMayor(var Origen: Pila ; var Destino:Pila);var Aux:Pila;begin InicPila(Aux, ' ' );
if not PilaVacia(Origen) then begin Apilar (Destino, Desapilar(Origen)); while Not PilaVacia(Origen) do if Tope(Destino) < Tope(Origen) then begin
Apilar (Aux, Desapilar(Destino));Apilar (Destino, Desapilar(Origen));
end else Apilar (Aux, Desapilar(Origen));
while Not PilaVacia(Aux) do Apilar (Origen, Desapilar(Aux)); end; {if PilaVacia(origen)}
end;begin {programa principal} InicPila(Destino, ' '); ReadPila(Origen); while not PilaVacia(Origen) do
PasarMayor(Origen, Destino); WritePila(Destino)end.
C:\fpc\bin\OrdenarPorSeleccion
Ingresar elementos a la Pila: <Base><...><Tope> 3 7 1 4
Destino
Origen
7 4 3 1
Aux
Estado de las Pilas durante ejecución:
Program OrdenarPorSeleccion;………..procedure PasarMayor(var Origen: Pila ; var Destino:Pila);var Aux:Pila;begin InicPila(Aux, ' ' );
if not PilaVacia(Origen) then begin Apilar (Destino, Desapilar(Origen)); while Not PilaVacia(Origen) do if Tope(Destino) < Tope(Origen) then begin
Apilar (Aux, Desapilar(Destino));Apilar (Destino, Desapilar(Origen));
end else Apilar (Aux, Desapilar(Origen));
while Not PilaVacia(Aux) do Apilar (Origen, Desapilar(Aux)); end; {if PilaVacia(origen)}
end;begin {programa principal} InicPila(Destino, ' '); ReadPila(Origen); while not PilaVacia(Origen) do
PasarMayor(Origen, Destino); WritePila(Destino)end.
C:\fpc\bin\OrdenarPorSeleccion
Ingresar elementos a la Pila: <Base><...><Tope> 3 7 1 4
Destino
Origen
7 4 3 1
Aux
Estado de las Pilas durante ejecución:
Program OrdenarPorSeleccion;………..procedure PasarMayor(var Origen: Pila ; var Destino:Pila);var Aux:Pila;begin InicPila(Aux, ' ' );
if not PilaVacia(Origen) then begin Apilar (Destino, Desapilar(Origen)); while Not PilaVacia(Origen) do if Tope(Destino) < Tope(Origen) then begin
Apilar (Aux, Desapilar(Destino));Apilar (Destino, Desapilar(Origen));
end else Apilar (Aux, Desapilar(Origen));
while Not PilaVacia(Aux) do Apilar (Origen, Desapilar(Aux)); end; {if PilaVacia(origen)}
end;begin {programa principal} InicPila(Destino, ' '); ReadPila(Origen); while not PilaVacia(Origen) do
PasarMayor(Origen, Destino); WritePila(Destino)end.
C:\fpc\bin\OrdenarPorSeleccion
Ingresar elementos a la Pila: <Base><...><Tope> 3 7 1 4
Destino
Origen
7 4 3 1
Estado de las Pilas durante ejecución:
Program OrdenarPorSeleccion;………..procedure PasarMayor(var Origen: Pila ; var Destino:Pila);var Aux:Pila;begin InicPila(Aux, ' ' );
if not PilaVacia(Origen) then begin Apilar (Destino, Desapilar(Origen)); while Not PilaVacia(Origen) do if Tope(Destino) < Tope(Origen) then begin
Apilar (Aux, Desapilar(Destino));Apilar (Destino, Desapilar(Origen));
end else Apilar (Aux, Desapilar(Origen));
while Not PilaVacia(Aux) do Apilar (Origen, Desapilar(Aux)); end; {if PilaVacia(origen)}
end;begin {programa principal} InicPila(Destino, ' '); ReadPila(Origen); while not PilaVacia(Origen) do
PasarMayor(Origen, Destino); WritePila(Destino)end.
C:\fpc\bin\OrdenarPorSeleccion
Ingresar elementos a la Pila: <Base><...><Tope> 3 7 1 4
Destino
Origen
7 4 3 1
Estado de las Pilas durante ejecución:
Program OrdenarPorSeleccion;………..procedure PasarMayor(var Origen: Pila ; var Destino:Pila);var Aux:Pila;begin InicPila(Aux, ' ' );
if not PilaVacia(Origen) then begin Apilar (Destino, Desapilar(Origen)); while Not PilaVacia(Origen) do if Tope(Destino) < Tope(Origen) then begin
Apilar (Aux, Desapilar(Destino));Apilar (Destino, Desapilar(Origen));
end else Apilar (Aux, Desapilar(Origen));
while Not PilaVacia(Aux) do Apilar (Origen, Desapilar(Aux)); end; {if PilaVacia(origen)}
end;begin {programa principal} InicPila(Destino, ' '); ReadPila(Origen); while not PilaVacia(Origen) do
PasarMayor(Origen, Destino); WritePila(Destino)end.
C:\fpc\bin\OrdenarPorSeleccion
Ingresar elementos a la Pila: <Base><...><Tope> 3 7 1 4
<Base> <….><Tope> 7 4 3 1
Destino
Origen
7 4 3 1
Estado de las Pilas durante ejecución:
Program OrdenarPorSeleccion;………..procedure PasarMayor(var Origen: Pila ; var Destino:Pila);var Aux:Pila;begin InicPila(Aux, ' ' );
if not PilaVacia(Origen) then begin Apilar (Destino, Desapilar(Origen)); while Not PilaVacia(Origen) do if Tope(Destino) < Tope(Origen) then begin
Apilar (Aux, Desapilar(Destino));Apilar (Destino, Desapilar(Origen));
end else Apilar (Aux, Desapilar(Origen));
while Not PilaVacia(Aux) do Apilar (Origen, Desapilar(Aux)); end; {if PilaVacia(origen)}
end;begin {programa principal} InicPila(Destino, ' '); ReadPila(Origen); while not PilaVacia(Origen) do
PasarMayor(Origen, Destino); WritePila(Destino)end.
C:\fpc\bin\OrdenarPorSeleccion
Ingresar elementos a la Pila: <Base><...><Tope> 3 7 1 4
<Base> <….><Tope> 7 4 3 1
Destino
Origen
7 4 3 1
Procedimiento
Programa Principal
MODULARIZACIÓN
Top Related