Premiers pas en OCaml/Opérations arithmétiques
Opérations sur les entiers modifier
L'inférence de type décharge le développeur de la déclaration des différents types. En contrepartie il faut utiliser des opérateurs spécifiques pour chaque type.
Les opérateurs +
, -
, /
, *
, mod
permettent respectivement d'effectuer additions, soustractions, division euclidienne, multiplication et reste de la division euclidienne (modulo).
Exemple d'opération sur les entiers : l'addition modifier
# 1+2;;
- : int = 3
Vous pouvez aussi insérer des espaces et tabulations dans votre expression. Cela ne change pas le résultat.
# 1 + 2 ;;
- : int = 3
Néanmoins il est conseillé d'utiliser
- un espace après un délimiteurs (',')
- un espace avant et après les symboles d'opérations ('+').
Priorité des opérateurs modifier
L'ordre des opérateurs est le même que pour les mathématiques : *
et /
sont prioritaires sur +
et -
.
# 1 * 2 - 3 + 4 ;;
- : int = 3
Mais il reste possible d’utiliser des parenthèses pour changer les priorités.
# 1 * 2 - (3 + 4) ;;
- : int = -5
La division euclidienne modifier
L'utilisation de la division /
donne le quotient de la division euclidienne.
# 5 / 2 ;;
- : int = 2
L'opérateur modulo mod quant à lui donne le reste de la division euclidienne.
# 5 mod 2 ;;
- : int = 1
Opérations sur les réels modifier
Les opérateurs pour les réels sont les mêmes que pour les entiers, mais suivis d'un point +.
, -.
, *.
, /.
.
Exemple d'opération sur les réels : l'addition modifier
# 1.0 +. 2.0 ;;
- : float = 3.
Priorité des opérateurs modifier
L'addition s'effectue avec l'opérateur + pour les entiers et +. pour les réels.
De même *.
et /.
sont prioritaires sur +.
et -.
.
# 1. *. 2. -. 3. +. 4. ;;
- : float = 3.
De même, les parenthèses changent les priorités.
# 1. *. 2. -. (3. +. 4.) ;;
- : float = -5.
Division exacte modifier
Mais cette fois la division donne le résultat exact.
# 5. /. 2. ;;
- : float = 2.5
Puissance modifier
La puissance ( ) est donnée par l'opérateur **.
(* x ** n *)
# 3. ** 4. ;;
- : float = 81.
Racine carrée modifier
La racine carrée ( ) est donnée par la fonction sqrt.
# sqrt 81. ;;
- : float = 9.
Fonctions trigonométriques modifier
Les fonctions trigonométriques :
- cos
- sin
- tan
- acos
- asin
- atan
- atan2
4. *. atan 1.;;
- : float = 3.14159265358979312
Fonctions logarithmiques et exponentielle modifier
# exp 0. ;;
- : float = 1.
# log 1. ;;
- : float = 0.
# log (-1.) ;;
- : float = nan
# exp (log 42.) ;;
- : float = 42.0000000000000071
Tableau récapitulatif modifier
Voir la fiche de synthèse.
Références modifier
Toutes ces informations sont disponibles sur la documentation officielle :
[html] • [licence Copyright] • (fr) • lien vers le document • Conseils de présentation des programmes
[html] • [licence Copyright] • (en) • lien vers le document • Liste des fonctions