1
Extension { #name : #Number }
3
{ #category : #'*DrGeo-French' }
4
Number >> a: UnNombre [
9
{ #category : #'*DrGeo-French' }
10
Number >> a: UnNombre faire: UnBloc [
11
"boucle à condition de sortie"
13
^self to: UnNombre do: UnBloc.
16
{ #category : #'*DrGeo-French' }
17
Number >> a: UnNombre par: UnPas [
18
"répond un intervalle avec un pas"
19
^self to: UnNombre by: UnPas.
22
{ #category : #'*DrGeo-French' }
23
Number >> a: UnNombre par: UnPas faire: UnBloc [
25
^self to: UnNombre by: UnPas do: UnBloc.
28
{ #category : #'*DrGeo-French-printing' }
34
{ #category : #'*DrGeo-French-printing' }
35
Number >> afficheEnBase: UneBase [
37
^self printStringBase: UneBase.
40
{ #category : #'*DrGeo-French-truncation' }
42
"répond l'arrondi à l'entier le plus proche"
46
{ #category : #'*DrGeo-French-truncation' }
47
Number >> arrondirA: UnNombre [
48
"répond l'arrondi à UnNombre près.
49
Par exemple 2 racine arrondirA: 0.01 répond 1.41"
51
^self roundTo: UnNombre .
54
{ #category : #'*DrGeo-French-truncation' }
55
Number >> arrondirParDefautA: UnNombre [
56
"répond l'arrondi par défaut;
57
par exemple, 2 racine arrondirExcesA: 0.01 répond 1.41"
59
^self roundDownTo: UnNombre
62
{ #category : #'*DrGeo-French-truncation' }
63
Number >> arrondirParExcesA: UnNombre [
64
"répond l'arrondi à l'excès;
65
par exemple, 2 racine arrondirExcesA: 0.01 répond 1.42"
66
^self roundUpTo: UnNombre
69
{ #category : #'*DrGeo-French' }
75
{ #category : #'*DrGeo-French' }
81
{ #category : #'*DrGeo-French' }
82
Number >> augmenteDe1 [
87
{ #category : #'*DrGeo-French' }
88
Number >> augmenteDe: unNombre [
89
"augmente d'un nombre."
94
{ #category : #'*DrGeo-French' }
95
Number >> augmenteDePourcents: unPourcentage [
96
"augmente d'un pourcentage.
97
Par exemple 200 augmenteDePourcents: 6 répond 212"
99
^self * (1 + (unPourcentage / 100)).
102
{ #category : #'*DrGeo-French' }
103
Number >> avecLeSigneDe: UnNombre [
105
^UnNombre copySignTo: self.
108
{ #category : #'*DrGeo-French-conversion' }
109
Number >> commeDecimal [
114
{ #category : #'*DrGeo-French-conversion' }
115
Number >> commeDuree [
120
{ #category : #'*DrGeo-French-conversion' }
121
Number >> commeEntier [
126
{ #category : #'*DrGeo-French-conversion' }
127
Number >> commeNombre [
132
{ #category : #'*DrGeo-French' }
139
{ #category : #'*DrGeo-French' }
142
^self radiansToDegrees.
145
{ #category : #'*DrGeo-French' }
146
Number >> devientCombienSachantQue: unNombre devient: unAutreNombre [
149
^(self * unAutreNombre / unNombre).
152
{ #category : #'*DrGeo-French' }
153
Number >> diminueDe1 [
158
{ #category : #'*DrGeo-French' }
159
Number >> diminueDe: unNombre [
160
"diminue d'un nombre."
165
{ #category : #'*DrGeo-French' }
166
Number >> diminueDePourcents: unPourcentage [
167
"diminue d'un pourcentage.
168
Par exemple 200 diminuéDePourcents: 6 répond 188"
170
^self * (1 - (unPourcentage / 100)).
173
{ #category : #'*DrGeo-French-printing' }
174
Number >> enPourcents [
175
^ String streamContents: [ :str |
176
(self * 100) storeOn: str.
177
str nextPutAll: ' %'].
180
{ #category : #'*DrGeo-French-testing' }
181
Number >> estDecimal [
186
{ #category : #'*DrGeo-French-testing' }
187
Number >> estDivisiblePar: UnNombre [
189
^self isDivisibleBy: UnNombre.
192
{ #category : #'*DrGeo-French-testing' }
193
Number >> estEntier [
198
{ #category : #'*DrGeo-French-testing' }
199
Number >> estInfini [
204
{ #category : #'*DrGeo-French-testing' }
205
Number >> estNombre [
210
{ #category : #'*DrGeo-French-testing' }
216
{ #category : #'*DrGeo-French-testing' }
217
Number >> estPasNombre [
222
{ #category : #'*DrGeo-French-conversion' }
228
{ #category : #'*DrGeo-French' }
234
{ #category : #'*DrGeo-French' }
240
{ #category : #'*DrGeo-French-conversion' }
246
{ #category : #'*DrGeo-French-conversion' }
247
Number >> millisecondes [
252
{ #category : #'*DrGeo-French' }
253
Number >> moyenneAvec: unNombre [
255
^((self + unNombre)/2).
258
{ #category : #'*DrGeo-French-conversion' }
259
Number >> nanosecondes [
264
{ #category : #'*DrGeo-French' }
270
{ #category : #'*DrGeo-French' }
276
{ #category : #'*DrGeo-French' }
282
{ #category : #'*DrGeo-French-truncation' }
283
Number >> partieDécimale [
287
{ #category : #'*DrGeo-French-truncation' }
288
Number >> partieEntiere [
292
{ #category : #'*DrGeo-French' }
298
{ #category : #'*DrGeo-French' }
299
Number >> pourcentsDe: UnNombre [
300
"répond un pourcentage.
301
Par exemple 6 pourcentsDe: 200 répond 12"
303
^self * UnNombre / 100.
306
{ #category : #'*DrGeo-French' }
307
Number >> procheDe: UnNombre [
309
^self closeTo: UnNombre.
312
{ #category : #'*DrGeo-French' }
313
Number >> puissance: UnNombre [
315
^self raisedTo: UnNombre.
318
{ #category : #'*DrGeo-French' }
324
{ #category : #'*DrGeo-French' }
325
Number >> racineCubique [
329
{ #category : #'*DrGeo-French' }
330
Number >> racineNieme: unEntier [
331
^self nthRoot: unEntier.
334
{ #category : #'*DrGeo-French-conversion' }
337
^self degreesToRadians.
340
{ #category : #'*DrGeo-French' }
341
Number >> reste: UnNombre [
345
{ #category : #'*DrGeo-French-conversion' }
351
{ #category : #'*DrGeo-French-conversion' }
357
{ #category : #'*DrGeo-French' }
363
{ #category : #'*DrGeo-French' }
370
{ #category : #'*DrGeo-French' }
371
Number >> strictementPositif [
373
^self strictlyPositive.
376
{ #category : #'*DrGeo-French' }
380
^(self sinus / (self cosinus)).
383
{ #category : #'*DrGeo-French-truncation' }
388
{ #category : #'*DrGeo-French-truncation' }
389
Number >> tronquerA: UnNombre [
390
"affiche le nombre tronqué à UnNombre près.
391
Par exemple, 2 racine tronquerA: 0.01 renvoie 1.41"
392
^ self truncateTo: UnNombre