Sunteți pe pagina 1din 9

UNIVERSIDAD DE SAN MARTIN DE PORRES

FACULTAD DE INGENIERIA Y ARQUITECTURA

ALGORITMO Y ESTRUCTURA DE DATOS I LISTA DE EJERCICIOS

BSQUEDA, ORDENAMIENTO Y ELIMINACIN Y DE DATOS

ING. JUAN ALBERTO PUERTA ARCE

LISTA DE EJERCICIOS
1.
Desarrollar una aplicacin que permita hacer el registro del nombre, edad y nota de 15 estudiantes, as como la generacin de un cdigo aleatorio nico de 4 cifras a cada uno de ellos. Luego del registro, la aplicacin deber ejecutar los siguientes pasos: (Respetar la
secuencia).

Mostrar el registro original ordenado de manera ascendente con respecto a las edades de cada estudiante. Permitir que el usuario ingrese un cdigo a buscar en el registro, mostrando la edad y la nota correspondiente al estudiante con dicho cdigo. Permitir que el usuario ingrese el nombre del estudiante cuyos datos desea eliminar del registro. Mostrar el registro actualizado despus de realizar los pasos anteriores.

Utilice la siguiente representacin o diagrama de clase:

GrupoEstudio NOMBRES[15]: string NOTAS[15]: int EDADES[15]: int CODIGO[15]: int c: int GrupoEstudio( ) crearRegistro( ): void mostrarRegistro( ): void buscarCodigo(int x, int y): int buscarNombre(string x): int eliminarDatos(int p): void ordenarDatos( ): void

2.- Desarrollar una aplicacin que permita crear un vector aleatorio de tamao N cuyos
valores sern nmeros reales distintos en el rango [-3 , 3] (Precisin de 2 decimales). Tener en cuenta que el valor de N ser ingresado por teclado. La aplicacin deber mostrar los valores originales del vector y luego proceder a eliminar los valores mximo y mnimo, mostrando los resultados finales. Utilice la siguiente representacin o diagrama de clase:

Vector V[ ]: double c, N: int Vector( ) crearVector( ): void mostrarVector( ): void buscarValor(double x, int y): int eliminarValor(int p) ordenarVector( ): void eliminarMinMax(int a,int b): void

Grafique el diagrama de estructura de datos y el diagrama de secuencia.

3.- Desarrollar una aplicacin que permita hacer el registro de los datos ms importantes de cada uno de los pases que participarn en un campeonato de futbol. Dichos datos son los siguientes: Nombre de cada pas (asumir que los nombres son todos en minscula); nmero de participaciones en el campeonato, nmero de veces que el pas logro campeonar en dicho torneo. Para realizar las validaciones debe tener presente que es el torneo nmero 16 Al finalizar el registro, se debern mostrar todos los datos ordenados alfabticamente de acuerdo al nombre de los pases. Utilice la clase, los atributos y mtodos que crea conveniente, teniendo en cuenta los algoritmos de bsqueda, ordenamiento y eliminacin segn lo requiera. Realice la representacin o diagrama de clase. Grafique el diagrama de estructura de datos y el diagrama de secuencia.

4.- Se quiere simular y analizar la captura de 4 seales digitales. Para ello Ud. deber crear una aplicacin que permita almacenar en 4 arreglos unidimensionales 10 valores aleatorios binarios (solamente ceros o unos) que representen a dichas seales. La aplicacin deber mostrar los valores de cada arreglo y luego de ello proceder a realizar lo siguiente: Calcular y mostrar la cantidad de unos que tiene cada seal. Determinar que seales tienen la mayor cantidad de unos y si slo es una seal proceder a eliminar su ltima muestra. Mostrar los valores resultantes de cada seal.

Utilizar la siguiente representacin o diagrama de clase:


simuSenal S1[10]: int S2[10]: int S3[10]: int S4[10]: int cant1,cant2,cant3,cant4, c: int simuSenal( ) simularSenales( ): void mostrarSimulacion( ): void detCantUnos( ): void seleccionarSenal( ) : int aplicarEliminacion(int h): void

