Reporte de Estructura de Datos
Reporte de Estructura de Datos
Reporte de Estructura de Datos
Corrimiento a la derecha: sería desplazar todos los elementos del arreglo a la
derecha de tal forma que si tenemos el siguiente arreglo {1, 2, 3, 4, 5, 6} al aplicar el
corrimiento quedaría así {6, 1, 2, 3, 4, 5}.
Pido por medio una impresión que el usuario ingrese el tamaño del arreglo, para
después poder crear el arreglo principal y el auxiliar (los 2 arreglos del mismo tamaño)
Por medio de un for pido que el usuario ingrese los valores del arreglo
Abro un do para lograr que el menú se repita hasta que el usuario desee salir y la
opción que elija la almacene en Op y esa variable lo pongo en el switch
Para el caso 1, pido al usuario que ingrese el número que desea buscar, (aquí tengo que
explicar algunas cosas que a simple vista uno se pregunta por qué pide al usuario el
número que desee buscar en vez de incluir esa parte del código dentro del método,
porque al principio mi mayor limitante era el objeto leer de la clase scanner, ya que no
sabía qué hacer para que el método logra usar el objeto leer desde el método, ya
después me di cuenta que si puedo usar el objeto leer si lo paso como cualquier
parámetro y lo declara de tipo scanner), y después llamó al método buscar y le paso
por parámetro el arreglo y el número que se está buscando
Para el caso 3, al ser un simple recorrido, se me hace innecesario comentar algo que no
este ya comentado en el código
Para el caso 4, igual de lo mismo, solo puedo comentar que los diferentes
System.out.println(); están puestos durante todo el programa porque eran mi forma
casera de depurar y saber hasta donde el programa podía compilar
Para los programas de la 1.2 desde el principio es igual a los anteriores programas lo
único que cambia son los métodos y el menú
En un principio con un if pregunto que si contingencia (que es un N-1) al dividirlo
entre si su residuo es igual a 0 (osea que es número par), que contingencia sea igual a
la longitud del array entre 2, si no, contingencia será igual a la longitud del arreglo – 1
y eso entre 2, después con un for voy haciendo los cambios empezando desde la
última posición
Prueba de recorrido
Prueba de Búsqueda
Prueba de Inserción
Y si probamos el algoritmo de recorrido, comprobamos que el arreglo está correcto
Prueba de Eliminación
Cabe aclarar que si en el menú escogemos una opción que no esté disponible, el
programa nos indicará que la opción no es válida
Para los algoritmos del 1.2 se usará el siguiente arreglo y longitud de 7
Conclusiones
Se podría decir que este reporte es completamente innecesario ya que todo el código
de los algoritmos está comentado y tiene un funcionamiento óptimo al correr los
algoritmos, oh bueno, eso es lo que pensaba, ya que me di cuenta de que algunas
partes importantes del código no estaba comentado y al hacer las pruebas de
ejecución me di cuenta de que los algoritmos de eliminación e inserción estaban mal
programados en la parte de que si no encontraban un número pedido o simplemente
no estaba en el arreglo hicieran tal cosa si sucedía el caso, es por eso que en algunas
capturas si se comparan con el código se verán diferentes, porque fui arreglando esos
errores en la marcha.
Reflexiones
Relajarse, concentrarse, tratar de no frustrarse si un algoritmo no sale ya que no será el
fin del mundo y que, si tenemos la mente nublada, no se lograra nada.