roterização
C. POLCINO MILIES
1. Introdução
Hoje em dia, muitos produtos são identificados com um código numérico. O progresso da tecnologia, que tornou relativamente baratos e acessíveis aparelhos de leitura óptica e computadores, tornou também uso de este tipo de códigos bastante freqüente. Por exemplo, os produtos que compramos num supermercado estão identificados por um código de barras, como o que mostramos na Figura 1.1. Ele não é mais do que um número, assignado ao produto para sua identificação, escrito de forma a permitir uma leitura rápida no caixa. Note que imediatamente abaixo das barras, aparece o mesmo número escrito em algaritmos correntes, de forma que o leitor humano também possa ler o número.
Figura 1. Código de barras
Porém, algumas vezes acontece que, ao passar um produto pela leitora ótica (por exemplo, quando a embalagem está húmida ou enrrugada), esta não consegue realizar a leitura. O que vemos então é que a pessoa que está no caixa tenta pasar o produto em sentido contrário, ou inverte o produto, de modo que o código de barras fique de cabeça para baixo, e tenta passa-lo mais uma vez. Se nem asim dá certo, então ele próprio lê o código e o digita rapidamente.
Naturalmente, estas atitudes sugerem algumas perguntas. Em primeiro lugar, uma vez que o desenho das barras é totalemente simétrico para a máquina, que o lê usando um feixe de luz transversal, ao passá-lo
“de ponta cabeça”; ela não deveria ler o número na ordem contrária? E, o que é pior, o operador do caixa, ao digitar o número rapidamente, não poderia cometer um erro e nós acabarmos pagando por um produto muito mais caro que aquele que estamos comprando?
Na verdade, isso não ocorre. Tanto quando lido numa ordem, como na ordem contrária, o código sempre é interpretado de forma correta. Mais ainda, quando o operador comete algum erro de digitação - e todos nós já vimos isso acontecer alguma vez - a máquina simplesmente emite um som, para