« Premiers pas en OCaml/Opérations arithmétiques » : différence entre les versions
Contenu supprimé Contenu ajouté
m style |
retrait des balises exemple pour uniformisé la leçon + ajout de titres |
||
Ligne 11 :
Les opérateurs <code>+</code>, <code>-</code>, <code>/</code>, <code>*</code>, <code>mod</code> 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 ===
<source lang="ocaml">
# 1+2;;
Ligne 19 ⟶ 17 :
- : int = 3
</source>
Vous pouvez aussi insérer des espaces et tabulations dans votre expression. Cela ne change pas le résultat.
<source lang="ocaml">
# 1 + 2;;
Ligne 30 ⟶ 25 :
- : int = 3
</source>
=== Priorité des opérateurs ===
L'ordre des opérateurs est le même que pour les mathématiques : <code>*</code> et <code>/</code> sont prioritaires sur <code>+</code> et <code>-</code>.
<source lang="ocaml">
# 1*2-3+4;;
Ligne 41 ⟶ 34 :
- : int = 3
</source>
Mais il reste possible d'utiliser des parenthèse pour changer les priorités.
<source lang="ocaml">
# 1*2-(3+4);;
Ligne 52 ⟶ 41 :
- : int = -5
</source>
L'utilisation de la division <code>/</code> donne le quotient de la division euclidienne.
<source lang="ocaml">
# 5/2;;
Ligne 63 ⟶ 50 :
- : int = 2
</source>
L'opérateur modulo '''mod''' quant à lui donne le reste de la division euclidienne.
▲ |titre=Modulo (Reste de la division euclidienne)
<source lang="ocaml">
# 5 mod 2;;
Ligne 74 ⟶ 58 :
- : int = 1
</source>
== Opérations sur les réels ==
Les opérateurs pour les réels sont les mêmes que pour les entiers mais suivit d'un point
=== Exemple d'opération sur les réels : l'addition ===
<source lang="ocaml">
# 1.0 +. 2.0
Ligne 87 ⟶ 69 :
- : float = 3.
</source>
=== Priorité des opérateurs ===
L'addition s'effectue avec l'opérateur '+' pour les entier et '+.' pour les réels.▼
De même '*.' et '/.' sont prioritaires sur '+.' et '-.'.▼
▲De même
<source lang="ocaml">
# 1.*.2.-.3.+.4.;;
Ligne 100 ⟶ 80 :
- : float = 3.
</source>
De même les parenthèse change les priorités.
<source lang="ocaml">
# 1.*.2.-.(3.+.4.);;
Ligne 111 ⟶ 87 :
- : float = -5.
</source>
Mais cette fois la division donne le résultat exacte.
▲ |titre=Division exacte
<source lang="ocaml">
# 5./.2.;;
Ligne 123 ⟶ 97 :
- : float = 2.5
</source>
La [[w:Puissance_%28math%C3%A9matiques_%C3%A9l%C3%A9mentaires%29|puissance]] x'''**'''n -> x<sup>n</sup>▼
▲La [[w:Puissance_%28math%C3%A9matiques_%C3%A9l%C3%A9mentaires%29|puissance]] (<math>x^n</math>) est donnée par l'opérateur '''**'''
▲ |titre=Puissance
<source lang="ocaml">
(* x**n *)
# 3.**4.;;
- : float = 81.
</source>
La [[w:Racine_carr%C3%A9e|racine carrée]] '''sqrt''' x -> <math>\sqrt{x}</math>▼
▲La [[w:Racine_carr%C3%A9e|racine carrée]]
▲ |titre=Racine carrée
<source lang="ocaml">
sqrt 81.;;
Ligne 145 ⟶ 116 :
- : float = 9.
</source>
Les [[w:Fonction_trigonom%C3%A9trique|fonctions trigonométriques]] :
Ligne 154 ⟶ 126 :
* asin
* atan
▲ |titre=Fonctions trigonométriques
<source lang="ocaml">
4. *. atan 1.;;
Ligne 162 ⟶ 132 :
- : float = 3.14159265358979312
</source>
* [[w:Fonction_exponentielle|exp]]
* [[w:Logarithme_naturel|log]]
* [[w:Logarithme_d%C3%A9cimal|log10]]
<source lang="ocaml">
exp 0.;;
Ligne 182 ⟶ 149 :
- : float = - : float = 42.0000000000000071.
</source>
== Référence ==
Toutes les fonctions sont disponible sur la documentation du site officiel : <br />
|