Altillo.com > Exámenes > ORT > Programación II

Programación II

Examen Final

Febrero de 1999 Altillo.com

1. Se tiene un Árbol Binario de Búsqueda que almacena los vuelos que salen de un aeropuerto durante un día.
Cada nodo contiene:
Nº de vuelo 501..999
Hora de salida real
El árbol está ordenado en forma ascendente por hora de salida.
Por razones climáticas se prevé que el aeropuerto permanecerá cerrado hasta una determinada hora.

SE PIDE:
a) Definir la estructura en Pascal (parte declarativa: CONST, TYPE y VAR).
b) Desarrollar un procedimiento con los parámetros necesarios y suficientes, que dada la hora a la que empezará a operar el aeropuerto, emita por pantalla la información de todos los vuelos suspendidos, ordenados cronológicamente y devuelva la cantidad de vuelos suspendidos.
Ejemplo: Si la hora de comienzo es 11:00

Emitirá: Suspendidos
            Vuelo 905 8:40
            Vuelo 804 10:00
            Vuelo 703 10:30
            Vuelo 901 10:50
            Vuelo 707 10:55
Retornará: 5

2. Dada la siguiente declaración y procedimiento:
Type
    TY_PARB = ^TY_NARB;
    TY_NARB = record
                            NUM : Integer;
                            IZQ,DER : TY_PARB
                          end;
Var
    ARB : TY_PARB;
    OK : Boolean;
Procedure BRANDON (Var ARB: TY_PARB; V, N: Integer; Var OK: Boolean);
Var R : Boolean;
Begin
    R := (N mod V = 0);
    if R then
        if ARB = NIL then
            begin
                new(ARB); 
                ARB^.NUM := N;
                ARB^.IZQ := NIL;
                ARB^.DER := NIL;
                OK := R
            end
        else 
            if ARB^.NUM > N then 
                BRANDON (ARB^.IZQ,V,N,OK)
            else
                if ARB^.NUM < N then 
                    BRANDON (ARB^.DER,V,N,OK)
End;

a) Realizar su seguimiento cuando se lo invoca con la siguientes instrucciones y el árbol binario de la figura:
OK := FALSE;
BRANDON (ARB, ARB^.NUM, 42, OK);
b) Indicar claramente el valor que retorna el procedimiento y las llamadas realizadas.
c) Qué hace el procedimiento BRANDON?