Sie sind auf Seite 1von 5

Universidad Nacional de Salta

Facultad de Ciencias Exactas


Ctedra: Paradigmas y Lenguajes- Segundo Cuatrimestre 2016

Trabajo Prctico N 1
Unidad 1: Paradigma Imperativo
Para los siguientes ejercicios determinar:
a. Estructura de datos
b. Arquitectura de la solucin (arquitectura de mdulos)
c. Algoritmos
d. Esquema de interfaces
1) Sea una secuencia de n enteros almacenada en un vector V, n > 0. Escriba un
programa que elimine todos los elementos redundantes de la secuencia, de
modo que al final los primeros m elementos de V constituyan una secuencia
de enteros formada por los valores obtenidos como resultado de la
eliminacin de valores redundantes, y el resto de elementos del vector sean
los repetidos. Por ejemplo, si V contiene inicialmente la secuencia
[15,4,19,4,8,11,11,3,4,19] y n =10, tras ejecutar el programa V almacenar la
secuencia [15,4,19,8,11,3] con m=6. y [4,4,19,11] entre m+1=7 y n=10. El
programa no debe usar ningn vector intermedio.
(a) Resuelva el problema sabiendo que V no tiene que estar necesariamente
ordenada.
(b) Obtenga otra solucin al problema partiendo de la hiptesis de que V se
encuentra ordenada crecientemente.
2) En una jefatura policial se procesan a los presos segn el tipo de pista en
contra que tengan. Las pistas se clasifican en:
Tipo Pista
A
B
C

Puntuacin
20
15
30

A su vez se mantiene informacin de cada preso, dicha informacin es:


Nombre
Apellido
Fecha Nacimiento
Fecha de Ingreso a la jefatura
Puntuacin Total de las Pistas
Cada preso puede tener varias pistas en contra, las cuales pueden ser de
cualquier tipo. Se pide procesar N presos de una jefatura para calcular el
estatus de cada preso de acuerdo a la tabla antes detallada y luego mostrarlos
ordenados por su estatus, empezando por los sospechosos de bajo riesgo y
dentro de cada estatus por apellido y nombre:
Puntuacin
Alcanzada
Menos de 65

Estatutos
Bajo Riesgo
1

Universidad Nacional de Salta


Facultad de Ciencias Exactas
Ctedra: Paradigmas y Lenguajes- Segundo Cuatrimestre 2016

Entre 65 y
85
Ms de 85

Mediano Riesgo
Alto Riesgo

3) En una institucin educativa se lleva registro del progreso acadmico de sus


N alumnos. Uno de los datos importantes en este registro es el control de la
asistencia. Para esto se utilizan dos listas aluDat ordenada por DNI y aluAsis
ordenada por DNI y mes. En la primera lista se almacenan los datos
personales del alumno: DNI, Nombre y Apellido, Edad, Curso, Domicilio, y
Telfono. En la segunda, las inasistencias por: DNI, mes, cantidad de
Inasistencias.
El Supervisor de cada turno debe entregar, al finalizar el da, la lista de
inasistencias de los alumnos. Para esto entrega una lista llamada Asistencia
con los siguientes Datos: DNI, mes, asistencia, donde el valor de asistencia es
P o A. Esta lista no se encuentra ordenada ya que es cargada a medida que
los alumnos ingresan al establecimiento. Un alumno puede quedar libre si
suma 15 faltas.
Se desea:
a. Poder Cargar las Listas de datos personales e iniciar la lista de
asistencia con valor a cero para cada alumno en el inicio de cada
mes escolar.
b. Cargar la lista Asistencia, entregada por el Supervisor.
c. Actualizar la asistencia de los alumnos utilizando la lista ingresada
por el Supervisor.
d. Informar los alumnos que, luego de actualizar la asistencia, se
encuentren libres.
4) En una empresa se lleva un registro de cada empleado con los siguientes datos:
Nmero de Legajo
Nombre del empleado
Sueldo Bruto
Sabiendo que para el clculo del sueldo neto de cada empleado se practican
descuentos del 11% (Jubilacin) y 3% (Obra Social) sobre su sueldo bruto,
calcular e imprimir:
a) N de legajo, sueldo bruto, descuento jubilatorio y de Obra Social y sueldo
neto de cada empleado.
b) el importe total acumulado de sueldo neto de todos los empleados
c) el sueldo bruto acumulado de todos los empleados.
d) la cantidad total de empleados.
5) Dado un vector de registros, cuyos campos contienen:

Nmero de Cdigo del artculo


Descripcin del artculo
Cantidad en existencia
Precio unitario
2

Universidad Nacional de Salta


Facultad de Ciencias Exactas
Ctedra: Paradigmas y Lenguajes- Segundo Cuatrimestre 2016

Crear un men con las siguientes opciones:


