Está en la página 1de 6

Colegio Universitario IES Siglo 21

EXAMEN PARCIAL
Materia: Programación Lógica 2 Carrera: Análisis de Sistemas
Modalidad: Presencial Centro de Extensión: Córdoba

Reservado para el alumno


Alumno: Martinez Guidetti Ismael Oscar Docente: Diego Obregón – Astiz Edgardo
DNI: 41439835 Fecha: 05/10/21

Reservado para el docente


NOTA

CONSIDERACIONES GENERALES
 Temas:
 Construcción de programas: implementación y codificación de algoritmos. Estructuras de
programación: secuencial, alternativa y repetitiva.
 Datos Simples: variables y constantes (contadores, acumuladores y otros usos particulares).
 Agregados de datos ordenados. Algoritmos específicos de procesamiento según las salidas
requeridas.

 Objetivos:
 Integrar conocimientos y habilidades prácticas manejando datos y tipos de datos, estructuras
lógicas de programación y elementos de un programa, en la construcción algorítmica de la
resolución de problemas computaciones concretos, accediendo a Agregados de Datos.

 Criterio de Evaluación:
Se tendrá en cuenta para la evaluación:
 Funcionamiento de los procedimientos desarrollados.
 Uso adecuado de las estructuras de datos y de las estructuras de programación.
 Precisión en las respuestas.
 Prolijidad en la presentación.

Puntaje 1-24 25-39 40-54 55-61 62-66 67-72 73-79 80-87 88-95 96-100
Nota 1 2 3 4 5 6 7 8 9 10

Programación Lógica - 1/6


CONSIGNAS

Desarrolle el Pseudocódigo de los procedimientos que generan los reportes que se detallan a
continuación, considerando que se cuenta con el siguiente agregado de datos:

AD: Infracciones
Patente Fecha Infracción Puntos Multa
AAX626 10/02 Luz baja apagada en ruta 4 850
AAX626 22/03 Sobrepaso indebido 6 1200
BDF100 27/01 Limite velocidad 6 1500
BDF100 15/02 Luz baja apagada en ruta 4 850
BDF100 17/03 Cruzar semáforo en rojo 10 1900
COL123 11/02 Cruzar semáforo en rojo 10 1900
CUN145 17/04 Estacionamiento indebido 2 350
DPM859 25/05 Luz baja apagada en ruta 4 850
...
Ordenamiento: El AD se encuentra ordenado por “Patente”.

El programa deberá permitirle al Usuario emitir los reportes que se solicitan más adelante. Para ello, el
usuario deberá especificar la información necesaria para producirlos en las interfaces que se
proporcionan considerando que el agregado de datos está compuesto por el siguiente registro:

Registro Infracción
Campo Patente Tipo Cadena
Campo Fecha Tipo Fecha
Campo Infracción Tipo Cadena
Campo Puntos Tipo Numérico
Campo Multa Tipo Numérico
Fin Registro

Agregado de Datos Infracciones Tipo de registro Infracción

1. (50 %)

Consulta de totales de puntos y monto acumulado de infracciones por vehículo. El reporte deberá
informar en un solo renglón para cada Patente registrada, la sumatoria de puntos y de importe
de las infracciones registradas.

Al pie del reporte, indicar el total de Importes ($)

La salida de los datos debe respetar el modelo del ejemplo.

Reporte de totales de infracciones por vehículo

Patente Cantidad Puntos Importe


AAX626 2 10 2050
BDF100 3 20 4250
COL123 1 10 1900
CUN145 1 2 350
DPM859 4 15 4950
… … … …
Total $ 125400

Programación Lógica - 2/6


2. (50 %)

En el Sistema Informático de una Municipalidad se registran las actividades de mantenimiento


realizadas sobre sus vehículos: tienen la información organizada en dos tablas, una de vehículos
(con un registro para cada unidad), y otra de Mantenimientos (con un registro por cada tarea
realizada sobre cada vehículo, con su detalle, fecha, y costo).
El esquema es el siguiente:

Se solicita un reporte que indique, para cada vehículo, la cantidad de actividades de


