Guia de Ejercicios.pdf

25
Nunca consideres el estudio como un deber, sino como una oportunidad para penetrar en el maravilloso mundo del saber. (Albert Einstein) UNIVERSIDAD MAYOR DE SAN ANDRES FACULTAD DE CIENCIAS PURAS Y NATURALES CARRERA DE INFORMATICA GUIA DE EJERCICIOS INF-131 (TODOS LOS PARALELOS) GESTION II-2013 MISION DE LA UNIVERSIDAD BOLIVIANA La Universidad Boliviana desarrolla sus actividades de acuerdo al Plan Nacional de Desarrollo Universitario cuya misión es formar profesionales idóneos de reconocida calidad humana y excelencia científica, con conciencia crítica y capacidad de crear, adaptar y enriquecer la ciencia y tecnología universal para el desarrollo sostenible, impulsando el progreso y la integración nacional, la interacción social; promover la investigación científica y los estudios humanísticos, recuperando los saberes ancestrales; participar en los procesos sociales defendiendo los recursos y los derechos humanos; difundir y acrecentar el patrimonio cultural, así como contribuir a la defensa de la soberanía del país y el compromiso con la liberación nacional y social.(ESTATUTO

Transcript of Guia de Ejercicios.pdf

Nunca consideres el estudio como un deber, sino como una oportunidad para penetrar en el maravilloso

mundo del saber. (Albert Einstein)

UNIVERSIDAD MAYOR DE SAN ANDRES FACULTAD DE CIENCIAS PURAS Y NATURALES

CARRERA DE INFORMATICA

GUIA DE EJERCICIOS

INF-131

(TODOS LOS PARALELOS)

GESTION II-2013

MISION DE LA UNIVERSIDAD BOLIVIANA

La Universidad Boliviana desarrolla sus actividades de acuerdo al Plan Nacional de Desarrollo

Universitario cuya misión es formar profesionales idóneos de reconocida calidad humana y

excelencia científica, con conciencia crítica y capacidad de crear, adaptar y enriquecer la ciencia y

tecnología universal para el desarrollo sostenible, impulsando el progreso y la integración

nacional, la interacción social; promover la investigación científica y los estudios humanísticos,

recuperando los saberes ancestrales; participar en los procesos sociales defendiendo los recursos y

los derechos humanos; difundir y acrecentar el patrimonio cultural, así como contribuir a la

defensa de la soberanía del país y el compromiso con la liberación nacional y social.(ESTATUTO

Nunca consideres el estudio como un deber, sino como una oportunidad para penetrar en el maravilloso

mundo del saber. (Albert Einstein)

ORGANICO DE LA UNIVERSIDAD BOLIVIANA - XI CONGRESO NACIONAL DE

UNIVERSIDADES ) TEMA: PILAS y COLAS

1. Ordenar una pila de números utilizando solo una pila auxiliar. 2. Dada una pila que almacena los caracteres de una palabra, verificar si la palabra es

palíndromo. 3. Dado la pila P de números, eliminar los pares y duplicar los impares, solo con la

utilización de una estructura auxiliar. 4. Dadas tres pilas rotar los elementos de la posición i-esima k-veces. 5. Dada una pila de vectores mostrar los vectores que contengan el elemento más

pequeño (dentro de los vectores). Considere a la clase vector para su solución. 6. Dadas las pilas A y B ambas con valores enteros y mayores a cero, se trata de

intercambiar sus valores de tal forma que en la pila A queden los pares y en B los impares (sin utilizar estructura auxiliares).

7. Las ventas del almacén “Hogar” se almacenan en una pila de objetos Producto. Donde un producto tiene como atributos nombre y la cantidad de unidades vendidas. Calcular la cantidad total vendida de cada producto.

8. Sea una cola que almacena caracteres. Por ejemplo: a, b, a, c, d, x, e, a, b, d. Ordenar

de acuerdo al número de repeticiones del dato

a. Ascendentemente

c, x, e, b, b, d, d, a, a, a b. Descendentemente

a, a, a, d, d, b, b, e, x, c

9. Dada una Cola Simple que contiene números enteros, eliminar el primer elemento que

sea igual a K introducido por el teclado.

Entrada:

20 4 8 20 8 6

Sea K=8

Salida:

20 4 20 8 6

Nunca consideres el estudio como un deber, sino como una oportunidad para penetrar en el maravilloso

mundo del saber. (Albert Einstein)

10. Dado el objeto C Cola Circular número donde se encuentran los dígitos de un número.

Y sea x un número, determinar si x se encuentra en C.

Por ejemplo: Sea x=643

643 si se encuentra

11. El problema de josephus

Se trata de un grupo de soldados rodeados por una abrumadora fuerza enemiga. No hay

esperanza de victoria sin esfuerzos, pero solo hay un caballo disponible para escapar. Los

soldados hacen un pacto para determinar cuál de ellos va a escapar y pedir ayuda. Forman

un círculo y se elige un número n de un sombrero. También se elige uno de sus nombres

de un sombrero. Iniciando con el soldado cuyo nombre se eligió, empiezan a contar en

sentido dextrógiro alrededor del círculo. Cuando la cuenta llega a n, este soldado se retira

del círculo y la cuenta vuelve a empezar con el soldado siguiente. El proceso continúa para

que cada vez que la vuelta llegue a n, se retira otro soldado del círculo. Cualquier soldado

del circulo ya no cuenta al último soldado va a tomar el caballo y escapa. El problema es

dado un número n, el ordenamiento de los soldados en el círculo a partir del que empieza

la cuenta. Determinar el orden en el cual se eliminan los soldados del círculo y cual

soldado escapa.

Por ejemplo si n=3 y que hay 5 soldados llamados A,B,C,D y E

12. Sea una Cola Simple de personas:

a) Dada la Cola Simple C de personas ordenar por edad.

