< Premiers pas en OCaml
fin de la boite de navigation du chapitre

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 :
Document au format H T M L[html]le document est sous une licence copyright[licence Copyright] • français • lien vers le document • Conseils de présentation des programmes

Document au format H T M L[html]le document est sous une licence copyright[licence Copyright] • anglais • lien vers le document • Liste des fonctions


Cet article est issu de Wikiversity. Le texte est sous licence Creative Commons - Attribution - Partage dans les Mêmes. Des conditions supplémentaires peuvent s'appliquer aux fichiers multimédias.