Programación II |
Examen Final |
Marzo de 1999 | Altillo.com |
1. Dado un Árbol Binario de Búsqueda no vacío que representa los libros de una biblioteca cuyos nodos contienen:
Autor | Cadena de 30 caracteres |
Título | Cadena de 50 caracteres |
Ubicación | Cadena de 10 caracteres |
Nota: El árbol está ordenado por Autor y título.
Se pide:
a) Definir la estructura en Pascal (parte declarativa: CONST, TYPE y VAR).
b) Desarrollar un procedimiento recursivo con los parámetros necesarios y suficientes, que reciba el puntero a la raíz del árbol y emita por pantalla un reporte ordenado por autor, con el nombre de cada autor y cuántos libros hay de dicho autor.
c) Escribir las instrucciones necesarias para la llamada al procedimiento desarrollado en b), indicando claramente qué parámetros utiliza y sus valores.
2. Dado el siguiente árbol y el procedimiento RECORRO:
procedure RECORRO (var P : PTARB; N:integer);
Begin
if P < > NIL then
begin
RECORRO (P^.IZQ, N + 1);
RECORRO (P^.DER, N + 1);
if ((P^.IZQ=P^.DER) and ((P^.VALOR MOD N)=0)) then
Begin
Dispose(P) ;
P:= NIL
End ;
end
End;
a) Realizar el seguimiento del procedimiento RECORRO, cuando se lo invoca con el puntero a la raíz del árbol y "0" como segundo parámetro.
b) Sin volver a realizar el seguimiento, cómo quedará el siguiente árbol: