-module(ex03). -compile(export_all). %************************************************** % % Exemple et exercices du cours 03 % %************************************************** traitement([]) -> executer("Stopper"); traitement([ Head | Tail ]) -> executer(Head), traitement(Tail). executer(Tache) -> io:format("~s. Done.~n", [ Tache ]). longueur([]) -> 0; longueur([ Head | Tail ]) -> 1 + longueur(Tail). sum([]) -> 0; sum([ Head | Tail ]) -> Head + sum(Tail). double([]) -> []; double([ Head | Tail ]) -> [ Head * 2 | double(Tail) ]. concatenationMots([]) -> ""; concatenationMots([Head | Tail]) -> Head ++ concatenationMots(Tail). pair([]) -> []; pair([ Head | Tail ]) -> case Head rem 2 of 0 -> [ Head | pair(Tail) ]; 1 -> pair(Tail) end. concat([], L2) -> L2; concat([ Head | Tail ], L2) -> [ Head | concat(Tail, L2) ]. ajouter(Elem, 0, L) -> [ Elem | L ]; ajouter(Elem, Pos, [ Head | Tail ]) -> [ Head | ajouter(Elem, Pos - 1, Tail) ]. supprimer(0, [ Head | Tail ]) -> Tail ; supprimer(Pos, [ Head | Tail ]) -> [ Head | supprimer(Pos - 1, Tail) ]. %--------------------------------------------- % Main function %--------------------------------------------- main() -> ListeTache = [ "Prendre le train", "Boire un café", "Donner le cours", "Répondre aux emails" ], traitement(ListeTache).