Sunteți pe pagina 1din 23

Presentacin Instituto Tecnolgico Superior de Tantoyuca

Carrera: Sistemas computacionales Materia: Tipos de estructura de datos Docente: M.C. Manuel Hernndez Hernndez Alumno: Luis Ernesto Garca Riojas Nombre del trabajo: Reporte de practica 1

Luis Ernesto Garca Riojas

Pgina 1

ndice Metodologa (algoritmos y pruebas de escritorio). 3 Resultados y ejemplos. Problema 114 Problema 217 Problema 3 18 Problema 4.21 Conclusiones23

Luis Ernesto Garca Riojas

Pgina 2

Metodologa
Existen muchas maneras para resolver un problema. Cada una de estas puede ser diferente o parecida a la otra, ms ptima o mas laboriosa. En este apartado del reporte, desglosare la metodologa aplicada a cada problema de la prctica acompaada de su algoritmo y algunas pruebas de escritorio.

Algoritmos
Un algoritmo es una secuencia de pasos ordenados para realizar una accin. En esta prctica trabajamos con mtodos, los cuales tenan que estar bien estructurados con un algoritmo para poder funcionar. Las pruebas de escritorio correspondientes, se encontraran dentro de un parntesis despus del algoritmo o en una imagen escaneada. Mtodos Principales Insertar Simple (Utilizado en el problema 3 y 4) Insertar Complejo (Utilizado en el problema 1 y 2) Eliminar Simple (Utilizado en los problemas 1 y 2) Eliminar Complejo(Utilizado en el problema 1) Buscar(Utilizado en todos los problemas) Ordenar Mayor a Menor y Menor a Mayor (Utilizado en el problema 1)

Luis Ernesto Garca Riojas

Pgina 3

Insertar Simple (Algoritmo)


Este mtodo consiste en insertar la cantidad de datos solicitada, donde el nmero de los elementos se asignan desde el tamao de un arreglo. 1.- Leer nmero de elementos 2.- Iniciar i = 0 para recorrer elementos 3.- Mientras i sea menor a la cantidad de elementos hacer el paso 4, si no , pasar al paso 6 4.-Insertar dato para el elemento en la posicin i 5.-incrementar i y regresar al paso numero 3 6.-Terminar

Prueba de escritorio Elementos = 3 1.- Leer nmero de elementos (elementos =3) 2.- Iniciar i = 0 para recorrer elementos 3.- Mientras i sea menor a la cantidad de elementos hacer el paso 4, si no, pasar al paso 6 (0 es menor a 3, hacer el paso 4) (1 es menor a 3, hacer el paso 4) (2 es menor a 3, hacer el paso 4) (3 no es menor a 0 pasar al paso 6) 4.-Insertar dato para el elemento en la posicin i (elemento 0 = datos) (elemento 1 = datos) (elemento 2= datos) 5.-incrementar i y regresar al paso numero 3 (i=1 regresar al paso 3) (i=2 regresar al paso 3)) (i=3 regresar al paso 3) 6.-Terminar

Luis Ernesto Garca Riojas

Pgina 4

Insertar Complejo
Este mtodo es una versin del insertar simple, en el cual adems de pedir el nmero de elementos, proporciona una restriccin para seguir agregando datos y no agregarlos todos al mismo tiempo. 1.- Leer nmero de elementos y posicin 2.- Si posicin es menor a elementos hacer el paso 4, de lo contrario pasar al paso numero 5 3.-Insertar dato para el elemento en el ndice que indique la variable posicin 6. 4.- Incrementar posicin en 1. 5.-Terminar Prueba de escritorio 1 elementos= 3, posicin=2 1.- Leer nmero de elementos y posicin (3 elementos, posicin 2) 2.- Si posicin es menor a elementos hacer el paso 3, de lo contrario pasar al paso numero 5(posicin si es menor a elementos, pasar al paso 4) 3.-Insertar dato para el elemento en el ndice que indique la variable posicin (arreglo en posicin 2 =datos) 4.- Incrementar posicin en 1 (posicin es igual a posicin + 1=3) 5.-Terminar Prueba de escritorio 2 elementos= 3, posicin=3 1.- Leer nmero de elementos y posicin (3 elementos, posicin 2) 2.- Si posicin es menor a elementos hacer el paso 3, de lo contrario pasar al paso numero 5(posicin no es menor a elementos, pasar al paso 5) 3.-Insertar dato para el elemento en el ndice que indique la variable posicin 4.- Incrementar posicin en 1 5.-Terminar