b) Eliminar la persona con edad mayor a 30 años

c) Invertir la cola simple sin utilizar estructuras auxiliares.

13. No haga caso de la basura

Una gran cantidad de clientes esperando y discutiendo en la recepción, la administración

decidió implementar una máquina expendedora de billetes. Cada cliente podría obtener

un boleto con un número y no habrá pantalla LCD de lujo en cada escritorio que muestra

Nunca consideres el estudio como un deber, sino como una oportunidad para penetrar en el maravilloso

mundo del saber. (Albert Einstein)

el número de la persona que viene. Fred fue nombrado para conseguir la nueva mejora de

este trabajo.

Debido a que Fred es perezoso a la hora de mano de obra y como consultor de

TI(Tecnologías de Información) que no se rebajaría al nivel de un técnico de hardware

(excepto cuando se actualiza a su propio equipo), le pidió a pocos técnicos para instalar las

pantallas y se preparó sólo para el enchufe en la máquina de billetes y probarlo. Por

desgracia (por Fred) los técnicos, ya sea inspirados en Mr.Bean o por su negligencia,

instalaron la pantalla al revés.

Siendo un tipo de software, Fred decidió que el equipo no debe ser manipulado después

de su instalación (excepto para el caso si sería capaz de volver a los técnicos para

repararlo, pero ellos ya estaban enojados con él por su carácter). Luego se observó que de

vez en cuando la pantalla muestra un número correcto, incluso cuando está al revés. Y

bueno, la máquina expendedora de billetes es un dispositivo integrado y contiene un

pequeño procesador. Sería un pecado para un tipo de TI, no para tratar de meterse con él

e intente ejecutar una versión propia de Linux. Ahora sólo tenemos que averiguar los

números de lectura mediante el programa de visualización.

En un principio la pantalla muestra el número 1 en su pantalla. Cada segundo se muestra

el número incrementado en 1. Vemos la pantalla al revés y por lo tanto no todo lo que

vemos va a tener sentido. Su tarea consiste en calcular el número K-ésimo válido que

vamos a ver en la pantalla. Los dígitos que la pantalla usa se muestran en las imágenes de

abajo. Un revés aún cuentan como 1. El número que vemos puede tener ceros a la

izquierda -por ejemplo, convertir el número 600 de cabeza conduce a un número válido.

Entrada

El archivo de entrada constará de varios números enteros Ki, (Ki ≤ 1000000) uno

por línea.

