11/01/17
part. 1 : types, expressions et fonctions
1
inf201 : algorithmique et programmation fonctionnelle
B.II.3) Les types
B) Outils d'analyse et composants du langage
a) Définition
Type : ensemble de valeurs
et opérations associées
11/01/17
part. 1 : types, expressions et fonctions
2
inf201 : algorithmique et programmation fonctionnelle
B) Outils d'analyse et composants du langage
b) Types manipulés en INF201
Booléens &: bool
Caractères &: char
Chaînes de caractères &: string
Nombres &: , , &; int, float
Textes : séq(caractères)&; char list
Séquences : séq(éléments)&; 'elt list
Arbres : abin(éléments)&; 'elt abin
11/01/17
part. 1 : types, expressions et fonctions
3
inf201 : algorithmique et programmation fonctionnelle
B) Outils d'analyse et composants du langage
B.III) Simplification de l'analyse : nommer une expression
En math : « Posons nom = expr »
nom : identificateur
expr : expression
ex : « Posons Δ = »
............
... Δ ...
............ » statut de
a, b, c ?
b
2
4ac
11/01/17
part. 1 : types, expressions et fonctions
4
inf201 : algorithmique et programmation fonctionnelle
B) Outils d'analyse et composants du langage
En Ocaml : let nom:type = expr ;;
expr : expression algébrique calculable
type : type de l'expression
nom : identificateur
ex : let delta : float =
b*.b -. 4.0*.a*.c ;;
............. ;;
... delta ... ;;
............. ;;
a, b, c doivent être
liés à des valeurs
11/01/17
part. 1 : types, expressions et fonctions
5
inf201 : algorithmique et programmation fonctionnelle
B) Outils d'analyse et composants du langage
# let delta:float =
b*.b -. 4.0*.a*.c ;;
Unbound value b (valeur b non liée)
# let a = 2.5 ;; (liaison de a)
val a : float = 2.5
# let b = -1.0/.3.0 ;; (liaison de b)
val b : float = -0.333333333333333315
# let c = 1.23 ;; (liaison de c)
val c : float = 1.23
# let delta = b*.b -. 4.0*.a*.c ;;
val delta : float = -12.18888888888889
1 / 19 100%