OCaml (option informatique) · Chapitre 1 · Application directe du cours
Diagnostiquer des erreurs de type
Découvrir OCaml : expressions, valeurs et types · niveau 1 (application)
Énoncé
Pour chaque phrase, dire si elle est acceptée ; sinon, expliquer l'erreur et la corriger.
(* a *) 3 + 4.0
(* b *) if 1 < 2 then 0 else "zéro"
(* c *) 5.0 /. 2Corrigé
(a) Refusée : + attend deux int, or 4.0 est un float. Correction selon l'intention : 3 + 4 (entiers) ou 3.0 +. 4.0 (flottants).
(b) Refusée : les deux branches doivent avoir le même type, or 0 est int et "zéro" est string. Correction : choisir un type commun, p. ex. if 1 < 2 then "0" else "zéro".
(c) Refusée : /. attend deux float, or 2 est un int. Correction : 5.0 /. 2.0.
Exercices semblables
- L'algorithme d'Euclide corrigé
- Suite définie par récurrence mutuelle corrigé
- Puissance entière et dépassement corrigé
- Prédire type et valeur corrigé
- Petites fonctions et type inféré corrigé