Sexta-feira, 15 de Maio de 2009

Os algoritmos - o código de barras

Hoje em dia todos nós que temos bilhete de identidade (BI) sabemos que há um dígito que aparece à direita do número, isolado e que num próximo artigo veremos para que serve e como se calcula.

Os livros que aparecem nas bibliotecas, pelo menos os mais recentes, estão identificados através de um número que tem o nome de ISBN (International Standard Book Number), constituído por treze dígitos, que acompanham um código de barras. Também, neste caso, o 13º dígito tem uma função e uma forma de cálculo.

Por outro lado, quando compramos um produto qualquer num hipermercado ou mesmo numa pequena mercearia de bairro é utilizada uma máqquina que regista todas as compras que fizemos, com os nomes dos produtos, os preços e imprime um talão onde vêm um conjunto de informações. Onde estão registadas estas informações que a máquina lê quando se passa o produto em frente de uma luz vermelha intermitente, que não é mais do que um scanner?

Todas estas informações estão no código de barras que é conhecido na Europa, onde existe desde 1977, por EAN-13 (European Article Numbering).

Todos nós verificamos que o código de barras (daí o nome) é constituído por barras pretas e brancas, que é lido pelo scanner e transformado na informação que depois é impressa no talão que nos entregam.

Para que serve este conjunto de barras e dígitos?

- De uma forma rápida são registados todos os preços dos produtos que comprámos e dado o total;

- Ao registar um produto é imediatamente abatido na estante da loja e também no stock do armazém; isto é, em qualquer momento se pode saber se o produto que um cliente procura existe ou não em armazém e pode ser encomendado;

- Se houver um registo das saídas diárias é possível ter uma ideia bastante segura dos gostos dos clientes e quais os produtos que mais se vendem. Ainda recentemente procurei um produto de que precisava e que já tinha comprado num estabelecimento há algum tempo. Fui informado por um empregado que o produto em causa já não existia, porque tinham decidido deixar de vendê-lo porque era pouco procurado.

Todas estas informações se podem obter através daquele conjunto de barras e dígitos que aparecem nos produtos.

A qualquer um de nós já aconteceu que a máquina da caixa se "recusou" a ler o código de barras. O que faz o empregado(a)? Regista os dígitos um a um e lá aparece no visor o preço, o nome, o IVA e todo um conunto de informações que vêm no talão. E não há enganos? Será que em vez de ser registado uma caixa de cereais não foi foi registado um colchão e o respectivo preço? Estes enganos são raríssimos. No conjunto de dígitos existe um (o 13º - o último da direita) que é chamado o número de controlo (check digit) e permite evitar essas situações. Vejamos o seguinte código de barra:

 

Este código foi retirado de uma lata de calda de pêssego e tem 13 dígitos como se vê. Vamos tentar dar uma pequena explicação sobre os dígitos:

- os três primeiros indicam o país: 560 - Portugal;

- o conjunto de dígitos, que podem ir de quatro a sete  referem-se a uma marca de um país. Neste caso seria a marca de pêssego em calda;

- os três seguintes - 225 - são escolhidos pelo fabricante para identificar os seus produtos;

- resta o último da direita - 1 - número de controlo.

É este último que impede que nós paguemos uma lata de atum em vez de um televisor.

Como se calcula?

É um algoritmo bastante fácil.

- Seleccionamos os 12 primeiros dígitos que neste caso são 560100994225;

- Em primeiro lugar faz-se a adiçao dos dígitos que ocupam uma posição ímpar a partir da esquerda para a direita:

 

                     5 + 0 + 0 + 9 + 4 + 2 = 20

- A seguir faz-se a adição de todos os que ocupam um lugar par:

                     6 + 1 + 0 + 9 + 2 + 5 = 23 e a soma obtida multiplica-se por 3

                     23 x 3 = 69

- Em terceiro lugar somam-se os dois valores obtidos anteriormente

                     20 + 69 = 89

O dígito das unidades desta que é 9 subtrai-se ao número 10. O resultado obtido é o número de controlo do código em apreço. Neste caso é:

                    10  -  9 = 1

Há uma situação especial. Se o algarismo das unidades for zero, a diferença seria 10, o que é impossível. Neste caso, o algarismo de controlo seria 0.

Agora, aí vai o nosso desafio:

 

- Verificar se o número de controlo do código que segue está correcto e que não se refere a um produto português.

 

publicado por Frantuco às 19:21
link do post | comentar | favorito

.mais sobre mim

.pesquisar

 

.Janeiro 2010

Dom
Seg
Ter
Qua
Qui
Sex
Sab
1
2
3
4
5
6
7
8
9
10
12
13
14
15
17
18
19
20
21
22
23
25
26
27
28
29
30
31

.posts recentes

. O Ano 2010 e as potências...

. O Ano de 2010 e as potênc...

. O Ano de 2010 e as potênc...

. As cidades, as vilas, as ...

. O caderno de exercícios "...

. Os contos das noites de i...

. Mais uma vez o regresso à...

. Grandes Matemáticos - Pit...

. Cereais, legumes, medidas...

. Memórias I

. O Labirinto

. Sapos e rãs ou ovelhas e ...

. Rãs e Sapos ou Ovelhas e ...

. HIPÁTIA DE ALEXANDRIA

. A decomposição de números...

. Grandes Matemáticos - Leo...

. Os algoritmos - o número ...

. Os algoritmos - o código ...

. Os caminhos do João

. As probabilidades no dia ...

. As probabilidades no dia ...

. O tempo, os relógios e as...

. As probabilidades e os an...

. Vamos aos gambuzinos

. O jardim de pedra

. De novo as eleições - as ...

. Os frutos secos do Natal

. As caminhadas, as pesagen...

. O Método de Hondt

. O jogo do NIM - segunda v...

. O jogo do NIM - primeira ...

. A travessia da ponte - no...

. Algoritmos - A fórmula de...

. Algoritmos - O teorema de...

. Um problema de idades

. INVERSÕES

. A travessia da ponte

. O carteiro, as idades e o...

. A herança do lavrador

. O relógio, as horas e os ...

. A decomposição de números...

. O problema das idades

. CAPICUAS

. DINHEIRO FALSO

. O Pombal das cem pombas

. Números e cálculo mental

. Poesia Matemática

. Os algoritmos - raiz quad...

. Os algoritmos - raíz quad...

. Os algoritmos - algoritmo...

.arquivos

. Janeiro 2010

. Dezembro 2009

. Novembro 2009

. Outubro 2009

. Agosto 2009

. Julho 2009

. Junho 2009

. Maio 2009

. Abril 2009

. Março 2009

. Fevereiro 2009

. Janeiro 2009

. Dezembro 2008

. Novembro 2008

. Outubro 2008

. Setembro 2008

. Agosto 2008

. Julho 2008

.palavras-chave

. todas as tags

.links

blogs SAPO