Salida

Para cada Ki del archivo de entrada, la salida del Ki-ésimo número que aparece en

la pantalla (incluyendo los ceros a la izquierda, si hay alguna).

Ejemplo de entrada

1

Nunca consideres el estudio como un deber, sino como una oportunidad para penetrar en el maravilloso

mundo del saber. (Albert Einstein)

2

3

4

5

6

8

98

Ejemplo de salida

1

2

5

9

8

6

11

002

TEMA: PILAS Y COLAS MULTIPLES

1.- Dada una múltiple pila de números ordenar todas sus pilas asumiendo que solamente existe

una pila de las mismas que está vacía en la posición k de la múltiple pila.

2.- Simular correos electrónicos y envió de mensajes considerando que a cada usuario (usuario y

password) se le asigna una pila en una múltiple pila de mensajes.

a) Simular el envío de mensajes (se puede enviar un mensaje a varios usuarios).

b) Introducir un usuario, password y desplegar su buzón de entrada.

c) Dado que el límite de mensajes que puede almacenar es 100, mostrar al usuario cuanto

de espacio libre tiene.

10.- Dada una múltiple pila rotar n veces los elementos de la posición i-esima

Nunca consideres el estudio como un deber, sino como una oportunidad para penetrar en el maravilloso

mundo del saber. (Albert Einstein)

11.- Dada la cola circular de objetos colas simples de cadenas que incluyen su nombre (nombre,

colasimple). Ordenar la cola circular por el número de elementos de la cola simple.

12.- Sea la aplicación "Programación de TV". Cambiar el conductor X del actual programa al

programa Z.

13.- Dada una Cola Simple que maneja los pedidos de un restaurante donde se guarda el número

de mesa, un objeto Cliente (nombre completo y nit) y un Objeto Cola Simple de Platos pedidos. Y

sea una Cola Circular de objetos Plato (nombre y precio).

Se pide realizar:

a) Diagrama de clases con atributos y métodos necesarios.

b) Calcular el monto total a pagar del cliente de nombre x.

c) Eliminar los pedidos que no tengan ningún plato.

Nunca consideres el estudio como un deber, sino como una oportunidad para penetrar en el maravilloso

mundo del saber. (Albert Einstein)

14.- Emular el funcionamiento de una Estación de Servicio (ES) donde existen K surtidores donde

se venden distintos productos (Gasolina, Diesel, etc) cada surtidor está a cargo de un empleado.

Luego el gerente requiere la siguiente información:

a) ¿En cuál de los surtidores se ha vendido más?

b) ¿Cuál fue el producto más vendido?

c) Dado el nombre de un empleado, mostrar el número de vehículos que atendió.

d) Mostrar el nombre de la placa del vehículo que ha comprado más gasolina.

15.- Cierto Sistema Operativo posee un algoritmo de planificación de CPU basado en colas

multinivel realimentadas (3 colas). La forma en la que los trabajos son alojados en cada una de las

colas es la siguiente:

Todos los trabajos, cuando llegan al sistema, son colocados en la cola 1, la cual se planifica de acuerdo a un algoritmno Round-Robin con cuanto de tiempo igual a 2ms. En esta cola un trabajo permanecerá si después de ejecutar su primera ráfaga de CPU, le queda por ejecutar ráfagas inferiores a 5 ms. en caso contrario pasaría a la cola 2 o 3

Un trabajo pasará a la cola 2, en caso de que le quede por ejecutar una ráfaga de CPU igual o superior a 5ms. Este trabajo permanecerá en esta cola hasta que termine su ejecución y se planifica según Round-Robin con cuanto igual a 3ms.

Un trabajo pasará a la cola 3, en caso de que le quede por ejecutar una ráfaga de CPU igual o superior a 8 ms. Este trabajo permanecerá en esta cola hasta que termine su ejecución y se planifica según SJF apropiativo.

Sabiendo que la cola 1 es la de mayor prioridad y la 3 la de prioridad inferior, calcule para el siguiente conjunto de trabajos:

a) Realizar el diagrama de clases b) Simular el proceso de ejecución de las colas y el orden en que se van ejecutando en la