Luis Ernesto Garca Riojas

Pgina 5

Eliminar Simple Este mtodo consiste en eliminar el ltimo dato agregado de un arreglo, tomando en cuenta que una posicin ya ha sido dada anteriormente por el mtodo insertar complejo. 1. 2. 3. 4. Leer posicin y arreglo. Disminuir posicin en 1. El valor del arreglo en el ndice (posicin) ser igual a 0. Terminar

Prueba de escritorio. 1.-Leer posicin y arreglo. (Posicin =2) 2.-Disminuir posicin en 1. (Posicin =2-1=1) 3.-El valor del arreglo en el ndice (posicin) ser igual a 0. (Arreglo 1 es igual a 0) 4.-Terminar

Luis Ernesto Garca Riojas

Pgina 6

Eliminar Complejo
Este mtodo consiste en eliminar un valor ingresado y adems, acomodar o recorrer los dems valores.

1.- Leer arreglo y valor a buscar 2.-Iniciar i=0 3.- mientras i sea menor al nmero de elementos hacer el paso 4, de lo contrario pasar al paso 8 4.- Si el valor buscado es igual al valor del arreglo en la posicin i hacer el paso 5.si no, hacer el paso 3 e incrementar i en 1 5.-iniciar j =i+1 6.- Mientras j sea menor al nmero de elementos hacer el paso 7, de lo contrario hacer el paso 3 7.- El valor del arreglo en la posicin i va a ser igual al valor en la posicin j y el valor en la posicin j es igual a 0, regresar al paso 6 e incrementar j en 1. 8.- Terminar

Luis Ernesto Garca Riojas

Pgina 7

Prueba de escritorio Tamao del arreglo es 3, los datos que contiene son: ndice 0 valor 5 1 6 2 8

1.- Leer arreglo y valor a buscar (elementos es igual a 3 y valor a buscar es 6) 2.-Iniciar i=0 3.- mientras i sea menor al nmero de elementos hacer el paso 4, de lo contrario pasar al paso 8{1}(i=0 es menor a 3 avanzar al paso 4){2}(i=1 es menor a 3, avanzar al paso 4){3}(i=2 es menor a 3, avanzar al paso 4){4}(i=3 no es menor a 3,avanzar al paso 8) 4.- Si el valor buscado es igual al valor del arreglo en la posicin i hacer el paso 5.si no, hacer el paso 3 e incrementar i en 1. {1}(Valor buscado es igual a 6 y este no es igual al arreglo en la posicin 0 que es 5, regresar al paso 3 e incrementar i+1=1){2}(Valor buscado es igual a 6 y este es igual al arreglo en la posicin 1 que es 6, avanzar al paso 5){3}(el valor buscado es 6 y el valor en la posicin i(2)es igual a 0,regresar al paso 3 e incrementar i=2+1=3) 5.-iniciar j =i+1 {2} (j=1+1=2) 6.- Mientras j sea menor al nmero de elementos hacer el paso 7, de lo contrario hacer el paso 3{2} (j es igual a 2 y este es menor a 3, avanzar al paso 7.){2.1}(3 no es menor a 3, regresar al paso 3 e incrementar i=1+1=2) 7.- El valor del arreglo en la posicin i va a ser igual al valor en la posicin j y el valor en la posicin j ser 0, regresar al paso 6 e incrementar j en 1.(el valor del arreglo en la posicin 1 = al del arreglo en la posicin j(2)=8,y el valor del arreglo en la posicin j es 0.regresar al paso 6,j=2+1=3) ndice 0 valor 5 1 8 2 0