mantenimiento desarrolladas en un periodo de tiempo, y el importe total de las mismas, según el
siguiente modelo de salida impresa.
Informe de Mantenimientos
Obvserve que si un vehículo no registra Desde: 10/08 hasta 15/08
mantenimientos en el periodo indicado, lo
mismo se imprime su registro con un 0
(cero) en las cantidades. 1 Bobcat 1 2500
2 Fiat Idea 2 13000
Al final del reporte se deben imprimir los 3 Tractor MF3 0 0
totales para las dos columnas numéricas: 4 VW Voyage 5 4600
Cant e Importe. … … … …
---------------------------------
TOTAL 99 999999

Usted debe programar en pseudocódigo el procedimiento encargado de emitir dicho reporte.


Este procedimiento recibirá como parámetro dos fechas: desde y hasta, que deberán servir para
filtrar los registros a computar para la impresión del reporte solicitado.

<<< Fin del Examen >>>

Programación Lógica - 3/6


Respuestas
1- Totales de Puntos y Monto acumulado
Inicio de Procedimiento()

Variable PatenteA as String


Variable PuntosS as Numeric
Variable PuntosT as Numeric
Variable MontoS as Numeric
Variable MontoT as Numeric
Variable Cant as Numeric

SumaPatente()
PuntosS = PuntosS + Infracciones.Puntos
MontoS = MontoS + Infracciones.Monto
Cant = Cant + 1
Fin Funcion

Abrir AD Infracciones
Leer AD Infracciones
PatenteA = Infracciones.Patente
PuntosS = 0
PuntosT = 0
Cant = 0
MontoS = 0
MontoT = 0

Imprimir "Reporte de totales de infracciones por vehículo"


Imprimir "Patente Cantidad Puntos Importe"

Mientras AD Infracciones NOT EOF


Si PatenteA = Infracciones.PatenteA
SumaPatente()
Leer AD Infracciones
Sino
Imprimir PatenteA + Cant + PuntosS + MontoS
PuntosT = PuntosT + PuntosS
MontoT = MontoT + MontoS
MontoS = 0
PuntosS = 0
PatenteA = Infracciones.Patente
Cant = 0
Fin Si
Fin Mientras

Imprimir "-------------------------------------------"
Imprimir "Total: " + MontoT
Cerrar AD Infracciones
Fin Procedimiento

Programación Lógica - 4/6


2- Informe de Mantenimientos DESDE - HASTA
Inicio Procedimiento

Variable FechaD tipo Fecha


Variable FechaH tipo Fecha
Variable Cant tipo Numeric
Variable IdAct tipo Numeric
Variable NombAct tipo String
Variable Cant tipo Numeric
Variable MontoS tipo Numeric
Variable MontoT tipo Numeric
Variable CantT tipo Numeric

Cant = 0
MontoS = 0
MontoT = 0
CantT = 0

FechaD = datetimePickerDesde.value
FechaH = datetimePickerHasta.value

SumaMantenimientos()
MontoS = MontoS + Mantenimientos.Costo
Cant = Cant + 1
Fin Funcion

Abrir AD Vehiculos
Abrir AD Mantenimientos
Leer AD Vehiculos
Leer AD Mantenimientos

IdAct = Vehiculos.idVeh
NombAct = Vehiculos.Nombre

Imprimir "Informe de Mantenimientos "


Imprimir "DESDE: " + FechaD + " HASTA: " + FechaH
Imprimir "Id. Vehículo Cant Importe"
Imprimir "---------------------------------"

Mientras Vehiculos NOT EOF


Mientras Mantenimientos NOT EOF
Si Mantenimientos.idVeh = IdAct y Mantenimientos.Fecha < FechaD
Leer AD Mantenimientos
Fin Si
Si Mantenimientos.idVeh = IdAct y Mantenimientos.Fecha <= FechaH
SumaMantenimientos()
Leer AD Mantenimientos
Sino
Imprimir IdAct + NombAct + Cant + MontoS
CantT = CantT + Cant
MontoT = MontoT + MontoS
Cant = 0
MontoS = 0
Programación Lógica - 5/6
Leer AD Vehiculos
IdAct = Vehiculos.Id
NombAct = Vehiculos.Nombre
Fin Si
Fin Mientras
Fin Mientras

Imprimir "---------------------------------"
Imprimir "Total: " + CantT + MontoT
Cerrar AD Vehiculos
Cerrar AD Mantenimientos
Fin Procedimiento

Programación Lógica - 6/6

También podría gustarte