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
Exemple 3.1: Les nombres naturels de 0 à 100
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.
Exercice 3.1: Nombres entiers relatifs
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
Exemple 3.2: Ordinateur dyscalculique !
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.
Exercice 3.2: D’autres erreurs de calculs avec des décimaux
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
?
Exercice 3.3: Vers l’infini et au delà
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
Exemple 3.3: Enfin juste avec les fractions !
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.
Exercice 3.4: Corriger les erreurs
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
Exercice 3.5: Fraction et écriture décimale
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)
Exemple 3.4: Encore la dyscalculie
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
Exercice 3.6: Conversion en fraction