Ej. Peano


Ejercicio: Números de Peano

Analizar la definición axiomática de Peano de los números naturales (https://es.wikipedia.org/wiki/Axiomas_de_Peano)

Habiendo leído los axiomas intente representar los números de Peano con objetos y mensajes. Llame al primer número I, al segundo número II, al tercero III y así sucesivamente.

El protocolo a implementar es el siguiente:

  • previous

  • next

  • + unNumeroDePeano

  • - unNumeroDePeano

  • * unNumeroDePeano

  • / unNumeroDePeano

Aclaraciones:

Cuando al II se le envíe el mensaje next, automáticamente se debe crear el III si aún no existe y así sucesivamente. Lo mismo con las demás operaciones.

(por ejemplo II * II generará el III y el IIII si aún no están representados y retornará el IIII).

Para la división, puede definirla de modo que retorne la parte natural (IIII/III retorna I) o bien que solo funcione para divisiones de resultado natural y cuando se pretende dividir números que no se dividen haya un error (ej IIII/III genera un error).

Desafíos:

  • Resolver la actividad usando TDD (Primero haciendo un test y luego implementando lo necesario para hacerlo pasar)

  • En los métodos *, + y - no debe haber ningún if.