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

Programación II

Examen Final

Agosto de 2000 Altillo.com

1. Dado un Árbol Binario de Búsqueda no vacío cuyos nodos contienen números enteros NO REPETIDOS y un valor que EXISTE en el árbol.
Se pide:
a) Declarar la estructura en Pascal (parte declarativa: CONST, TYPE y VAR).
b) Desarrollar un procedimiento recursivo con los parámetros necesarios y suficientes, que devuelva la suma de valores de los nodos menores al dado y un valor booleano en TRUE si el valor dado es menor a todos sus descendientes y FALSE en caso contrario.
c) Escribir las instrucciones necesarias para la llamada al procedimiento desarrollado en b), indicando claramente qué parámetros utiliza y sus valores.

2. Dadas las siguientes declaraciones y el procedimiento RR0900:
Type
    TLISTA = ^ PNODO;
    PNODO = Record
                            VAL: integer;
                            SIG: TLISTA
                      End;
Var
    LISTA: TLISTA;
    CN: Integer;
Procedure RR0900 (L:TLISTA; AT:TLISTA; Var PR:TLISTA; Var C: Integer);
    Begin
        If L <> Nil Then
            Begin
                RR0900(L^.SIG, L, PR, C);
                C := C + 1;
                L^.SIG := AT;
                writeln(L^.VAL)
            End
        Else
            Begin
                C := 0;
                PR := AT
            End
End;

Se pide:
a) Realizar su seguimiento indicando claramente el contenido y actualización de las variables, graficando las modificaciones de la lista, las salida y el momento en que se producen, cuando se realiza la siguiente secuencia de invocación: CN := 10; RR0900(L1, nil, L1, CN)

b) Sin realizar otro seguimiento indicar cómo queda la lista apuntada por L2 cuando se realiza la siguiente secuencia de invocación: CN := 12; RR0900(L2, nil, L2, CN)