Activities/Abacus/Abacos

From Sugar Labs
Jump to: navigation, search

English Abacus.jpg

Donde obtener la actividad Abacus

Activity | Source

Acerca de los Ábacos

Abacus-icon.png


La Actividad Abacus refiere al ábaco, y nos permite observar distintas formas de representar números usando estos antiguos dispositivos mecánicos desarrollados por todas las culturas. La Actividad trae variedades de ábacos bien distintas para explorar: Suanpan, el ábaco tradicional chino con 2 cuentas en la primer cubierta y 5 cuentas debajo; Soroban, el ábaco tradicional japonés con 1 cuenta encima y 4 debajo; Schoty, el ábaco tradicional ruso con 10 cuentas por columna y una columna con sólo 4 cuentas que se usaba para facilitar el denominador 4 en números mixtos; el Nepohualtzitzin, el ábaco tradicional maya con 3 cuentas encima y 4 debajo (base20). La Actividad Abacus incorpora también un ábaco binario (tradicional base 2), un ábaco hexadecimal (base 16) y tres ábacos que incluyen quebrados comunes: 1/2, 1/3, 1/4, 1/5, 1/6, 1/8, 1/9, 1/10, y 1/12, Fracciones, Caacupé y Cuisinaire. Desde la versión 9 Abacus incluye una barra de herramientas desde donde podemos diseñar el ábaco que quiera.

Las barras de herramientas

Abacus-main-toolbar.png
De izquierda a derecha:
  • botón barra de actividad (etiquetar, compartir, guardar)
  • botón saupan (ábaco chino)
  • botón decimal (ábaco en sistema decimal)
  • botón de adicionales (muestra un menú secundario con ábacos adicionales)
  • botón barra de customización
  • botón de parar -no se muestra en la figura-.
Abacus-secondary-toolbar.png
De izquierda a derecha los ábacos adicionales:
  • botón soroban (Ábaco japonés)
  • botón schety (Ábaco ruso)
  • botón nepohualtzintzin (Ábaco maya)
  • botón binario (Ábaco binario)
  • botón hexadecimal (Ábaco hexadecimal)
  • botón fracción (Ábaco fracciones)
  • botón Caacupe (Ábaco fracciones negativas y positivas)
  • botón Rodajas (Ábaco estilo cuisenaire)
Abacus-custom-toolbar.png
De izquierda a derecha los parámetros de customización:
  • elige el número de hileras
  • elige el número de cuentas en las hileras del marco superior
  • elige el número de cuentas en las hileras del marco inferior
  • elige el factor de multiplicación para las hileras superiores (ejemplo, en el ábaco Chino, cada cuenta superior cuenta ×5 el valor de una cuenta inferior de su misma hilera)
  • elige la base que determina el factor de multiplicación entre las hileras verticales de derecha a izquierda; este es 10 en los ábacos más convencionales (decimales),20 en el ábaco maya, 16 en el hexadecimal y 2 en el binario
  • botón crear ábaco nuevo (debe presionarse para activar la selección creada)

Cómo usar un ábaco

Setear el ábaco al inicio

Antes de comenzar una operación aritmética es necesario "limpiar" el ábaco. Luego se colocan las cuentas superiores se colocan hacia arriba y inferiores hacia abajo. Esta es la posición por defecto del ábaco al iniciar la actividad. Tenga en cuenta que algunos ábacos (por ejemplo, el schety ruso) no tienen cuentas superiores. En estos casos, todas las cuentas comienzan abajo.

La lectura de ábacos

En ábacos tipo Suanpan con factor ×5 de abajo hacia arriba, las cuentas inferiores representan 1s y las superiores representan 5s. En la primer hilera cada cuenta inferior que sube suma 1, mientras cada cuenta superior que baja suma 5.

En los ábacos decimales, las posiciones de las hileras de derecha a izquierda representan las posiciones decimales enteras 1s, 10s, 100, 1000, etc. Trabajando en otras bases como con (1) Nepohualtzintzin, que utiliza la base 20, las hileras de derecha a izquierda son potencias de 20 y sus cuentas valen 1s, 20s, 400s, 8000s, etc. En el ábaco de Schety, (2) las cuentas a la derecha de la hilera distinta, de sólo 4 cuentas, valen décimos, centésimos, milésimos y diezmilésimos; mientras las de la izquierda son las decenas, centenas y demás posiciones decimales enteras. En el ábaco Caacupé las cuentas en negro son fracciones de unidad y todas las cuentas pueden subir o bajar representando valores positivos y negativos. El ábaco personalizado permite elegir la base y la disposición de las cuentas.

En el centro del marco siempre se desplega en números y sistema decimal el valor actual de las cuentas. Experimentando se aprende rapidamente a escribir y leer los números sobre los ábacos.

Ejemplos: En la galería a continuación, se muestran varios ejemplos sencillos. En la colección de imágenes de arriba, el número 54321 se muestra en cada uno de los diferentes ábacos .

Sumando

