Exercices Corriges 01 : Haskell

Exercices Corriges : Haskell

  1. Écrire une fonction en Haskell qui prend une liste d'entiers et retourne la somme de ces entiers.
  2. Écrire une fonction qui prend une chaîne de caractères et renvoie la chaîne inversée.
  3. Écrire une fonction qui calcule le produit de tous les éléments d'une liste d'entiers.
  4. Écrire une fonction qui prend une liste de chaînes de caractères et renvoie une nouvelle liste qui ne contient que les chaînes de longueur pair.
  5. Écrire une fonction qui prend une liste d'entiers et renvoie la liste triée dans l'ordre décroissant.
  6. Écrire une fonction qui prend une liste de nombres réels et renvoie la moyenne de ces nombres.

Correction :

1-------------

sumList :: [Int] -> Int
sumList [] = 0
sumList (x:xs) = x + sumList xs

2-------------

reverseString :: String -> String
reverseString [] = []
reverseString (x:xs) = reverseString xs ++ [x]

3-------------

multiplyList :: [Int] -> Int
multiplyList [] = 1
multiplyList (x:xs) = x * multiplyList xs

4------------

evenLengthStrings :: [String] -> [String]
evenLengthStrings [] = []
evenLengthStrings (x:xs)
  | even (length x) = x : evenLengthStrings xs
  | otherwise = evenLengthStrings xs

 

5-------------

sortDescending :: [Int] -> [Int]
sortDescending [] = []
sortDescending (x:xs) = sortDescending larger ++ [x] ++ sortDescending smaller
  where
    smaller = [a | a <- xs, a <= x]
    larger = [b | b <- xs, b > x]

6------------

averageList :: [Float] -> Float
averageList xs = sum xs / fromIntegral (length xs)

 

  • 5 votes. Moyenne 5 sur 5.

Commentaires

  • Viviane

    1 Viviane Le 11/03/2023

    Merci beaucoup c'est très facile pour l'apprentissage
  • Junior

    2 Junior Le 08/03/2023

    Satisfaisant
  • nanij

    3 nanij Le 07/03/2023

    Merci pour ce partage de connaissances
  • Franck Duhamel

    4 Franck Duhamel Le 06/03/2023

    Ce site est à recommander. merci
  • steve nn

    5 steve nn Le 06/03/2023

    Vraiment intéressant
  • Ivan

    6 Ivan Le 06/03/2023

    Merci pour vos solutions très intéressantes

Ajouter un commentaire

Anti-spam