Saltar a contenido

2.2. Archivos Secuenciales

Ejercicio 2.2.1


Se dispone de una secuencia con los datos de los alumnos de la facultad:

  • Apellido y Nombre
  • Carrera (ISI - IEM - IQ)
  • Nº de Legajo
  • Fecha de Nacimiento
  • Fecha de Ingreso
  • D.N.I.
  • Sexo (M o F)
  • Fecha de último examen aprobado
  • Nota

Se desea un listado de los mismos, con el siguiente formato:

  • Nro_Legajo
  • Apellido_Nombre
  • Documento
  • Carrera

Ejercicio 2.2.2


Se dispone de una secuencia de facturas con los siguientes datos:

  • Nº de Factura
  • Fecha
  • Total

Se desea un listado de las facturas cuyas fechas sean posteriores a una fecha dada, y cuyos importes totales no alcancen los $1000, con el siguiente formato:

  • Nro_Factura
  • Fecha
  • Importe_Total

Ejercicio 2.2.3


Dada la siguiente secuencia de datos con el siguiente formato:

  • Nº de socio
  • Nº de teléfono
  • Apellido y Nombre
  • Carrera (ISI - IEM - IQ - LAR)
  • Domicilio
  • Cantidad de unidades prestadas

Correspondiente a los alumnos socios de la Biblioteca, generar la secuencia de los alumnos de “ISI” que tengan prestadas más de 4 unidades bibliográficas.

Ejercicio 2.2.4


A partir de la secuencia del ejercicio 2.01 se desea generar otra secuencia con los alumnos de una carrera dada que aprobaron alguna materia este año, con nota mayor a 7 (siete).

Ejercicio 2.2.5


A partir de la secuencia del ejercicio 2.01 se desea generar un listado con los alumnos que aprobaron la última materia rendida con nota superior a 7, e ingresaron el año pasado, con el siguiente formato:

  • Nro_Legajo
  • Apellido_Nombre
  • Carrera

Ejercicio 2.2.6


Se cuenta con una secuencia que contiene el Apellido y Nombre y Promedio General de los Graduados de una Facultad, y se solicita generar un listado con diversas recomendaciones para cubrir vacantes en una importante Empresa. Las mencionadas recomendaciones serán establecidas del siguiente modo: si el promedio es menor que 7, la recomendación será negativa ("NO"); por el contrario, si el promedio es menor que 8, la recomendación será positiva ("SI"); de lo contrario, si el promedio es menor que 9, la recomendación será favorable ("F"); por último, si el promedio supera los 9 puntos, la recomendación será muy favorable("MF"). El listado deber respetar el siguiente formato:

  • Apellido_Nombre
  • Promedio
  • Recomendación

Además, se solicita la impresión del total de graduados que recibieron cada una de las recomendaciones, y el promedio global de los mismos.

Ejercicio 2.2.7


Se dispone de un archivo con los datos de un padrón electoral con la siguiente información:

  • Nombre y apellido
  • Clase
  • DNI
  • Dirección
  • Nº de Mesa
  • Observaciones
  • Nº de Circuito
  • Partido (0= independiente, 1=‘A’, 2=‘B’, 3=‘C’)

Generar:
a) Una secuencia de salida con nombre y apellido, DNI, y dirección de todas las personas afiliadas al partido “C”.
b) Una secuencia de salida con nombre y apellido, DNI, y dirección de todas las personas no afiliadas a ningún partido y de clase posterior a 1940.

Ejercicio 2.2.8


De los datos del siguiente ejercicio:

COMPRAS Ordenado por Nro_Cliente

  • Nro_Cliente
  • Fecha_Ultima_Compra
  • Monto

CLIENTES Ordenado por Nro_Cliente

  • Nro_Cliente
  • Apellido_Nombre
  • Domicilio
  • Teléfono
  • DNI