8.- Terminar{4}(terminar)

Luis Ernesto Garca Riojas

Pgina 8

Buscar
Este mtodo consiste en buscar un valor dentro de un conjunto de valores, regresando la posicin del nmero encontrado.

1.-Leer arreglo y valor buscado 2.-iniciar i =0 y posicin=-1 3.-Mientras i sea menor al nmero de elementos del arreglo avanzar al paso numero 4.De lo contrario ir al paso 6 4.- Si el valor buscado es igual al valor del arreglo en la posicin i avanzar al paso 5, de lo contrario regresar al paso 3 e incrementar i en 1. 5.-posicion ser igual a i e i, ser igual al nmero de elementos, regresar al paso 3 6.- Regresar el valor de posicin.

Luis Ernesto Garca Riojas

Pgina 9

Prueba de escritorio Tamao del arreglo es 3, los datos que contiene son: ndice 0 valor 7 1 3 2 4

1.-Leer arreglo y valor buscado (Tamao del arreglo es 3 y valor a buscar es 4) 2.-iniciar i y posicin (i=0 position=-1) 3.-Mientras i sea menor al nmero de elementos del arreglo avanzar al paso numero 4.De lo contrario ir al paso 6{1} (i=0 y es menor a 3, avanzar al paso 4) {2} (i=1 y es menor a 3, avanzar al paso 4){3}( i=1 y es menor a 3, avanzar al paso 4){4}(i=3,no es menor a 3,avanzar al paso 6) 4.- Si el valor buscado es igual al valor del arreglo en la posicin i avanzar al paso 5, de lo contrario regresar al paso 3 e incrementar i en 1. {1}(El valor buscado 4 no es igual al valor del arreglo en la posicin i (0), incrementar i+1=0+1=1){2}(El valor buscado 4 no es igual al valor del arreglo en la posicin i (1) que es 3, incrementar i+1=1+1=2){3}( El valor buscado 4 es igual al valor del arreglo en la posicin i (1) que es 4, avanzar al paso 5) 5.-posicion ser igual a i e i, ser igual al nmero de elementos, regresar al paso 3{posicin es igual a i que es 2 e i ser igual a 3, regresar al paso 3} 6.- Regresar el valor de posicin{4}(regresar posicin que es igual a 4)

Luis Ernesto Garca Riojas

Pgina 10

Ordenar de mayor a menor, o menor a mayor.


Este mtodo consiste en ordenar un conjunto de elementos de menor a mayor o menor a mayor. El algoritmo funciona para ambos casos, solo se tienen que cambiar los operadores relacionales mayor que y menor que. 1.-Leer arreglo 2.-Iniciar Mayor e i=0. 3.-Mientras i sea menor al nmero de elementos del arreglo hacer el paso 4, de lo contrario avanzar al paso 9 4.-Iniciar j=i+1 5.-Mientras j sea menor a el nmero de elementos hacer el paso 6, de lo contrario regresar al paso 3 e incrementar i en 1. 6.-Si el valor de el arreglo en la posicin i es mayor al de el arreglo en la posicin j, regresar al paso 5 e incrementar j.de lo contrario continuar con el paso 7. 7.- EL valor del arreglo en la posicin j ser igual a mayor, y el arreglo en la posicin j ser igual al de la i,y el valor del arreglo en la posicin i ser a mayor 8.-regresar al paso 5 e incrementar j en 1. 9.-Terminar

Luis Ernesto Garca Riojas

Pgina 11

Prueba de escritorio. Dado el arreglo con 4 elementos: ndice valor 0 6 1 4 2 7 3 5

