Le langage informatique Smalltalk ne connaît pas la priorité des opérateurs. L’ordre de calcul des quatre opérations arithmétiques (+ ; - ; * ; /) est toujours de la gauche vers la droite. Les opérateurs sont en fait des messages binaires comme expliqué dans le chapitre sur la syntaxe du langage : l’ordre d’envoi d’une série de messages binaires est de la gauche vers la droite.
Pour changer l’ordre de calculs, il faut donc utiliser des parenthèses.
5 * 3 + 2 ⇒ 17 5 + 3 * 2 C'est équivalent en mathématiques à (5 + 3) * 2 ⇒ 16 ! 5 + (3 * 2) C'est équivalent en mathématiques à 5 + 3 * 2 ⇒ 11
Pour résumer. Lorsque nous écrivons un calcul avec le langage Smalltalk, il faut donc garder en tête que l’ordre de calculs des opérations arithmétiques est toujours de la gauche vers la droite. Pour changer l’ordre, utiliser des parenthèses.
Écrire le code informatique de calculs pour obtenir les résultats suivants (à droite de ⇒). Lorsque nécessaire, utiliser des parenthèses pour suivre l’ordre des priorités mathématiques des opérateurs arithmétiques :
10 / 5 + 2 ⇒ 4
2 + 10 / 5 ⇒ 4
10 + 7 * 2 + 4 ⇒ 28
(6 + 4) * 2 ⇒ 20
4 * 5 + 7 * 2 ⇒ 34
Dr.Geo sait calculer avec des nombres fractionnaires, il faut juste bien veiller à placer les fractions entre parenthèses.
Mathématiques : 1 / 5 + 3 / 5 ⇒ 4 / 5 Code : (1/5) + (3/5) ⇒ (4/5)
S’entraîner avec l’exercice suivant :
Écire le code pour effectuer les calculs suivants :
2 / 9 + 3 / 9 ⇒ 5 / 9
5 / 7 - 2 / 7 ⇒ 3 / 7
(2 / 3) * (4 / 5) ⇒ 8 / 15
Résultat mathématique. L’inverse d’une nombre – et d’une fraction – s’obtient en divisant 1 par ce nombre.
Par exemple, 1 / (4/5) = 5/4. Cela s’écrit de la même façon en code informatique.
Code : 1/(3/5) ⇒ (5/3)
Écrire le code pour calculer les inverses des fractions (7/4) et (98/99).
Résultat mathématique. La division euclidienne ou division entière de deux nombres entiers où 423 est le dividende et 15 le diviseur donne un quotient de 28 et un reste de 3.
Ces résultats se calculent avec les messages binaires //
pour
le quotient et \\
le reste.
423 // 15 ⇒ 28 "le quotient" 423 \\ 15 ⇒ 3 "le reste"
Écrire le code pour calculer le quotient et le reste des divisions suivantes :
- 65 par 7
- 732 par 13
- 5241 par 29