45 lines
920 B
Plaintext
45 lines
920 B
Plaintext
|
les cycle écriture-compilation-exécution
|
|||
|
|
|||
|
d ́efinitions r ́ecursives
|
|||
|
une fonction est
|
|||
|
r ́ecursive
|
|||
|
si elle fait appel `a elle mˆeme dans sa propre
|
|||
|
d ́efinition
|
|||
|
|
|||
|
définition par cas
|
|||
|
(match-with)
|
|||
|
|
|||
|
récursivité mutuelle
|
|||
|
|
|||
|
les types structurés
|
|||
|
- le produit cartésien
|
|||
|
- le n-uplet
|
|||
|
- types produits nommés (enregistrements)
|
|||
|
|
|||
|
type complexe = { re : float; im : float} ;;
|
|||
|
type complexe = { re : float; im : float; }
|
|||
|
# let a = {re=1.4; im = 0.5} ;;
|
|||
|
val a : complexe = {re = 1.4; im = 0.5}
|
|||
|
# a.re ;;
|
|||
|
- : float = 1.4
|
|||
|
# a.im ;;
|
|||
|
- : float = 0.5
|
|||
|
|
|||
|
les types sommes : modélisation de domaines finis
|
|||
|
# type couleur = Pique | Coeur | Carreau | Trefle;;
|
|||
|
type couleur = Pique | Coeur | Carreau | Trefle
|
|||
|
# let a = Trefle ;;
|
|||
|
val a : couleur = Trefle
|
|||
|
|
|||
|
let points v =
|
|||
|
match v with
|
|||
|
Pique -> 1
|
|||
|
| Trefle -> 2
|
|||
|
| Coeur -> 3
|
|||
|
| Carreau -> 4;;
|
|||
|
# points a ;;
|
|||
|
- : int = 2
|
|||
|
#
|
|||
|
constructeurs avec arguments
|
|||
|
type num = Int of int | Float of float
|