• Aucun résultat trouvé

Corrig´ e du Contrˆ ole d’Informatique

N/A
N/A
Protected

Academic year: 2022

Partager "Corrig´ e du Contrˆ ole d’Informatique"

Copied!
3
0
0

Texte intégral

(1)

Corrig´ e du Contrˆ ole d’Informatique

Les Principes des Langages de Programmation (INF 321) Promotion 2004

Sujet propos´e par Gilles Dowek 5 juillet 2005

Exercice 1

1. 2.

2.

static int compte (List l1, List l2) { if (l1 == null || l2 == null) return 0;

if (l1.hd == l2.hd) return 1 + compte(l1.tl,l2.tl);

return compte(l1.tl,l2.tl);}

Exercice 2

1.e = [r1/l1, r5/l2]

m = [r2/r1,(2,r3)/r2, (3,r4)/r3, (4,null)/r4, r6/r5, (1,r3)/r6]

2.

l1

l2

2 3 4

1

3.e = [r1/l1, r5/l2]

m = [r2/r1,(2,r3)/r2, (3,r4)/r3, (4,r2)/r4, r6/r5, (1,r3)/r6]

4.

l1

l2

2 3 4

1

(2)

Exercice 3

1.

2. 3, 1, 4, 2.

3.

static int taille (Arbre t) { if (t == null) return 0;

return 1 + taille(t.gauche) + taille(t.droit);}

static int max (int x, int y) { if (x <= y) return y;

return x;}

static int hauteur (Arbre t) { if (t == null) return -1;

return 1 + max(hauteur(t.gauche),hauteur(t.droit));}

Exercice 4

1.

static int haut (Arbre t) throws Exception { if (t == null) return -1;

int h = haut (t.gauche);

if (h == haut(t.droit)) return h+1;

throw new Exception ();}

static boolean complet (Arbre t) { try {haut(t); return true;}

catch (Exception e) {return false;}}

3.2h+1 - 1

Exercice 5

1.

2

(3)

static void enum1 (String s, int n) { if (n == 0) System.out.println(s);

else {enum1 (s + "a", n-1);

enum1 (s + "b", n-1);}}

static void enum (int n) { enum1 ("", n);}

Exercice 6

1.m + ((0,null)/r)o`urest une r´ef´erence quelconque qui n’apparaˆıt pas danseni dans m.

2.r.

3. Σ(new List (),e,m,G,C) = (r, m + ((0,null)/r)) o`u r est une r´ef´erence quelconque qui n’apparaˆıt pas danse ni dansm.

Exercice 7

1. 0.

2. 2.

3. 0.

3

Références

Documents relatifs

Intuitivement, chacun des deux 4-cycles font permuter de mani` ere circulaire les 4 ´ el´ ements qui composent leur support en les d´ ecalant d’un “cran”; en appliquant deux fois,

R´ eciproquement, s’il forment une famille li´ ee, ces trois vecteurs sont contenus dans un espace vectoriel F de dimension 2.. Cela se produit si et seulement si le d´ eterminant de

[r]

Le r´ esultat obtenu est-il en accord avec la question pr´ ec´

Le r´ esultat obtenu est-il en accord avec la question pr´ ec´ edente?.

[r]

On retrouve ici aussi que cette solution tend vers 3 en

Comme r est toujours positif, nous avons un point de rebroussement de 1ere esp` ece.. Et en effet, on v´ erifie que la fonction s’annule