Contrôle de TD – HLIN101, groupe A3 Correction 1. Écrire

publicité
Contrôle de TD – HLIN101, groupe A3
Correction
1. Écrire un algorithme non récursif qui, étant donné n ∈ N, renvoie la liste des n premiers
termes de la suite définie par u0 = 4 et ∀n ∈ N, un+1 = 4un (1 − un ).
Algorithme suite
Données : n : nombre
Variables : li : liste de nombres et u : nombre
li := ()
u := 4
Pour i de 1 à n faire
li := cons(u,li)
u := 4 * u * (1 - u)
FinPour
Résultat : li.
2. Écrire un algorithme non récursif qui, étant donnés deux entiers naturels a et b tels que
a ≤ b, renvoie le plus petit entier i de l’intervalle [a, b] tel que cos(i) > 0.9 s’il existe, et -1 sinon.
Algorithme recherche
Données : a : nombre et b : nombre
Variables : i : nombre
i := a
TantQue cos(i) <= 0.9 et i <= b faire
i := i + 1
FinTantQue
Si i = b + 1 alors i := -1
Résultat : i.
3. Écrire un algorithme f non récursif qui, étant donné un entier n, renvoie la liste des 2n
listes à n éléments de {0, 1} (dans un ordre quelconque).
Algorithme f
Données : n : nombre
Variables : l : liste de listes de nombres, ltmp : liste de nombres, j : nombre
l := ()
Pour i de 0 à puiss(2,n) - 1 faire
ltmp := ()
j := i
Pour k de 1 à n faire
ltmp := cons(j mod 10, ltmp)
1
j := j / 10
FinPour
l := cons(ltmp, l)
FinPour
Résultat : l.
2
Téléchargement