Ambos archivos están ordenados por Nro. de Cliente en forma ascendente. Listar los nombres fecha y monto de última compra, de todos aquellos clientes cuya última compra sea posterior a una fecha dada y el monto supere un monto dado.

Ejercicio 2.2.9


Una casa deportiva dispone de un archivo de productos, ordenado por código de producto, que contiene los siguientes datos:

PRODUCTOS Ordenado por Cod_Producto

  • Cod_Producto
  • Tipo (1,2,3)
  • Marca
  • Modelo
  • Descripción
  • Cantidad_Existente
  • Precio_Unitario

Se ha registrado en el mercado un aumento de precios, el cual no es uniforme para todos los artículos, sino que varía según el tipo de los mismos de la siguiente manera: tipo 1- Calzados: 10%, tipo 2 – Indumentaria: 25%, tipo 3 - Accesorios (pelotas, raquetas, etc.): 50%. Por este motivo el gerente de la empresa solicitó al Departamento de Informática que modifique los precios de acuerdo a los porcentajes antes mencionados.
Generar un nuevo fichero de productos para cumplir con la solicitud del gerente.
Al terminar el proceso informar cantidad total de artículos de cada tipo hay y total general.

Corte de Control

Ejercicio 2.2.10


Del archivo general de alumnos de la U.T.N. - Facultad Regional Resistencia, ordenado por carrera, se desea emitir la cantidad de alumnos correspondientes a cada carrera y el total general.

Ejercicio 2.2.11


Se dispone de un archivo con datos de los alumnos de la U.T.N. con la siguiente información para cada alumno:

PRODUCTOS Ordenado por Sexo, Carrera, Nro_Legajo

  • Sexo
  • Carrera
  • Nro_Legajo
  • Fecha_Ingreso
  • Total_Materias_Aprobadas

Se desea un listado con el siguiente detalle por sexo, carrera y total general

  1. Total de alumnos que ingresaron en el año 2009 con más de 20 materias aprobadas.

  2. Total de alumnos que ingresaron en el año 2009 con menos de 20 materias aprobadas

Ejercicio 2.2.12


Dada una secuencia con información de población de un PAIS:

POBLACION Ordenado por Provincia, Departamento, Ciudad, Barrio, ID_Casa

  • Provincia
  • Departamento
  • Ciudad
  • Barrio
  • ID_Casa
  • Cantidad_Habitantes

Generar una secuencia con información de los departamentos de esa provincia, cuyo registro tenga el siguiente formato:

POBLACION_SALIDA

  • Provincia
  • Departamento
  • Cantidad_Habitantes

Ejercicio 2.2.13


Un Casino de la región ha notado un incremento en los costos de las reparaciones de tragamonedas en sus sucursales. Por ello solicitó un informe con la cantidad de reparaciones y sus costos, discriminados según tragamonedas, modelo, marca, sucursal y total general.

Se dispone de un archivo REPARACIONES, con el siguiente formato. Cada registro representa la reparación de un tragamonedas, tener en cuenta que puede existir más de una reparación por tragamonedas.

REPARACIONES Ordenado por Cod_Sucursal, Marca, Modelo, Cod_Tragamonedas

  • Cod_Sucursal
  • Marca
  • Modelo
  • Cod_Tragamonedas
  • Fecha_Reparacion
  • Costo_Reparacion

Realice el algoritmo para emitir el informe con los totales solicitados

Ejercicio 2.2.14


Dados el siguiente fichero con datos de un censo de la ciudad de Resistencia:

CENSO Ordenado por Radio, Manzana, Nro_Vivienda

  • Radio
  • Manzana
  • Nro_Vivienda
  • Condicion_Vivienda
  • Cantidad_Habitantes

Condición puede ser : Muy Buena, Buena o Mala. Obtener los siguientes totales de personas que habitan en viviendas cuya condición es muy buena: total en la ciudad y totales por Radio y Manzana).

Ejercicio 2.2.15


