Últimas atualizações
Novo endereço do Cognosco: http://www.cognoscomm.com
Diário das pequenas descobertas da vida.
Sexta-feira, 9 de Setembro de 2005
Codex orbis
img src="http://cognoscomm.com/mm/CodBar978.jpg" width="141" height="114" align="left" border="0" />Os códigos de barras estão por todos o lado na sociedade ocidental. Poucos são os itens vendidos nesta metade do Mundo que não os tenham. No artigo Momentum DLX já se falou (falará para quem ainda não o leu) dos códigos de barras. Como o nome indica estas barras contêm códigos que um computador (ou um similar mais limitado) descodifica para identificar o item em questão. E estes códigos não são produzidos de forma aleatória a cada novo produto que surge. Cada código obedece a um conjunto de regras aritméticas que possibilita, por um lado, identificar falsos códigos por outro lado servem para permitir a identificação correcta do item mesmo que um (ou alguns dos dígitos) se encontrem ilegíveis (ou seja não se conseguem ler, não confundir com elegíveis que significa que podem ser eleitos. São palavras homófonas mas não homógrafas).</br></br>

~ Como é que tal pode ser feito? Um computador-ou-similar-mais-limitado não consegue adivinhar um dígito se este não estiver lá...</br></br>

Cada código usado tem um conjunto de regras aritméticas que são obedecidas para a sua construção. Vejamos alguns exemplos:</br></br>

.:. Código EAN-13 para códigos de barras (ver Momentum DLX):</br></br>

Um código de barras do sistema europeu EAN-13 possui 13 dígitos na forma </br>a bcdefghijlm x, em que cada letra representa um dígito (número entre 0 e 9) e a última letra representa o dígito de controlo. Por exemplo 1 23456789012 8</br>
Para verificar a sua correcta contrução seguem-se as seguinte regras:</br></br>

1) somam-se todos os dígitos em posições ímpares, ou seja, a, c, e, g, i, l.</br>
Neste caso 1 + 3 + 5 + 7 + 9 + 1 = 26</br>
2) somam-se todos os dígitos em posições pares, ou seja, b, d, f, h, j, m</br>
Neste caso 2 + 4 + 6 + 8 + 0 + 2 = 22 </br>
3) multiplica-se o resultado de 2) por 3</br>
22x3 = 66</br>
4) soma-se o valor de 1) com o valor de 3)</br>
Neste caso 26 + 66 = 92</br>
5) o dígito de controlo, somado com o valor de 4) tem de ser múltiplo de 10 (acaba em 0)</br>
Neste caso 92 + 8 = 100</br>
Como acaba em 0 o código está correcto.</br>
Assim, o código 5 60010419760 3 está certo mas 8 798765432101 4 está incorrecto.
Para determinar algum dígito que esteja ilegível num código é só verificar qual o dígito que fará com que as contas acima descritas produzam um número terminado em zero.</br></br>

Vejamos 3 exemplos:</br>
.:. 8 410?4900110 7 (8 + 1 + ? + 9 + 0 + 1) + 3x(4 + 0 + 4 + 0 + 1 + 0) =</br>
= 19 + ? + 3x9 = 46 + ?. Assim ? = 4 para que o resultado termine em 0 (50).</br>
.:. 5 4490000339? 5 (5 + 4 + 0 + 0 + 3 + 9) + 3x(4 + 9 + 0 + 0 + 3 + ?) =</br>
= 21 + 3x(16 + ?) = 21 + 48 + 3? = 69 + 3?. Assim ? = 2 para termina em 0 (80)</br> (uma vez que não dá 70, para isso ? não seria um dígito entre 0 e 9)</br>
.:. 8 41470001101 ? (8 + 1 + 7 + 0 + 1 + 0) + 3x(4 + 4 + 0 + 0 + 1 + 1) =</br>
= 17 + 3x10 = 17 + 30 = 47. Assim ? = 3 para que o resultado termine em 0 (50)</br></br></br>

~ Mas para que nos serve isso? A máquina lê e faz estas contas. O que interessa como?</br></br>

É claro que no quotidiano esta informação não será de grande uso. Para além da indicação dos 2 ou 3 primeiros dígitos nos indicar o país em que o produto foi registado (ver o artigo Momentum DLX) o resto pouco interesse prático parecerá ter.</br></br>

Há duas categorias de razões para que este conhecimento seja relevante:</br>
~ Primeiro e mais importante é que o conhecimento só pode ser pouco, nunca é demais. Quanto mais se sabe mais conseguimos saber e mais podemos compreender.</br>
~ Segundo para responder a uma curiosidade sobre os processos por detrás da simples operação de passar um item pela analisador e com um bip! este indicar sem falha o produto e o seu preço, mesmo na presença de sujidades no código.</br>

Num próximo artigo analisaremos como a informação é codificada naquelas barras. O analisador não «lê» os números que estão em baixo, «lê» as barras. Como o faz e como a informação é codificada e descodificada será a matéria do próximo artigo que assim encerrará o périplo que o Cognosco fez pela questão dos códigos de barras.
Esta questão teve uma origem humilde. O propósito era tão somente falar no Movimento 560 e na sua importância. Mas uma questão raramente morre só e por isso facilmente se levantou a questão de como funcionam os códigos de barras. O resultado é 3 artigos...</br></br>

Ntítulo «O código do Mundo»


Publicado por Mauro Maia às 19:13
Atalho para o Artigo | Cogitar | Adicionar aos favoritos

Cognosco ergo sum

Conheço logo sou

Estatísticas

Nº de dias:
Artigos: 336
Comentários: 2358
Comentários/artigo: 7,02

Visitas:
(desde 26 de Abril de 2005)
no Cognosco
 
Cogitações recentes
Olá Ribeiro. Eis um link atualizado para a folha d...
Seria possível fornecer um link atualizado para o ...
Obrigado, João, pela contribuição. Não está no art...
Estive lendo sua cogitação à respeito do cálculo d...
Obrigado, Aleff, pelo apreço pelo artigo. Exatamen...
Artigos mais cogitados
282 comentários
74 comentários
66 comentários
62 comentários
44 comentários
Artigos

Outubro 2017

Agosto 2017

Julho 2017

Junho 2017

Maio 2017

Abril 2017

Março 2017

Fevereiro 2017

Janeiro 2017

Dezembro 2016

Novembro 2016

Outubro 2016

Julho 2016

Março 2015

Dezembro 2014

Outubro 2013

Maio 2013

Fevereiro 2013

Outubro 2012

Setembro 2012

Agosto 2012

Junho 2012

Janeiro 2012

Setembro 2011

Abril 2011

Fevereiro 2011

Dezembro 2010

Maio 2010

Janeiro 2010

Abril 2009

Fevereiro 2009

Janeiro 2009

Novembro 2008

Outubro 2008

Agosto 2008

Julho 2008

Junho 2008

Abril 2008

Fevereiro 2008

Janeiro 2008

Novembro 2007

Outubro 2007

Agosto 2007

Julho 2007

Junho 2007

Maio 2007

Abril 2007

Março 2007

Fevereiro 2007

Janeiro 2007

Dezembro 2006

Novembro 2006

Outubro 2006

Setembro 2006

Agosto 2006

Julho 2006

Junho 2006

Maio 2006

Abril 2006

Março 2006

Fevereiro 2006

Janeiro 2006

Dezembro 2005

Novembro 2005

Outubro 2005

Setembro 2005

Julho 2005

Junho 2005

Maio 2005

Abril 2005

Março 2005

Fevereiro 2005