CPU c) Calcular el tiempo de espera y retorno de cada trabajo

Nunca consideres el estudio como un deber, sino como una oportunidad para penetrar en el maravilloso

mundo del saber. (Albert Einstein)

TEMA: LISTAS ENLAZADAS

1. Sea una lista Simple Normal dividirla en dos sub-listas. Ejemplo. {12,16,23,30,27,6,14}, se obtienen dos listas {12,23,27,14} y {16,30,6}.

2. Sea una lista Simple Normal de números, realizar las siguientes operaciones: a) Mostrar el número o los números mayores de la lista. b) Eliminar de la lista los números repetidos

3. Sean dos listas simples normales que almacenan los dígitos de dos números, realizar la suma de los dos números, tomar muy en cuenta los acarreos. Ejemplo: C = A + B

Nunca consideres el estudio como un deber, sino como una oportunidad para penetrar en el maravilloso

mundo del saber. (Albert Einstein)

4. Sean dos listas simples normales que almacenan los dígitos de dos números, realizar la resta de

2 números..

5. Sea una lista simple circular de cadenas, llevar los nodos cuya cadena es palíndromo y hacia una nueva lista.

6. Los números de Fibonacci La secuencia de Fibonacci, es calcular adicionando lo dos números anteriores de la secuencia, siendo los primeros dos números ¡iguales a 1:

( ) ( ) ( ) ( ) ( ) Problema: Su tarea es tomar números de entrada (uno por línea), e imprimir el correspondiente número de Fibonacci que le corresponda.

Entrada Salida

3 100

2 354224848179261915075

Nota: Para resolver el problema plateado, se debe hacer uso de listas simplemente enlazadas tal que un elemento cualquiera de la serie de Fibonacci se encuentra almacenado en una LS_Normal (digito a digito), es decir;

Nunca consideres el estudio como un deber, sino como una oportunidad para penetrar en el maravilloso

mundo del saber. (Albert Einstein)

Ningún número generado por la serie de Fibonacci, deberá exceder los 1000 dígitos (100 nodos).

7. Sea una lista simple Circular de jugadores (nombre, posición, equipo)

a) Mostrar a los jugadores del equipo X. b) Mostrar a los jugadores de la posición X del equipo Y. c) Eliminar a los jugadores del equipo X.

8. Sean una lista simple Normal de clientes y una lista simple circular de celulares.

a) Mostrar la información de cada cliente con su o sus respectivos móviles. b) Mostrar la información del número de celular X y su respectivo usuario. c) Mostrar la información de cliente(s) que tiene más números. d) Eliminar el número de celular X. e) Eliminar al cliente X, (NOTA: también eliminar su(s) número(s) de celulares).

9. Sea una lista simple normal de productos (nombre, precio) y una lista simple circular de ventas (nombreProd, ctdad, fecha) se desea realizar las siguientes operaciones.

a) Mostrar la cantidad total vendida del producto X. b) Mostrar el producto más vendido de cada fecha. c) Mostrar el monto total de dinero obtenido de cada fecha.

10. Sea una lista circular de una cuenta bancaria (nrocuenta, saldo) y una lista normal de clientes (nombre,nrocuenta)

a) Mostrar que cliente(s) tienen el mayor saldo. b) Mostrar que cliente(s) tienen el menor saldo. c) Eliminar a los clientes (tarjeta y cliente) que tengan saldo 0 d) Mostrar al cliente(s) cuyo saldo sean números primos.

11. Sea una lista doble normal que almacena los dígitos de un número entero, verificar si el número es capicúa. Ejemplo: 101 {1,0,1} es capicúa

Nunca consideres el estudio como un deber, sino como una oportunidad para penetrar en el maravilloso

mundo del saber. (Albert Einstein)

100102 {1,0,0,1,0,2} no es capicúa

12. Sea una lista doble normal que almacena los dígitos de un número en base binaria, crear una nueva lista con el número convertido a base decimal. Ejemplo. {1,0,1,0} {1,0},

{1,1,1,0,0,0,0,1} {2,2,5}

13. Sea una lista doble normal de cadenas, ordenarlas de acuerdo a su longitud.