a) Dar de alta un artculo (agregar un nuevo artculo al vector, controlando
que el cdigo no est duplicado).
b) Realizar una venta: para lo cual se ingresar el cdigo de artculo y la
cantidad a vender. Se debe controlar que haya suficiente cantidad en
existencia; de lo contrario, se debe consultar al cliente si desea adquirir una
cantidad menor.
Una vez realizada la venta, se informa el importe de la operacin y se debe
actualizar la cantidad en existencia.
c) Registrar el ingreso de mercadera: Se indica el cdigo de artculo y la
cantidad que ingresa
d) Mostrar los datos de un determinado artculo.
e) Mostrar los datos de todos los artculos.
f) Mostrar el cdigo, nombre y cantidad de los artculos que posean la
Cantidad en existencia<10.
g) Salir del programa.
Nota: Mantener ordenado el vector de artculos segn cdigo a fin de realizar
bsquedas binarias por cdigo de artculo.
6) Una empresa de anlisis de mercado efecta una encuesta para determinar
el gusto de la poblacin en materia de comidas rpidas. La consulta se realiza
sobre la base de la preferencia por "XXX" o "YYY, y dentro de estas lneas por
el tipo comn o diettico.
Se lleva un registro por cada encuestado que contiene:
N de encuestado, sexo, edad, cdigo de gaseosa, tipo de gaseosa, fecha
de la encuesta
La gaseosa se indica con X: XXX Y: YYY
El tipo de gaseosa se indica con C: comn D: diettico
Se desea calcular e imprimir:
a. La cantidad de individuos que prefieren la "XXX" diettica.
b. La cantidad de individuos que prefieren la "YYY" comn.
c. La cantidad de varones que prefieren YYY comn.
d. La cantidad total de encuestados.
e. Porcentajes de mujeres y varones encuestados.
7) Una empresa factura el agua que consume cada usuario a partir de las
lecturas del medidor correspondientes al mes actual y al anterior. Por cada
cliente se lleva un registro que contiene:
Nmero de cliente
Nombre del Cliente
Lectura del mes anterior (litros)
Lectura del mes actual (litros)
Calcular e imprimir:
3

Universidad Nacional de Salta


Facultad de Ciencias Exactas
Ctedra: Paradigmas y Lenguajes- Segundo Cuatrimestre 2016
a. el importe de cada cliente, sabiendo que el litro se cobra a razn de $ 5,00.
b. el importe total facturado por la empresa.

8) En una Universidad desean tener un sistema que facilite a los alumnos la


inscripcin a exmenes, de tal manera que facilite los trmites del rea
operativa. Para los alumnos se va a manejar los siguientes datos:
Nombre y Apellido
Libreta Universitaria
DNI
Domicilio
Telfono
Direccin de Correo Electrnico
A su vez se va a constar de la siguiente informacin de las materias
Cdigo
Nombre Materia
Correlatividades para Rendir (array que tiene el cdigo de las
materias necesarias para rendir una en particular)
Cada alumno tiene informacin, en un array, de las materias que tiene
aprobadas. Cuando se inscribe un alumno se genera un registro que va a
contener la siguiente informacin:
Nmero Inscripcin
Cdigo Materia
Nombre Materia
Fecha-Hora del Examen
Libreta Universitaria del Alumno
Se pide:
a. Crear un men que permita inscribirse en una materia, previa
verificacin de las Correlatividades.
b. Mostrar la cantidad de alumnos inscriptos a una materia que sea
ingresada por pantalla.
9) Existen lenguajes que tienen incorporadas determinadas operaciones sobre
listas, lo cual hace ms fcil el trabajo con las mismas. Pascal, no posee esta
caracterstica.
Implemente mediante funciones y/o procedimientos las siguientes
operaciones sobre listas:
Index: busca un elemento sobre una lista; si lo encuentra devuelve la
primera posicin sino devuelve -1.
Insert: agrega un elemento a la lista; por defecto, es al final. Sin embargo,
debe ser posible insertar en otra posicin.
Remove: elimina un elemento de la lista, dada una posicin.

Universidad Nacional de Salta


Facultad de Ciencias Exactas
Ctedra: Paradigmas y Lenguajes- Segundo Cuatrimestre 2016

Pop: devuelve un elemento de la lista, dada su posicin quitndolo de la


misma; por defecto, es el ltimo elemento, aunque debe ser posible sacar
cualquier elemento.
Sort: ordena los elementos de la lista, en forma ascendente o descendente,
segn se especifique.
Max: devuelve el mximo elemento de la lista.
Min: devuelve el mnimo elemento de la lista.
Escriba un programa que permita ingresar una lista y luego presente un
men desde el cual se puedan aplicar las distintas operaciones.
10) Hashing: una alternativa de bsqueda rpida de elementos. La bsqueda de
elementos en listas es una tarea habitual y el tiempo utilizado puede ser
importante cuando la lista es de tamao considerable. La tcnica de hashing
es una alternativa para reducir el tiempo de bsqueda. Comprelo con la
bsqueda lineal en las siguientes situaciones:
a) Suponga que tiene que almacenar el DNI de 100 personas en una lista y las
ltimas 3 cifras son diferentes. Inserte los D.NI. en la lista. Para la prueba con
bsqueda lineal, inserte cada elemento al final de la lista; en el caso de
hashing, aplique la expresin DNI mod 100 para determinar la posicin de
insercin. Realice la bsqueda aleatoria de los 100 elementos e informe la
cantidad total de iteraciones para buscar todos los elementos (para buscar
un elemento usando hashing, la posicin donde se encuentra se aplica
nuevamente DNI mod 100).
b) Debido a que es posible que exista ms de una persona con iguales 3 ltimas
cifras, en el caso de Hashing intente insertar un DNI en la lista aplicando la
funcin DNI mod 100. Si la posicin est ocupada busque hacia izquierda la
primera posicin disponible. Para buscar elementos en la lista con hashing,
busque el DNI en la posicin DNI mod 100. Si el DNI buscado no coincide con
el almacenado, bsquelo secuencialmente.
Realice el mismo experimento del inciso anterior. Sugerencia:
Genere 100 nmeros aleatorios correspondientes a nmeros de DNI para
realizar la prueba.

Das könnte Ihnen auch gefallen