Entraînement
Comme pour le chapitre précédent, voici un petit quiz pour voir ce que vous avez compris et ce qu’il faut encore travailler. Le fonctionnement est toujours le même : vos réponses deviennent vertes dès qu’elles sont justes.
On considère la fonction suivante :
let tarif_concert age =
if age < 16 then
5
else if age > 60 then
10
else
15
Quelles sont les valeurs des expressions suivantes ?
tarif_concert 12
tarif_concert 38
tarif_concert 127
tarif_concert -15
Que faut-il écrire à la place des ______
pour que ces fonctions fassent ce qu’on attend d’elles ?
let salut langue =
match langue with
| "fr" -> "Bonjour"
| "es" -> "Hola"
| "de" -> "Hallo"
| ______ -> "Hello"
| autre -> "Je ne parle pas " ^ autre
let capitale pays =
match pays with
| "Allemagne" -> "Berlin"
| "Italie" -> "Rome"
| "Espagne" -> "Madrid"
| "France" -> ______
| autre -> "Je ne connais pas la capitale de " ^ autre
Écrivez les fonctions suivantes :
- Une fonction valeur absolue pour les entiers ;
- Une fonction qui à un nombre associe son nom en toutes lettres (vous n'êtes pas obligés de faire tous les nombres, une dizaine suffira largement).
Proposition de correction
let abs (x : int) : int =
if x > 0 then
x
else
-x
let ecrire_nombre (x : int) : string =
match x with
| 0 -> "Zéro"
| 1 -> "Un"
| 2 -> "Deux"
| 3 -> "Trois"
| 4 -> "Quatre"
| 5 -> "Cinq"
| _ -> "Je ne sais pas compter au-delà de 5 :(".