You are on page 1of 2

FCyT UADER. Programacin 1. Examen Final 25/7/2005.

REALCE CADA E!ERCC" E# $"!A %EPARADA


E&ercicio 1 ( '(0 )*+,- Se dispone de un archivo de texto CALIFICA.TXT
que los datos de un grupo de alumnos. Cada lnea se conorma con el
!"I# las caliicaciones parciales ($ por alumno% & el nom're del alumno.
(scri'a una clase que haga lo siguiente)
a% Lea los datos del archivo & organice la inormaci*n de cada alumnos en
un struct. Luego de'e almacenar el struct en un archivo de acceso directo
('inario% llamado CALIFIC.!AT.
'% +ediante un m,todo agregar( % incorpore al archivo los datos de un nuevo alumno.
c% -eriique que no ha&a !"I repetidos en el grupo de alumnos. (n caso de hallar un alumno con inormaci*n duplicada
(repetida% de'e eliminarse del archivo.
E&ercicio 2 (25 )*+%% .ropongan una clase racional que contenga) a% Atri'utos p & q correspondientes a los
componentes de un n/mero racional. '% !os constructores so'recargados que permitan iniciali0ar los atri'utos. 1no
asigna valores iniciales a trav,s de par2metros & el otro un constructor de copia. c% 1na unci*n de so'recraga para el
operador 3 (producto%. (sta (la unci*n de so'recarga para 3 se halla implementada en el recuadro & solo de'e
completarla%. d% 1na unci*n de so'recarga para el operador 4 que permita sumar racionales.
E&ercicio ( (15 pts% Considere la clase racional del e5ercicio anterior. (scri'a una programa cliente que ingrese los
componentes (numerador & denominador% de 6 n/meros racionales. (l programa de'e calcular & mostrar la suma & el
producto de am'os racionales.
E&ercicio . (10 pts%. a% .roponga un e5emplo de una clase a'stracta & derive de ella una clase concreta. "o codiique las
unciones de las clases. '% !ierencias entre herencia & agregaci*n
E&ercicio 5. (20 )*+, a% venta5as de la programaci*n gen,rica. '% (scri'a un programa que genere un vector din2mico de
677 elementos aleatorios entre 877 & 6777. 9rdene la segunda mitad del vector en orma creciente & mu,strelo.
UADER / FCyT. Programacin . Examen Final 10/05/2005
E&ercicio 1 '(0 )*+,- Se dispone de un archivo de texto :!AT9S.TXT; que contiene una serie de
documentos de identidad de un grupos de personas seguidos de la edad en a<os de cada una de
ellas. (scri'a un programa C44 orientado a o'5etos que haga lo siguiente)
a% Lea los datos del archivo & los organice en un arreglo din2mico.
'% =usque el !"I 6>??@666 en la secuencia. Si lo encuentra ordene la lista (por !"I% desde ese
!"I hasta el inal sin modiicar los elementos anteriores.
c% Si no lo encuentra coloque un mensa5e alusivo.
d% +uestre la parte ordenada de la lista) nros de !"I & edades
e% Almacene la parte ordenada de la lista en un archivo 'inario :!AT9S=I".!AT;.
E&ercicio 2 '20)*+,) !ise<e una clase llamada Comple5o que proponga una a'stracci*n de un n/mero comple5o.
So'recargue en la clase los operadores) AA & 4 (inserci*n & suma%. Luego escri'a un programa que instante un o'5eto de
la clase Comple5o# ingrese los datos de 6 n/meros comple5os & muestre su suma.
E&ercicio ( '20 )*+,- Considere la plantilla del recuadro de la derecha. a%
(scri'a un programa C44 que la invoque con las siguientes 6 listas) B6$# C8#
>8# @@# 66# D7# $C# C@# @?E & B:Santa Fe;# :C*rdo'a;# :TreleF;# :Gesistencia;#
:.aran2;# :Gosario;E.
'% (l programa de'e mostrar los resultados que o'tiene la plantilla. c% HCu2l
es la salida del programaI. d% (xplique el o'5etivo de la plantilla.
E&ercicio . '15 )*+,- a% HJu, elementos orman la STLI. '% HCu2les son las
venta5as & desventa5as del empleo de archivos de textoI. c% HJu, dierencias
puede se<alar entre los m,todos de ordenamiento) 'ur'u5as & quicKsortI.
E&ercicio 8 (15)*+%) (xplique el concepto de m,todo virtual. .roponga un
e5emplo (c*digo C44% donde se aplique uno o m2s m,todos virtuales.
Li'res) !ierencia entre herencia & agregaci*n. (5empliique
Programacin . Examen Final. 1./0(/005
1, Pro1lema- .Se leen los datos de un grupo de >77 personas cu&a estructura de
registro se indica en el recuadro. a% (scri'a un m,todo CrearListaLash que organice
racional& racional::operator*(const racional &r1,const racional &r2)
{ . . .
return *this; }
68>?@6$C $C 8> ?@ L*pe0 Mulio
$7NCC@6$ @77 ND D@ Oarca .edro
6C8>@6D> ?D 8C N@ C2ceres Ana
6N7N8866 ?N 8C >8 Papata Luis
Q..
68>?@6$C
6$
$7NCC@6$
$7
6N7N8866
@D
......
template <class T>
void calcula(T x[], int n, T &a, T &b)
{
if (x[0] < x[1])
{ a x[1]! bx[0]!"!
else
{ a x[0]! bx[1]!"!
fo# (int i$! i<n! i%%)
{ if (x[i]>a)
{ ax[i]!"!
if x[i]<b
{ bx[i]! "!
"!
Apellido) stringB67ER
"om'res) stringB@8ER
Sexo) charR
!"i) FordR
F"ac ) echaR
esos datos en un archivo de acceso directo usando la t,cnica de Lash. Considere el !"I como campo clave para
organi0ar los datos. '% Luego escri'a el m,todo =uscarLash( % que 'usque un registro usando la t,cnica de Lash
conociendo el !"I de la persona a 'uscar. '(5 )*+%.
2, Pro1lema) (scri'a un m,todo de una clase que permita 2U%CAR & REE3PLA4AR T9!AS LAS .ALA=GAS 9
.AGT( !( .ALA=GAS en un archivo de texto. Los par2metros del m,todo son) la pala'ra a 'uscar & el texto de
reempla0o. (l m,todo de'e determinar la cantidad de reempla0os eectuados. !ise<e la clase completa. ((0)*+%
(, (scri'a una unci*n que reci'a como par2metro el puntero al inicio de una lista enla0ada de enteros. !e'e devolver el
ma&or de la lista.(25)*+%
., a% (xplique el concepto de encapsulamiento. H(s o'ligatorio en 9'5ect .ascal I '% (xplique el signiicado de las
extensiones. !.G# .AS# !C1# !F+ en archivos generados por una aplicaci*n 9'5ect .ascal. c% .roponga un e5emplo
de herencia. d% Se<ale las dierencias entre o'5eto# clase e instancia. (10)*+%
UADER/FCyT. Programacin . E5A3E# F#AL 2(/02/2005
E&ercicio 1 '25 )*+,- 1n prisma rectangular tiene como 'ase un rect2ngulo a% +odele la clase TGectangulo para o'tener
su 2rea. '% Aplique Lerencia para derivar de TGectangulo una clase T.rismaGect (prisma rectangular% & o'tener su
volumen. c% +odele nuevamente un prisma rectangular pero aplicando la relaci*n de agregaci*n. d% (n todos los casos
escri'a el c*digo correspondiente inclu&endo un peque<o programa cliente que use la clase T.rismaGect para calcular
& mostrar su volumen.
E&ercicio 2 '20 )*+,- 6C778 !ise<e un template de unci*n para 'uscar el segundo ma&or de una lista. 1tilice la plantilla
desde un programa C44 cliente invoc2ndola con un lista de enteros & una de strings. 6Pa+cal8 (scri'a un m,todo de
una clase que elimine un nodo de una lista enla0ada conociendo el dato a eliminar. .roponga previamente la clase
sa'iendo que es una a'stracci*n para operar una lista de personas de las que se consideran los datos) Apellido#
"om'res# !"I# (dad (l dato clave para eliminar un nodo es el !"I de la persona.
E&ercicio ( '20 )*+,- (scri'a una unci*n que opere so're una lista de structSrecord donde los miem'rosScampos son)
Apellido# "om'res# !"I# (dad. (sta lista se halla ordenada por !"I. La unci*n de'e eectuar un m,todo recursivo de
'/squeda so're al lista para u'icar el !"I & devolver su posici*n (T@ si no se encuentra%.

E&ercicio . '25)*+,- Lea los datos del archivo LISTA.TXT cu&a
inormaci*n se organi0a como muestra el recuadro) !"I# nota@#
nota6#nota$# Apellido# "om'res. !eina una clase para tomar los datos
del grupo de estudiantes del archivo# o'tener su promedio & escri'ir un
nuevo archivo de acceso directo .G9+.!AT con los !"I & .romedios
solamente.
E&ercicio 5 '10 )*+,- a% Jue entiende por encapsulamientoI#HC*mo se eect/a el encapsulamiento en C44S.ascalI '%
HC*mo reconoce las relaciones de herencia & agregaci*n entre 6 clases en .99 I c% H(s posi'le plantear
programaci*n gen,rica en C44IHC*moIS -enta5as & desventa5as de los tipos de archivos de 9'5ect .ascal.
Li1re+) (scri'a el c*digo del m,todo de ordenamiento de JuicKSort
68>?@6$C $C 8> ?@ L*pe0 Mulio
$7NCC@6$ @77 ND D@ Oarca .edro
6C8>@6D> ?D 8C N@ C2ceres Ana
6N7N8866 ?N 8C >8 Papata Luis
&.......

You might also like