ioCode

Les utiles

Listes • Exercices 1A
  1. Écrire une fonction de signature garder_pairs : int list -> int list qui renvoie une liste constituée des éléments pairs de la liste passée en paramètre. Par exemple, garder_pairs [-1; 12; 3; 16; 7; 9] renvoie [12; 16].
  2. Écrire une fonction de signature filter : ('a -> bool) 'a list -> 'a list qui renvoie une liste constituée des éléments e de la liste passée en paramètre pour lesquels le test f e est vrai. Par exemple, filter (fun e -> e = 1) [12; 1; 4; 7; 1; 8] renvoie [1; 1].
  3. Utiliser la fonction filter avec une fonction anonyme pour réaliser la même opération que la fonction garder_pairs.
  4. Écrire une fonction l_square : int list -> int list qui renvoie la liste des carrés des éléments de la liste passée en argument. Par exemple l_square [1; 3; 5] renvoie [1; 9; 25].
  5. Écrire une fonction map : ('a -> 'b) -> 'a list -> 'b list qui renvoie la liste obtenue en appliquant la fonction f à chaque élément de la liste l. Par exemple map (fun x -> x + 1) [1; 2; 3] renvoie [2; 3; 4].
  6. Utiliser la fonction map avec une fonction nommée square (à créer) pour calculer les carrés de la liste [1; 3; 5; 7; 9].
  7. Utiliser la fonction map avec une fonction anonyme pour calculer les carrés de la liste [1; 3; 5; 7; 9].
  8. Écrire une fonction print_list : int list -> unit qui affiche les entiers de la liste séparés par des espaces, suivis d'un retour à la ligne. On pourra utiliser les instructions Printf.printf "%d " 3 et Printf.printf "\n" pour l'affichage.
  9. Écrire une fonction iter: ('a -> unit) -> 'a list -> unit qui renvoie l'unité après avoir appliqué la fonction f à chaque élément de la liste l.
  10. Utiliser la fonction iter avec une fonction anonyme pour afficher les éléments de la liste [1; 3; 5; 7; 9].
  11. Écrire une fonction l_sqaure_sum : int list -> int qui calcule la somme des carrés des éléments de la liste. Par exemple l_square_sum [1; 3; 5] renvoie 35.
  12. Écrire une fonction l_sconcat : string list -> string qui renvoie la concaténation de toutes les chaînes de caractères de la liste. Par exemple l_sconcat ["B"; "Z"; "H"] renvoie "BZH".
  13. Écrire une fonction fold_left : ('acc -> 'a -> 'acc) -> 'acc -> 'a list -> 'acc] qui calcule le résultat de l'application successive de la fonction f à l'accumulateur et aux éléments de la liste, de gauche à droite. Par exemple fold_left (fun acc x -> acc + x) 10 [1; 2; 3] renvoie 16.
  14. Utiliser la fonction fold_left pour calculer la somme des carrés de [1; 3; 5; 7; 9], concaténer la liste ["B"; "Z"; "H"] et construire une liste de listes décroissantes à partir de [1; 3; 5; 7; 9].
Langage
Console initialisée. En attente de l'interpréteur...