El organismo del cual dependen las escuelas de un distrito lleva un archivo con los registros para todos los alumnos de nivel secundario de ese distrito:

ALUMNOS Ordenado por Escuela, Año, División

  • Escuela
  • Año
  • División
  • Nombre
  • Cant_Inasistencias

Se introduce como dato el número de distrito y la cantidad de días de clase dictados en el año. El archivo está ordenado por número de escuela, año y división. Los alumnos que superan el 20% de las inasistencias están en situación de LIBRES, de lo contrario son REGULARES.

Se desea conocer:
Para cada división:
- Cantidad de alumnos
Para cada año:
- Cantidad total de alumnos libres
- Cantidad de alumnos regulares
- Cantidad total de alumnos
Todas las escuelas:
- Cantidad total de alumnos
- Porcentaje de alumnos libres. - Promedio de inasistencias por alumnos.

Mezcla

Ejercicio 2.2.16


Construir un algoritmo que a partir de un fichero de películas nuevas conteniendo:

PELICULAS_NUEVAS Ordenado por Nro_Pelicula

  • Nro_Pelicula
  • Titulo
  • Genero
  • Cant_Copias
  • Fecha_Estreno

y otro fichero de peliculas existentes, ambos ordenados por película,

PELICULAS Ordenado por Nro_Pelicula

  • Nro_Pelicula
  • Titulo
  • Genero
  • Cant_Copias
  • Fecha_Estreno

Genere un único archivo (con el mismo formato de los ficheros de entrada) que contenga todas las peliculas. Considerar que hay un solo registro por película y no se repiten entre ficheros.

Ejercicio 2.2.17


La Secretaria Academica de la Facultad lanza un proyecto para incentivar a aquellos alumnos que realizaron el Cursillo de Ingreso a la Universidad y no lograron aprobarlo en los turnos de Agosto y Febrero, de manera de brindarles apoyo Academico con el fin de que, en el Cursillo del año siguiente puedan aprobar los examenes necesarios e ingresar a la Universidad.

Para esto, dicha Secretaria­necesita crear un archivo donde se encuentren todos los aspirantes que realizaron el Cursillo de Ingreso en ambos turnos, y no lograron aprobarlo.

Los datos correspondientes a cada uno de los turnos del Cursillo dictado están almacenados en dos archivos (uno para cada turno), los cuales presentan el siguiente formato:

ASPIRANTES Ordenado por DNI

  • DNI
  • ApeyNom
  • Carrera
  • F_Nac
  • Email
  • ColegioSec
  • FechaInscripcion
  • Aprobado (Si/No)

UD debe realizar un algoritmo que permita mezclar los archivos Aspirantes (de Agosto y Febrero) y generar un archivo SEGUIMIENTO con el siguiente formato:

SEGUIMIENTO Ordenado por DNI

  • DNI
  • ApeyNom
  • Email
  • ColegioSec

Al finalizar el proceso informar la cantidad de aspirantes que se grabaron en el archivo SEGUIMIENTO.

Ejercicio 2.2.18


Un supermercado desea conocer la totalidad de unidades existentes de cada artículo a fin de hacer un control de stock y decidir si se deben comprar nuevas unidades o redistribuir la mercadería existente.

El supermercado posee dos sucursales, cada una de las cuales envió su información en un fichero con el siguiente formato:

ARTICULOS

  • Cod_Prod
  • Tipo
  • Marca
  • Descripción
  • Cant_Unidades

Escribir un algortimo que permita obtener un único fichero de salida, con el mismo formato, que contenga la información solicitada y además, emita un listado con los siguientes datos:

Cod_Prod Tipo Marca Descripción Cant_Suc_1 Cant_Suc_2 Total_Unidades

Actualizacion

Ejercicio 2.2.19


