Commit a420d8ff authored by julian ariel zylber's avatar julian ariel zylber
Browse files

Numeros de Peano

parent f28d89a6
!classDefinition: #I category: #'Numeros de Peano'!
DenotativeObject subclass: #I
instanceVariableNames: ''
classVariableNames: ''
poolDictionaries: ''
category: 'Numeros de Peano'!
"-- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- "!
!classDefinition: 'I class' category: #'Numeros de Peano'!
I class
instanceVariableNames: ''!
!I class methodsFor: 'basic' stamp: 'Luis 4/30/2020 11:28:15'!
<= aNumber
^true.! !
!I class methodsFor: 'basic' stamp: 'JZ 4/27/2020 21:21:05'!
successor
^ self createChildNamed: self name , 'I'! !
!I class methodsFor: 'operations' stamp: 'JZ 4/30/2020 09:26:28'!
* aNumber
^ aNumber! !
!I class methodsFor: 'operations' stamp: 'JZ 4/27/2020 21:42:38'!
+ aNumber
^ aNumber successor! !
!I class methodsFor: 'operations' stamp: 'JZ 4/30/2020 11:50:33'!
/ aNumber
^ self! !
!I class methodsFor: 'operations' stamp: 'JZ 4/30/2020 09:22:14'!
isBeingSubtractedTo: aNumber
^ aNumber previous! !
!classDefinition: #II category: #'Numeros de Peano'!
I subclass: #II
instanceVariableNames: ''
classVariableNames: ''
poolDictionaries: ''
category: 'Numeros de Peano'!
"-- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- "!
!classDefinition: 'II class' category: #'Numeros de Peano'!
II class
instanceVariableNames: ''!
!II class methodsFor: 'operations' stamp: 'JZ 4/30/2020 09:27:49'!
* aNumber
^ aNumber + (self previous*aNumber)! !
!II class methodsFor: 'operations' stamp: 'JZ 4/27/2020 21:45:29'!
+ aNumber
^ (aNumber previous + self) successor! !
!II class methodsFor: 'operations' stamp: 'JZ 4/30/2020 09:20:32'!
- aNumber
^ aNumber isBeingSubtractedTo: self! !
!II class methodsFor: 'operations' stamp: 'Luis 4/30/2020 11:06:11'!
/ aNumber
|res|
res := I.
[(res*aNumber) <= self] whileTrue:[
res := res successor
].
^res previous ! !
!II class methodsFor: 'operations' stamp: 'Luis 4/30/2020 11:28:35'!
<= aNumber
aNumber = I
ifTrue:[^false]
ifFalse:[^ self previous <= aNumber previous]! !
!II class methodsFor: 'operations' stamp: 'JZ 4/30/2020 09:21:52'!
isBeingSubtractedTo: aNumber
^ self previous isBeingSubtractedTo: aNumber previous! !
!II class methodsFor: 'basic' stamp: 'JZ 4/27/2020 21:46:42'!
previous
^self parent.! !
!II class methodsFor: 'basic' stamp: 'Luis 4/30/2020 02:52:49'!
successor
^self createChildNamed: self name , 'I'.! !
!classDefinition: #III category: #'Numeros de Peano'!
II subclass: #III
instanceVariableNames: ''
classVariableNames: ''
poolDictionaries: ''
category: 'Numeros de Peano'!
"-- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- "!
!classDefinition: 'III class' category: #'Numeros de Peano'!
III class
instanceVariableNames: ''!
!III class methodsFor: 'as yet unclassified' stamp: 'Luis 4/30/2020 03:02:33'!
previous
^self parent! !
!classDefinition: #IIII category: #'Numeros de Peano'!
III subclass: #IIII
instanceVariableNames: ''
classVariableNames: ''
poolDictionaries: ''
category: 'Numeros de Peano'!
!classDefinition: #IIIII category: #'Numeros de Peano'!
IIII subclass: #IIIII
instanceVariableNames: ''
classVariableNames: ''
poolDictionaries: ''
category: 'Numeros de Peano'!
!classDefinition: #IIIIII category: #'Numeros de Peano'!
IIIII subclass: #IIIIII
instanceVariableNames: ''
classVariableNames: ''
poolDictionaries: ''
category: 'Numeros de Peano'!
!classDefinition: #IIIIIII category: #'Numeros de Peano'!
IIIIII subclass: #IIIIIII
instanceVariableNames: ''
classVariableNames: ''
poolDictionaries: ''
category: 'Numeros de Peano'!
!classDefinition: #IIIIIIII category: #'Numeros de Peano'!
IIIIIII subclass: #IIIIIIII
instanceVariableNames: ''
classVariableNames: ''
poolDictionaries: ''
category: 'Numeros de Peano'!
!classDefinition: #IIIIIIIII category: #'Numeros de Peano'!
IIIIIIII subclass: #IIIIIIIII
instanceVariableNames: ''
classVariableNames: ''
poolDictionaries: ''
category: 'Numeros de Peano'!
!classDefinition: #TestNumerosDePeano category: #'Numeros de Peano'!
DenotativeObject subclass: #TestNumerosDePeano
instanceVariableNames: ''
classVariableNames: ''
poolDictionaries: ''
category: 'Numeros de Peano'!
"-- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- "!
!classDefinition: 'TestNumerosDePeano class' category: #'Numeros de Peano'!
TestNumerosDePeano class
instanceVariableNames: ''!
!TestNumerosDePeano class methodsFor: 'as yet unclassified' stamp: 'JZ 4/27/2020 20:50:33'!
test01
Assert that: I successor isEqualTo: II ! !
!TestNumerosDePeano class methodsFor: 'as yet unclassified' stamp: 'Luis 4/30/2020 02:34:22'!
test02
Assert that: II successor isEqualTo: III.! !
!TestNumerosDePeano class methodsFor: 'as yet unclassified' stamp: 'JZ 4/27/2020 21:26:01'!
test02ElSucesorDeUnNumeroNEsNAsterisco
Assert that: II successor isEqualTo: III.
Assert that: III successor isEqualTo: IIII.! !
!TestNumerosDePeano class methodsFor: 'as yet unclassified' stamp: 'JZ 4/27/2020 21:33:43'!
test03UnoMasUnNumeroEsIgualAlSucesorDelNumero
Assert that: I + III isEqualTo: IIII.! !
!TestNumerosDePeano class methodsFor: 'as yet unclassified' stamp: 'Luis 4/30/2020 02:37:53'!
test03UnoMasUnNumerosEsIgualAlSucesorDelNumero
Assert that: I + III isEqualTo: III successor.! !
!TestNumerosDePeano class methodsFor: 'as yet unclassified' stamp: 'JZ 4/27/2020 21:48:39'!
test04
Assert that: II + III isEqualTo: IIIII.
Assert that: III + IIII isEqualTo: IIIIIII.! !
!TestNumerosDePeano class methodsFor: 'as yet unclassified' stamp: 'Luis 4/30/2020 03:00:24'!
test05DosMenosUno
Assert that: II - I isEqualTo: I. ! !
!TestNumerosDePeano class methodsFor: 'as yet unclassified' stamp: 'Luis 4/30/2020 03:02:07'!
test06Resta
Assert that: IIII - II isEqualTo: II. ! !
!TestNumerosDePeano class methodsFor: 'as yet unclassified' stamp: 'Luis 4/30/2020 03:39:03'!
test07UnoPorAlgo
Assert that: I * II isEqualTo: II. ! !
!TestNumerosDePeano class methodsFor: 'as yet unclassified' stamp: 'Luis 4/30/2020 03:39:17'!
test08Multiplicacion
Assert that: II * II isEqualTo: IIII. ! !
!TestNumerosDePeano class methodsFor: 'as yet unclassified' stamp: 'JZ 4/30/2020 11:45:01'!
test09DivisionEntera
Assert that: IIII / II isEqualTo: II. ! !
!TestNumerosDePeano class methodsFor: 'as yet unclassified' stamp: 'JZ 4/30/2020 11:45:21'!
test10DivisionNoEntera
Assert that: IIIII / II isEqualTo: II. ! !
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment