Académique Documents
Professionnel Documents
Culture Documents
CICLO 2004
Profesora Titular:
A.U.S. Mirtha Eve GIOVANNINI
Jefa de Trabajos Prcticos:
Ing. en Sist. de Inf. Ilse HODAPP
Auxiliares Docentes:
Ing. en Sist. de Inf. Cesar PIZZI
Ing. en Sist. de Inf. Diego BOLATTI
Diego POZA
Becarios:
Noelia PINTO
ACTIVIDAD
Introduccin y TP Nro. 1
TP Nro. 2 - Parte 1:Secuencias de Datos Elementales
Parciales
Se toman en la primera clase de la semana indicada.
Feriados
17 de Agosto - Conm. M. Gral. San Martn (pasa al 15)
21 de Septiembre - Da del Estudiante
29 de Septiembre 45 Aniv. Creacin F.R.R.
12 de Octubre - Da de la Raza (pasa al 10)
2 de Noviembre Da de los Fieles Difuntos
Recuperatorios:
En las mesas de exmenes:
1. Primera mesa de Diciembre (08/12/2005)
2. Primera mesa de Febrero (09/02/2006)
Firma de libretas de regularizados y promocionados
La firma de libretas se realizar en la fecha del ltimo parcial y en las mesas de exmenes.
La LTIMA FECHA DE FIRMA POSIBLE: primera semana de clases del 1er. cuatrimestre
del ciclo 2006, posteriormente NO SE FIRMARN LIBRETAS.
Pg. 2 de 40
2.02. X:=Y
Z:=X
2.03. X:=Z
X:=Y
2.04. Z:=Y
X:=Y
Pg. 3 de 40
CONCEPTOS
a - Programa
b - Proceso
c Mquina
d - Algoritmo
R - Tasa de Inflacin.
A - Ao actual.
5.02. Las races de una ecuacin de segundo grado ax 2+bx+c=0 son reales si y slo si el discriminante dado por (b 24ac) no es negativo. Se desea leer el valor de los coeficientes "a", "b", "c" e imprimir el resultado del discriminante.
Realizar prueba de escritorio.
5.03. Se desea comprar una PC y una impresora. Calcular el precio total: el cual est dado por la suma de los precios
de costos, los porcentajes de ganancia del vendedor y un 21% de IVA. Supngase una ganancia del vendedor del 12%
por la PC y 7% por la impresora. Se leen los costos y se imprimen el precio total de ventas.
5.04. Se desea calcular la superficie de un trapecio, para la cual se ingresa la longitud de ambas bases y la altura. En
base a la frmula:
S = (Bmay + Bmen) * h
2
Finalizando el proceso, emitir dicha superficie y los valores ingresados.
5.05. Se desea calcular el valor de la seccin (S) de un conductor, la cual se determina en funcin de la corriente
elctrica I y de la conductividad C del material (C=I/S). Adems, a la seccin as obtenida se le incrementa un 25% por
razones de seguridad.
5.06.
Realizar un programa que lea dos nmero complejos, (a,b) y (c,d), y calcule su producto:
(a,b) * (c,d) = (ac - db, ad + bc)
5.07. Escriba un algoritmo que halle la media geomtrica de tres valores X, Y, Z. Este debe emitir los tres valores por
separado y luego el valor medio. La media geomtrica es igual a (X*Y*Z) / 3.
Ejercicios con Estructuras Selectivas y Repetitivas
6. Escriba un algoritmo que acepte dos nmeros, calcule la suma e imprima el mensaje de acuerdo al resultado obtenido.
suma <= 50
suma > 50 y <= 100
suma > 100 y <= 200
suma > 200
Pg. 4 de 40
Pg. 5 de 40
Pg. 6 de 40
Pg. 7 de 40
Pg. 8 de 40
Pg. 9 de 40
Carrera
Pg. 10 de 40
- N de telfono
- Carrera (ISI - IEM - IQ - LAR)
- Cantidad de unidades prestadas
Correspondiente a los alumnos socios de la Biblioteca, generar la secuencia de los alumnos de ISI que tengan
prestadas ms de 4 unidades bibliogrficas.
2.04. 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 $1.000.-, con el siguiente formato:
Nro. de factura
Fecha
Importe total
2.05. 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 ao pasado, con el siguiente formato:
Nro. Legajo
Apellido y Nombre
Carrera
2.06. 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 sern establecidas del siguiente modo: si el promedio es menor que 7, la
recomendacin ser negativa ("NO"); por el contrario, si el promedio es menor que 8, la recomendacin ser positiva
("SI"); de lo contrario, si el promedio es menor que 9, la recomendacin ser favorable ("F"); por ltimo, si el promedio
supera los 9 puntos, la recomendacin ser muy favorable("MF").
El listado deber respetar el siguiente formato:
Apellido y nombre
Promedio
Recomendacin
Adems, se solicita la impresin del total de graduados que recibieron cada una de las recomendaciones, y el promedio
global de los mismos.
2.07. Se dispone de un archivo con los datos de un padrn electoral con la siguiente informacin:
- Nombre y apellido
- DNI
- N de Mesa
- N de Circuito
- Clase
- Direccin
- Observaciones
- Partido (0= independiente, 1=A, 2=B, 3=C)
Generar:
a) Una secuencia de salida con nombre y apellido, DNI, y direccin de todas las personas afiliadas al partido C.
b) Una secuencia de salida con nombre y apellido, DNI, y direccin de todas las personas no afiliadas a ningun partido y
de clase posterior a 1940.
2.08. De los datos del siguiente ejercicio:
Archivo COMPRAS
Nro. de Cliente Fecha ltima compra
Monto
Archivo CLIENTES
Nro. de Cliente Nombre y Apellido
Domicilio
Telfono
DNI
Cd. Materia
Fecha de exmen
Nota
Se debe considerar que no necesariamente todos los alumnos se presentan en cada turno de exmen, y que un alumno
puede presentarse a rendir ms de una materia en un mismo turno. Supnganse ambas secuencias ordenadas por
Nmero de Legajo.
Corte de Control
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.
2.11. Se desea conocer la composicin del parque automotor nacional.Para ello se cuenta con informacin de los
vehculos de todo el pas, segn el siguiente detalle:
- Provincia
- Patente
- Departamento - Modelo
- Ciudad
- Tipo
Se desea sacar un listado con el siguiente detalle por ciudad, departamento, provincia y total nacional:
TOTAL % del TOTAL
Vehculos de ms de 5 aos xxxxx
xx,xx %
Vehculos de 5 aos o menos xxxxx
xx,xx %
Total de vehculos
xxxxx 100,00 %
2.12. Se dispone de un archivo con datos de los alumnos de la U.T.N. con la siguiente informacin para cada alumno:
- Nro. de Legajo
- Fecha de ingreso
- Sexo (M o F)
- Total de materias aprobadas
- Carrera (ISI - IEM - IQ - LAR)
Se desea un listado con el siguiente detalle por sexo, carrera y total general
a) Total de alumnos que ingresaron en el ao 92 con ms de 20 materias aprobadas
b) Total de alumnos que ingresaron en el ao 92 con menos de 20 materias aprobadas.
2.13. Dada una secuencia con informacin de poblacin de UNA PROVINCIA:
Departamento
Ciudad
Cantidad de habitantes
Generar una secuencia con informacin de los departamentos de esa provincia, cuyo registro tenga el siguiente formato:
Departamento
Cantidad de habitantes
2.14. Dado el siguiente fichero de alumnos de la U.T.N., con los siguientes datos:
Regional
Carrera
Materia
Curso
Cantidad de alumnos
Se desea un listado con los totales de alumnos discriminados por Regional, Carrera y Materia.
2.15. Dados el siguiente fichero con datos de un censo de la ciudad de Resistencia:
Pg. 12 de 40
Manzana
N de vivienda
Condicin de la vivienda
Cantidad de Habitantes
FECHA_ALQUILER
SOCIO
TITULO
GENERO
CANT_COPIAS
FECHA_ESTRENO
genere un archivo de INACTIVAS (con el mismo formato del maestro) que contenga las pelculas que no fueron
alquiladas durante el ao actual. Considerar que el primer fichero es consistente, es decir, no hay pelculas que no
aparezcan en el fichero maestro.
2.17.Se tienen dos ficheros secuenciales: uno con datos de alumnos y otro con datos de materias aprobadas con el
siguiente formato:
ALUMNOS (ordenado por Nro. de Legajo)
Nro. de Legajo Carrera D.N.I. ApeyNom F. Nacimien F. Ingreso
EXMENES (ordenado por Nro. de Legajo y Cd. Materia)
Nro. de Legajo
Cd. Materia Fecha de exmen
Nota
Se desea obtener un fichero de salida con el siguiente formato:
SALIDA (ordenado por Nro. de Legajo)
Nro. de Legajo Carrera D.N.I. ApeyNom Cant. Mat. Aprobadas Promedio
Tener en cuenta que un alumno puede tener 0 o ms materias rendidas, si no rindi o no aprob ninguna debe figurar en
la salida con Cant. de Mat. Aprobadas y Promedio = 0. No
existen exmenes sin alumnos.
2.18 La empresa Solventes del Norte S.A. desea que Ud. Le escriba un algoritmo que le genere el libro IVA de la
empresa. Para ello cuenta con los siguientes archivos:
Compras (ordenado por FechaCompra)
CompraNro
FacturaNro
TipoFact
FechaCompra
Importe
IVA DEBITO
[ xxxxx ]
[ xxxxx ]
[ xxxxx ]
[ xxxxx ]
[ xxxxx ]
[ xxxxx ]
[ xxxxx ] (DEBITO CREDITO)
Pg. 13 de 40
Domicilio
Fecha-Nac
Fecha_Ins
Titu-Sec
Nota
Se desea un algoritmo que permita generar un archivo con todos los alumnos que han terminado la carrera, con el
siguiente formato:
Egresado (indexado por Legajo)
Legajo
DNI
Apynom
Fecha_Ins
Cod-Mat
Fecha-Ex
Nota-Aprob
--------------------- se repite 40 veces --------------------
Actualizacin
2.20. Se dispone de un fichero secuencial con la siguiente informacin de los Equipos de Ftbol de 1ra divisin de la
AFA:
EQUIPOS
Nro_Equipo
Nombre
ordenada por Nro_Equipo
Fecha_ltimo_partido_ ganado
y otro fichero secuencial con informacin sobre los resultados de los partidos jugados en el ltimo torneo:
PARTIDOS
Nro_Equipo_Ganador
Nro_Equipo_Perdedor
ordenada por Nro_Equipo_Ganador
A partir del fichero de PARTIDOS, Se desea generar otro fichero de equipos actualizado, especficamente la fecha de
ltimo partido ganado:
EQUIPOS_ACT
Nro_Equipo
Nombre
Fecha_ltimo_partido_ ganado
Se debe considerar que cada equipo puede ganar ms de un partido o no ganar ninguno. Si no gan ningn partido en el
ltimo torneo, copiar la fecha de ltimo partido ganado que figura en el fichero de entrada.
2.21. En una Empresa Farmacetica se posee un archivo Mae_Remedios (ordenado por Clave: Farmacia +
Medicamento), el que se actualiza semanalmente, a traves de la informacin que se encuentra cargada en un archivo de
Movimientos (ordenado por Clavem: Farmacia + Medicamento, y Codmov), 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 Codmov 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-vence es 30 das 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.
Pg. 14 de 40
Medicamento
REM_VENC
REGE
Medicamento
Cant-vencida
Cant-actual
Fecha-vence
Codmov
Cant-recibida
2.22. Dados 2 ficheros secuenciales de entrada, conteniendo datos de 2 turnos de exmenes distintos, ordenadas por
Nro. de Legajo, con la siguiente estructura:
N Legajo
Apellido y Nombre
D.N.I.
Fecha_ingreso
Cod_materia
Nota
se desea generar un nico fichero de salida con la mezcla de los datos de ambos ficheros de entrada, conteniendo el
siguiente detalle:
N Legajo
Apellido y Nombre
Cod_materia
Nota
NRO_FACT
FECHA
IMPORTE
NOMBRE
D.N.I.
C.U.I.T
DOMICILIO
3.02.Una empresa dispone de un fichero secuencial con datos de sus empleados, ordenado por nmero de sucursal, y
categora, con los siguientes datos:
NRO_SUCURSAL
CATEGORA (A-B-C)
NOMBRE
COD_CURSO
TCNICO (SI-NO)
NOMBRE
FECHA
CANT_HORAS
Pg. 15 de 40
1
1,20
2
2,50
3
4
COSTO
XXX,XX
4
5
3.03.Una persona desea ir de vacaciones a la Polinesia, por lo tanto acude a una agencia de turismo y solicita su pasaje
y residencia en hotel. Si los archivos son:
VUELOS indexado por codigo_vuelo, fecha_hora, asiento
CODIGO_VUELO
FECHA_HORA
ASIENTO
XXX_XXX
8N y 4N
3N y V,C,P
COD_USO
L C
DESDE
8N / 0
COSTO
XXX,XX
HASTA
8N / 0
Genere un algoritmo, que consulte al cliente sus necesidades y le emita un comprobante de vuelo y de hotel, como as
tambin reserve sus elecciones en los respectivos archivos.
Nota: El cdigo de la Polinesia es 123.
3.04.Se dispone de los siguientes archivos:
CUENTACORRIENTE, indexado por cdigo
CODIGO
RAZON SOCIAL
SALDO INICIAL
(8AN)
(35 AN)
(8N)
contiene un registro por cada cuenta activa al inicio del mes
CHEQUES, ordenado por clave
------------- clave --------------------------
CODIGO-CUENTA
DIA
IMPORTE-MOVIMIENTO
(8AN)
(1..31)
(+-8N)
Cada registro representa un movimiento de extraccin o depsito realizado en un mes, lo que se visualiza mediante el
signo del importe.
Desarrolle un algoritmo que: a) actualice el archivo de saldos, b) imprima un listado por cdigo de cuenta y da creciente
con el siguiente formato
RAZON SOCIAL: XXXXXXXXXXX
CODIGO: XXXXXXXXXX
DIA
MOVIMIENTO
IMPORTE
-----XX
XX
---
SALDO INICIAL
DEPOSITO
EXTRACCION
SALDO FINAL
999999999
+ 9999999
- 9999999
999999999
Detalle de Movimientos
Imprima al final cules fueron los cdigos de cuenta que habiendo tenido movimientos mantuvieron su saldo inicial
(tenga en cuenta que no sabemos cuantas cuentas pueden ser).
3.05.Una Municipalidad debe liquidar las patentes de su parque automotor para el cuarto trimestre del ao e imprimir un
padrn de cobros y deudas, con cortes de importe por grupo, categora y ao de fabricacin.
Pg. 16 de 40
NRO PATENTE
8N
DNI
8N
AYNOM
25 AN
DOMIC
30 AN
Antes de imprimir el rengln correspondiente a cada nro de patente se debe verificar si existen deudas pendientes, en
cuyo caso se sumaran todos los importes adeudados y se consignarn en la columna de deudas.
PADRON:
CLAVE
XXXXXXXXX
DNI
XXXXX
AYNOM
XXXXXXX
DOMIC
XXXXXXX
TOTAL
DEUDA
$ XXX,XX
$ XXX,XX
4to
TRIMESTRE
$ XXX,XX
$ XXX,XX
3.06. Crear un algoritmo que imprima un reporte como el que se indica, incluyendo totales por Obra Social y Clnica de
liquidaciones a mdicos. Los archivos que intervienen son:
LIQUIDACIONES (secuencial, ordenado por O.S. y Clnica)
O.S. Clnica NroLeg Mes Ao Bruto Desc AFIP Desc DGR
Neto = Bruto ( Desc AFIP + Desc DGR)
OBRAS SOCIALES (indexado por CodOs) CLNICAS (indexado por CodCli)
CodOs
Nombre
CodCli
Nombre
Reporte:
Obra Social: ___________________
Clnica: ______________________
Mdicos
Nro. Legajo
Nombre
Neto
_________
___________ $_________
.
Total Clnica. $_________
..
Total Obra Social $_________
3.07. Pepsico S.A.I.C. desea que Ud. realice el algoritmo para poner al corriente los saldos de sus clientes y el stock de
la empresa. Para ello cuentan con:
Clientes (indexado por ClienteID)
ClienteID ClienteNombre ClienteCUIT ClienteSaldo
Pg. 17 de 40
Se debe actualizar el saldo del cliente y adems agregar el detalle de la compra que figura en el archivo de Ventas al
archivo Detalle_Clientes, por cada venta realizada se deber descontar la cantidad vendida del stock.
Por final del proceso se desea saber el total de productos vendidos, y un listado de los clientes con su saldo actualizado.
3.08. En una Empresa se dispone del Archivo Maestro de los Empleados, indexado por su DNI, y mes a mes se
producen novedades ( altas, modificaciones y bajas) que provocan un proceso de Actualizacin. Se desea: a) que disee
las estructuras de ambos archivos, considerando los datos filiatorios fundamentales que necesita una Empresa para el
manejo de informacin referente a sus empleados y b) un algoritmo que realice el proceso descripto.
3.09. Se deber desarrollar un algoritmo que emita un listado con:
- el total de Sueldo Neto, discriminado por sector, que deber abonar a sus empleados de planta una empresa.
- el porcentaje que representa cada sector sobre el total general.
Se cuenta para ello con los siguientes archivos:
EMPLEADOS: indexado por n-legajo, de longitud variable, en funcin de cant (cantidad de conceptos de haberes que
cada empleado posea).
Nota: Si no se conoce la estructura de registros variables, tambin se puede resolver el ejercicio, considerando una
cantidad fija de conceptos, por ej. 30. Pero se requiere conocer la estructura de arreglos.
N-legajo
Nomyap Domicilio
1
6
36
66
Fecha-ini
72
Sector
74
Tipo
75
Cargo
78
Cant
80
Cod ....
139
Cod
Cod-concepto
1
Clase
3
Valor
9
En clase contiene una p si se trata de un porcentaje sobre el bsico y f si se trata de una suma fija. Los conceptos
menores o iguales que 40 son haberes y los mayores de 40 son descuentos.
CARGOS: indexado por cdigo de cargo, contiene los puntos asignados al cargo, dado que la empresa dispone de un
esquema de puntaje dentro de su escalafn.
Cod-cargo
1
Puntos
3
En cada ejecucin se ingresar por pantalla el valor del punto y el mes de clculo.
El bsico de cada empleado resulta de multiplicar los puntos asignados al cargo por el valor de cada punto.
El sueldo neto es el resultado de sumar al bsico los haberes y restarle los descuentos.
Ejercicios Complemetarios T.P. Nro. 2
Secuencias de Texto
Pg. 18 de 40
Pg. 19 de 40
Categora
3
2
1
1
1
4
4
3
4
1
Planta
A
A
A
A
A
A
A
A
A
A
Nombre
Casas
Portales
Morales
Arce
Cortezs
Miln
Davis
Das
Vera
Basualdo
Categora
2
2
3
2
1
4
1
1
2
1
Planta
B
B
B
B
B
B
B
B
B
B
Categora
Nombre
Categora
Pg. 20 de 40
Planta
---Planta
B
B
------------------
3. El archivo de la empresa est ahora ordenado por planta. Los empleados cobran los siguientes sueldos segn la
categora.
1- $1.500
2- $2.000
3- $3.500
4- $5.000
Imprimir el siguiente listado considerando la categora de cada empleado:
LISTADO DE SUELDOS
Planta A
Nombre
Sueldo
Aranda
1500
Molina
1500
Salerno
5000
-------------Planta B
Nombre
Sueldo
Perez
3500
Gutierrez
2000
Aranda
1500
-------------4. El archivo se encuentra ordenado por planta y dentro de cada planta ordenado por categora.
Se supone en este caso que los sueldos que corresponden a cada categora deben ser introducidos como dato por el
teclado
PLANILLA DE EMPLEADOS
Planta A
Categora 1
Molinari
Salerno
--------Categora 2
Arce
------------
Sueldo:-----------
Categora 1
Aranda
Davis
-------------
Sueldo:-------------
Sueldo:----------
Planta B
Ao
Divisin
Nota1
Nota2
Nota3
Ao: 1 a 5
Divisin: A, B, C, etc.
Nota1, Nota2, Nota3: Notas correspondientes a cada uno de los tres cuatrimestres (0 a 10).
Estos registros estn ordenados en forma decreciente por el AO y dentro de cada ao estn ordenados en forma
creciente por la divisin.
Obtener el siguiente listado:
Pg. 21 de 40
Promedio
--------------------------
Nombre
-------------------------
Promedio
--------------------------
Nombre
-------------------------
Promedio
--------------------------
Nombre
-------------------------------------------
Promedio
----------------------------------------
Divisin B
4 Ao
Divisin A
Divisin B
--------------------
6. El organismo del cual dependen las escuelas de un distrito lleva un archivo con los registros para todos los alumnos
de nivel segundario de ese distrito:
Nombre
Escuela
Ao
Divisin
Cant. Inasist.
Se introduce como dato el nmero de distrito y la cantidad de das de clase dictados en el ao.
El archivo est ordenado por nmero de escuela y divisin..
Los alumnos que superan el 20% de las inasistencias estn en situacin de LIBRES, de lo contrario son REGULARES.
Emitir el siguiente listado:
LISTA DE ALUMNOS REGULARES
Distrito N:------Escuela N 1
1 Ao
Divisin A
Nombre
Porcent. Inasist.
Prez
28%
Sol
16%
--------------Divisin B
Nombre
Porcent. Inasist.
------------------------------------------2 Ao
--------------------------------------------------------------Idem para las dems escuelas
Situacin
Libre
Regular
----------Situacin
------------------------------------------------
TOTALES Y SUBTOTALES
7. Una empresa dispone de un archivo de registros con los siguientes datos de los pasajeros que volaron en el da:
Nombre
Nro. De vuelo
Pg. 22 de 40
10. Reconsidere el problema 4. La compaa desea conocer los totales de los sueldos por planta discriminados por
categora, para ello se requiere el siguiente listado:
TOTALES DE SUELDO POR PLANTA Y CATEGORA
Planta A
Categora 1:
------------------$
Categora 2:
------------------$
--------------------------------Total planta A
------------------$
Planta B
Categora 1:
------------------$
Categora 2:
------------------$
--------------------------------Total planta B
------------------$
-----------------------------------------------------------------------------Total de Sueldos:
-------------------$
11. Reconsidere el problema 6. En este caso se desea obtener los totales de alumnos en cada divisin, en cada ao de
cada escuela, en cada escuela y en todo el distrito.
Disee el formulario de salida como crea conveniente.
12. Reconsidere el problema 6. Se desea conocer:
Para cada divisin: Cantidad de alumnos
Para cada ao
: Cantidad total de alumnos libres
Cantidad de alumnos regulares
Cantidad total de alumnos
Pg. 23 de 40
CodEmpl
HorasDa
cdigo de sucursal
cdigo de empleado
horas trabajadas en el da
Teniendo en cuenta que se abona un premio a aquellos empleados que hayan trabajado durante el mes ms de 20 das
y que cumplan simultneamente con:
-
Cdigo de sucursal, Cdigo de empleado y premio de los empleados que cumplan con las disposiciones
anteriores,
Importe total de los premios que deben pagar cada sucursal,
Importe total que la empresa pagar.
Una empresa que vende lubricantes registra en un archivo de registros:
NroCli
NroCli:
NroLubr:
CantVen:
PU:
NroLubr
CantVen
PU
N de Cliente
N de Lubricantes
Cantidad vendida
Precio por Unidad
Se realiza una encuesta en distintas provincias. Por cada persona que responde se genera un registro con:
Cdigo de la provincia
Edad
Cdigo de los estudios cursados: 1.Primarios; 2. Secundarios; 3. Universitarios; 4.Terciarios; 5.Ninguno
15.
En una empresa se preparan registros por cada venta individual segn se indica:
Mes
Importe
Estos registros, estn grabados en un archivo, y estn ordenados por mes. Se pide calcular:
- Total y promedio de ventas de cada mes
- Promedio anual de ventas
- Total anual de ventas
Imprimir adems la siguiente planilla con los ttulos que se indican:
Mes
Xx
Xx
Promedio anual de ventas
Total anual
EMPRESA NNN
Total
Xx
Xx
Promedio
Xxx.xx
Xxx.xx
xxx.xx
xxxx.xx
17. En una empresa se emiten comprobantes por cada venta que se realiza.
Cada comprobante da origen a un registro de un archivo con la siguiente informacin:
Ao
Mes
Da
Importe
A fin de ao se procesa el archivo que est ordenado secuencialmente por mes y por da.
Se pide la planilla siguiente:
EMPRESA NNN
Mes
Da
Importe
01
01
xxx.xx
01
01
xxx.xx
Total diario
2000
01
01
xxx.xx
------------------------------------------------------------------------(das restantes)
------------------------------------------------------------------------Total Mensual
xxx.xx
------------------------------------------------------------------------(meses restantes)
------------------------------------------------------------------------Total Anual
xxxx.xx
Ao
2000
2000
CtaCte
Importe
Cdigo
Pg. 26 de 40
SUCURSAL
01
01
Total Cta. Cte.
01
EMPRESA NNN
CUENTA CORRIENTE
IMPORTE
1007
1000
1007
2000
2054
2000
CODIGO
D
D
3000
E
Total Cta.Cte.
-2000
--------------------------------------------------------------------------------------(dems Ctas. Ctes.)
--------------------------------------------------------------------------------------Total sucursal
xxxx
-----------------------------------------------------------------------------------------------(dems sucursales
-----------------------------------------------------------------------------------------------Total banco
xxx
19.Una empresa de venta de accesorios de automviles comercializa 100 artculos como mximo.
Para controlar sus exigencias y sus ventas genera un archivo con la siguiente informacin por cada artculo:
Un primer registro por cada artculo con:
NROART
NroArt
Cant
: nmero de artculo - CANT: cantidad de unidades en existencia
Se conocen
- Las tarifas particular y comercial del KW.
- El consumo mnimo de ambas categoras
Nombre
Calle
Nro
TipoUsuario
Pg. 27 de 40
Consumo
Nombre
Domicilio
Tipo_U
(a - b - c)
Consumo prom
el cual se actualiza, mes a mes, a partir de las novedades (altas, modificaciones y bajas) almacenadas en otro archivo
secuencial de Movimientos. Puede haber ms de una novedad para cada usuario y las bajas son fsicas.
a) Disee el ambiente, con todas las estructuras de datos necesarias para realizar el proceso de actualizacin. Tenga en
cuenta que los nombres de variables se ajusten al algoritmo del punto b).
b) Dado los siguientes algoritmos, marque los errores que encuentre y desarrolle las subacciones usadas en el mismo
que estn subrayadas.
b.1)
Algoritmo
Abrir_Archivos
Leer_Maestro
Leer_Movimiento
MIENTRAS (Reg_Mae.Nro_U <> High Value) o (Reg_Mov. Nro_U <> High Value) HACER
SI Reg_Mae. Nro_U < Reg_Mov. Nro_U
ENTONCES
ESCRIBIR(Arch_sal, Reg_sal)
Leer_Maestro
SINO SI Reg_Mae.Nro_U = Reg_Mov. Nro_U
ENTONCES
MIENTRAS Reg_Mae.Nro_U = Reg_Mov.Nro_U HACER
Proceso_Movim
Leer_Movimiento
FMientras
Reg_sal : = Aux
ESCRIBIR(Arch_sal, Reg_sal)
Leer_Maestro
SINO Con Reg_Mov
Aux.Nro_U : = Nro_U; Aux.Nombre : = Nombre;
Aux.Domicilio : = Domicilio; Aux.Tipo_U : = Tipo_U;
Aux.Consumo_Prom : = Consumo_prom;
F con;
Leer_Movimiento
MIENTRAS Aux = Reg_Mov.Nro_U HACER
Proceso_Movim
FMientras
Reg_sal : = Aux
ESCRIBIR(Arch_sal, Reg_sal)
FSI;
FSI;
Fmientras;
Cerrar(Arch_sal)
Pg. 28 de 40
Pg. 29 de 40
Pg. 30 de 40
TRABAJO PRACTICO N 3
Tratamiento de Arreglos
01. Para cada una de las consignas siguientes, genere un algoritmo que permita solucionarla (3 algoritmos) usando un
arreglo de 100 nmeros enteros:
a. Almacenar 100 nmeros.
b. Localizar el nmero de mayor valor y el de menor valor, informar sus valores y sus posiciones.
c. Contar y sumar todos los nmeros pares.
02. Genere un nico algoritmo que resuelva las 3 consignas del ejercicio anterior.
03. Dados un vector de reales a de n elementos, con n N0, y un nmero real x >= 0, calcular el valor y tal que:
n
y=
(ai * xi)
i=1
04. Considerando un arreglo de 50 nmeros enteros, confeccione un algoritmo para resolver las siguientes consignas:
a. Transformarlo en un arreglo donde todos sus elementos sean mltiplos de 3.
b. Crear otro arreglo que contenga los nmeros que no cumplieron la condicin.
c. Informar cuntos nmeros cumplieron la condicin.
05. Dados 2 vectores: A: arreglo [1 .. 30] de reales y B: arreglo [1 .. 30] de reales, ambos ordenados de forma creciente,
escribir un algoritmo que realice la mezcla de ambos para obtener otro vector C: arreglo [1 .. 60] de reales, tambin
ordenado de forma creciente.
06. Escribir un algoritmo que permita cargar un arreglo de N nombres, considerando que cada nombre debe tener entre 1
y 10 caracteres.
07. Escribir un algoritmo que permita localizar un nombre en un arreglo de N nombres, ordenados
alfabticamente. Cada nombre puede tener, como mximo, 10 caracteres Escriba por lo menos dos algoritmos que
permitan solucionar el problema; especifique cul de las formas considera ms eficiente y por qu.
08. Repita el ejercicio anterior, pero suponiendo que se precisa localizar todos los nombres que comienzan con una letra
dada.
09. Se posee un arreglo de 200 libros con el siguiente formato:
NRO_LIBRO | TITULO | AUTOR | CANT_HOJAS ; ordenado por AUTOR y se presentan las siguientes premisas:
a. Se necesita saber que libros se poseen de Nicklaus Wirth.
b. Se necesita saber en qu posicin se encuentra Algoritmos + Estructuras de Datos=Programa.
c. Se necesita saber cual es el libro de Nicklaus Wirth de mayor volumen.
10. Dado un arreglo de 50 elementos, cada uno de los cuales tiene los siguientes datos: Cdigo de localidad y Lluvia
cada en un ao. Escribir un algoritmo que permita saber dada una localidad, cuanto llovi en el ao. Aplicar el mtodo
mas adecuado considerando que el arreglo esta ordenado por Cdigo de localidad.
11. Dado un arreglo de 100 elementos, que contiene la siguiente informacin sobre videos: Ttulo de la pelcula, Nombre
del Director, Categora de pelcula, Cantidad de personas que la vieron, Alquilado (si/no); y est ordenado por el Ttulo de
la pelcula, disee un algoritmo que, ingresando una categora, liste todas las pelculas que pertenecen a dicha
categora.
12. A partir del arreglo de videos descrito en el ejercicio anterior, disee un algoritmo que permita atender un pedido de
alquiler, para lo cual debe verificar si es posible o no y, cuando corresponda, actualizar la cantidad de personas que
vieron dicha pelcula.
13. Se precisa ordenar un arreglo de N alumnos de mayor a menor, de acuerdo a la cantidad de materias aprobadas.
Cada elemento del arreglo contiene Nro. de Legajo y Cantidad de materias aprobadas. Escriba por lo menos dos
algoritmos que permitan solucionar el problema; especifique cul de las formas considera ms eficiente y por qu.
Pg. 31 de 40
Dom
XX
XX
XX
XX
Lun
XX
XX
XX
XX
Mar
XX
XX
XX
XX
Mie
XX
XX
XX
XX
Jue
XX
XX
XX
XX
Vie
XX
XX
XX
XX
Sab
XX
XX
XX
XX
Franja de horas
10-12 12-16 16-18
......... ......... .........
......... ......... .........
......... ......... .........
......... ......... .........
Total x Cajas
18-20
.........
.........
.........
.........
.........
.........
.........
.........
24. Se dispone de un archivo secuencial de facturas de una empresa de energa elctrica, correspondientes a un ao,
con el siguiente formato:
NroFact NroUsuario Zona Fecha Consumo (en Kw.)
Se desea obtener un cuadro estadstico que informe los consumos y los importes totales facturados por mes
discriminados por zona, con el siguiente formato:
Zona A Zona B Zona C Zona D Total por Mes
Enero
Febrero
....
Diciembre
Total por Zona
Total General
La ciudad est dividida en 4 Zonas (A,B,C,D) , la tarifa por Kw. que cobra la empresa en cada una de ellas es: Zona A: $
0,05, Zona B: $ 0,07, Zona C: $ 0,09 y Zona D: $ 0,13.
25. Se desea efectuar una estadstica de ventas. Se cuenta para ello con una secuencia de las facturas emitidas, las
cuales son identificadas por un Nmero; dicha secuencia contiene informacin relativa al cliente: su Nmero y Zona a la
cual pertenece, como as tambin el Tipo de mercadera entregada, la Cantidad de unidades, el total gravado, el total
exento de IVA y el valor del IVA. Construya un algoritmo que emita por zona, y dentro de la zona por tipo de mercadera
el total de unidades vendidas, el total gravado, el total exento y el total de IVA, y adems un total general con la misma
informacin. Hay 9 zonas y 4 tipos de mercadera.
26. La Municipalidad de Resistencia desea obtener una estadstica de los valores ( en $) de los terrenos de la ciudad,
discriminados por zona y ubicacin dentro de la manzana (en esquina, interna, etc.), y los totales por zona y ubicacin.
El valor de cada final de cada terreno es igual a:
Valor del Terreno = Superficie terreno (en M2) * valor del M2 * coeficiente de incremento
Para ello cuenta con la siguiente informacin:
a) un archivo de los terrenos con los siguientes datos:
Nro_terreno Zona Ubicacin Superficie_terreno ( en M2)
Zona: codificadas de A a F
Ubicacin: codificada de 1 a 10
b) un arreglo V que contiene los valores del M2 por zona.
Ejercicios Complementarios T.P. Nro. 3
1. Escribir un algoritmo que tome como entrada 2 arreglos A y B de enteros, de longitud n y devuelva como salida otro
vector C, conteniendo los componentes de B para los que los correspondientes de A sean negativos. Adems emitir el
vector C e informar el valor y la posicin del elemento mayor de C.
Pg. 33 de 40
descrip
fecha_falla
aaaa
mm
dd
cant_hs_ociosas
18 - 25
26 - 30
31 o ms
Carreras
ISI
IQ
IEM
Totales por Grupos de
Edades
b. Se desea emitir una estadstica de cantidad de alumnos con promedio mayor o igual que 7, por carreras y grupos de
edades, con el mismo formato que se us en 4.a.
5. Dada una matriz de N x N confeccionar un algoritmo para cargarla de la siguiente forma:
- Cada a[i,j] = i + j
- Los elementos de la ltima fila a[N,j] = Sumatoria de a[i,j], donde i vara entre 1...(n-1)
- Los elementos de la ltima columna a[i,N] = Sumatoria de a[i,j], donde j vara entre 1...(n-1)
- La posicin a[N,N] = Sumatoria de a[i,j], donde i = j
Ejemplo:
2
3
4
9
3
4
5
12
4
5
6
15
9
12
15
12
6. Se lleva a cabo una encuesta a fin de anticipar los posibles porcentajes de votos que obtendrn cada uno de los 4
partidos polticos de mayor peso en las elecciones. Los datos solicitados a los encuestados son: partido al que
votara, edad, sexo y partido al que vot en las elecciones anteriores. Las respuestas se tabulan de acuerdo a los si guientes criterios:
- Partidos: P1, P2, P3, P4, Otro, En Blanco, Indeciso
- Edad: 18-25, 26-35, 36-45, 46-55, 56-65, +65
- Sexo: Femenino, Masculino
Disee un algoritmo que, utilizando un arreglo de 4 dimensiones (partido al que votara, edad, sexo , partido al que vot),
permita responder a las siguientes consultas:
Cantidad de personas de cierta edad que votarn a un Partido dado.
Pg. 34 de 40
Pg. 35 de 40
TRABAJO PRCTICO N 4
Tratamiento de Listas
1. Disear un algoritmo para acceder al k-simo elemento de una lista.
- Si la lista esta vaca o si el valor de k esta fuera del rango del ndice de la lista, invocar al procedimiento de
ERROR. En cualquier otro caso, retornar el valor solicitado.
2. Disear un algoritmo para eliminar el k-simo elemento de una lista.
- Si la lista est vaca o si el valor de k esta fuera del rango del ndice de la lista, invocar al procedimiento de
ERROR. En cualquier otro caso, efectuar el procedimiento de ELIMINACIN.
3. Disear un algoritmo para insertar un nuevo elemento en el k-simo lugar de una lista.
- Si la lista esta vaca o si el valor de k est fuera del rango del ndice de la lista, invocar al procedimiento de
ERROR. En cualquier otro caso, efectuar el procedimiento de INSERCIN.
4. Se dispone de una lista simplemente encadenada de nmeros enteros, disear un algoritmo que a partir de ella
genere otra lista conteniendo los nodos cuyos datos terminan en cero; dichos elementos, debern ser eliminados de la
lista original. Se asume que la lista est cargada, y que el algoritmo recibe como parmetro de entrada la direccin del
primer elemento.
5. Dada una lista simplemente encadenada de nmeros disear un algoritmo que calcule en forma independiente: La
suma de los nmeros impares. y la suma de los nmeros pares.
6. Dada una lista simplemente encadenada de nmeros enteros , disear un algoritmo que a partir de ella genere otra
lista conteniendo los nodos cuyos datos sean mltiplos de 3, dichos elementos debern ser eliminados de la lista original.
Se asume que la lista est cargada y que el algoritmo recibe como parmetro de entrada la direccin del primer
elemento.
7. Se dispone de una lista simplemente encadenada cuyos registros estan ordenados en forma ascendente por una
clave de tipo entero; disear un algoritmo que invierta el orden de la lista.
8. Escribir un algoritmo que permita buscar, insertar o borrar un elemento identificado con una clave determinada en una
lista circular simplemente encadenada.
9. Dada una lista circular con los datos de los socios de un club: nmero, nombre y condicin ( A= alta, B= baja);
hacer un algoritmo que cree otra lista simplemente encadenada con los socios mltiplos de 100, que no estn dados de
baja y eliminar de la lista original los socios dados de baja ( cond = B).
10. Dada una lista doblemente encadenada que contiene datos de todas las provincias de la Repblica Argentina:
nombre, capital, cantidad total de habitantes y cantidad de analfabetos, y est ordenada alfabticamente por nombre de
provincia, se desea generar otra lista simplemente encadenada pero ordenada en orden decreciente por nmero de
habitantes analfabetos.
11. De la lista generada en el ejercicio anterior generar otras tres listas que contengan el nombre, la capital y el
porcentaje de analfabetos de las Provincias que respondan a las siguientes restricciones.
L1: < = 10 % analfabetos
L2: 16 a 25 % analfabetos
L3: > = 26 % analfabetos
12. Supngase que, utilizando una lista encadenada, se implementa una cola Q (estructura "FIFO", es decir, "primero
en entrar, primero en salir"). Disear un algoritmo que permita insertar o extraer un elemento, comprobando siempre si la
cola esta vaca o no.
13. Supngase que, utilizando una lista encadenada, se implementa una pila P (estructura "LIFO", es decir, "ltimo en
entrar, primero en salir"). Disear un algoritmo que permita insertar o extraer un elemento, comprobando siempre si la
pila esta vaca o no.
14. Se desea ingresar una serie de nmeros, e imprimirlos en el orden contrario al de ingreso. Disear un algoritmo que
satisfaga tal requerimiento, utilizando la estructura de datos ms apropiada.
Pg. 36 de 40
1.2.
Dado un nmero n como parmetro de entrada, calcular el n-esimo nmero de la serie de Fibonacci. Tener en
cuenta la siguiente definicin:
Fib(n) = 1
Fib(n-1) + Fib (n-2) si n > 1
1.3.
si n = 1, n = 1
El algoritmo de Euclides para encontrar el MCD (mximo comn divisor) de dos nmeros enteros positivos (m
y n) se puede definir recursivamente.
Algoritmo de Euclides: el MCD de dos enteros es el entero mayor que divide a ambos.
Dividendo
m
n
r1
Divisor
n
r1
r2
Cociente
q1
q2
q3
Resto
r1
r2
r3
Cuando el ltimo resto es cero (por ej. r3 = 0), el MCD es el ltimo divisor (en ese caso, r2).
El algoritmo recursivo se puede definir con los siguientes pasos:
MCD (m,n) = n, si n<= m y n divide a m
MCD (m,n) = MCD (n,m) si m > n
MCD (m,n) es MCD (n, resto de m dividido por n)
Para simplificar el algoritmo considerar que siempre m> n
2. Crear un procedimiento recursivo para solucionar cada uno de los enunciados siguientes:
2.02. Obtener el nmero inverso de un nmero n (siendo n >= 0), el cual se genera invirtiendo las cifras. Por ej.: el
inverso de 254 es 452.
2.03. Leer una palabra (una cadena de caracteres) y la cantidad de caracteres y generar su palndromo. El
palndromo de Venezuela es aleuzeneV.
2.rboles
1.
A
B
*
+
A
B
5. El recorrido en orden de un rbol binario produce la secuencia de nodos: dfcgbea. Dibujar el rbol.
6. Escriba un algoritmo que permita recorrer el siguiente rbol en los tres procedimientos, Realice la prueba de escritorio:
Pg. 38 de 40
Pg. 39 de 40
EJERCICIOS COMPLEMENTARIOS
Secuencias de Texto, Arreglos y Listas
1. Dada una secuencia TEXTO se desea un algoritmo que cuente cuntas veces aparece la primera palabra del texto
dentro del mismo y dentro de cada oracin.
2. Escribir un algoritmo que produzca una secuencia ORACION de salida, formada por palabras en posiciones impares
y que finalicen con la letra N de una secuencia TEXTO de entrada; en la salida cambiar las vocales por su vocal
inmediata siguiente. (Ej. Si es a, saldr e, si es usaldr a).
3. Escribir una algoritmo que permita desglosar una secuencia de caracteres en dos secuencias que contengan
respectivamente los caracteres numricos y los no numricos contenidos en la secuencia original. Por final de
proceso se deber informar la cantidad de caracteres de cada una de las secuencias y las frecuencias de aparicin
de cada dgito ordenadas en forma creciente.
4. Dada una secuencia de texto (caracter, palabra, oracin, texto), se desea generar otra secuencia que contenga la
cantidad de palabra de longitud par de cada oracin, y al final del proceso se emita un ranking decreciente por
oracin.
5. Dado un texto, efectuar un algoritmo que lo recorra y detecte la frecuencia de vocales por oracin y luego liste dichos
totales en rden decreciente.
6. Para un archivo texto confeccione un ndice de palabras, indicando para cada una, en que rengln se encuentra y
conque ocurrencia. Enunciar literalmente la filosofa seguida en la solucin.
Ejemplo: EXAMEN FINAL DE ALGORITMOS Y ESTRUCTURA DE DATOS
1. ESCRIBIR UN ALGORITMO QUE DADA DOS SECUENCIA ORACIN DE ENTRADA, DENOMINADAS ORAC1 Y
ORAC2, GENERE UNA DE SALIDA, DE MANERA TAL QUE SE INTERCALEN LAS PALABRAS DE LAS
SECUENCIAS DE ENTRADA, QUE CUMPLAN CON LA SIGUIENTE CONDICIN:
DE ORAC1 SOLO ME INTERESAN LAS PALABRAS QUE COMIENZAN Y TERMINAN CON UNA VOCAL.
DE ORAC2 SOLO ME INTERESAN LAS PALABRAS DE NO MS DE 5 CARACTERES.
AL FINAL DEL PROCESO INFORMAR CANTIDADES DE PALABRAS DE TODAS LAS SECUENCIAS.
2. UN CLUB ESTA INFORMATIZANDO EL MANEJO DE LA COBRANZA DE LAS CUOTAS DE SUS SOCIOS, Y
NECESITA ACTUALIZAR LOS REGISTROS DEL CORRIENTE AO, PARA ELLO CUENTA CON :
SOCIOS-2000 (arch gral de los socios) de long variable e indexado por nro-socio
NRO-SOCIO
APELLYNOM
DC
C
NRO-CUOTA
IMPORTE
0 a 12 ...................................................
NRO-SOCIO
NRO-CUOTA
IMPORTE
CUANDO UNA CUOTA EST PAGADA DEBE INCORPORARSELA AL REGISTRO DE SOCIOS, EN ORDEN
CRECIENTE POR NRO-CUOTA; Y SI EL SOCIO DEBE CUALQUIER CUOTA ANTERIOR AL MES ACTUAL DEBE
PRODUCIRSE UNA SALIDA EN:
Pg. 40 de 40