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

Contenu supprimé Contenu ajouté
Watermy (discussion | contributions)
m style
Watermy (discussion | contributions)
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 ===
{{Exemple
|titre=Addition d'entier
|contenu=
<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.
{{Exemple
|titre=Addition d'entier
|contenu=
<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>.
{{Exemple
|titre=Opération arithmétique sur les entiers
|contenu=
<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.
{{Exemple
|titre=Opération arithmétique parenthésés sur les entiers
|contenu=
<source lang="ocaml">
# 1*2-(3+4);;
Ligne 52 ⟶ 41 :
- : int = -5
</source>
 
}}
|titre=Modulo== (Reste de laLa division euclidienne) ===
 
L'utilisation de la division <code>/</code> donne le quotient de la division euclidienne.
{{Exemple
|titre=Division euclidienne
|contenu=
<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.
{{Exemple
|titre=Modulo (Reste de la division euclidienne)
|contenu=
<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 '''<code>+.'''</code>,''' <code>-.</code>,''' <code>*.'''</code>,''' <code>/.'''</code>.
 
=== Exemple d'opération sur les réels : l'addition ===
 
{{Exemple
|titre=Addition de réels
|contenu=
<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 '-.'.
L'addition s'effectue avec l'opérateur '+' pour les entier et '+.' pour les réels.
De même '<code>*.'</code> et '<code>/.'</code> sont prioritaires sur '<code>+.'</code> et '<code>-.'</code>.
 
{{Exemple
|titre=Opérations arithmétiques sur les réels
|contenu=
<source lang="ocaml">
# 1.*.2.-.3.+.4.;;
Ligne 100 ⟶ 80 :
- : float = 3.
</source>
}}
 
De même les parenthèse change les priorités.
{{Exemple
|titre= Opérations arithmétiques parenthésés sur les réels
|contenu=
<source lang="ocaml">
# 1.*.2.-.(3.+.4.);;
Ligne 111 ⟶ 87 :
- : float = -5.
</source>
 
}}
|titre=== Division exacte ===
 
Mais cette fois la division donne le résultat exacte.
 
{{Exemple
|titre=Division exacte
|contenu=
<source lang="ocaml">
# 5./.2.;;
Ligne 123 ⟶ 97 :
- : float = 2.5
</source>
}}
 
|titre=== Puissance ===
La [[w:Puissance_%28math%C3%A9matiques_%C3%A9l%C3%A9mentaires%29|puissance]] x'''**'''n -> x<sup>n</sup>
 
{{Exemple
La [[w:Puissance_%28math%C3%A9matiques_%C3%A9l%C3%A9mentaires%29|puissance]] (<math>x^n</math>) est donnée par l'opérateur '''**'''n. -> x<sup>n</sup>
|titre=Puissance
|contenu=
<source lang="ocaml">
(* x**n *)
# 3.**4.;;
 
- : float = 81.
</source>
}}
 
|titre=== Racine carrée ===
La [[w:Racine_carr%C3%A9e|racine carrée]] '''sqrt''' x -> <math>\sqrt{x}</math>
 
{{Exemple
La [[w:Racine_carr%C3%A9e|racine carrée]] '''sqrt''' x -> (<math>\sqrt{x}</math>) est donnée par la fonction '''sqrt'''.
|titre=Racine carrée
|contenu=
<source lang="ocaml">
sqrt 81.;;
Ligne 145 ⟶ 116 :
- : float = 9.
</source>
 
}}
|titre=== Fonctions trigonométriques ===
 
Les [[w:Fonction_trigonom%C3%A9trique|fonctions trigonométriques]] :
Ligne 154 ⟶ 126 :
* asin
* atan
 
{{Exemple
|titre=Fonctions trigonométriques
|contenu=
<source lang="ocaml">
4. *. atan 1.;;
Ligne 162 ⟶ 132 :
- : float = 3.14159265358979312
</source>
}}
 
Les=== fonctionsFonctions logarithmiques et exponentielle :===
 
* [[w:Fonction_exponentielle|exp]]
* [[w:Logarithme_naturel|log]]
* [[w:Logarithme_d%C3%A9cimal|log10]]
 
{{Exemple
|titre=Fonction logarithmiques et exponentielles.
|contenu=
<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 />