Grafique el diagrama de estructura de datos y el diagrama de secuencia.

5.- Desarrollar una aplicacin que permita crear un vector aleatorio de tamao 20 con
valores enteros en el rango [2 , 20]. Luego de ello, deber calcular el promedio de dicho vector y eliminar todos aquellos valores que estn por encima del promedio. Finalmente, la aplicacin deber mostrar lo siguiente: Los valores iniciales del vector. El promedio calculado. Los valores que fueron eliminados del vector. Los valores del vector resultante despus de la eliminacin.

Utilice la siguiente representacin o diagrama de clase:


Vector VECTOR[20] : int ESCOGIDOS[20] : int c, s: int Vector( ) crearVector( ) : void mostrarVector( ) : void calcPromedio( ): double eliminarValor(int p): void seleccionarValores(double x): void mostrarSeleccionados( ): void aplicarEliminacion( ): void

Sugerencia: El arreglo ESCOGIDOS[] puede ser utilizado para almacenar las posiciones que ocupan en el vector todos aquellos valores por encima del promedio.

6.- Se desea comprobar una aplicacin que ha sido desarrollada para una empresa
dedicada a la evaluacin del consumo (en soles) de combustible (gas natural, petrleo y gasolina). Para ello, se generarn 20 consumos distintos de manera aleatoria en el rango entero de [7 , 40] soles. A cada consumo se le asignar aleatoriamente un tipo de combustible, utilice las letras n, p y g para identificar al gas natural, petrleo y gasolina respectivamente. Luego de ello, la aplicacin deber realizar lo siguiente: Mostrar en formato tabla cada consumo simulado con su respectivo identificador de combustible asignado, teniendo en cuenta que dichos datos deben estar ordenados de manera ascendente con respecto al consumo. Permitir que el usuario ingrese el valor de consumo y si es que ste est registrado, la aplicacin deber mostrar el tipo de combustible al cual pertenece.

Utilice los atributos y mtodos que crea conveniente, teniendo en cuenta los algoritmos de bsqueda, ordenamiento y eliminacin segn lo requiera.

Realice la representacin o diagrama de clase. Grafique el diagrama de estructura de datos y el diagrama de secuencia.

7.- Se desea hacer el registro del peso (en kg) de 20 artculos, dichos pesos deben estar
en el rango entero [5 - 18]Kg. as como la generacin aleatoria de un cdigo de 3 cifras para cada uno de ellos (los cdigos tienen que ser diferentes). Mostrar dichos datos. Ud. deber desarrollar una aplicacin que realice lo pedido lneas atrs y luego de ello pueda simular un proceso, el cual consiste en lo siguiente: Paso 1: Calcular el promedio de los pesos de los artculos registrados. Paso 2: Evaluar si dicho promedio pertenece al rango [7.4 10.4]. Si el promedio est en el rango el proceso termina y deber mostrarse dicho promedio alcanzado. Caso contrario, se deber eliminar del registro el peso con el menor cdigo asignado, y volver a aplicar el proceso. Finalizado el proceso, la aplicacin deber mostrar los datos resultantes (peso y su cdigo), y en caso de que todos los datos del vector hubiesen sido eliminados mostrar el mensaje Volver a analizar proceso. Utilizar la siguiente representacin o diagrama de clase.
Proceso PESO[20] : int CODIGOS[20] : int c: int prom: double Proceso( ) hacerRegistro( ) : void mostrarRegistro( ) : void buscarCodigo(int x, int y): int ordenarRegistro(): void eliminarPeso(int p): void simularProceso( ): void

Grafique el diagrama de estructura de datos y el diagrama de secuencia.

