====== Examen Final - 75.41. Algoritmos y Programación II======
**Cátedra:** Mandrafina\\
**Fecha:** Tercera Oportunidad - Primer Cuatrimestre 2006\\
**Día:** 04/08/2006
Esta página está incompleta; podés ayudar completando el material.
===== Enunciado =====
==== Punto I ====
Escribir un programa completo en el que se vea un puntero en el stack referenciando al segmento de datos.
==== Punto II ====
Definir en forma completa TDA. ¿Que lo diferencia de tipo de dato más funciones "sueltas"?
==== Punto III ====
Dada una lista de enteros simplemente enlazada escribir una función recursiva que muestre los elementos en orden inverso. La lista no es el único parámetro que puede recibir la función.
Ejemplo: para la lista
7 5 3 6 6 7 9 10
debe mostrar
10 9 7 6 6 3 5 7
==== Punto IV ====
Insertar en un arbol AVL las claves A B C D E F G H I. ¿Que ventajas tiene frente al arbol binario ordenado?
==== Punto V ====
Insertar en un arbol B de orden 5 las siguientes claves ( 12 ):
==== Punto VI ====
Hacer una función que reciba un grafo creado y cargado y que devuelva verdadero si el grafo tiene un vertice aislado.
==== Punto VII ====
Ordenar mediante el algoritmo heapsort los siguientes numeros (6):
==== Punto VIII ====
Que conceptos involucra en POO el encapsulamiento. ¿Que relación existe con los TDA?
==== Punto IX ====
En un diseño, ¿con qué fin se emplea una clase abstracta?
==== Punto X ====
Diseñar ( diagrama de clases) y codificar la interfaz en lenguaje C++. \\
Profesor: tiene por lo minimo nombre, apellido, DNI. Tambien dispone de antiguedad, puede ejercer como máximo en 5 cátedras, pudiendo ser establecidas y consultadas todas ellas. \\
No docente: tiene por lo minimo nombre, apellido, DNI. Tambien dispone de antiguedad, horario de entrada, horario de salida, pudiendo ser establecidas y consultadas todas ellas.
===== Resolución =====
==== Punto I ====
#include
int numero = 5;
int main()
{
int* puntero = №
std::cout << *puntero;
return 0;
}
==== Punto III ====
#include
void mostrarInvertido( Lista& l, PtrNodoLista primero )
{
Dato actual;
if( primero != fin( l ) ){
obtenerDato( l, actual, primero );
mostrarInvertido( l, siguiente( l, primero ) );
std::cout << actual;
}
return;
}
==== Punto IV ====
{{:materias:75:41:ej4-paso1-sc.png|:materias:75:41:ej4-paso1-sc.png}}
{{:materias:75:41:ej4-paso2-sc.png|:materias:75:41:ej4-paso2-sc.png}}
{{:materias:75:41:ej4-paso3-sc.png|:materias:75:41:ej4-paso3-sc.png}}
{{:materias:75:41:ej4-paso4-sc.png|:materias:75:41:ej4-paso4-sc.png}}
{{:materias:75:41:ej4-paso5-sc.png|:materias:75:41:ej4-paso5-sc.png}}
{{:materias:75:41:ej4-paso6-sc.png|:materias:75:41:ej4-paso6-sc.png}}
===== Discusión =====
Si ves algo que te parece incorrecto en la resolución y no te animás a cambiarlo, dejá tu comentario acá.