14. Sea una lista doble normal de caracteres alfanuméricos, crear una nueva lista de caracteres númericos y otra de caracteres alfabéticos. Ejemplo. {p, 4,j,7,8,6,0,u,m,8,2,h,9,1,y} {4,7,8,6,0,8,2,9,1}, {p,j,u,m,h,y}

15. Sea una lista doble normal de nombres mostrar los nombres que se repiten más veces.

16. Sea una lista doble A donde cada nodo de la lista almacena una palabra de una frase, pero

esta palabra se halla codificada, se pide generar una lista B donde estas palabras se hallen

decodificadas y se pueda leer el mensaje.

Ejemplo: Texto cifrado: A B C D E F G H I J K L M N O P Q R S T U V W X Y Z Texto descifrado: V W X Y Z A B C D E F G H I J K L M N O P Q R S T U

Entrada lista a:

Salida lista b:

17. Sean:

Lista Doble Circular de Estudiantes: Cada nodo almacena los datos de los estudiantes (CI, Paterno, Materno, Nombres)

Lista Doble Normal de Evaluaciones: Cada nodo almacena los datos de la evaluación de la Evaluación (CI, Nota). a) Crear una lista con los estudiantes aprobados.

Nunca consideres el estudio como un deber, sino como una oportunidad para penetrar en el maravilloso

mundo del saber. (Albert Einstein)

b) Crear una lista con los estudiantes que abandonaron la materia.

18. Sea una lista doble circular de clientes (nombre,ci) y una lista doble normal de pedidos (CICliente,fecha, nombreProducto). a) Mostrar los pedidos por cliente. b) Mostrar los datos del cliente(s) que hicieron el pedido x en fecha y. c) Mostrar los productos de los pedidos en fecha x. d) Eliminar los clientes que tienen un solo pedido.

19. Sea un objeto celular (marca,modelo,listadeContactos, listadeMensajes), lista doble

normal de contactos (nombre, nrotelefono), lista doble circular de mensajes recibidos (fecha,texto,nrotelefono). a) Establecer el diagrama de clases b) Mostrar el número telefónico del contacto x c) Agregar un nuevo contacto y colocarlo donde corresponde (sin desordenar la lista) d) Mostrar los mensajes recibidos del número de teléfono x.

20. Sea una lista circular de estudiantes (nombres, ci) y una lista de calificaciones finales (ci,

nota, materia). a) Ordenar la lista de estudiantes de acuerdo al nombre. b) Mostrar a los estudiantes que reprobaron o abandonaron la materia X. c) Mostrar a los estudiante(s) con mayor nota de cada materia. d) Mostrar la materia con más aprobados.

TEMA: LISTAS MULTIPLES

1. Se tiene la inscripción de los estudiantes de la carrera, almacenado en listas de la

siguiente manera :

Lista de Estudiantes: CodE, Paterno, Materno, nombre, ci Lista de Materias: sigla, paralelo, descripción Lista de Asignaciones: Sigla, Gestión, Lista d Estudiantes inscrito Lista de Estudiantes Inscritos: CodE, EPx1, ExP2, ExP3, Ayudantía a) Realizar el Diagrama de clases

b) Mostrar a los estudiantes d la materia x por paralelos

c) Mostrar aquellos estudiantes que están inscritos en una materia

Nunca consideres el estudio como un deber, sino como una oportunidad para penetrar en el maravilloso

mundo del saber. (Albert Einstein)

d) Mostrar los estudiantes que reprobaron en la materia x

e) Mostrar la materia donde hay más estudiantes reprobados

2. Realizar el siguiente problema

a) Realizar el diagrama de clases

b) Eliminar la k-esima pagina

c) Mostrar la página en la cual se encuentre el título x

3. Sea el proceso de elección de la Dirección de la Carrera de informática donde existen 3

candidatos. El día del proceso electoral se instalan 6 mesas de votación, una de ellas es

para la votación de docentes y el resto es para la votación de estudiantes. Cada mesa

presenta un grupo de delegados de mesa (delegados del comité electoral, delegados por

candidato), además se tiene un alista de votantes habilitados.

Se pide efectuar el control del proceso eleccionario mediante listas enlazadas siguientes:

