Autor Tema: método para ordenar números semana 2 curso bases programación  (Leído 3313 veces)

Mario R. Rancel

  • Administrador
  • Experto
  • ********
  • APR2.COM
  • Mensajes: 1978
    • Ver Perfil
Ejemplo para describir el método de ordenación de números: ordenar esta serie de números

Caso de estudio:      45   11   32   8   267


EXPLICACIÓN

El ejercicio podemos verlo con el siguiente símil: “Tengo 5 cajas que por fuera tienen una etiqueta que pone v(1), v(2), v(3), v(4) y v(5). Dentro de cada caja hay un papel con un número (inicialmente estas cajas tienen como contenido papeles con los números 45, 11, 32, 8 y 267).

Tengo otras 5 cajas que por fuera tienen una etiqueta que pone o(1), o(2), o(3), o(4) y o(5). Dentro de cada caja hay un papel con un número (inicialmente todas estas cajas tienen un papel que no pone nada, lo consideramos como si fuera un cero). Lo que quiero es que en estas cajas al final tenga los números ordenados de mayor a menor, de modo que en la caja o(1) esté el número más grande, en la caja o(2) el siguiente más grande y así hasta terminar.

Paso 1

Queremos escribir un valor en la caja o(1) para ir ordenando los números en estas cajas. En cada paso vamos a escribir en el papel de una caja de orden o(…) analizando una caja de valor v(…) de modo que poco a poco vayamos ordenando los números.

Como la caja que pone o(1) está vacía, escribimos en el papel que contiene lo mismo que pone el papel de la caja v(1), de modo que ahora o(1) = v(1) = 45

Provisionalmente el orden 1, el mayor número, es 45, ya que de momento sólo hemos analizado la caja que pone v(1). Cuando analicemos las otras cajas a lo mejor hay que hacer cambios.

Paso 2

Comparo el papel en la caja que pone o(1) con el que pone la caja v(2). ¿Es mayor el número dentro de la caja que pone o(1) que el número dentro de la caja que pone v(2)? Sí, puesto que en o(1) tenemos un 45 y en la caja v(2) hay un 11. Por tanto el orden 2 será 11, para hacerlo efectivo escribimos en el papel dentro de la caja o(2) el número 11. Ahora tenemos como orden 1 el 45 y como orden 2 el 11 (provisionalmente).


Paso 3

Comparo el papel de la caja que pone o(1) con el que tiene la caja v(3). ¿Es mayor el número dentro de la caja que pone o(1) que el número dentro de la caja que pone v(3)? Sí, por tanto el orden 1 sigue siendo el 45. Ahora comparo el papel de la caja que pone o(2) con el que tiene la caja v(3). ¿Es mayor el número dentro de la caja que pone o(2) que el número dentro de la caja que pone v(3)? No, ya que o(2) tiene 11 mientras que v(3) tiene 32. Queremos asignar un contenido a la caja que pone o(3), pero ya sabemos que este contenido tendrá que ser el número que figuraba en la caja o(2) anteriormente porque hay que escribir otro número dentro de la caja que pone o(2). Entonces, en la caja o(3) escribimos en el papel lo que antes figuraba en la caja o(2), es decir, o(3) = o(2) = 11, esto significa que la caja que pone o(3) ahora tiene escrito en el papel que lleva dentro lo que estaba escrito en la caja que ponía o(2).
Ahora en la caja que pone o(2) escibimos en su papel el número 32 (que es lo que ponía el papel en la caja v(3).

De esta forma en las cajas o(1) nos queda el 45, en la caja o(2) nos queda el 32 y en la caja o(3) nos queda el 11. Vemos cómo nos van quedando ordenados los números.


Paso 4

Comparo el papel de o(1) que pone 45 con el que tiene la caja v(4) que es 8, como o(1) es mayor no hay que hacer cambios. Comparo o(2) con v(4) y también es mayor, no hay que hacer cambios. Comparo o(3) con v(4) y también es mayor. Ahora ya sé que en la caja o(4) puedo escribir 8. Ahora tengo los números ordenados de momento como o(1) = 45, o(2) = 32, o(3) = 11, o(4) = 8


Paso 5

Comparo el papel de o(1) que pone 45 con el que tiene la caja v(5) que es 267. Como v(5) es mayor que o(1) significa que este número se va a convertir en o(1), pero la caja con o(1) tiene un número y no puedo tacharlo directamente porque lo perdería. Lo primero que tengo que hacer es “hacerle sitio” reordenando lo que tiene cada caja y para ello:

Escribo en la caja o(5) lo que ponía la caja o(4), es decir, o(5) = 8  (podemos escribir o(5) = o(4) para indicar que la caja que pone o(5) ahora lleva un papel con lo que ponía la caja o(4)).

Escribo en la caja o(4) lo que tenía la caja o(3), es decir ahora o(4) = 11

Escribo en la caja o(3) lo que tenía la caja o(2), es decir ahora o(3) = 32

Escribo en la caja o(2) lo que tenía la caja o(1), es decir ahora o(2) = 45

Ahora ya puedo tachar el papel de la caja o(1) y escribir en él 267.

Ya no tengo más cajas que analizar (he ido en cada paso analizando una caja v y asignando contenido a una caja o, al haber analizado la última caja, v(5) y asignado el orden o(5) ya no me quedan más cajas.

Podemos escribir que el resultado, los números ordenados, queda así:

o(1) = 267 o(2) =45 o(3) = 32 o(4) = 11 o(5) = 8



 

Sobre la educación, sólo puedo decir que es el tema más importante en el que nosotros, como pueblo, debemos involucrarnos.

Abraham Lincoln (1808-1865) Presidente estadounidense.

aprenderaprogramar.com: Desde 2006 comprometidos con la didáctica y divulgación de la programación

Preguntas y respuestas

¿Cómo establecer o cambiar la imagen asociada (avatar) de usuario?
  1. Inicia sesión con tu nombre de usuario y contraseña.
  2. Pulsa en perfil --> perfil del foro
  3. Elige la imagen personalizada que quieras usar. Puedes escogerla de una galería de imágenes o subirla desde tu ordenador.
  4. En la parte final de la página pulsa el botón "cambiar perfil".