Aritmética en los códigos de barras

Los códigos de barras en su formato más familiar, una serie de barras y espacios de di­ferentes anchos, casi han cumplido 70 años. Su utilización más importante es como identi­ficador de un producto para facilitar su distribución, su cobro y el control de “stocks”. En un terminal de punto de venta, el escáner lee el código de barras, realiza una transacción de inventario, transmite la identificación del producto vendido y, concurrentemente, se ac­tualizan la cuenta de ventas y el inventario, para automatizar la reposición del producto cuando se alcanza un umbral fijado.

El diseño del código de barras básicamente se debe a Norman Joseph Woodland (1921-2012), quien tuvo que esperar al desarrollo de lectores apropiados y a la mejora de los sis­temas de impresión (la tecnología láser). La Medalla Nacional de la Tecnología, concedida a Woodland en 1992, fue el reconocimiento a su trabajo de diseño de los símbolos UPC y EAN, a partir de su patente publicada el 7/octubre/1952. En la patente figura Ber­nard Sil­ver, quien le había trasladado el problema de leer automáticamente información en el che­queo de supermercados. La habían presentado el 20/octubre/1949 (como “Aparato clasifi­cador y método”), pero su primer uso fue el 26/junio/1974 [Silver había fallecido en 1962] en un supermercado de la cadena Marsh en Troy, Ohio, siendo un simple paquete de chicle el primer producto vendido con un código de barras leído por un escáner. En Es­paña, el 3/octubre/1977 en el supermercado Mercadona de Valencia, ocurrió la primera venta de un producto (un estropajo de la fir­ma 3M) con el código de barras leído por un escáner.

Las barras y los espacios de un código de barras representan gráficamente los bits 1 y 0; lo cual se ve muy bien en las barras más lar­gas, el 1 0 1 en el inicio y fin y también 0 1 0 1 0 en el medio, el marco de la representación gráfica. Los dígitos que se muestran al pié del símbolo son co­dificados de modo diferente en el lado izquierdo y en el derecho, para que, cualquiera que sea la dirección de lectura empleada en el escá­ner, automáticamente se pueda dis­tinguir el lado. Cada cifra se re­presenta por dos barras y dos espacios (por eso, en un código EAN-13, siem­pre hay 30 ba­rras y 29 espacios en blanco). En la codificación original, código UPC, Univer­sal Product Code, la representación del lado derecho era simétrica a la del lado iz­quierdo (incluyendo el espacio en blanco, que ini­cia la codificación de cada dígito en la iz­quierda, mientras que está al final en la derecha). Pero el requisito de que el código EAN, European Article Number, debía representar 13 números, llevó a Woodland a buscar la for­ma de que en el lado izquierdo se puedan codificar siete ci­fras. Para ello se emplean dos mo­dos di­ferentes de co­dificación (aquí representados por los colores rojo y verde) siendo el primero de los dígitos del código el que determina, para cada uno de los seis dígitos siguientes, cuál de las dos re­presentaciones se utilizan (en el ejemplo, el 5 fija la al­ternancia rojoverdeverderojorojoverde). Y así, el pri­mer 4 está codificado 0100011, mien­tras el segundo 4 se codifica 0011101. La codificación presentada en rojo es el complemento binario de la correspon­diente azul del lado derecho (que a su vez es la imagen especular de la verde); en este ejemplo, los dos primeros 0 se codifican como 0001101, el tercero como 0100111 y el cuarto como 1110010.

Aunque presente en todos los sectores de compra y venta, y habituales en la sociedad actual, el significado de los códigos de barras es una incógnita para la mayoría de los consumidores. Todo lo más saben que esos números y barras se transforman en el precio a pagar al pasar por el cajero. Realmente cada código de barras no identifica un artículo indivi­dual concreto sino una tipología. Cuando el escáner lee el código, se transmite al ordena­dor el número que sirve como clave para extraer de la base de datos toda la información: nombre del producto, precio (que muestra en la caja registradora), fabricante,… Los dos o tres primeros dígitos identifican un país, que no tiene por que ser el país de origen del pro­ducto; simplemente proporcionan a los diferentes países capacidad de numerar en esa lo­calización a las compañías que, a su vez, pueden manufacturar sus productos en cualquier parte del mundo. Así los códigos cuyos números comienzan del 00 al 13 corresponden a códigos de Estados Unidos o Canadá (incluidos los del código UPC); los del 20 al 29 son códi­gos internos de almacén; Francia tiene reservados los números del 30 al 37; Alemania los del 40 al 440 y Italia los del 80 al 83. Mientras a Bulgaria sólo el 380; a Japón el 45 y el 49; y a España le corresponde el 84. El código aquí presentado como ejemplo, es el del agua mi­neral aquaBona, del manantial Fontoria de Cospeito (Lugo) y está etiquetado en Be­nelux, inicio de código 54, por la multinacional Coca Cola.

El que al pié de las barras aparezcan los dígitos que ellas codifican tiene una función práctica: si el escaneo falla, se puede teclear el código. Todos hemos comprobado que mu­chas veces cuando eso se realiza, salta un aviso sonoro y hay que repetir la operación. Ello ocurre gracias al dígito de control, el último de los dígitos, que permite detectar errores, como la transposición de dos cifras. El vector formado con los 13 dígitos del código debe cumplir que su producto escalar con el vector {1, 3, 1, 3, 1, 3, 1, 3, 1, 3, 1, 3, 1} sea un múlti­plo de 10. El método más sencillo de verificación manual consiste en escribir sucesivamen­te los dígitos del código en dos columnas, sumar cada una de ellas (módulo 10) y compro­bar que la suma de la primera columna más tres veces la suma de la segunda es un múlti­plo de 10. En el ejemplo aquí presentado esa cuenta es muy fácil: (5+4+0+0+2+0+9) + 3 · (4+9+0+1+1+5) = 4· 20 ≡ 0 (mod 10).

Un ejemplo sorprendente del uso de un código de barras se produjo al explicar como se había detectado la existencia de agua en Marte bajo una capa de hielo. El etiquetado como “el código de barras del agua” resultó ser el código de un producto para limpiar pantallas.

Deja una respuesta

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Salir /  Cambiar )

Google photo

Estás comentando usando tu cuenta de Google. Salir /  Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Salir /  Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Salir /  Cambiar )

Conectando a %s