Lista de Candidatos: Nro, Nombre Completo

Nunca consideres el estudio como un deber, sino como una oportunidad para penetrar en el maravilloso

mundo del saber. (Albert Einstein)

Lista de Mesas de Votación: Nro de Mesa, Tipo (Docente/Estudiante), Lista de Delegados, Lista de Votantes habilitados, Lista de los Votos

Lista de Delegados: tipo (Comité electoral/delegado de candidatos), nombre completo

Lista de Votantes Habilitados: CI, Paterno, Materno, Nombre, Observación (Si/No efectuó su voto)

Lista de Votos: Valor voto (1: primer Candidato, 2: segundo candidato, 3: tercer candidato, 4: blanco, 5: nulo)

a) Elaborar su diagrama de clases

b) Mostrar el porcentaje de votos obtenidos por cada candidato

c) Mostrar las mesas donde obtuvo el mayor número de votos el

candidato con nombre x

d) Verificar en cada mesa si el número de votos coincide con el número

de votantes que efectuaron su voto.

4. Sea la siguiente estructura de Listas Múltiples

Docente: Nombre, Nro de Estudiantes Alumno: Nombre, Edad, Nota

a) Realizar su Diagrama Clases b) Mostrar los alumnos que tengan menos de 21 años y nota arriba de 65

c) De un docente X eliminar el alumno Y

d) Mostrar al docente con más Estudiantes reprobados

Nunca consideres el estudio como un deber, sino como una oportunidad para penetrar en el maravilloso

mundo del saber. (Albert Einstein)

5. Una computadora tienen un conjunto de unidades donde se almacena la información

como son, por ejemplo: C, D, E unidades de disco duro, F: unidad de CD, G Flash Memory.

Se pide administrar la información de las unidades de un computador utilizando múltiples

listas. Se tiene una lista de unidades, cada unidad puede tener una lista de carpetas y una

lista de archivos y en cada carpeta puede existir una lista de archivos. La Múltiple Lista

está Organizada de la siguiente manera:

UNIDAD CARPETA ARCHIVO

Nombre Tipo Tamaño Total Tamaño disponible

Nombre Fecha de Modificación

Nombre Tamaño Fecha de Modificación

Nunca consideres el estudio como un deber, sino como una oportunidad para penetrar en el maravilloso

mundo del saber. (Albert Einstein)

a) Diseñar el diagrama de clases

b) Mostrar la ruta donde se encuentra el archivo de nombre x

c) Eliminar las carpetas vacías de la unidad z

d) Copiar los archivos de la unidad x a la unida y

e) Si ordenada la lista de unidad es por tamaño disponible, insertar una nueva unidad

6. La carrera de INFORMATICA necesita manejar la información de sus laboratorios en las

cuales se dictan cursos y los estudiantes que toman los cursos de la manera más dinámica

y operativa posible, para tal efecto se propone la siguiente estructura para el manejo de

los datos

Lista de Laboratorios: nombre, Lista de curso

Definir el diagrama de clases e implementar los siguientes métodos

a) Eliminar el curso que no tenga estudiantes

Nunca consideres el estudio como un deber, sino como una oportunidad para penetrar en el maravilloso

mundo del saber. (Albert Einstein)

b) Mostrar los nombres del laboratorio y nombre del curso en el que está

inscrito el estudiante de nombre x.

c) Eliminar al estudiante x del curso z.

d) Un estudiante x ha decidido cambiarse del curso Y a un curso Z

realizar este intercambio siempre y cuando tenga cupo disponible.

7. Una Expresión aritmética de operadores y operando. Los operadores actúan sobre los

operando para obtener un resultado

Una expresión aritmética compuesta es la siguiente:

( 23 + 4 ) + ( 12 – 7 ) - (4 * 2 )

Esta forma de representación se desea manejar mediante el objeto Expresión (),

como lista enlazada de la siguiente manera;

a) Definir el diagrama de clases

b) Evaluar la expresión

c) Eliminar el k-esimo término de la lista del objeto

8. Algunos técnicos excéntricos electricistas, acostumbran a realizar sus instalaciones de

alumbrado según la siguiente estructura:

