• Ver ejercicio Ejercicio 11.1

    Se dispone de un archivo llamado RATING.dat que guarda la información de los puntos obtenidos de rating en los distintos programas de canales de cable a lo largo del día. Cada registro contiene:

     •  Número de canal (entero)
     •  Programa (texto de 35 caracteres máximo)
     •  Rating (float)

    El archivo se encuentra ordenado por canal. Se solicita informar:

     a.  Aquellos canales que obtengan menos de 15 puntos en total.
     b.  El canal más visto.
     c.  Generar un archivo con el promedio de rating de cada canal que incluya dos campos:

     •  Número de canal
     •  Promedio

  • Ver ejercicioEjercicio 11.2

    Se dispone de un archivo con las ventas del mes de cada una de las sucursales de una empresa (VENTAS.DAT El archivo se encuentra ordenado por sucursal y contiene la siguiente estructura:

     •  Sucursal (15 caracteres máximo)
     •  Código de producto (entero)
     •  Cantidad (entero)

    Por otro lado se dispone de un archivo de los productos (PRODUCTOS.dat que vende la empresa y el estado del stock al mes pasado con la siguiente estructura:

     •  Código de producto (entero)
     •  Descripción (20 caracteres máximo)
     •  Precio (float)
     •  Stock (entero)
     •  Punto de pedido (entero)
     •  Cantidad para pedido (entero)

    No se sabe la cantidad exacta de productos pero sí se sabe que no hay más de 200. Se desea:

     a.  Mostrar el importe total vendido en cada sucursal.
     b.  Mostrar la recaudación total de la empresa en el mes.
     c.  Determinar la sucursal que vendió mayor cantidad de productos.
     d.  Actualizar el archivo de productos con el nuevo stock.
     e.  Realizar un archivo llamado pedidos.dat que incluya aquellos productos que deben solicitarse (código y cantidad) de aquellos productos que al finalizar de procesar las ventas del mes queden con stock menor al punto de pedido.

  • Ver ejercicioEjercicio 11.3

    Se dispone de un archivo con nombre LLAMADAS.dat que contiene llamadas telefónicas realizadas en una empresa. Por cada llamada se dispone de la siguiente información:

     •  Sector (15 caracteres máximo)
     •  Duración en segundos (entero)
     •  Tipo de llamada (entero: 1 local, 2 larga distancia, 3 celular)

    El archivo se encuentra organizado por Sector. Se solicita:

     a.  Calcular y mostrar por cada sector, la cantidad de llamadas realizadas de cada tipo.
     b.  Determinar cuál es el sector que habló la mayor cantidad de tiempo.
     c.  En un archivo llamado COSTOS.dat hay un único registro que contiene los costos por segundo de los tres tipos de llamadas (3 float). Se debe generar el archivo gastos.dat que totalice los gastos de llamadas de cada sector.
     d.  Realizar una función que muestre los datos almacenados en gastos.dat en forma de listado.
     e.  Generar un archivo para cada sector con el detalle de llamadas valorizado. El archivo se debe generar con nombresector.dat y debe contener:

     •  Duración en segundos (entero)
     •  Tipo de llamada (entero)
     •  Costo de la llamada (float)

  • Ver ejercicioEjercicio 11.4

    La empresa de colectivos línea 166 desea saber cuánto debe cobrar en un mes determinado según los viajes realizados y registrados en el sistema mediante la tarjeta SUBE para ello dispone de un archivo de viajes (VIAJES.dat) con los viajes del mes que está ordenado por número de Interno (colectivo) que contiene la siguiente información:

     •  Número de Interno (entero)
     •  Número tarjeta SUBE (entero)
     •  Código de Tarifa (texto de 10 caracteres máximo)
     •  Día (entero)
     •  Hora (entero)

    Se dispone de un segundo archivo llamado TARIFAS.dat que contiene información de las tarifas por cada mes con la siguiente estructura:

     •  Mes (entero)
     •  Código de Tarifa (texto de 10 caracteres máximo)
     •   Precio (float)

    Se sabe que como máximo se manejan 8 tarifas distintas en cada mes.
    Se solicita:

     a.  Ingresar por teclado el mes a procesar y recuperar las tarifas correspondientes.
     b.  Mostrar el importe total a cobrar por la empresa.
     c.  Generar un archivo que contenga la cantidad de viajes y la recaudación de cada interno en el mes.
     d.  Informar el interno que realizó menos cantidad de viajes.
     e.  Por cada interno mostrar cuantos viajes se realizaron por cada tipo de tarifa ordenado por cantidad de viajes en forma descendente.

    Funciones obligatorias:

     •  CargaTarifas: que levanta a un vector en memoria las tarifas del mes ingresado por teclado.
     •  OrdenarViajes: para ordenar los viajes según lo pedido en el punto e.
     •  MostrarViajes: para mostrar en forma de listado los viajes ordenados del punto e./p>

  • Ver ejercicioEjercicio 11.5

    En un estadio de fútbol se incorporó un nuevo sistema para censar la cantidad de espectadores que pasan por cada una de las entradas de forma de analizar el comportamiento de la gente y poder diseñar una mejor distribución de las vías de acceso.

    El estadio tiene 15 puertas numeradas del 1 al 15. La recolección de datos se realizó en todos los partidos disputados en el estadio a lo largo de varios meses para poder tener un volumen de información suficiente que permita realizar un análisis.

    La información registrada se encuentra en un archivo (EVENTOS.dat) con la siguiente estructura:

     •  Código del Evento (texto de 10 caracteres máximo)
     •  Número de puerta (entero)
     •  Cantidad de Espectadores (entero)

    La información se haya ordenada por Código de Evento. Se solicita calcular y mostrar:

     a.  Cantidad de espectadores por cada evento.
     b.  El evento con menor cantidad de espectadores.
     c.  Grabar un archivo con el promedio de espectadores que ingresaron por cada una de las 15 entradas en todos los eventos analizados, informando el número de puerta y promedio.

  • Ver ejercicioEjercicio 11.6

    En la feria internacional del automóvil, una empresa autopartista que dispone de un stand registra la información de los visitantes interesados en sus productos. Por cada visitante se ingresa:

     •  Nombre y Apellido (texto de máximo 35 caracteres)
     •  DNI (entero)
     •  Localidad (texto de 40 caracteres máximo)
     •  Email (texto de máximo 20 caracteres)
     •  Fecha (estructura con día, mes y año)

    Se solicita:

     a.  Realizar una función para ingresar la información por teclado hasta que se ingrese un visitante con nombre FIN. (se admite como máximo cargar 500 visitantes).

     b.  Una vez finalizado el ingreso de datos se debe generar un archivo llamado visitantes.dat que esté ordenado por localidad.

     c.  Tomando el archivo visitantes.dat se debe calcular y mostrar la cantidad de visitas recibidas por cada localidad y generar un archivo para cada una de ellos conteniendo la información de los visitantes para que dicho archivo puede ser enviado a la sucursal más cercada de forma de contactar a los interesados. Cada archivo generado será nombrado con Nombre de la Localidad.dat.

  • Ver ejercicioEjercicio 11.7

    La empresa RED VIAL S.A. desea controlar el flujo vehicular en sus cabinas de peaje a lo largo del mes. Para ello se debe procesar la información provista por las barreras que se encuentra almacenada en el archivo BARRERAS.dat que contiene la siguiente información:

     •  Día (entero)
     •  Hora (0 a 24)
     •  Número de barrera (entero)

    Dentro del archivo la información se encuentra ordenada por día y hora. Determinar:

     a.  La cantidad de vehículos por cada hora.
     b.  La cantidad de vehículos de cada día.
     c.  Ingresar por teclado los precios del peaje para horario normal y horario pico (de 7 a 11 y de 17 a 19). Con esos valores guardar un archivo con la recaudación de cada día.

  • Ver ejercicioEjercicio 11.8

    Una empresa dispone de un archivo ARTIC_PRECIO, con los siguientes datos de sus casi 500 artículos:

     •  Número de Artículo (entero, de 8 cifras)
     •  Precio Unitario (real, mayor que cero)

    Existe un segundo archivo PROVIN, con los siguientes datos de sus 30 vendedores:

     •  Nombre del Vendedor (alfanumérico de 30 caracteres)
     •  Número de Provincia (entero, de 1 a 24)

    Se tiene un tercer archivo llamado VTA_CANT, ordenado por región del país, con las ventas realizadas. Por cada venta se informa lo siguiente:

     •  Región del país (alfanumérico de 3 caracteres)
     •  Nombre de Vendedor
     •  Mes (entero, de 1 a 12)
     •  Número de Artículo
     •  Unidades Vendidas (entero mayor que cero)

    Confeccionar un programa que partiendo de la información suministrada permita determinar e informar:

     a.  Un listado con el importe de las ventas realizadas en cada provincia en cada uno de los meses:

              PROVINCIA    MES1     MES2...     MES12                
                  XX       XXXX      XXXX       XXXXX                 

     b.  Un listado con los nombres de los vendedores que no han tenido ventas en más de 3 meses consecutivos.
     c.  Informar en qué región del país se vendió menos (en importe).

  • Ver ejercicioEjercicio 11.9

    Un organismo Municipal dispone de un archivo secuencial, ordenado por código de patente, llamado PARQUE con los datos de su parque automotor. Se sabe que en la comuna no hay más de 1000 automóviles registrados.
    Cada registro contiene:

     •  Código de patente (alfanumérico de 6 caracteres).
     •  Apellido y nombre del titular (alfanumérico de 30 caracteres)
     •  Domicilio (alfanumérico de 30 caracteres)
     •  Categoría del vehículo (alfanumérico de 4 caracteres)
     •  Año de fabricación (entero mayor a 1900)

    Dispone además del archivo llamado PAGO_PAT, ordenado por categoría del vehículo, con lo recaudado durante todo el año, mes a mes, donde cada registro contiene:

     •  Categoría del vehículo
     •  Código de patente
     •  Importe abonado en el mes 1 ó un cero si no abonó.
     •  Ídem desde el mes 2 hasta el mes 12

    Solo hay información de aquellas patentes en las que se abonaron uno o más meses.
    Confeccionar un programa que determine e informe:

     a.  La siguiente salida para quienes mantienen deudas:

           PATENTE   NRO.DE MESES ADEUDADOS        DOMICILIO          
           IVU977        1 5 10 11 12              MASPERO 137     

     b.  Indicar cuál es la categoría de vehículo que recibió la menor cantidad de importe recaudado.

  • Ver ejercicioEjercicio 11.10

    Confeccionar un programa, con su correspondiente diagrama, para:

     a.  Recuperar la información de las ventas acumuladas por cada artículo hasta la fecha de los 15 vendedores de una empresa, guardadas en el archivo ACUMULADO de acuerdo al siguiente formato de registro:

     •  Número de vendedor (entero de 1 a 15)
     •  Número de artículo (entero de 1 a 50)
     •  Importe total vendido a la fecha (real mayor que cero)

    Este archivo solamente tiene datos de los vendedores que vendieron alguna vez algún artículo. El dato del mismo vendedor para el mismo artículo en este archivo no se repite.

     b.  Ingresar la fecha del proceso (día, mes, año).
     c.  Procesar luego los datos de las ventas del mes, que se encuentran en el archivo VENMES, ordenado por número de cliente, con el siguiente diseño:

    • Número de cliente (entero de 6 cifras no correlativos)
    • Razón Social del cliente (alfanumérico de 35 caracteres).
    • Número de vendedor • Número de artículo
    • Cantidad vendida (entero mayor que cero)
    • Precio unitario (real mayor que cero)

     d.  Actualizar los importes de las ventas anteriores acumuladas en ACUMULADO, generando el archivo ACUMLADO2.
     e.  Informar cuántas ventas se hicieron a cada cliente en el tiempo analizado.
     f.  Informar el número del vendedor que en total tiene registrado el mayor importe de ventas del artículo número 2. Puede haber más de un vendedor en esta condición.

  • Ver ejercicioEjercicio 11.11

    Un banco tiene el archivo CTAS_CTES de 100.000 registros como máximo, con información sobre las cuentas corrientes, que se actualiza con los movimientos realizados durante un período. La información del archivo consiste en:

    • Número de Cuenta (entero no correlativo)
    • Nombre del titular (cadena de 30 caracteres)
    • Fecha de último movimiento
    • Saldo (real)
    • Estado (caracter)

    En un segundo archivo MOVIMIENTOS, ordenado por código de sucursal, vienen los movimientos del período (que son débitos y créditos), de los cuales se informan:

    • Código de Sucursal (cadena de 3 caracteres)
    • Número de cuenta
    • Código de movimiento (carácter, C: crédito; D: débito)
    • Fecha de movimiento
    • Importe de movimiento (real, mayor que cero)

    Hacer un programa (Diagrama de lógica y codificación en C) que:

    a. Se ingrese por teclado la fecha del proceso (día, mes, año)
    b. Se actualice la información del archivo CTAS_CTES con los movimientos del archivo MOVIMIENTOS, verificando:

    • El número de Cuenta del Movimiento que debe existir.
    • El estado de la cuenta no debe ser ´I´(Inactiva).

    Si se cumplen las dos condiciones, actualizar el saldo con el importe del movimiento (créditos suman, débito restan) y la fecha de último movimiento de la cuenta con fecha de movimiento del movimiento si ésta es posterior a aquella (*). Si esto último no se cumple, grabar los datos del archivo MOVIMIENTOS en el archivo ERRORES.

    c. Después de procesar el archivo MOVIMIENTOS, actualizar el campo Estado con el valor ´I´ cuando el saldo quede en cero y el año de la fecha de último movimiento sea anterior al año del proceso menos 3 años.
    d. Generar y grabar 2 archivos:
    • El primero de cuentas actualizadas llamado CUENTAS_ACT, con los registros que no tengan el valor ´I´ en el campo Estado;
    • y otro archivo llamado CUENTA_INACT, con los registros que tengan el valor ´I´ en el campo Estado.
    e. Indicar el importe de las operaciones de débito y cantidad de operaciones de crédito por sucursal.

    (*) Utilizar la función FechaMayor (…), a la que se le envían dos fechas y devuelve 1 (uno) si la segunda es mayor a la primera o 0 (cero) si la segunda es menor o igual a la primera. No definirla, sólo utilizarla.

  • Ver ejercicioEjercicio 11.12

    Este archivo está clasificado y ordenado en forma ascendente por número de visitador médico y luego por el código del medicamento. Pueden NO estar todos los códigos de medicamentos ni todos los visitadores médicos “activos”.

    Se desea actualizar las ventas de una empresa con varias sucursales que comercializa caso 2650 artículos. Para ello cuenta con siguientes archivos:

    • Archivo ARTICULOS, con el siguiente diseño:

    i. Código de artículo (números no consecutivos)
    ii. Descripción )20 caracteres)
    iii. Unidades en stock
    iv. Stock mínimo
    v. Precio unitario

    Este archivo está ordenado por código de artículo:

    • Archivos VENTAS, ordenado por sucursal, con el siguiente diseño:

    i. Código de sucursal
    ii. Código de producto
    iii. Cantidad unidades vendidas
    iv. Número de cliente
    v. Código de vendedor
    vi. Fecha de la venta (día, mes, año)

    Desarrollar el diagrama de lógica y su correspondiente codificación C para que permita:

    a. Ingresar por teclado la fecha del día (día, mes, año)
    b. Actualizar los artículos con la información del archivo VENTAS. Si no existe el artículo, o la cantidad de la venta es mayor que las unidades en stock, rechazar la venta con la leyenda aclaratoria y guardarle en el archivo ERROR.
    c. Grabar el archivo ARTICULOS actualizado.
    d. Informar, para cada sucursal, el código de sucursal, la cantidad de ventas y el importe total vendido. (no considerar las ventas rechazadas). Encabezar el listado con el título “Ventas por Sucursal al día XX/XX/XXXX”.
    e. Finalmente informar cuáles son los artículos que, una vez actualizados, han quedado con stock menor que el stock mínimo (informar código y descripción del artículo)