1.-Leer arreglo (la cantidad de elementos del arreglo es de 4) 2.-Iniciar Mayor=0 e i=0. 3.-Mientras i sea menor al nmero de elementos del arreglo hacer el paso 4, de lo contrario avanzar al paso 9. {1}(i=0 y es menor a 4, por lo tanto avanzar al paso 4){2}(i=1 es menor a 4 por lo tanto pasar al paso 5) 4.-Iniciar j=i+1{1}(j=0+1=1){2}(j=1+1=2) 5.-Mientras j sea menor al nmero de elementos hacer el paso 6, de lo contrario regresar al paso 3 e incrementar i en 1. {1}(j=1 es menor a 4 por lo tanto avanzar al paso 6){1.1}(j=2 es menor a 4 avanzar al paso 6){1.2}(j=3 es menor a 4,avanzar al paso 6){1.3}(j=4 no es menor a 4 regresar al paso 3 e incrementar i =0+1=1){2}(j=2 es menor a 4, por lo tanto pasar al paso 6){2.1}(j=3 es menor a 4,avanzar al paso 6){2.2}(j=4 no es menor que 4,regfresar al paso 3) 6.-Si el valor de el arreglo en la posicin i es mayor al de el arreglo en la posicin j, regresar al paso 5 e incrementar j.de lo contrario continuar con el paso 7. {1}(arreglo posicin i=6, arreglo posicin j=4,el del i es mayor, regresar al paso 5 e incrementar j=1+1=2.){1.1}( arreglo posicin i=6, arreglo posicin j=7,el del j es mayor por lo tanto avanzar al paso 7.){1.2}(arreglo i=7 es mayor al arreglo j=5,regresar al paso 5 e incrementar j=3+1=4){2}(arreglo i=4,no es mayor al de j=6,por lo tanto avanzar al paso 7.){2.1}(arreglo i=6 es mayor a 5,regresar al paso 5 y aumentar j=3+1=4) 7.-EL valor del arreglo en la posicin j ser igual a mayor, y el arreglo en la posicin j ser igual al de la i, y el valor del arreglo en la posicin i ser a mayor.{1.1}(mayor es igual a 7,arreglo j=6,arreglo i =7){2}(mayor es igual a 6,arreglo j =4 y arreglo i=6) ndice 0 1 2 3 valor 7 4 6 5 ndice 0 valor 7 ndice 0 valor 7 1 6 1 6 2 5 2 4 3 4
Pgina 12

3 5

Luis Ernesto Garca Riojas

8.-regresar al paso 5 e incrementar j en 1. {1.1}(Regresar al paso 5 j=2+1){2}(incrementar j=2+1 y regresar al paso 5) 9.-Terminar{3}(Terminar)

Luis Ernesto Garca Riojas

Pgina 13

Resultados y ejemplos
En esta seccin del reporte se mostraran las pruebas realizadas en cada uno de los programas, adems se dar la explicacin de cada uno de ellos.

Problema numero 1. Este problema consiste en leer un vector con n elementos y realizar operaciones en el cmo insertar, eliminar, buscar, ordenar y mostrar. Primero, debemos seleccionar el nmero de elementos para el vector. Despus de realizar esta operacin, se abrir una pequea interfaz grafica con las dems acciones.

La primera opcin llamada insertar, permite ingresar desde el teclado un valor y asignarlo al vector en su posicin correspondiente.

Luis Ernesto Garca Riojas

Pgina 14

La segunda opcin es eliminar, y esta permite elegir de qu manera quieres eliminar un dato. En este caso, eliminaremos el ltimo dato insertado que es 4 en la posicin 3.

Pasamos a la opcin nmero 5 que es mostrar y nos percatamos que el valor recientemente ya no est.

La opcin numero 3 buscar, est encargada de buscar un valor en todo nuestro conjunto de datos, en esta ocasin, buscaremos en que posicin se encuentra el numero 1.

Luis Ernesto Garca Riojas

Pgina 15

Insertando todos los datos disponibles, podemos ordenarlos con la opcin nmero 4, con la cual podemos escoger como estarn organizados nuestros datos, ya sea de mayor a menor como el ejemplo de la izquierda, as como de menor a menor como en la derecha.

