Vous êtes sur la page 1sur 3

UNIVERSIDAD DE CARABOBO

FACULTAD EXPERIMENTAL DE CIENCIAS Y TECNOLOGÍA


DEPARTAMENTO DE COMPUTACIÓN
GRUPO DE DESARROLLO DE SOFTWARE Y SISTEMAS
CS0218 _ ALGORITMOS Y PROGRAMACIÓN II

PRÁCTICA
(ESTRUCTURAS MULTIENLAZADAS: MATRICES ESPARCIDAS Y GRAFOS)

1. Utilizando la clase MatEsp desarrolle funciones para resolver cada uno de los siguientes problemas en
matrices esparcidas de números reales. Puede extender la clase MatEsp si lo considera necesario:

• Sumar dos matrices


• Multiplicar dos matrices
• Intercambiar dos filas de una matriz
• Intercambiar dos columnas de una matriz
• Multiplicar una fila de una matriz por un escalar
• Multiplicar una columna de una matriz por un escalar
• Sumar un múltiplo de una fila a otra.

2. Considere el conjunto de estudiantes de una Facultad X de la Universidad de Carabobo y el conjunto de


asignaturas dictadas en dicha Facultad. El número de estudiantes oscila entre 1500 y 2000, y el número de
asignaturas varía entre 40 y 50. Un estudiante toma, en promedio, 3 ó 4 asignaturas por semestre y cada
asignatura tiene un número de estudiantes variable. Se desea almacenar la información asociada a la
inscripción de estudiantes en las diferentes asignaturas en un semestre. La estructura debe hacer uso
eficiente de la memoria y debe permitir que se satisfagan eficientemente los siguientes requerimientos:

• Determinar los estudiantes inscritos en una asignatura dada.


• Determinar las asignaturas que cursa un estudiante dado.

Para la solución de este problema considere el desarrollo de la clase Escuela con las siguientes
operaciones asociadas:

• Retirar: Retira un estudiante de una asignatura de la escuela.


• Inscribir: Inscribe un estudiante en una asignatura de la escuela.
• Pertenece: Verifica si un estudiante está inscrito en una asignatura determinada.
• NumEstAsig: Indica el número de estudiantes inscritos en una asignatura determinada.
• NumAsigEst: Indica el número de asignaturas inscritas por un estudiante.

Especifique e implemente (con estructuras multienlazadas) la clase Escuela y haga uso del mismo para
resolver los requerimientos planteados anteriormente.

3. El Departamento de Control de Estudios de la facultad del ejercicio anterior necesita de un sistema que le
permita llevar eficientemente el control de la información asociada a los requisitos necesarios para inscribir
cada materia. El sistema debe ser capaz de satisfacer eficientemente los siguientes requerimientos:

• Dada una materia, indicar todos sus requisitos (materias que la prelan)
• Dada una materia, indicar de cuál(es) materia(s) es requisito.
• Agregar un requisito a una materia dada.
• Eliminar un requisito de una materia.
• Agregar una nueva materia.
• Eliminar una materia.
• Dadas dos materias, determinar si una es requisito de la otra.
Se cuenta con la siguiente información por materia: código, nombre, número de créditos, tipo (obligatoria o
electiva), materias de las cuales es requisito, requisitos de la misma. Defina gráfica y formalmente una
estructura de datos capaz de almacenar la información anterior e implemente sobre la misma los requisitos
planteados.

4. En el Hipódromo corren una serie de caballos que pertenecen a diferentes haras. Existen 10 haras (H1, H2,
..., H10) y el número de caballos de un haras es variable. Un caballo pertenece a un haras. La información
disponible por cada caballo es: nombre, peso, edad, padres, número de carreras ganadas. Defina una
estructura de datos capaz de almacenar la información asociada a los caballos y que permita satisfacer
eficientemente los siguientes requerimientos:

• Listar los caballos en orden ascendente por carreras ganadas.


• Listar los caballos agrupados por haras.
• Eliminar un caballo de un haras
• Añadir un nuevo caballo a un haras.

5. Petróleos de Venezuela desea llevar un control sobre los pozos que explotan sus compañías filiales, con el
fin de obtener una serie de reportes anuales que le permitan determinar la eficiencia de la explotación
petrolera a nivel nacional. Por cada pozo se cuenta con la siguiente información: nombre, compañía a la
cual pertenece, ubicación (zona y campo), cantidad de barriles de petróleo producida cada mes del año,
meses del año en los cuales estuvo inactivo. Se sabe además que las compañías operan en N zonas y en
cada una de ellas hay ubicados varios campos. Cada campo pertenece a una compañía y en el campo hay
un número variable de pozos petroleros. Diseñe una estructura de datos que permita almacenar la
información anterior y desarrolle algoritmos que satisfagan los siguientes requerimientos:

• Para cada pozo cuya producción anual fue mayor que K barriles, indique nombre del pozo y mes de
mayor producción. Este reporte debe salir ordenado por compañía.
• Para cada zona listar los pozos que se mantuvieron inactivos por más de tres meses.
• Para cada compañía liste los campos que le pertenecen.
• Para cada compañía determinar la zona de mayor producción.

6. En la empresa XYZ se está reestructurando la gerencia de informática. Como parte del proyecto de
reestructuración, se desea desarrollar un sistema que permita llevar el control de la información referente a
las bases de datos y los sistemas de la empresa. Para tal fin se cuenta con la siguiente información:

Para cada base de datos:


• Nombre de la base de datos.
• Departamento(s) al (a los) que pertenece.
Para cada sistema:
• Nombre del sistema.
• Código.
• Función.
• Base(s) de datos asociada(s) a éste.
Para cada programa:
• Nombre del programa.
• Código.
• Función (modificación, eliminación, inserción, consulta).
• Sistema al cual pertenece.

El sistema a desarrollar debe satisfacer los siguientes requerimientos:


• Dado el nombre de un sistema, listar la información referente a los programas que le pertenecen. El
reporte debe contener, además, los nombres de las bases de datos asociadas al sistema y los
departamentos a los cuales pertenecen.
• Indicar la base de datos que posee el mayor número de sistemas asociados.
• Listar todos los programas existentes en los sistemas de la empresa ordenados por función.
• Listar para cada departamento la información de las bases de datos asociadas al mismo.

Considere que:
• La empresa tiene N departamentos.
• Un sistema puede hacer uso de una o más bases de datos.
• Un sistema está compuesto por varios programas y cada uno de éstos usa sólo una base de datos.

Defina gráfica y formalmente la estructura de datos a utilizar e implemente los requerimientos.

7. Una institución bancaria maneja información asociada a clientes y cuentas. Un cliente puede poseer varias
cuentas y una cuenta puede tener varios titulares. De los clientes se tiene nombre, cédula, dirección,
teléfono y cuentas que posee. Por cada cuenta se registra el código, tipo de cuenta (ahorros, corriente,
FAL), titular(es), saldo actual y últimas transacciones realizadas. Una transacción está identificada por su
código, puede ser crédito o débito y tiene un monto asociado.

Desarrolle una estructura de datos capaz de almacenar la información descrita en forma eficiente y con
base en dicha estructura desarrolle algoritmos que satisfagan los siguientes requerimientos:

• Dado un cliente listar las cuentas que posee.


• Dada una cuenta listar sus titulares.
• Registrar una transacción realizada sobre una cuenta. Debe chequearse si la transacción es válida.
• Añadir un titular a una cuenta.
• Abrir una cuenta para un cliente dado.

Vous aimerez peut-être aussi