Foros aprenderaprogramar.com

Aprender a programar => Aprender a programar desde cero => Mensaje iniciado por: Pandemia en 23 de Abril 2016, 21:37

Título: ejercicio ordenar serie de números CU00119A fundamentos de programación
Publicado por: Pandemia en 23 de Abril 2016, 21:37
Buenos tardes amigos he echo este ejercicio porque no me  quedaba claro, lo veía un poco enrevesado y e decidido hacer uno por mi cuenta no sin antes darle muchas vueltas y mirar los ejemplos tanto que salen en el libro, como en el curso, haber que os parece, ya me diréis si lo he entendido bien no no.

saludos y gracias de antemano por vuestro tiempo, que hace ya unos días que no escribía nada por aquí.

caso 1  47  25  91  70  40

PASO 1

o(1)=v(1)     o(1)=47

PASO 2

o(1)>v(2) ? --> si  o(2)=25

PASO 3

o(1)>v(3) ? --> si    o(3)=o(1)=91   o(1)=o(2)=47   o(2)=o(3)=25

o(1)=91  o(2)=47  o(3)=25

PASO 4

o(1)>v(4) ? --> si   o(3)=o(4)=25  o(2)=o(3)=47  o(3)=o(2)=70

o(1)=91   o(2)=70   o(3)=47   o(4)=25

PASO 5

o(1)>v(5) ? --> si   o(4)=0(5)= 25   o(5)=o(4)=40  o(3)= 47  o(2)= 70  o(1)= 91


resultado final:

                   o(1)= 91
                   o(2)=70   
                   o(3)=47
                   o(4)=40
                   o(5)=25

Bueno espero que me haya salido bien me ha costado un poco de trabajo entenderlo, y hacerlo.
saludos y gracias de nuevo
Título: Re:ejercicio ordenar serie de números CU00119A fundamentos de programación
Publicado por: Alex Rodríguez en 26 de Abril 2016, 08:34
Hola

En el paso 1 se establece que o(1) vale 47, correcto.

En el paso 2 se compara si 47 es mayor que 25, y al ser así en segunda posición queda el 25, correcto.

En el paso 3 se compara si 47 es mayor que 91. La respuesta es que no.

Sin embargo tú has puesto que sí con lo cual no tienes bien el ejercicio

PASO 3

o(1)>v(3) ? --> si


Aquí hay una explicación que creo te aclarará: https://www.aprenderaprogramar.com/foros/index.php?topic=694.0, si no te aclara vuelve a consultar

Saludos
Título: Re:ejercicio ordenar serie de números CU00119A fundamentos de programación
Publicado por: Pandemia en 26 de Abril 2016, 22:19
Buenas noches Alex, gracias por contestar tan rápido, no me queda nada claro el ejercicio sobre todo la parte que dices:

 En el paso 3 se compara si 47 es mayor que 91. La respuesta es que no.

Sin embargo tú has puesto que sí con lo cual no tienes bien el ejercicio

PASO 3

o(1)>v(3) ? --> si

He entrado en el link que me pones, y medio lo he entendido lo he intentado hacer en papel y me he vuelto ha liar, no se si es que soy un cabezón, o no me entra, de todas maneras cuando lo tenga más claro sobre papel, pondré el ejemplo, de todas maneras si me puedes aclarar algo te lo agradecería, porque llevo tiempo pillado con este tema, aunque estoy avanzando con los demás del curso y el libro que os compre.

Saludos y gracias por vuestro tiempo
Título: Re:ejercicio ordenar serie de números CU00119A fundamentos de programación
Publicado por: Alex Rodríguez en 27 de Abril 2016, 09:38
Hola, mi recomendación: coge 5 cajitas y escribe por fuera v(1), v(2), v(3), v(4) y v(5). Dentro de cada cajita pon un papel con los números.

Coge otras 5 cajitas y escribe por fuera o(1), o(2), o(3), o(4) y o(5). Dentro de cada cajita pon un papel.

Ahora sigue el ejemplo según https://www.aprenderaprogramar.com/foros/index.php?topic=694.0 consultando las cajitas y escribiendo de las cajas o(...) en cada momento lo que vaya correspondiendo. Ten en cuenta que las cajas v(...) siempre tendrán lo mismo, los números iniciales. En cambio en las cajas o(...) tendrás que ir tachando (o moviendo papeles de una a otra) cada vez que haya cambios.

Saludos
Título: Re:ejercicio ordenar serie de números CU00119A fundamentos de programación
Publicado por: Pandemia en 27 de Abril 2016, 23:32
Buenas noches Alex, creo que lo de las cajitas y el link que me pones ha funcionado y lo he comprendido mejor, he repetido el ejercicio con los  mismos números pero de todas maneras probaré con otros para ver que  tal, te pongo la propuesta de este para ver que te parece.

CASO 1 47  25  91  70  40