8.- La Municipalidad de la Molina ha realizado un censo en todo el distrito (10000


personas). Dicho censo tiene como objetivo principal conocer cuantas personas son propietarias y cuantos no lo son. Los datos que se recolectan son: nombre del dueo de casa, tipo de vivienda (1=casa / 2=departamento), estado de la vivienda (1=propia / 2=alquilada) y rea de vivienda. Se desea implementar un sistema que permita almacenar la informacin recolectada en dicho censo. Los datos se ingresaran asignndoles un cdigo nico de 3 dgitos. Dicho programa tambin contar con la opcin de: Reporte

El reporte debe mostrar la siguiente informacin: El porcentaje de personas que tienen casa propia y el porcentaje de personas que tienen casa alquilada. Los datos de las 3 personas cuya casa propia tenga ms rea.

Utilice la clase, los mtodos y atributos que crea conveniente, teniendo en cuenta los algoritmos de bsqueda, ordenamiento y eliminacin segn lo requiera. Realice la representacin o diagrama de clase. Grafique el diagrama de estructura de datos y el diagrama de secuencia.

9.-

Desarrollar una aplicacin que permita la generacin y registro de manera aleatoria del cdigo y la cantidad almacenada de 15 productos industriales. Los cdigos sern nmeros enteros distintos en el rango [1 - 20]. La cantidad almacenada de cada producto ser un valor entero en el rango [30 - 100] La aplicacin deber simular un proceso de pedido para los productos en almacn, tomando en cuenta lo siguiente: Sern 80 usuarios cada uno de los cuales ingresar el cdigo y la cantidad del producto que desea adquirir siempre y cuando el cdigo exista. Cuando la cantidad almacenada de cierto producto elegido llegue a cero (stock agotado) o la cantidad demandada sea mayor a la almacenada, el pedido no se podr atender. Luego de la simulacin del proceso de pedido, la aplicacin deber realizar lo siguiente: Mostrar los datos resultantes (cdigo y cantidad sobrante de cada producto) Mostar el nmero de veces que el pedido no fue atendido. Retirar del almacn todos aquellos productos cuyo pedido nunca se realiz.

Mostrar los datos resultantes (cdigo y cantidad sobrante de los productos que no fueron retirados de almacn) ordenados de manera ascendente en funcin a dichas cantidades.

Utilice la clase, los atributos y mtodos que crea conveniente, teniendo en cuenta los algoritmos de bsqueda, ordenamiento y eliminacin segn lo requiera. Realice la representacin o diagrama de clase. Grafique el diagrama de estructura de datos y el diagrama de secuencia.

10.- Desarrollar una aplicacin que permita registrar el nombre, edad, peso y cdigo (no
repetido) de 20 deportistas.

Luego de ello, la aplicacin deber realizar lo siguiente:


Mostrar los datos registrados en el formato adecuado. Eliminar del registro a todos aquellos deportistas cuyos pesos se encuentren repetidos. Mostrar el registro resultante.

Utilice la clase, los mtodos y atributos que crea conveniente, teniendo en cuenta los algoritmos de bsqueda, ordenamiento y eliminacin segn lo requiera. Realice la representacin o diagrama de clase. Grafique el diagrama de estructura de datos y el diagrama de secuencia.

11.- Desarrolle un programa que permita almacenar los datos de n personas, los datos a considerar son: dni (no se repite), nombre, edad y sueldo. Todos los datos deben ser generados de forma aleatoria, excepto el nombre. Los sueldos deben generarse considerando el rango [1000 5000] soles, la edad en el rango [15 40] aos y el valor de n en el rango [10 60]. Utilizando la clase y los atributos de acuerdo a su criterio implemente los mtodos necesarios para realizar las siguientes operaciones: - Mostrar los datos de todas las personas y la equivalencia del sueldo en dlares considerando que 1 dlar = 2.75 soles. - Ordenar los datos de todas las personas de forma ascendente de acuerdo a la edad. - Eliminar los datos de todos los menores de edad. Despus de la eliminacin: Continua-------

Buscar a una persona en base a su dni y mostrar todos sus datos. Mostrar la cantidad de personas que ganan entre [4000 9000] dlares. Eliminar a una persona en base a su dni.

Realice la representacin de la clase utilizada y el diagrama de estructura de datos.