En una Empresa Farmacéutica se posee un archivo MAE_REMEDIOS (ordenado por Clave: Farmacia + Medicamento), el que se actualiza semanalmente, a traves de la información que se encuentra cargada en un archivo de MOVIMIENTOS (ordenado por Clavem: Farmacia + Medicamento, y Cod_Mov), de la siguiente forma:

  • Si Clave (MAE_REMEDIOS) es menor que Clavem (MOVIMIENTOS), simplemente se transfieren los datos del Maestro a la salida y se graban.

  • Si Clave (MAE_REMEDIOS) es igual a Clavem (MOVIMIENTOS) y el Codmov es 1, se considera error y se lista un mensaje indicando el tipo de error; pero si el Codmov es 2, entonces es un remedio que deja de fabricarse y se transfiere el registro al archivo de Remedios vencidos (REM_VENC) ; pero si el Cod_Mov es 3, se modifica la cantidad actual con la cantidad recibida.

  • Si Clave (MAE_REMEDIOS) es mayor que Clavem (MOVIMIENTOS) y el Codmov es 1, se incorpora el remedio a nuestro Vademecum, considerando que la cantidad recibida configura la cantidad actual y la Fecha_Vencimiento es 30 días posterior a la fecha actual; pero si el Codmov es 2 o 3 se considera error y se deben producir los correspondientes mensajes de error.

Se considera que solo existe un registro de movimiento para cada registro del maestro.

MAE_REMEDIOS Ordenado por Farmacia y Medicamento

  • Farmacia
  • Medicamento
  • Cant_Actual
  • Fecha_Vencimiento

MOVIMIENTOS Ordenado por Farmacia, Medicamento y Cod_Mov

  • Farmacia
  • Medicamento
  • Cod_Mov
  • Cant_Recibida

REM_VENC Ordenado por Medicamento

  • Medicamento
  • Cant_Vencida

Ejercicio 2.2.20


Se desea generar una secuencia, a partir de la secuencia del problema 2.01, donde se actualice la fecha de aprobación del último exámen, para ello se cuenta con información del último turno de exámen, según el siguiente detalle:

EXAMENES Ordenado por Nro_Legajo

  • Nro_Legajo
  • Carrera
  • Cod_Materia
  • Fecha_Examen
  • Nota

Se debe considerar que no necesariamente todos los alumnos se presentan en cada turno de exámen, y que un alumno puede presentarse a rendir más de una materia en un mismo turno. Supónganse ambas secuencias ordenadas por Número de Legajo.

Ejercicio 2.2.21


En un práctico para la Facultad un grupo de alumnos debe implementar una Red Social llamada UTNBook. Para lo cual debe utilizar los siguientes archivos:

AMIGOS Ordenado por Cod_Usuario y Cod_Amigo

  • Cod_Usuario
  • Cod_Amigo
  • Fecha_Amistad
  • Mensaje_Muro

Cada registro indica la fecha desde que los usuarios son amigos y el último mensaje que un amigo ha escrito en el muro del usuario.

NOTIFICACIONES Ordenado por Cod_Usuario y Cod_Amigo

  • Cod_Usuario
  • Cod_Amigo
  • Cod_Movimiento
  • Fecha_Amistad
  • Mensaje_Muro

Periódicamente se debe actualizar el archivo Amigos, con el fin de que refleje las amistades que posee cada usuario. En el archivo notificaciones pueden existir tres tipos de acciones: la solicitud de una amistad (Cod_mov = 'A'); la eliminación de una amistad (Cod_mov = 'B'); o la información de un mensaje que un amigo ha escrito en el muro del usuario (Cod_mov = 'M'). Considerar que la eliminación de una amistad implica la baja física de un registro y que hay un solo registro de Notificaciones por cada registro de Amigo.

Ejercicio 2.2.22


IDEM ejercicio 2.21 pero agregando al enunciado: “Al finalizar el proceso se desea conocer: el usuario que posee más amigos.”

Ejercicio 2.2.23


Una empresa de distribución de energía eléctrica posee un archivo maestro con los siguientes datos de sus clientes (la fecha de última lectura son las mediciones realizadas hasta el mes de mayo del 2014):

