09 setembro 2005Cogitar (0 cogitações anteriores)Codex orbisimg 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). ~ 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á... Cada código usado tem um conjunto de regras aritméticas que são obedecidas para a sua construção. Vejamos alguns exemplos: .:. Código EAN-13 para códigos de barras (ver Momentum DLX): Um código de barras do sistema europeu EAN-13 possui 13 dígitos na forma 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 Para verificar a sua correcta contrução seguem-se as seguinte regras: 1) somam-se todos os dígitos em posições ímpares, ou seja, a, c, e, g, i, l. Neste caso 1 + 3 + 5 + 7 + 9 + 1 = 26 2) somam-se todos os dígitos em posições pares, ou seja, b, d, f, h, j, m Neste caso 2 + 4 + 6 + 8 + 0 + 2 = 22 3) multiplica-se o resultado de 2) por 3 22x3 = 66 4) soma-se o valor de 1) com o valor de 3) Neste caso 26 + 66 = 92 5) o dígito de controlo, somado com o valor de 4) tem de ser múltiplo de 10 (acaba em 0) Neste caso 92 + 8 = 100 Como acaba em 0 o código está correcto. 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. Vejamos 3 exemplos: .:. 8 410?4900110 7 (8 + 1 + ? + 9 + 0 + 1) + 3x(4 + 0 + 4 + 0 + 1 + 0) = = 19 + ? + 3x9 = 46 + ?. Assim ? = 4 para que o resultado termine em 0 (50). .:. 5 4490000339? 5 (5 + 4 + 0 + 0 + 3 + 9) + 3x(4 + 9 + 0 + 0 + 3 + ?) = = 21 + 3x(16 + ?) = 21 + 48 + 3? = 69 + 3?. Assim ? = 2 para termina em 0 (80) (uma vez que não dá 70, para isso ? não seria um dígito entre 0 e 9) .:. 8 41470001101 ? (8 + 1 + 7 + 0 + 1 + 0) + 3x(4 + 4 + 0 + 0 + 1 + 1) = = 17 + 3x10 = 17 + 30 = 47. Assim ? = 3 para que o resultado termine em 0 (50) ~ Mas para que nos serve isso? A máquina lê e faz estas contas. O que interessa como? É 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. Há duas categorias de razões para que este conhecimento seja relevante: ~ Primeiro e mais importante é que o conhecimento só pode ser pouco, nunca é demais. Quanto mais se sabe mais conseguimos saber e mais podemos compreender. ~ 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. 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... Ntítulo «O código do Mundo»Cogitado por Mauro Maia às 19:13
| Cogitar (0) Cogitações anteriores
|