Examen de Lenguajes de Programación. Febrero 2004 1. a) ¿ Qué son las propiedades y métodos de clase ? ¿ Cual es su aplicación fundamental ? Ejemplo/s en Java. b) ¿ Qué es la evaluación retardada (lazy evaluation) ? Ejemplo en Haskell. c) Explica el modelo de control de errores en Java con ejemplos. Tipos de excepciones en Java. 2. Dado el siguiente código en Java class A { public void a(){...}} abstract class F { public abstract void a();} class B extends A implements X{ public void b(){...}} class C extends F implements X{ public void c(){...}} interface X {public void a();} 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 B b = new B(); C c = new C(); A a = b; a.a(); a.b(); F f = c; f = b; X x = b; x = c; x = a; B w = a; w.b(); Object [] lista = new Object[10]; lista[0] = b; c = (C)lista[0]; c.c(); a) Señala los errores en tiempo de compilación. Di como solucionar estos errores. Señala los errores en tiempo de ejecución. Di como solucionarlos. b) Señala donde hay asignaciones polimórficas y donde hay ligadura dinámica. c) Implementa la función filter con JDK 1.4 y JDK1.5. 3. Dado el siguiente código en Haskell: xsort([], sortedlist) = sortedlist xsort ((front:rest), sortedlist) = xsort(rest, insert(front, sortedlist)) isort(anylist) = xsort (anylist, []) insert (item, []) = [item] insert (item, (front :rest)) = if item <front then item: (front:rest) else front : insert (item, rest) a) b) c) Muestra un ejemplo de utilización de la función xsort e incluye su definición de parámetros. xsort:: a -> ... y las definiciones de isort e insert. Modifica la función xsort y su definición para que permita otro tipos tipos de ordenación (descendente, ascendente) Aplica parametrización parcial, politipos y funciones de alto nivel al apartado b. 4. Explica qué pasa al invocar ?-p(X) con estas reglas. Explicar Unificación y backtracking sobre este ejemplo siguiendo parte de su traza. p(a). p(X) :- q(X), r(X). p(X) :- u(X). q(X) :- s(X). r(a). r(b). s(a). s(b). s(c). u(d). Puntuación: 1. 2.5 2. 2.5 3. 2.5 4. 2.5 Tiempo: 4 horas Entrevistas + Revisión de Examen: Ver sitio Web.