« Premiers pas en OCaml/Opérations arithmétiques » : différence entre les versions

De testwiki
Aller à la navigation Aller à la recherche
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

Modèle: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 (xn) est donnée par l'opérateur **.

(* x ** n *)
# 3. ** 4. ;;

- : float = 81.

Racine carrée

La racine carrée (x) 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

Modèle:LienWeb


Modèle:Bas de page