Luis Ernesto Garca Riojas

Pgina 16

Por ltimo, podemos seleccionar la tecla 0 y regresar a un men para escoger el siguiente programa.

Luis Ernesto Garca Riojas

Pgina 17

Problema numero 2. Este programa consiste en leer desde el teclado un conjunto de datos enlistados, los cuales sern guardados en un ArrayList. Como el ejemplo anterior, se efectuaran acciones como insertar, eliminar y buscar.

La primera opcin insertar, consiste como en los ejemplos anteriores de agregar datos. La opcin de eliminar se encarga de eliminar uno por uno y la ltima opcin buscar, da la posicin del datos buscado.
Insertar Buscar

Eliminar

Luis Ernesto Garca Riojas

Pgina 18

Problema numero 3. El programa 3 consiste en ingresar n nmero de calificaciones para m estudiantes adems de calcular los promedios mayor y menor por alumno, por grupo y mostrar los mostrarlos en pantalla. Primero ingresamos el nmero tanto de alumnos como de calificaciones.

La opcin numero ejecuta el mtodo insertar, el cual hace que se inserten los valores de las calificaciones de cada estudiante. En este caso las calificaciones ya han sido insertadas. La opcin 2 muestra el promedio de todo el grupo mientras que la opcin 4 lo muestra por estudiante.

Luis Ernesto Garca Riojas

Pgina 19

La opcin numero 3 muestra los promedios mayores y menores de todo el grupo.

Por ltimo, la opcin numero 5 termina con la ejecucin del programa, o en este caso la opcin numero 0 cierra la interfaz grafica actual y regresa a la seleccin de programas.

Luis Ernesto Garca Riojas

Pgina 20

Problema numero 4 La tarea del problema nmero 4 es leer la calificacin de un numero l de calificaciones de m estudiantes en l carreras y mostrar los promedios por estudiantes, carreras, adems del mximo y mnimo. El programa comienza en ingresar el nmero de carreras, estudiantes y calificaciones.

La opcin nmero 1 como en los programas anteriores, realiza la operacin de ingresar los datos, en este caso seria ingresar los datos de la calificacin 1 para el estudiante 1 en la carrera 1.

Luis Ernesto Garca Riojas

Pgina 21

La opcin numero 2 muestra los promedios de todos los alumnos ingresados, divididos entre cada carrera o por alumno.

Por ltimo, la opcin 3 muestra el promedio mximo y mnimo por carrera y por alumnos,

Luis Ernesto Garca Riojas

Pgina 22

Conclusiones.
Como conclusin del trabajo, admito que me fue muy divertido realizar los programas y que a pesar de que algunos me quebraron un poco la cabeza, la sensacin de haberlos terminado fue muy gratificante. Cada programa terminado lo tome como un reto superado, porque cada programa tena su chiste y su complejidad. Cuando empec a corregir los programas, despus de ya haberlos entregado, me di cuenta de varios errores cometidos, ms que nada estticos al imprimir mensajes (que daban valores en posiciones que no eran) pero fuera de esto pienso que los programas funcionan bien. Me di cuenta tambin, que haba formas mas sencillas de realizar los programas, como haciendo una clase que contuviera todos los mtodos de bsqueda y orden. Sin embrago, se me hizo algo difcil adaptar los programas ya hechos a esta clase, por lo que opte por solo corregir el primer programa utilizando dicha clase. Adems y como una pobre justificacin, me enfoque un poco ms en la realizacin de este reporte, el cual admito que subestime y me llevo mucho tiempo hacerlo. Por ende quiero declarar que en este trabajo aprend a utilizar mejor los arreglos, as como tambin, algunos mtodos de las arrayList. Aprend a organizar un poco mejor los mtodos, asignando parmetros y valores de retorno para ahorrar programacin.

Luis Ernesto Garca Riojas

Pgina 23