« Premiers pas en OCaml/Opérations arithmétiques » : différence entre les versions
imported>Crochet.david.bot m Robot : remplacement de texte automatisé (-\n(==={0,3})(?: *)([^\n=\s]+)(?: *)\1(?: *)\n +\n\1 \2 \1\n) |
(Aucune différence)
|
Dernière version du 22 août 2023 à 13:19
Opérations sur les entiers
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
# 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
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
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
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
# 1.0 +. 2.0 ;;
- : float = 3.
Priorité des opérateurs
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
Mais cette fois la division donne le résultat exact.
# 5. /. 2. ;;
- : float = 2.5
Puissance
La puissance () est donnée par l'opérateur **.
(* x ** n *)
# 3. ** 4. ;;
- : float = 81.
Racine carrée
La racine carrée () est donnée par la fonction sqrt.
# sqrt 81. ;;
- : float = 9.
Fonctions trigonométriques
Les fonctions trigonométriques :
- cos
- sin
- tan
- acos
- asin
- atan
- atan2
4. *. atan 1.;;
- : float = 3.14159265358979312
Fonctions logarithmiques et exponentielle
# exp 0. ;;
- : float = 1.
# log 1. ;;
- : float = 0.
# log (-1.) ;;
- : float = nan
# exp (log 42.) ;;
- : float = 42.0000000000000071
Tableau récapitulatif
Voir la fiche de synthèse.
Références
Toutes ces informations sont disponibles sur la documentation officielle :
Modèle:LienWeb