forma de trabajo 3 – plantear todas las estrategias posibles 4 – seleccionar la más adecuada...

74
Forma de Trabajo 3 – Plantear todas las estrategias posibles 4 – Seleccionar la más adecuada (Método de ordenamiento por Selección)

Upload: ashanti-eustis

Post on 28-Mar-2015

222 views

Category:

Documents


2 download

TRANSCRIPT

Page 1: 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 3 – Plantear todas las estrategias posibles

4 – Seleccionar la más adecuada

(Método de ordenamiento por Selección)

Page 2: 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

Page 3: 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

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

Page 4: 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

5 – Formalizar la solución mediante el diagrama de estructura

OrdenarPorSelección

PasarMayor

OrigenDestino

Page 5: Forma de Trabajo 3 – Plantear todas las estrategias posibles 4 – Seleccionar la más adecuada (Método de ordenamiento por Selección)

Procedimiento

Programa Principal

Page 6: Forma de Trabajo 3 – Plantear todas las estrategias posibles 4 – Seleccionar la más adecuada (Método de ordenamiento por Selecció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

Estado de las Pilas durante ejecución:

Destino

Page 7: Forma de Trabajo 3 – Plantear todas las estrategias posibles 4 – Seleccionar la más adecuada (Método de ordenamiento por Selecció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

Estado de las Pilas durante ejecución:

Destino

Origen 3 7 1 4

Page 8: Forma de Trabajo 3 – Plantear todas las estrategias posibles 4 – Seleccionar la más adecuada (Método de ordenamiento por Selecció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

Estado de las Pilas durante ejecución:

Destino

Origen 3 7 1 4

Page 9: Forma de Trabajo 3 – Plantear todas las estrategias posibles 4 – Seleccionar la más adecuada (Método de ordenamiento por Selecció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

Estado de las Pilas durante ejecución:

Destino

Origen 3 7 1 4

Page 10: Forma de Trabajo 3 – Plantear todas las estrategias posibles 4 – Seleccionar la más adecuada (Método de ordenamiento por Selecció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

Estado de las Pilas durante ejecución:

Aux

Destino

Origen 3 7 1 4

Page 11: Forma de Trabajo 3 – Plantear todas las estrategias posibles 4 – Seleccionar la más adecuada (Método de ordenamiento por Selecció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

Estado de las Pilas durante ejecución:

Aux

Destino

Origen 3 7 1 4

Page 12: Forma de Trabajo 3 – Plantear todas las estrategias posibles 4 – Seleccionar la más adecuada (Método de ordenamiento por Selecció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

Estado de las Pilas durante ejecución:

Aux

Destino

Origen 3 7 1

4

Page 13: Forma de Trabajo 3 – Plantear todas las estrategias posibles 4 – Seleccionar la más adecuada (Método de ordenamiento por Selecció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

Estado de las Pilas durante ejecución:

Aux

Destino

Origen 3 7 1

4

Page 14: Forma de Trabajo 3 – Plantear todas las estrategias posibles 4 – Seleccionar la más adecuada (Método de ordenamiento por Selecció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

Estado de las Pilas durante ejecución:

Aux

Destino

Origen 3 7 1

4

Page 15: Forma de Trabajo 3 – Plantear todas las estrategias posibles 4 – Seleccionar la más adecuada (Método de ordenamiento por Selecció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

Estado de las Pilas durante ejecución:

Aux

Destino

Origen 3 7

4

1

Page 16: Forma de Trabajo 3 – Plantear todas las estrategias posibles 4 – Seleccionar la más adecuada (Método de ordenamiento por Selecció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

Estado de las Pilas durante ejecución:

Aux

Destino

Origen 3 7

4

1

Page 17: Forma de Trabajo 3 – Plantear todas las estrategias posibles 4 – Seleccionar la más adecuada (Método de ordenamiento por Selecció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

Estado de las Pilas durante ejecución:

Aux

Destino

Origen 3 7

4

1

Page 18: Forma de Trabajo 3 – Plantear todas las estrategias posibles 4 – Seleccionar la más adecuada (Método de ordenamiento por Selecció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

Estado de las Pilas durante ejecución:

Aux

Destino

Origen 3 7

1 4

Page 19: Forma de Trabajo 3 – Plantear todas las estrategias posibles 4 – Seleccionar la más adecuada (Método de ordenamiento por Selecció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

Estado de las Pilas durante ejecución:Estado de las Pilas durante ejecución:

Aux

Destino

Origen 3

1 4

7

Page 20: Forma de Trabajo 3 – Plantear todas las estrategias posibles 4 – Seleccionar la más adecuada (Método de ordenamiento por Selecció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

Estado de las Pilas durante ejecución:

Aux

Destino

Origen 3

1 4

7

Page 21: Forma de Trabajo 3 – Plantear todas las estrategias posibles 4 – Seleccionar la más adecuada (Método de ordenamiento por Selecció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

Estado de las Pilas durante ejecución:

Aux

Destino

Origen 3

1 4

7

Page 22: Forma de Trabajo 3 – Plantear todas las estrategias posibles 4 – Seleccionar la más adecuada (Método de ordenamiento por Selecció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

Estado de las Pilas durante ejecución:

Aux

Destino

Origen

1 4 3

7

Page 23: Forma de Trabajo 3 – Plantear todas las estrategias posibles 4 – Seleccionar la más adecuada (Método de ordenamiento por Selecció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

Estado de las Pilas durante ejecución:

Aux

Destino

Origen

1 4 3

7

Page 24: Forma de Trabajo 3 – Plantear todas las estrategias posibles 4 – Seleccionar la más adecuada (Método de ordenamiento por Selecció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

Estado de las Pilas durante ejecución:

Aux

Destino

Origen

1 4 3

7

Page 25: Forma de Trabajo 3 – Plantear todas las estrategias posibles 4 – Seleccionar la más adecuada (Método de ordenamiento por Selecció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

Estado de las Pilas durante ejecución:

Aux

Destino

Origen

1 4

7

3

Page 26: Forma de Trabajo 3 – Plantear todas las estrategias posibles 4 – Seleccionar la más adecuada (Método de ordenamiento por Selecció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

Estado de las Pilas durante ejecución:

Aux

Destino

Origen

1 4

7

3

Page 27: Forma de Trabajo 3 – Plantear todas las estrategias posibles 4 – Seleccionar la más adecuada (Método de ordenamiento por Selecció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

Estado de las Pilas durante ejecución:

Aux

Destino

Origen

1

7

3 4

Page 28: Forma de Trabajo 3 – Plantear todas las estrategias posibles 4 – Seleccionar la más adecuada (Método de ordenamiento por Selecció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

Estado de las Pilas durante ejecución:

Aux

Destino

Origen

1

7

3 4

Page 29: Forma de Trabajo 3 – Plantear todas las estrategias posibles 4 – Seleccionar la más adecuada (Método de ordenamiento por Selecció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

Estado de las Pilas durante ejecución:

Aux

Destino

Origen

7

3 4 1

Page 30: Forma de Trabajo 3 – Plantear todas las estrategias posibles 4 – Seleccionar la más adecuada (Método de ordenamiento por Selecció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

Estado de las Pilas durante ejecución:Estado de las Pilas durante ejecución:

Aux

Destino

Origen

7

3 4 1

Page 31: Forma de Trabajo 3 – Plantear todas las estrategias posibles 4 – Seleccionar la más adecuada (Método de ordenamiento por Selecció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

Estado de las Pilas durante ejecución:

Estado de las Pilas durante ejecución:

Destino

Origen

7

3 4 1

Page 32: Forma de Trabajo 3 – Plantear todas las estrategias posibles 4 – Seleccionar la más adecuada (Método de ordenamiento por Selecció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

Estado de las Pilas durante ejecución:

Destino

Origen

7

3 4 1

Page 33: Forma de Trabajo 3 – Plantear todas las estrategias posibles 4 – Seleccionar la más adecuada (Método de ordenamiento por Selecció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

Estado de las Pilas durante ejecución:

Destino

Origen

7

3 4 1

Page 34: Forma de Trabajo 3 – Plantear todas las estrategias posibles 4 – Seleccionar la más adecuada (Método de ordenamiento por Selección)

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

Page 35: Forma de Trabajo 3 – Plantear todas las estrategias posibles 4 – Seleccionar la más adecuada (Método de ordenamiento por Selección)

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

Page 36: Forma de Trabajo 3 – Plantear todas las estrategias posibles 4 – Seleccionar la más adecuada (Método de ordenamiento por Selección)

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

Page 37: Forma de Trabajo 3 – Plantear todas las estrategias posibles 4 – Seleccionar la más adecuada (Método de ordenamiento por Selección)

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

Page 38: Forma de Trabajo 3 – Plantear todas las estrategias posibles 4 – Seleccionar la más adecuada (Método de ordenamiento por Selección)

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

Page 39: Forma de Trabajo 3 – Plantear todas las estrategias posibles 4 – Seleccionar la más adecuada (Método de ordenamiento por Selección)

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

Page 40: Forma de Trabajo 3 – Plantear todas las estrategias posibles 4 – Seleccionar la más adecuada (Método de ordenamiento por Selección)

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

Page 41: Forma de Trabajo 3 – Plantear todas las estrategias posibles 4 – Seleccionar la más adecuada (Método de ordenamiento por Selección)

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

Page 42: Forma de Trabajo 3 – Plantear todas las estrategias posibles 4 – Seleccionar la más adecuada (Método de ordenamiento por Selección)

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

Page 43: Forma de Trabajo 3 – Plantear todas las estrategias posibles 4 – Seleccionar la más adecuada (Método de ordenamiento por Selección)

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

Page 44: Forma de Trabajo 3 – Plantear todas las estrategias posibles 4 – Seleccionar la más adecuada (Método de ordenamiento por Selección)

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

Page 45: Forma de Trabajo 3 – Plantear todas las estrategias posibles 4 – Seleccionar la más adecuada (Método de ordenamiento por Selección)

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

Page 46: Forma de Trabajo 3 – Plantear todas las estrategias posibles 4 – Seleccionar la más adecuada (Método de ordenamiento por Selección)

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

Page 47: Forma de Trabajo 3 – Plantear todas las estrategias posibles 4 – Seleccionar la más adecuada (Método de ordenamiento por Selección)

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

Page 48: Forma de Trabajo 3 – Plantear todas las estrategias posibles 4 – Seleccionar la más adecuada (Método de ordenamiento por Selección)

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

Page 49: Forma de Trabajo 3 – Plantear todas las estrategias posibles 4 – Seleccionar la más adecuada (Método de ordenamiento por Selección)

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

Page 50: Forma de Trabajo 3 – Plantear todas las estrategias posibles 4 – Seleccionar la más adecuada (Método de ordenamiento por Selección)

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

Page 51: Forma de Trabajo 3 – Plantear todas las estrategias posibles 4 – Seleccionar la más adecuada (Método de ordenamiento por Selección)

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

Page 52: Forma de Trabajo 3 – Plantear todas las estrategias posibles 4 – Seleccionar la más adecuada (Método de ordenamiento por Selección)

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

Page 53: Forma de Trabajo 3 – Plantear todas las estrategias posibles 4 – Seleccionar la más adecuada (Método de ordenamiento por Selección)

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

Page 54: Forma de Trabajo 3 – Plantear todas las estrategias posibles 4 – Seleccionar la más adecuada (Método de ordenamiento por Selección)

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

Page 55: Forma de Trabajo 3 – Plantear todas las estrategias posibles 4 – Seleccionar la más adecuada (Método de ordenamiento por Selección)

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

Page 56: Forma de Trabajo 3 – Plantear todas las estrategias posibles 4 – Seleccionar la más adecuada (Método de ordenamiento por Selección)

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

Page 57: Forma de Trabajo 3 – Plantear todas las estrategias posibles 4 – Seleccionar la más adecuada (Método de ordenamiento por Selección)

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

Page 58: Forma de Trabajo 3 – Plantear todas las estrategias posibles 4 – Seleccionar la más adecuada (Método de ordenamiento por Selección)

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

Page 59: Forma de Trabajo 3 – Plantear todas las estrategias posibles 4 – Seleccionar la más adecuada (Método de ordenamiento por Selección)

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

Page 60: Forma de Trabajo 3 – Plantear todas las estrategias posibles 4 – Seleccionar la más adecuada (Método de ordenamiento por Selección)

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

Page 61: Forma de Trabajo 3 – Plantear todas las estrategias posibles 4 – Seleccionar la más adecuada (Método de ordenamiento por Selección)

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

Page 62: Forma de Trabajo 3 – Plantear todas las estrategias posibles 4 – Seleccionar la más adecuada (Método de ordenamiento por Selección)

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

Page 63: Forma de Trabajo 3 – Plantear todas las estrategias posibles 4 – Seleccionar la más adecuada (Método de ordenamiento por Selección)

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

Page 64: Forma de Trabajo 3 – Plantear todas las estrategias posibles 4 – Seleccionar la más adecuada (Método de ordenamiento por Selección)

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

Page 65: Forma de Trabajo 3 – Plantear todas las estrategias posibles 4 – Seleccionar la más adecuada (Método de ordenamiento por Selección)

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

Page 66: Forma de Trabajo 3 – Plantear todas las estrategias posibles 4 – Seleccionar la más adecuada (Método de ordenamiento por Selección)

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

Page 67: Forma de Trabajo 3 – Plantear todas las estrategias posibles 4 – Seleccionar la más adecuada (Método de ordenamiento por Selección)

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

Page 68: Forma de Trabajo 3 – Plantear todas las estrategias posibles 4 – Seleccionar la más adecuada (Método de ordenamiento por Selección)

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

Page 69: Forma de Trabajo 3 – Plantear todas las estrategias posibles 4 – Seleccionar la más adecuada (Método de ordenamiento por Selección)

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

Page 70: Forma de Trabajo 3 – Plantear todas las estrategias posibles 4 – Seleccionar la más adecuada (Método de ordenamiento por Selección)

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

Page 71: Forma de Trabajo 3 – Plantear todas las estrategias posibles 4 – Seleccionar la más adecuada (Método de ordenamiento por Selección)

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

Page 72: Forma de Trabajo 3 – Plantear todas las estrategias posibles 4 – Seleccionar la más adecuada (Método de ordenamiento por Selección)

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

Page 73: Forma de Trabajo 3 – Plantear todas las estrategias posibles 4 – Seleccionar la más adecuada (Método de ordenamiento por Selección)

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

Page 74: Forma de Trabajo 3 – Plantear todas las estrategias posibles 4 – Seleccionar la más adecuada (Método de ordenamiento por Selección)

Procedimiento

Programa Principal

MODULARIZACIÓN