TERMINO 1 TERMINO 3 TERMINO 2

Nunca consideres el estudio como un deber, sino como una oportunidad para penetrar en el maravilloso

mundo del saber. (Albert Einstein)

Uno de los problemas de este tipo de instalación se da en el momento de la instalación, es decir:

Si se desea instalar un foco, necesariamente se tiene que instalar un foco no

ahorrador seguido de un foco ahorrador.

Si se desea eliminar un foco, se tiene que eliminar un foco no ahorrador seguido

de un foco ahorrador

Para solucionar este problema de instalación rápida se desea crear las clases con sus métodos

correspondientes

- Realizar Diagrama de clases

- Implementar los siguientes métodos

a) Int nroFocosNoAhorrador ()

b) adiUltimo(FocoAhorrador FA, FocoNoAhorrador FNA)

c) int buscarQuemado(): Devuelve la posición del primer foco quemado que se

encuentra.

d) FoconoAhorrador eliPrimero()

9. Se tiene un aula de la carrera de informática con pupitres organizados como se ve en el

ejemplo. Cada pupitre puede estar ocupado por un estudiante o no estar ocupado.

Realizar la matriz de nodos N*M.

Nunca consideres el estudio como un deber, sino como una oportunidad para penetrar en el maravilloso

mundo del saber. (Albert Einstein)

Dónde:

Nodo Pupitre: tiene como atributos enlaces (arriba, abajo, izquierda, derecha) y un objeto

estudiante.

Estudiante: <nombre, edad >

a) Mostrar la diagonal principal para una matriz de N*N

b) Mostrar la posición i, j si es que existe

c) Determinar el promedio de edad de los estudiantes

d) Intercambiar 1er estudiante con el ultimo de cada columna

e) Vaciar la fila n. llevar a los estudiantes inscritos a otros pupitres donde sea

posible, previamente verificar si existe espacio suficiente para todos los

estudiantes de esa fila.

f) Mostrar la matriz en forma de caracol (uso de punteros).

10. Diseñar e implementar el siguiente caso.

El aeropuerto de la ciudad de “EL ALTO” ha decidido realizar un sistema de control mediante listas el cual almacena las distintas EMPRESAS que brindan al servicio de viajes. En cada empresa tiene una cierta cantidad de aviones, los cuales están compuestos por un piloto, una azafata y una lista de pasajeros. Los aviones tienen una placa que los identifica, una cantidad de pasajeros, destino.

a) Realizar su correspondiente diagrama de clases

b) Mostrar a los pasajeros de la Empresa “TAM”, del piloto x

Nunca consideres el estudio como un deber, sino como una oportunidad para penetrar en el maravilloso

mundo del saber. (Albert Einstein)

c) Por fallas mecánicas se canceló el vuelo del avión X, por tanto la

empresa ha decidido llevar a todos los pasajeros a un avión Y de la

lista de aviones

d) Mostrar los destinos donde viajan pasajeros menores de edad

TEMA: RECURSIVIDAD

1. Hallar la suma de los dígitos pares de un numero 2. Convertir un numero de decimal a binario 3. Resolver la siguiente serie: 4. Mostrar el factorial de cada elemento impar de un vector 5. Hallar la suma de todos los elementos pares de una matriz 6. Dada una ColaCircular de Buses <placa, modelo, maxPas> eliminar los buses que no

pueden llevar más de 40 pasajeros 7. Dada la ListaMultiple hallar la frecuencia del elemento X

8. Dada la ColaSimple de Libros <título, autor, nroPags, anioEd>:

a. Encontrar el libro que tenga mayor número de paginas b. Contar cuántos libros fueron escritos después de un año determinado

9. Dada una matriz de ColasCirculares de enteros determinar la cantidad total de capicúas

TEMA: ARBOLES

1. Nosotros conocemos bien las rutas para acceder a las diferentes carpetas de nuestro

ordenador, Sammy visita a su amigo Juan para pedirle que le pase la tarea de 131, pero

Juan no está en su casa y le da la llave para que ingrese, pero Juan no es muy organizado

manejando sus archivos, y Sammy no puede encontrar la ruta donde está su tarea. Tu

