Examen de Lenguajes de Programación. Febrero 2004

Ejemplo en Haskell. c) Explica el modelo de control de errores en Java con
ejemplos. Tipos de excepciones en Java. Dado el siguiente código en Java.

Part of the document

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 B b = new B();
2 C c = new C();
3 A a = b;
4 a.a();
5 a.b();
6 F f = c;
7 f = b;
8 X x = b;
9 x = c;
10 x = a;
11 B w = a;
12 w.b();
13 Object [] lista = new Object[10];
14 lista[0] = b;
15 c = (C)lista[0];
16 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 ... y las
definiciones de isort e insert.
b) Modifica la función xsort y su definición para que permita otro
tipos tipos de ordenación (descendente, ascendente)
c) 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.