Il existe différents ensembles de nombres dont les nombres naturels et les nombres entiers relatifs.
Ecrire l’exemple ci-dessous, puis le sélectionner à la souris et l’exécuter par un Print it (Ctrl-p).
(0 à: 100) commeEnsemble
Le résultat est un ensemble des nombres naturels de 0 à
100. Set
en anglais se traduit par Ensemble.
(0 à: 100) commeEnsemble ⇒ "a Set(0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100)"
Le message à mot clé à:
crée un intervalle de valeurs
numériques. Il est envoyé à un nombre, valeur de départ de
l’intervalle, ici 0, avec comme argument la fin de l’intervalle, ici
100. Le message unaire commeEnsemble
est uniquement là comme
commodité d’affichage de la réponse.
Créer l’ensemble de nombres entiers relatifs de -80 à 50.
Les nombres décimaux s’écrivent avec un point “.” comme séparateur
de la partie entière et de la partie décimale : 1.5
,
1235.021
ou 0.5
. Le nombre 0.00004
s’écrit plus
simplement 4e-5
; cela veut dire 4 précédé de 5 zéros ou 4
comme 5ième chiffre après la virgule.
Attention. Les ordinateurs se représentent les nombres décimaux d’une façon légèrement imprécise. Vous devez savoir que contrairement à vous, ils ne savent pas toujours faire des calculs exacts avec les nombres décimaux. La plupart des systèmes informatiques masquent ces erreurs car elles sont très faibles. Le langage Smalltalk ne cachent pas cette imprécision.
0.1 + 0.2 - 0.3 ⇒ 5.551115123125783e-17
Dans l’Exemple 3.2, la valeur retournée devrait être zéro
mais ce n’est pas le cas. L’ordinateur retourne 5.55e-17
, soit
0.0000000000000000555, c’est très proche de zéro, mais il y a tout de
même une petite erreur.
Donner 3 calculs montrant des erreurs sur les résultats attendus.
Lorsque la précision doit être absolue pour un programme, il faut utiliser une autre représentation des nombres décimaux : les fractions ou nombres rationnels.
Les nombres fractionnaires s’écrivent avec une barre de
division : en exécutant et en affichant – par print it –
le code 5/2
⇒ (5/2)
. Le système a retourné une
fraction entre parenthèses, il n’a pas calculé la forme décimale.
Que se passe-t-il lors de l’exécution du code
5/0
?
Revenons au problème de dyscalculie de l’ordinateur avec les nombres décimaux. En utilisant l’écriture fractionnaire des nombres décimaux, l’Exemple 3.2 devient alors comme ci-dessous.
(1/10) + (2/10) - (3/10) ⇒ 0
Cette fois-ci l’ordinateur ne souffre plus de dyscalculie.
Reprendre l’Exercice 3.2 en écrivant les décimaux avec leur écriture fractionnaire. Les erreurs constatées disparaissent.
L’écriture fractionnaire est donc très utile lorsque la précision est
nécessaire. Pour obtenir l’écriture décimale d’une fraction, il suffit
de lui demander en lui envoyant le message unaire
commeDecimal
. Par exemple (5/2) commeDecimal
⇒
2.5
. Attention les parenthèses sont importantes pour l’ordre
d’envoi des messages.
Une autre possibilité est d’écrire la fraction avec un numérateur ou
un dénominateur sous forme décimale. 5.0/2
ou 5/2.0
⇒ 2.5
.
Demander à Dr.Geo, de deux façons différentes, l’écriture décimale des fractions suivantes :
-15/7
-535/17
Dr.Geo sait aussi donner l’écriture fractionnaire d’un nombre
décimal. Encore une fois, il suffit de demander par l’envoi d’un
message commeFractionApprochee
. Nous savons déjà que
l’ordinateur est dyscalculique lorsqu’il manipule des nombres
décimaux. C’est pour cette raison que lorsque nous demandons une
fraction d’un nombre décimal le message s’appelle
commeFractionApprochee
et non pas commeFraction
car nous
devons tenir compte de son trouble.
Observer les deux exemples ci-dessous.
1.3 commeFraction ⇒ (5854679515581645/4503599627370496) 1.3 commeFractionApprochee ⇒ (13/10)
Le premier montre le nombre rationnel tel que l’ordinateur se
représente 1.3. Si c’est juste à l’affichage– la division donne bien
1.3 – c’est loin d’être la réponse attendue. Le deuxième exemple
donne la réponse attendue. Il faut donc utiliser le message
commeFractionApprochee
pour obtenir une fraction
“raisonnable”.
Déterminer avec Dr.Geo les écritures fractionnaires des nombres suivants : 1.2 ; 17.3 ; 0.00175 et 9542.25