CLIENTE Ordenado por Id_Casa

  • Id_Casa
  • Fecha_Ult_Lectura
  • Cant_Lecturas
  • Prom_Lecturas
  • Tipo_Consumidor

El campo tipo de consumidor puede ser:

  • A (cuando el promedio de lectura es menor a 20K)
  • B (cuando el promedio de lectura es menor a 40K)
  • C (cuando el promedio de lectura es igual o supera los 40K)

Cuenta además con el siguiente archivo con datos de las mediciones realizadas en los dos últimos años (desde junio del 2014 hasta junio del 2016)

Mediciones Ordenado por Id_Casa

  • Id_Casa
  • Fecha_Medicion
  • Consumo

Se pide actualizar el archivo maestro con la información de las lecturas hasta el mes de enero del año 2015 inclusive. Los campos que se deben actualizar son: la fecha de ultima lectura, cantidad de lecturas, el promedio y modificar (en caso de ser necesario) el tipo de consumidor. En caso en que no exista el ID casa (una conexión nueva) se tiene que crear en el maestro y actualizar los otros campos.

Ejercicio 2.2.24


Una obra social lleva el control de los costos que le insume cada afiliado. Considerando como costos, los pagos que la misma debe realizar (en conceptos de honorarios, pagos a farmacias, etc) por los distintos servicios que el afiliado utiliza. Para esto la empresa cuenta con un archivo COSTOS_POR_AFILIADO, en el cual se registran la cantidad de atenciones y/o servicios que solicita el empleado y el costo total (en pesos) que la empresa debe pagar por estos. Este archivo está conformado por registros con el siguiente formato, y está ordenado Cod_Afiliado

COSTOS_POR_AFILIADO Ordenado por Cod_Afiliado

  • Cod_Afiliado
  • Fecha_Alta
  • Fecha_Baja
  • Cant_Servicios
  • Costo

Cada viernes en la organización, se lleva a cabo un proceso de actualización del archivo COSTOS_POR_AFILIADO. Para poder realizarlo se cuenta con un archivo SERVICIOS_SEMANALES, ordenado por cod_afiliado y fecha_at, en el cual se registran los servicios que solicitaron los afiliados durante cada semana. Cada registro de este archivo presenta el siguiente formato,

SERVICIOS_SEMANALES Ordenado por Cod_Afiliado

  • Cod_Afiliado
  • Fecha_At
  • Cod_Servicio
  • Costo

En el archivo SERVICIOS_SEMANALES puede existir más de un registro por cada afiliado.

Para realizar el proceso de actualización se deben tener en cuenta las siguientes consideraciones.

  • Si algún Cod_Afiliado de serviciosSemanales, no se encuentra en ningún registro del archivo COSTOS_POR_AFILIADO, y el primer Cod_Servicio asociado al mismo es igual a 001 entonces se trata de un nuevo afiliado que fue dado de alta.

  • Si Cod_Afiliado de serviciosSemanales es igual al de COSTOS_POR_AFILIADO y el Cod_Servicio es igual a 000 se trata de un afiliado que fue dado de baja y se considera como fecha de baja el valor que reside en Fecha_At. Si en cambio, el Cod_Servicio tiene algún otro valor este representa un servicio o atención que solicitó el afiliado; por lo tanto deben contabilizarse la cantidad de servicios que solicitó; como así también los costos que estos insumen.

  • Si algún Cod_Afiliado de COSTOS_POR_AFILIADO no se encuentra en el archivo SERVICIOS_SEMANALES, se trata de un afiliado que no utilizó los servicios en la semana que se realiza la actualización.

  • Cualquier otro caso distinto a los considerados anteriormente se toma como un error, y deben ser informados por pantalla; indicando claramente el motivo del error.

Ejercicio 2.2.25


IDEM 2.21 pero suponiendo que hay mas de un registro de notificaciones por cada registro de amigos.