v(1)>o(1) ? --> si  o(1)=v(1)  previsto eliminar v(1)
v(2)>o(1) ? --> no
v(3)>o(1) ? --> si  o(1)=v(3) previsto eliminar v(3)
v(4)>o(1) ? --> no
v(5)>o(1) ? --> no

o(1)=v(3)    Eliminar v(3)

v(1)>o(2) ? --> si  o(2)=v(1) previsto eliminar v(1)
v(2)>o(2) ? --> no
v(4)>o(2) ? --> si  o(2)=v(4) previsto eliminar v(4)
v(5)>o(2) ? --> no

o(2)=v(4)   Eliminar v(4)

v(1)>o(3) ? --> si   o(3)=v(1)    previsto eliminar v(1)
v(2)>o(3) ? --> no
v(5)>o(3) ? --> no

o(3)=v(1)  Eliminar v(1)

v(2)>o(4) ? --> si  o(4)=v(2)   previsto eliminar v(2)
v(5)>o(4) ? --> si  o(4)=v(5)   previsto eliminar v(5)

o(4)=v(5)   Eliminar v(5)

v(2)>o(5) ? --> si  o(5)=v(2)  previsto eliminar v(2)

o(5)=v(2)   Eliminar v(2)

Resultado final:
                           o(1)= 91
                           o(2)= 70
                           o(3)= 47
                           o(4)= 40
                           o(5)= 25


Ahora creo que lo he entendido practicaré más y pondré ejercicios para ver si están bien, siempre y cuando este este bien, espero que le des un vistazo si puedes y me haces el favor para ver si le he cogido el truquillo.

Saludos y gracias por tu tiempo. 
 
Título: Re:ejercicio ordenar serie de números CU00119A fundamentos de programación
Publicado por: Alex Rodríguez en 29 de Abril 2016, 08:59
Hola, estás mezclando dos métodos de ordenación.

Tienes que tener en cuenta que:

a) Existen varios métodos para ordenar números
b) Cada método tiene unos pasos a seguir
c) No se pueden mezclar métodos
d) El método que usa órdendes o(1), o(2)... se basa en mantener una lista donde se van ordenando los números y se van desplazando según resulta necesario
e) El método con "previsto eliminar" se basa en elegir el número mayor en cada paso, con lo cual no hay que desplazar números

Lo más importante: debes estudiar cada método por separado y entenderlo por separado. Son métodos distintos.

Saludos
Título: Re:ejercicio ordenar serie de números CU00119A fundamentos de programación
Publicado por: Pandemia en 01 de Mayo 2016, 22:15
Buenas noches Alex he repetido el ejercicio, que creo que ahora si he cogido el concepto o eso creo vamos, te lo expongo aquí debajo:

CASO 1º  47  25  91  70  40

Te expongo las chuletas que he usado:

V(1)=47  V(2)=25   V(3)=91   V(4)=70   V(5)=40

O(1)=91   O(2)=70   O(3)=47   O(4)=40   O(5)=25     


A partir de aquí el ejercicio:

V(1)>O(1) ? si --> O(1)=V(1); Previsto eliminar V(1)
V(2)>O(1) ? no
V(3)>O(1) ? si --> O(1)=V(3); Previsto eliminar V(3)
V(4)>O(1) ? no
V(5)>O(1) ? no

  O(1)=V(3)  Eliminado V(3)

O(2)=70 que es V(4)  Eliminado V(4)
O(3)=47 que es V(1)  Eliminado V(1)
O(4)=40 que es V(5)  Eliminado V(5)
O(5)=25 que es V(2)  Eliminado V(2)

Creo que esta vez más o menos he cogido el concepto, he buscado primero el número mayor y luego he ido ordenando en los o().... los números de mayor a menor y los he ido eliminando de los v()...., bueno ya me diras si al fin le he cogido el concepto al menos ha este método que también tengo que probar con el otro, si me haces el favor échale un vistazo para ver que tal está, espero no molestarte mucho pero es que así me aseguro que voy por buen camino y practico mas esto que no se me da muy bien, bueno sin  mas me despido agradeciéndote de corazón toda la ayuda y paciencia  que me estas brindando.

Saludos y mil gracias por tu tiempo

Título: Re:ejercicio ordenar serie de números CU00119A fundamentos de programación
Publicado por: Alex Rodríguez en 04 de Mayo 2016, 08:29
Hola Pandemia, este método lo estás aplicando correctamente (lo único que falltaría sería detallar más los pasos pero supongo que no lo has hecho para ahorrar espacio). Saludos.
Título: Re:ejercicio ordenar serie de números CU00119A fundamentos de programación
Publicado por: Pandemia en 04 de Mayo 2016, 21:01
Buenas tardes Alex, sí como tu dices lo hice asi para ahorrar espacio, ahora tengo que probar y practicar con el otro método.

Saludos y gracias por tu tiempo, me has servido de mucha ayuda.