Para sumar, simplemente agregamos cuentas para representar el número que se suma. Hay dos reglas a seguir: (1) cada vez que hay 5 unidades subidas en la parte inferior deben cancelarse bajando una cuenta de la parte superior y volviendo las inferiores a su lugar; y (2) cada vez que haya 10 unidades en una columna deben cancelarse agregando una unidad a la columna inmediatamente a la izquierda. ( En el Nepohualtzintzin, se cancelan 20 unidades con 1 de la columna izquierda )

Ejemplo: 4+3+5+19+24=55

Restando

Restar es lo opuesto de sumar. Se quitarán las cuentas que representen al número que se quiere restar. Se puede "pedir" unidades de la columna inmediatamente a la izquierda: disminuyendola en una cuentay agregando 10 cuentas a la columna donde estamos trabajando.

Ejemplo: 26–2–4–6–10=4

Multiplicación

There are several strategies for doing multiplication on an abacus. In the method used in the example below, the multiplier is stored on the far left of the abacus and the multiplicand is offset to the left by the number of digits in the multiplier. The red indicator is used to help keep track of where we are in the process.

División

Simple division (by a single-digit number) is the inverse of multiplication. In the example below, the dividend is put on the left (leaving one column vacant for the quotient) and the divisor on the right.


TODO: Add instructions for long division.

Fractions

The fraction abacus lets you add and subtract common fractions: 1/2, 1/3, 1/4, 1/5, 1/6, 1/8, 1/9, 1/10, and 1/12, The fractional value is determined by the number of black beads on a rod, e.g., to work with thirds, use the rod with three beads, to work with fifths, use the rod with five beads.

The rods with white beads are whole numbers in base 10; from left to right 100000, 10000, 1000, 100, 10, and 1.

Modifying Abacus

Abacus is under GPL license. You are free to use it and learn with it. You are also encouraged to modify it to suit your needs or just for a further opportunity to learn.

Most changes can be confined to three modules: AbacusActivity.py, abacus.py and abacus_window.py. The former define the Sugar and GNOME toolbars; the latter defines what code is executed by each type of abacus.

For instance, to add a menu item such as 'Reset' you would do the following in abacus.py:

  • Add these lines to the menu items list:
       menu_items = gtk.MenuItem(_("Reset"))
       menu.append(menu_items)
       menu_items.connect("activate", self._reset)
  • The _reset() method is trivial:
   def _reset(self, event, data=None):
       """ Reset """
       self.abacus.mode.reset_abacus()

Similarly, you can add another button to the Sugar toolbar in AbacusActivity.py:

  • Add these lines to the toolbar block:
           # Reset the beads on the abacus to the initial cleared position
           self.reset_button = ToolButton( "reset" )
           self.reset_button.set_tooltip(_('Reset'))
           self.reset_button.props.sensitive = True
           self.reset_button.connect('clicked', self._reset_button_cb)
           toolbar_box.toolbar.insert(self.reset_button, -1)
           self.reset_button.show()
  • The _reset_button_cb() method is trivial:
   def _reset_button_cb(self, event, data=None):
       """ Reset the beads on the abacus to the initial cleared position """
       self.abacus.mode.reset_abacus()
  • You'll have to create an icon for the button (reset.svg) and put it into the icon subdirectory of the bundle.

This will complete the changes in the abacus.py. The method reset_abacus() will have to be defined for each abacus in the abacus_window.py. This can be done by creating that method in the AbacusGeneric class used by all the varieties of abacus. The method may have to be overridden in some abacus subclasses for customization reasons. For instance, reset_abacus() was defined in AbacusGeneric class and then overridden in Schety.

If the changes involve modifying the graphics, then other methods may need to be modified as well. For instance, in order to introduce a reset button that can be clicked to reset the bead positions to the beginning, the following methods had to be modified – all in abacus_window.py:

  1. in the class Abacus, method _button_press_cb() to activate reset button;
  2. in the class AbacusGeneric, method create() to create the graphics for reset button;
  3. methods hide() and show() to make the button visible.

Discussion

It would be interesting to discuss various lesson plans for using an abacus here. Also, it would be interesting to explore the use of color. What if, for example, the more recent a bead is moved, the more colorful it is? (implemented in v5). This would perhaps make it more clear what the order of operations is on a calculation. Also, what it we extend the idea of the schety to include more fractional components, e.g., 3rd, 5ths, 6ths, etc. and perhaps have a mode where we can automate the consolidation of the fractional parts (implemented in v6).

Might be good to have some of the above information in Help, eg addition, subtraction, multiplication division. Just the text, no graphics?

It was proposed in IRC last night that a fun collaborative mode might be to have a number randomly generated and each sharer work independently to post it on the abacus of their choice first. There could be a tally of beads awarded for each correct answer. Maybe something to add to v10.

I wonder, should the beads on the fraction abacus vary in size? The halves should be five-bead heights each, for example?

As of v10, the beads are labeled.

Reporting problems

If you discover a bug in the program or have a suggestion for an enhancement, please file a ticket in our bug-tracking system.

You can view the open tickets here.