Resumen: Entrega nº17 del curso Bases de la programación Nivel I.
Codificación aprenderaprogramar.com: CU00118A

 

 

Vamos a resolver el caso 4 que habíamos planteado, y que se componía de los números 15, 22, 33, 15 y 6

 

Paso 1) o(1) = v(1)
  o(1) = 15



 

 

Paso 2) o(1) > v(2) ? -> No -> o(2) = o(1); o(1) = v(2)
    15 > 22 o(2) = 15 o(1) = 22
 
 
  

 

Paso 3) o(1) > v(3) ? -> No -> o(3) = o(2) ; o(2) = o(1) ; o(1) = v(3)
    22 > 33 o(3) = 15 o(2) = 22 o(1) = 33



 

 

Paso 4) o(1) > v(4) ? -> Sí -> o(2) > v(4) ? -> Sí -> o(3) > v(4) ? -> No -> o(4) = o(3) ; o(3) = v(4)
    33 > 15   22 > 15   15 > 15 o(4) = 15 o(3) = 15



 

 

Paso 5) o(1) > v(5) ? -> Sí -> o(2) > v(5) ? -> Sí -> o(3) > v(5) ? -> Sí -> o(4) > v(5) -> Sí -> o(5) = v(5)
    33 > 6   22 > 6   15 > 6   15 > 6 o(5) = 6
 
 
 
 
Resultado final:
o(1) = 33
 
o(2) = 22
 
o(3) = 15
 
o(4) = 15
 
o(5) = 6
 
 
 
 

3º) Valoración preliminar. Un primer análisis de lo realizado nos permite decir que:

 

  * En los cuatro casos se ha alcanzado un resultado satisfactorio.
 

* El caso cuatro que presentaba dos valores iguales ha quedado bien resuelto. El que entra primero en la rueda de comparación, en este caso v(1), queda detrás al no cumplirse el ser mayor que v(4). Pero a efectos prácticos nos es indistinto que quede detrás o delante.

 

 

 

4º) Plantear relaciones y procesos con letras. Observando los distintos casos, trataremos de plantear qué relaciones y procesos se dan en todos ellos. Se dan las siguientes circunstancias:


Se dan las siguientes circunstancias:

 

  * Vamos extrayendo sucesivamente v(1), v(2), v(3), ..., v(n)
  * Cuando el valor resulta mayor que un orden preexistente se produce un desplazamiento en cadena.
  * Desplazar o no está condicionado por la comparación v(a) con los órdenes o(1), o(2), o(3), ..., o(a-1). Si tras sucesivas comparaciones v(a) es menor que o(a-1) establecemos o(a) = v(a).
 

* En los desplazamientos observamos:

 
 
 
 
 
 
 
En resumen, el desplazamiento va desde o(a) hasta o(m) de forma que:
 
o(a) = o(a-1)
o(a-1) = o(a-2)
.
.
.
o(...) = o(m)

Y finalmente:                       

o(m) = v(a)
 
 
 
5º)   Plantear el procedimiento de resolución. En base a las relaciones observadas, trataremos de plantear un procedimiento general de resolución.
 
 
 
 
 
Procedimiento para desplazar:
 
 
 
 
Bien, hemos llegado a un método o protocolo donde tenemos definidos los pasos a dar. Mezclamos recursos gráficos (flechas) con escritura, en una especie de esquema. De momento no nos interesa su presentación estética, sino su corrección y entender cómo se ha llegado a él. Debemos tener en cuenta que a medida que vayamos programando ganaremos en soltura y podremos resolver problemas más complicados empleando menos tiempo. Al empezar a programar, necesitamos más casos y más esfuerzo.

 

 

 

 

 

 

Para acceder a la información general sobre este curso y al listado completo de entregas pulsa en este link:  Ver curso completo.

Para  hacer un comentario o consulta utiliza los foros aprenderaprogramar.com, abiertos a cualquier persona independientemente de su nivel de conocimiento.

Descargar archivo: