Forma de Trabajo
1- Comprender el problema
2- Estudiar todas las posibles situaciones
3- Plantear todas las estrategias posibles
4- Seleccionar la más adecuada
5- Formalizar la solución mediante el
diagrama de Estructura
6- Codificar
7- Validar la Solución según las situaciones
planteadas en el punto 2
Forma de Trabajo
1- Comprender el problema
2- Estudiar todas las posibles situaciones
3- Plantear todas las estrategias posibles
4- Seleccionar la más adecuada
5- Formalizar la solución mediante el
diagrama de Estructura
6- Codificar
7- Validar la Solución según las situaciones
planteadas en el punto 2
Forma de Trabajo
1- Comprender el problema
2- Estudiar todas las posibles situaciones
3- Plantear todas las estrategias posibles
4- Seleccionar la más adecuada
5- Formalizar la solución mediante el
diagrama de Estructura
6- Codificar
7- Validar la Solución según las situaciones
planteadas en el punto 2
Forma de Trabajo
1- Comprender el problema
2- Estudiar todas las posibles situaciones
3- Plantear todas las estrategias posibles
4- Seleccionar la más adecuada
5- Formalizar la solución mediante el
diagrama de Estructura
6- Codificar
7- Validar la Solución según las situaciones
planteadas en el punto 2
Forma de Trabajo
1- Comprender el problema
2- Estudiar todas las posibles situaciones
3- Plantear todas las estrategias posibles
4- Seleccionar la más adecuada
5- Formalizar la solución mediante el
diagrama de Estructura
6- Codificar
7- Validar la Solución según las situaciones
planteadas en el punto 2
Forma de Trabajo
1- Comprender el problema
2- Estudiar todas las posibles situaciones
3- Plantear todas las estrategias posibles
4- Seleccionar la más adecuada
5- Formalizar la solución mediante el
diagrama de Estructura
6- Codificar
7- Validar la Solución según las situaciones
planteadas en el punto 2
Forma de Trabajo
1- Comprender el problema
2- Estudiar todas las posibles situaciones
3- Plantear todas las estrategias posibles
4- Seleccionar la más adecuada
5- Formalizar la solución mediante el
diagrama de Estructura
6- Codificar
7- Validar la Solución según las situaciones
planteadas en el punto 2
• 1- Comprender el problema
Dada la pila Origen con números que no necesariamente estén ordenados, pasarlos a la pila Destino de tal forma que queden ordenados de menos a mayor (desde el tope a la base)
Forma de Trabajo
1- Comprender el problema
Forma de Trabajo
• 2- Estudiar las posibles situaciones
Destino Se inicializará en vacío
Origen:¿Que datos puede tener? • Vacía• Con un elemento• Con varios elementos ordenados• Con varios elementos desordenados• Con elementos repetidos
Forma de Trabajo
3- Plantear todas las estrategias posibles
analizar todas las estrategias que
pueden solucionar el problema
Forma de Trabajo
3 – Plantear todas las estrategias posibles
(Métodos de ordenamiento)
4 – Seleccionar la más adecuada
(Método de ordenamiento por Selección)
Forma de Trabajo
En este caso se optó por ésta método directamente
4173
Forma de Trabajo
Método de Selección
-Extraer el Mayor de Origen y pasarlo a Destino
-Repetir este proceso para todos los elementos de Origen
-Mientras (la Pila origen no este vacía)
-Extraer el Mayor de Origen y pasarlo a Destino
4173
Forma de Trabajo
Método de Selección
Mientras (la Pila origen no este vacía)
Extraer el Mayor de Origen y pasarlo a Destino
41
3
Método de Selección
Mientras (la Pila origen no este vacía)
Extraer el Mayor de Origen y pasarlo a Destino
Forma de Trabajo
7
1
3
Forma de Trabajo
47
Método de Selección
Mientras (la Pila origen no este vacía)
Extraer el Mayor de Origen y pasarlo a Destino
1
Forma de Trabajo
347
Método de Selección
Mientras (la Pila origen no este vacía)
Extraer el Mayor de Origen y pasarlo a Destino
Forma de Trabajo
1 347
Método de Selección
Mientras (la Pila origen no este vacía)
Extraer el Mayor de Origen y pasarlo a Destino
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
• 7- Validar la Solución según las situaciones planteadas en el punto 2
Forma de Trabajo
Origen:¿Que datos puede tener? • Vacía• Con un elemento• Con varios elementos ordenados• Con varios elementos desordenados• Con elementos repetidos
Otra forma de ordenar: Ordenamiento por Inserción
Otra forma de ordenar: Ordenamiento por Inserción
Mientras Origen no este vacíaSe saca el tope de la pila OrigenSe lo inserta ordenado en la pila Destino
Ordenamiento por SelecciónLa complejidad está sobre la pila Origen, porque se debe seleccionar el MAXIMO/MINIMO…….
Ordenamiento por InserciónLa complejidad está sobre la pila Destino, porque se debe insertar un elemento de manera ordenada
Top Related