====== Exámen Parcial - 75.41. Algoritmos y Programación II ======
**Cátedra:** Mandrafina\\
**Fecha:** Primera Oportunidad - Segundo Cuatrimestre 2006\\
**Día:** 27/10/2006
Esta página está incompleta; podés ayudar completando el material.
===== Enunciado =====
==== Punto I ====
Dado el siguiente código, hacer el seguimiento y escribir lo que muestra por pantalla:
#include
#include
using namespace std;
typedef int* pInt;
typedef char* pChar;
typedef struct{
int* Entero;
char Caracter;
}tRegistro;
typedef tRegistro* pReg;
int main(int argc, char* argv[])
{
pReg Pun1;
pInt Pun2;
pInt pun5;
pInt* Pun3;
pChar Pun4;
pChar Pun6;
int H = 0;
//Leer los últimos 2 dígitos del padrón
cin >> H;
H = H%50 + 65;
Pun1 = new tRegistro;
Pun1->Entero = new int;
*(Pun1->Entero) = 70;
Pun1->Caracter = 'C';
Pun2 = Pun1->Entero;
Pun3 = &(Pun2);
Pun4 = &(Pun1->Caracter);
cout << (**Pun3)<< Pun1->Caracter<<*(Pun1->Entero) << endl;
if (Pun1->Entero == (*Pun3))
(*Pun2) = H;
cout << (*Pun4) << (*Pun2) << endl;
Pun6 = (char*)(*Pun3);
cout << (*(&(Pun1->Caracter))) << (*Pun6) << (*Pun4) << endl;
(*Pun6) = (*Pun4);
(*Pun2) = H + 7;
cout << *(Pun1->Entero) << (**Pun3) << (*Pun6) << endl << endl;
delete Pun1->Entero;
delete Pun1;
return 0;
}
==== Punto II ====
Para un aplicativo de la Universidad de Buenos Aires, se requiere modelar e implementar el TDA **Alumno** y el TDA **Materia**. El **Alumno** está conformado por un Padrón, un Nombre completo y un D.N.I.. Una **Materia** está conformada por su Código, un Nombre y una cantidad de Créditos.
Además, en el modelo global de la aplicación, se requiere que el **Alumno** tenga un conjunto de materias en las que está inscripto y de sus materias aprobadas.
==== Punto III ====
Se requiere generar un listado con los alumnos que aprobaron más del 70% de las materias en las que se inscribieron el cuatrimestre pasado. El listado debe estar ordenado por **Porcentaje de Aprobación** (agrupados por rangos de 10%) descendente y luego por **Padrón** ascendente.
Listado:
**Porcentaje de aprobación entre:** 90% y 100%
^Padrón ^Apellido y Nombre ^Incscripciones ^Aprobaciones ^
| 75842 | Perez, Jorge | 4 | 4 |
| 79352 | García, Juan | 1 | 1 |
**Porcentaje de aprobación entre:** 80% y 90%
^Padrón ^Apellido y Nombre ^Incscripciones ^Aprobaciones ^
| 75843 | Lopez, Jorge | 5 | 4 |
| 79353 | Martinez, Juan | 6 | 5 |
**Porcentaje de aprobación entre:** 70% y 80%
^Padrón ^Apellido y Nombre ^Incscripciones ^Aprobaciones ^
| 75844 | Lopez, Roberto | 4 | 3 |
| 79354 | Lomas, Eduardo | 4 | 3 |
Para realizar tal listado se cuenta con los siguientes archivos del cuatrimestre pasado:
^ Alumnos.dat ^ Inscripciones.dat ^ Aprobaciones.dat ^
| (ordenado por Padrón) | (ordenado Cronológicamente) | (ordenado Cronológicamente) |
|Int padron|Int padron|Int padron|
|Char nya[50]|Int cod_materia|Int cod_materia|
|Int dni|Char fecha[8]|Char fecha[8]|
| | |Float nota|
Nota:
* Los archivos se podrán leer de manera secuencial sólo una vez, luego de manera directa.
* La resolución tendrá que ser totalmente orientada a la utilización de TDAs.
===== Resolución =====
===== Discusión =====
Si ves algo que te parece incorrecto en la resolución y no te animás a cambiarlo, dejá tu comentario acá