trabajo es ayudar a Sammy a encontrar la carpeta que necesita indicándole la ruta.

Árbol de entrada

Nunca consideres el estudio como un deber, sino como una oportunidad para penetrar en el maravilloso

mundo del saber. (Albert Einstein)

Salida

c: - documentos – juegos – tarea 131

2. Si consideramos el caso de que los árboles binarios normales ya podemos subir y bajar por

toda la estructura, se pide indicar “si es que existe” la ruta para llegar del nodo “a” al nodo

“b”. Asumir que ningún dato en el árbol se repetirá.

Dato de entrada

Nodo A: 11 Nodo B: 13

Salida:

11, 4, 5, 18, 13

Nodo A: 11 Nodo B: 8

Salida:

No existe el dato 8 en el árbol.

3. Dados dos árboles binarios normales se pide determinar si alguno de ellos es subconjunto

del otro, para cada diferente caso se pide mostrar:

B es un conjunto de A

Nunca consideres el estudio como un deber, sino como una oportunidad para penetrar en el maravilloso

mundo del saber. (Albert Einstein)

B es un conjunto de A

A y B son iguales

4. Dado el recorrido pre orden y el recorrido in orden, se pide determinar el recorrido post

orden de un árbol.

Suponiendo que este fuera la forma de nuestro árbol.

Entrada: DBACEGF ABCDEFG

Salida: ACBFED

Nunca consideres el estudio como un deber, sino como una oportunidad para penetrar en el maravilloso

mundo del saber. (Albert Einstein)

5. Dado un árbol binario normal que almacena datos 1´s y 0´s, se pide determinar a partir de

estos cual es el número decimal que representa, por ejemplo.

Y aplicamos el recorrido in orden tendremos: 100111010, y a partir de este dato formaremos nuestro número decimal que será: 314

6. Dado un árbol binario normal, y asumiendo que el dato raíz del mismo es “0”, se pide

determinar si hay alguna forma de llegar desde el nodo raíz hasta alguno de los nodos

hoja, tomando en cuenta que solo podemos pasar por aquellos nodos que tengan datos

pares, por ejemplo:

Si se puede llegar de la raíz a un nodo hoja, porque existe la ruta 0, 4, 4, 2, 4, 8, 4.

7. Dado un árbol binario de búsqueda, se pide encontrar la suma la ruta más pequeña desde

el nodo raíz hasta alguna de los nodos hoja (utilizar los valores de los nodos para hacer la

suma).

Nunca consideres el estudio como un deber, sino como una oportunidad para penetrar en el maravilloso

mundo del saber. (Albert Einstein)

La suma más corta es 22 formado por los nodos: 7, 4, 4, 7 o también por los datos 7, 4, 4, 2, 4, 1

8. Dado el siguiente tipo de entrada se pide reconstruir el árbol correspondiente.

Entrada: (5(4(11(7()())(2()()))())(8(13()())(4()(1()()))))

Salida:

Tomar en cuenta que un árbol vacío se representara como “()”, y un nodo hoja esta representado como (algún_número()())

Nunca consideres el estudio como un deber, sino como una oportunidad para penetrar en el maravilloso

mundo del saber. (Albert Einstein)

TEMA: ARBOLES BINARIOS DE BUSQUEDA

ARBOLES EQUILIBRADOS

1. Crear un método que permita transformar un árbol común a un ABB 2. Defina la diferencia entre un ABB y un AVL 3. Dada la siguiente secuencia mostrar el resultado de realizar las respectivas inserciones en un ABB 6,2,3,5,12,5,6,45,8,6,33,25,11,10,56 4. ¿Qué es un árbol degenerado? 5. Implementar un ABB utilizando clases genéricas propias de los lenguajes 6. Resolver el ejercicio 3 utilizando AVL y señalar ¿Cuál? Y ¿porque? Es la estructura de datos más óptima. 7. Realice la implementación de AVLs para tipos de datos genéricos 8. Realice el método adicionar(var x), para AVLs recursivamente 9. Convertir un ABB en un AVL 10. Dada la siguiente secuencia: IAJLMNCRSOPQ insertar los valores en un ABB y graficar