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