Faculdade de Ciências e Tecnologia da
Universidade de Coimbra
Paulo Jorge Pais Lourenço
sob a orientação da Professora Doutora Sandra Marques Pinto
Coimbra, Janeiro de 2011
Índice
Introdução .................................................................................................................................................................... 3 Capítulo I – Pré-requisitos ......................................................................................................................................... 4 Capítulo II – Números de Identificação ................................................................................................................... 6 §2.1 Noção de Números de Identificação ............................................................................................................ 6 §2.2 Tipos de Números de Identificação.............................................................................................................. 6 §2.3 Tipos de erros mais comuns .......................................................................................................................... 8 §2.4 Símbolos de Controlo ................................................................................................................................... 10 Capítulo III – Sistemas de Identificação Modulares ............................................................................................ 11 §3.1 Análise geral dos Sistemas Modulares ....................................................................................................... 11 §3.2 Limitações dos Sistemas Modulares ........................................................................................................... 14 Capítulo IV – Exemplos de Sistemas de Identificação Modulares ..................................................................... 15 §4.1 O Sistema EAN............................................................................................................................................. 15 §4.2 O Sistema ISBN ............................................................................................................................................ 19 §4.3 Sistema utilizado nos números de série das notas de euro ..................................................................... 25 §4.4 Sistema utilizado no NIB ............................................................................................................................ 27 Conclusão .................................................................................................................................................................... 29 Bibliografia ................................................................................................................................................................. 30 Tecnografia ................................................................................................................................................................. 31 Anexos ......................................................................................................................................................................... 32 Introdução
O assunto, além de ser intrinsecamente interessante,
tem a virtude de mesclar conceitos e técnicas importantes de Álgebra
com aplicações imediatas na vida real.
Abramo Hefez e Maria Villela
A aritmética modular é uma das ferramentas mais importantes ao serviço da álgebra e da teoria dos
números. No nosso dia-a-dia, lidamos constantemente com aplicações directas desta aritmética, um exemplo disso são os números de identificação. Neste trabalho, iremos focar-nos essencialmente no estudo deste
tipo de números, recorrendo sempre à aritmética modular.
O presente documento está dividido em quatro capítulos. O primeiro capítulo servirá para introduzir algumas definições e propriedades essenciais para a utilização da aritmética modular, indispensáveis ao
estudo dos sistemas de identificação que se desenrolará ao longo deste texto. Disponibilizar-se-ão também,
em anexo, alguns conceitos algébricos que poderão revelar-se num complemento útil à leitura e compreensão dos assuntos abordados. No segundo capítulo serão apresentados alguns exemplos e algumas definições
fundamentais relativas aos números de identificação e sistemas associados. Serão também analisados os
tipos de erros mais comuns na transmissão deste tipo de números e a importância da utilização dos símbolos de controlo na detecção da ocorrência de erros. No terceiro capítulo iremos cingir-nos, essencialmente,
ao estudo dos sistemas de identificação modulares que representam a maior fatia dos sistemas de identificação. Neste capítulo serão discutidas as condições que garantem uma melhor eficácia na detecção de erros
por parte deste tipo de sistemas. Para terminar, no quarto e último capítulo deste trabalho, apresentaremos alguns exemplos de sistemas de identificação modulares actualmente em utilização.
Espera-se que, com este trabalho, se consiga estimular a curiosidade do leitor para este assunto e incutir uma maior sensibilidade perante as aplicações da aritmética modular, que surgem inúmeras vezes no
nosso quotidiano.
3
Capítulo I
Capítulo I – Pré-requisitos
Uma verdade matemática não é simples
nem complicada por si mesma. É verdade.
Emile Lemoine
Apresentamos, de seguida, alguns conceitos e axiomas relacionados directamente com a aritmética
modular. Para um leitor menos familiarizado com estes conteúdos, sugerimos a leitura dos anexos. Na
elaboração destas compilações recorremos a [1], [13], [15] e [16], pelo que na presença de dificuldades aconselhamos a sua consulta.
Definição 1.1 Sejam a e b dois elementos em  com a ¹ 0 , diz-se que a divide b se existir um elemento
c Î  tal que b = a ⋅ c .
Notação 1.2 Sejam dois elementos a, b Î  com a ¹ 0 , tem-se:
a)
a | b lê-se “a divide b”;
b)
a |b lê-se “a não divide b”;
c)
b = a lê-se “b é múltiplo de a”;
d)
b ¹ a lê-se “b não é múltiplo de a”.
Observação 1.3 Quando se escreve a | b pressupõe-se que a, b Î  com a ¹ 0 .
Propriedades 1.4 Quaisquer que sejam os inteiros não nulos a, b e c, tem-se:
a)
a |0;
b)
a | a e -a | a ;
c)
1|a ;
d)
a | b é equivalente a -a | b e é equivalente a a | -b ;
e)
Se a | b então a | bc , "c Î  ;
f)
Se a | b e b | c então a | c ;
g)
a | b é equivalente a ma | mb , "m Î  \ {0} ;
h)
Se a | b e b | a então a = b , (a = b ) ;
i)
Se a | b e b ¹ 0 então a £ b ;
j)
Se a | 1  a | 1, (a = 1) .
Observação 1.5 Um número inteiro não nulo, a, tem um número finito de divisores. Tem pelo menos os
divisores: 1 e  a .
Teorema 1.6 Sejam dois elementos a, b Î  com a ¹ 0 . Existem inteiros q e r
(q, r Î )
com
0 £ r < a , tais que b = qa + r .
Observação 1.7 Os inteiros q e r, designados, respectivamente, por quociente e resto da divisão de b por
a, são unicamente determinados por a e b.
4
Capítulo I
Definição 1.8 Seja m um número natural. Dois inteiros a e b dizem-se congruentes módulo m se tiverem
o mesmo resto na divisão por m. E escreve-se a º b (mod m ) .
Teorema 1.9 Para a, b Î  e m Î  , tem-se a º b (mod m ) se e só se m | (a - b ) .
Observação 1.10 Nas condições do Teorema anterior, para b = 0 tem-se a º 0 (mod m ) se e só se
m |a .
Observação 1.11 Para m Î  e a Î  , os números congruentes com a módulo m são os inteiros da
forma a + km, k Î  .
Exemplo 1.12 a) Tem-se a º 0 (mod 2) se e só se a for um número par.
b) Tem-se a º 1 (mod 2) se e só se a for um número ímpar.
Propriedades 1.13 Seja m Î  . Quaisquer que sejam os inteiros a, b, c e d, tem-se:
a)
a º a (mod m ) ;
b)
Se a º b (mod m ) então b º a (mod m ) ;
c)
Se a º b (mod m ) e b º c (mod m ) então a º c (mod m ) ;
d)
Se a º b (mod m ) e c º d (mod m ) então a + c º b + d (mod m ) ;
e)
Se a º b (mod m ) e c º d (mod m ) então ac º bd (mod m ) ;
f)
Se a º b (mod m ) e d | m então a º b (mod d ) .
Observação 1.14 Para m Î  e a Î  , a (mod m ) representa o resto da divisão de a por m. Portanto,
existe r Î  m tal que r = a (mod m ) .
Propriedades 1.15 Sejam a, b Î  e m Î  . Tem-se:
a)
b)
c)
(a + b) (mod m) = (a (mod m) + b (mod m)) (mod m) ;
(a - b) (mod m) = (a (mod m) - b (mod m)) (mod m ) ;
(a ⋅ b) (mod m) = (a (mod m) ⋅ b (mod m )) (mod m) .
5
§2.1 Noção de Números de Identificação
Capítulo II
Capítulo II – Números de Identificação
It is important to ensure that identification numbers
are transmitted correctly and, in certain cases, not forged.
Joseph Kirtland
§2.1 Noção de Números de Identificação
No nosso dia-a-dia, lidamos constantemente com números de identificação. Estes são números que
nos facilitam a vida, números que nos permitem identificar rapidamente um artigo, uma propriedade, um
livro, uma pessoa ou um animal. Actualmente estão presentes em quase tudo. Se, por exemplo, investigarmos minuciosamente um automóvel, um electrodoméstico ou um computador, chegamos à conclusão
que todas ou quase todas as suas componentes têm um número de série, identificando a empresa produtora
e o artigo em questão. Estes números permitem agilizar a identificação das referidas componentes possibilitando maior eficácia em encomendas e transacções comerciais. No entanto essa eficiência dependerá da
estrutura do número e da forma como foi implementado.
§2.2 Tipos de Números de Identificação
Os números de identificação surgem, normalmente, na forma de uma cadeia de caracteres (algarismos, letras e símbolos), podendo aparecer na forma numérica ou na forma alfanumérica, constituindo assim dois grandes grupos de números de identificação. Um Número de Identificação Numérico pode surgir
na forma de um número positivo ou de uma cadeia de algarismos separados por espaços ou hífenes.
Exemplo 2.1 De seguida apresentam-se exemplos de números de identificação numéricos.
Figura 2.1: Exemplo de número de Bilhete de Identidade.
Figura 2.2: Exemplo de Número de Identificação Fiscal (NIF).
Figura 2.3: Exemplo de Carta de Condução.
Figura 2.4: Exemplo de UPC de um DVD.

6
§2.2 Tipos de Números de Identificação
Capítulo II
Um Número de Identificação Alfanumérico é constituído por uma cadeia de algarismos, letras e/ou
outros símbolos.
Exemplo 2.2 Exemplos de números de identificação alfanuméricos.
Figura 2.5: Exemplo de ISBN-10 e de número de série de uma Nota de Euro.

Em todos os números de identificação é importante definir duas características fundamentais, o
comprimento (ou o número total de caracteres) e a posição que ocupa cada um desses caracteres. Utilizaremos a letra n para indicar o comprimento de um número de identificação e podemos representar um
número de comprimento n do seguinte modo, a1a2a 3 ...an , onde o índice indica a ordem em que o caracter
surge na cadeia.
Exemplo 2.3

O número de bilhete de identidade (BI) é um número de identificação constituído por nove algarismos ( n = 9 ) que pode ser representado por a1a2a 3a 4a 5a 6a 7a 8a 9 . Para o caso da Figura 2.1, tem-se:
a1 = 1 ,
a2 = 1 ,
a3 = 5 ,
a4 = 0 ,
a5 = 7 ,
a6 = 9 ,
a7 = 3 ,
a8 = 8 ,
a9 = 6 .
Nota:
Sempre que um número de bilhete de identidade apresente menos de nove algarismos, acrescentamse os zeros necessários à esquerda do número até totalizar os nove algarismos.

O número de identificação fiscal (NIF) é sempre um número composto por nove algarismos ( n = 9 ).
Sendo portanto representável por a1a2a 3a 4a 5a 6a 7a 8a 9 . No caso particular da Figura 2.2 tem-se:
a1 = 3 ,
a2 = 2 ,
a6 = 8 ,

a3 = 2 ,
a7 = 3 ,
a4 = 6 ,
a8 = 5 ,
a5 = 8 ,
a9 = 3 .
Os números de identificação do sistema International Standart Book Number (ISBN) de catalogação
de livros têm dez ou treze caracteres cuja designação é ISBN-10 e ISBN-13, respectivamente. Os
números deste sistema sofreram alterações em Janeiro de 2007, passando de dez para treze caracteres. Destaquemos dois exemplos:
Exemplo de número no sistema ISBN-10.
ISBN-972-0-42074-X
a1 = 9 ,
a2 = 7 ,
a3 = 2 ,
a4 = 0 ,
a5 = 4 ,
a6 = 2 ,
a7 = 0 ,
a8 = 7 ,
a9 = 4 ,
a10 = X .
Exemplo de número no sistema ISBN-13.
ISBN-978-972-0-42061-9
a1 = 9 ,
a8 = 4 ,
a2 = 7 ,
a3 = 8 ,
a9 = 2 ,
a4 = 9 ,
a10 = 0 ,
a5 = 7 ,
a11 = 6 ,
a6 = 2 ,
a12 = 1 ,
a7 = 0 ,
a13 = 9 .

7
§2.3 Tipos de erros mais comuns
Capítulo II
§2.3 Tipos de erros mais comuns
Os números de identificação permitem maior eficácia e agilidade nos registos e transacções, sendo
actualmente utilizados em inúmeras situações. Como tal, estes números circulam por vários “canais” até
desempenharem o seu objectivo. Hipoteticamente, um número de identificação pode ser inicialmente comunicado via telefónica, sendo depois registado num papel com a intenção de ser posteriormente digitado e
enviado via Internet. Ao longo deste processo, podem ocorrer erros.
A maioria dos erros que sucedem são cometidos pelo homem, podendo também ocorrer erros de leitura por parte de alguns equipamentos de leitura óptica. Devido à natureza dos erros, foram feitos diversos
estudos empíricos, destacando-se um elaborado nos finais da década de sessenta ([8] e [12]), que incide
sobre os erros mais habituais.
Frequentemente é utilizada a seguinte terminologia para os diversos tipos de erros ocorridos na
transmissão de um número de identificação.
Definição 2.4 Consideremos a1a2a 3 ...an um número de identificação de comprimento n.

Um erro singular acontece quando um dos caracteres do número é alterado para um diferente valor
( ...ai ...  ...ai¢... );

Referimo-nos a um erro de transposição de algarismos adjacentes quando existe uma troca entre dois
algarismos adjacentes ( ...aia j ...  ...a j ai ... );

Designamos por erro de transposição intercalada, quando ocorre a troca entre dois algarismos que
têm exactamente um a intercalá-los ( ...aiak a j ...  ...a j ak ai ... );

Os erros gémeos sucedem quando dois caracteres consecutivos iguais são mudados para um outro
par de caracteres iguais ( ...aa...  ...a ¢a ¢... );

Designam-se por erros gémeos intercalados quando sucede uma modificação de dois caracteres
iguais,
separados
por
um
terceiro
caracter,
por
um
outro
par
de
caracteres
iguais
( ...aak a...  ...a ¢ak a ¢... );

Existem também os erros gémeos generalizados que consistem na alteração de dois caracteres iguais
por
um
outro
par
de
caracteres
iguais,
independentemente
da
posição
que
ocupam
( ...a...a...  ...a ¢...a ¢... ).
Os restantes erros abrangidos pelas outras categorias podem ser agregados todos na classe dos erros
aleatórios.
Observação 2.5 O estudo referido anteriormente destaca, ainda, um importante grupo de erros designa-
dos por erros fonéticos que, evidentemente, dependem do idioma utilizado. Como o estudo apenas se cingiu ao Alemão, Holandês e Inglês, não iremos dar muita importância e esta classe de erros. Citemos apenas
a título exemplificativo uma situação em que estes erros podem ocorrer.
Exemplo 2.6 Os erros fonéticos sucedem quando uma comunicação oral não é efectuada nas melhores
condições. Um exemplo clássico para a língua inglesa pode surgir numa conversa telefónica quando, por
exemplo, uma pessoa diz “40” em inglês, fourty e o ouvinte percebe fourteen (14), ou vice-versa.

Exemplo 2.7 Exemplificação dos diversos tipos de erros partindo do exemplo do Número de Identifica-
ção Fiscal (NIF-322688353), apresentado na Figura 2.2.
8
§2.3 Tipos de erros mais comuns
Capítulo II
Tipo de Erro
Forma Inicial
Forma Transmitida
Singular
322688353
322688753
Transposição de algarismos adjacentes
322688353
322683853
Transposição intercalada
322688353
322685383
Gémeo
322688353
322677353
Gémeo intercalado
322688353
322688151
Tabela 2.1: Exemplos dos diversos tipos de erros.

Os erros mais comuns são os erros singulares seguindo-se dos erros de transposição de algarismos adjacentes. A seguinte tabela indica as frequências relativas dos tipos de erros mais comuns.
Tipos de Erros
Forma
Frequência Relativa
...ai ...  ...ai¢...
79,1%
...aia j ...  ...a j ai ...
10,2%
Transposições intercaladas
...aiak a j ...  ...a j ak ai ...
0,8%
Gémeos
...aa...  ...a ¢a ¢...
...aak a...  ...a ¢ak a ¢...
0,5%
Singulares
Transposições de algarismos adjacentes
Gémeos intercalados
Aleatórios e Fonéticos
0,3%
9,1%
Tabela 2.2: Tipos de erros mais comuns.
Existem diversos métodos que possibilitam ao receptor de uma mensagem reconhecer se a mensagem
foi ou não correctamente transmitida e até corrigir possíveis erros. No caso dos números de identificação é
importantíssimo afiançar que são transmitidos correctamente e até filtrar possíveis irregularidades causadas com intuito criminoso. Por exemplo, seria muito constrangedor, alguém pagar na caixa registadora de
um supermercado a quantia de 200 euros por um artigo de 20 euros, tudo isso devido a um erro de leitura
óptica do código de barras. Imaginemos no caso dos bancos, que operam diariamente com inúmeras transferências electrónicas de grandes montantes, a ocorrência de um erro envolvendo a transferência entre contas erradas. Este tipo de erros realmente acontece, cada vez com menos frequência. Uma história representativa de um erro desses pode ser encontrada em [8], a qual relataremos de seguida.
Durante a década de oitenta, Lt. Col. Oliver North, de Iran-Contra Fame, entregou ao assistente do Secretário de Estado Norte-americano, Elliot Abrams, um número incorrecto de uma conta
bancária domiciliada num banco suíço com a intenção de se efectuar um depósito de dez milhões de
dólares. North comunicou a Abrams um número de conta que iniciava com “368”, onde o número
correcto seria “386”. Como é conhecido mundialmente o sigilo bancário, marca de qualidade dos
bancos suíços, escusado será dizer que esse dinheiro foi parar à conta de um felizardo desconhecido.
Para se detectar e evitar possíveis erros é comum utilizar-se alguma informação redundante transmitida em simultâneo com a mensagem que se pretende comunicar. A essa informação designamos por símbolos de controlo. Sobre este tema podem ser consultados [4], [9], [11] e [14].
9
Capítulo II
§2.4 Símbolos de Controlo
§2.4 Símbolos de Controlo
Os símbolos de controlo ou algarismos de teste estão na base da concepção da maioria dos sistemas
de identificação. Nestes sistemas não se pretende que o erro seja automaticamente corrigido mas, tão só,
que o sistema alerte o utilizador da ocorrência de um erro e, consequentemente, da necessidade de reintroduzir o número. Normalmente são acrescentados um ou mais caracteres, designados por símbolos de controlo, no número de identificação, caracteres esses que, posteriormente, permitem a detecção de erros após
a transmissão do referido número. Para melhor exemplificar um dos métodos possíveis, consideremos o
seguinte cenário [8].
Exemplo 2.8 Uma determinada empresa, para identificar cada produto que vende, utiliza um número de
três algarismos, a1a2a 3 . De modo a garantir que esses números são correctamente transmitidos, acrescentou-se um quarto algarismo (algarismo de teste) a 4 ao número de identificação de cada produto, obtendo
um número de identificação de comprimento 4 da forma a1a2a 3a 4 .
Esse algarismo é determinado à custa da soma dos três primeiros algarismos, a1 + a2 + a 3 , e ao algarismo de teste é atribuído o algarismo das unidades desta soma.
Para o artigo de número 863, a 4 = 7 , pois a1 + a2 + a 3 = 8 + 6 + 3 = 17 e portanto o número de
identificação atribuído a este produto é 8637. O número 7030 é um número de identificação válido, uma
vez que a1 + a2 + a 3 = 7 + 0 + 3 = 10 .
Da mesma forma, poderíamos concluir que o número 9312, não representa um número de identificação válido, pois a1 + a2 + a 3 = 9 + 3 + 1 = 13 , onde o algarismo das unidades é o número 3, que é diferente
de 2 (último algarismo do número 9312), logo o número 9312 não está correcto e não pode representar
nenhum artigo vendido pela referida empresa.

Como é facilmente constatável, no exemplo anterior, o algarismo de teste não conseguiria identificar
um simples erro de transposição, um dos erros mais frequentes segundo o estudo apresentado na Tabela
2.2. Qualquer sistema de identificação que seja desenvolvido deverá conseguir, pelo menos, detectar a ocorrência dos erros singulares e dos erros de transposições de algarismos adjacentes, que representam 89,3%
dos erros mais comuns (segundo a Tabela 2.2). Existem sistemas que conseguem detectar todos os erros
mencionados na Tabela 2.2, sendo que, nalguns casos essa eficácia exige um aumento de complexidade.
Quantos mais erros o sistema de identificação conseguir detectar, mais delicada e elaborada será a sua
implementação (mais informações em [12]).
O algarismo ou algarismos de teste podem surgir em qualquer posição no número de identificação,
mas na grande maioria dos sistemas surge no final do número. Nos sistemas de identificação que iremos
abordar ao longo deste trabalho, vamos averiguar a eficiência do ou dos algarismos de teste utilizados.
Os sistemas de identificação mais utilizados são os que recorrem à aritmética modular, pois detectam a maioria dos erros e mantêm alguma simplicidade na sua execução. Veremos no próximo capítulo o
que caracteriza este tipo de sistemas.
10
§3.1 Análise geral dos Sistemas Modulares
Capítulo III
Capítulo III – Sistemas de Identificação Modulares
Se disser 11+22=9, todos aqui vão pensar:
Os matemáticos Belgas não sabem calcular!
Francis Borceux
Uma ferramenta que utilizamos diariamente é o relógio. Analógico ou digital, um relógio, independentemente da sua fonte de energia e tecnologias associadas, tem o intuito de contar continuamente o
tempo. E portanto, não é mais do que uma máquina de contar. Conta horas, minutos e até segundos, no
entanto, existe algo de estranho no modo como o relógio conta, porque, embora conte o tempo ininterruptamente, parece nunca atingir grandes números. Por exemplo, no caso de um relógio analógico, quando o
ponteiro das horas indica três horas em ponto, se aguardarmos doze ou vinte e quatro horas, o relógio vai-nos indicar novamente as três horas. Na contagem efectuada por um relógio, não vai interessar a quantidade de doze horas que já passaram, mas apenas o que sobra de cada doze horas. Tudo isto, apesar de ser
tão familiar, parece-nos muito estranho. Esta “Aritmética do Relógio”, onde vislumbramos o tempo entre
os múltiplos de doze, é um exemplo da aritmética modular, neste caso particular, de módulo doze. Recorrendo à Definição 1.8, podemos averiguar onde estaria o ponteiro das horas daqui a sete horas, supondo
que neste momento fossem dez horas em ponto. Procederíamos do seguinte modo: 10 + 7 = 17 e concluiríamos que 17 º 5 (mod12) , onde cinco é o resto da divisão de dezassete por doze, obtido através do algoritmo da divisão. Logo constataríamos que o ponteiro apontaria para o número cinco.
A maioria dos relógios conta também os minutos e os segundos e, mais uma vez, atribui importância
apenas aos restos, ignorando agora, os conjuntos de sessenta que já passaram. Situações como esta, de
ignorar os múltiplos de um dado número quando fazemos cálculos, acontecem frequentemente. Para saber
mais sobre este tema, consultar [2] e [10].
No próximo parágrafo, vamos analisar os sistemas modulares que utilizam por base aritméticas semelhantes à “aritmética do relógio”. Os resultados que apresentaremos de seguida foram maioritariamente
extraídos de um artigo, inerente ao tema, de autoria do Professor Jorge Picado [12].
§3.1 Análise geral dos Sistemas Modulares
Os sistemas de identificação que vamos examinar, possuem algumas semelhanças que nos permitem
uma análise global e sistematizada. Os números de identificação são constituídos por algarismos, letras ou
símbolos pertencentes a um “alfabeto”, o qual designamos por A. Geralmente, consideramos um alfabeto
como sendo um corpo finito.
Definição 3.1 Sejam, A um conjunto de cardinal k, j uma bijecção definida de A em  k ( j : A   k )
e um n-uplo (p1, p2 , p3 ,..., pn ) constituído por inteiros não nulos. Designamos este n-uplo por vector de verificação de algarismos do sistema e aos seus elementos pi , i = 1,..., n , por pesos.
Os números de identificação do sistema são palavras a1a2a 3 ...an definidas em A que verificam
(p , p , p ,..., p ) ⋅ (j (a ), j (a ), j (a ),..., j (a )) º 0 (mod k )
1
2
3
n
1
2
n
3
ou seja,
p1j (a1 ) + p2j (a2 ) + p3j (a 3 ) + ... + pn j (an ) º 0 (mod k ) .
Denominamos
os
sistemas
deste
tipo
por
sistemas
de
identificação
módulo
k
e
à
soma
p1j (a1 ) + p2j (a2 ) + p3j (a 3 ) + ... + pn j (an ) por soma de controlo.
11
§3.1 Análise geral dos Sistemas Modulares
Capítulo III
Observação 3.2
a)
Usualmente é utilizado o zero nesta congruência, mas qualquer outro elemento de  k serviria. O zero
tem a vantagem de se poder recorrer ao facto de k ser um divisor daquela soma (Observação 1.10).
b)
Para não sobrecarregar muito a notação, denotaremos j (ai ) apenas por ai . Nos exemplos que vere-
mos no capítulo seguinte, normalmente é utilizada a função identidade, a qual não deve ser confundida
com esta mudança de notação.
De seguida, vejamos quais os erros singulares e as transposições que estes sistemas conseguem detectar.
Teorema 3.3 Consideremos a1a2a 3 ...an um número de comprimento n de um sistema de identificação
módulo k, com vector de verificação de algarismos (p1, p2 , p3 ,..., pn ) .
a)
Um
erro
singular
(...ai ...  ...ai¢...)
na
i-ésima
posição
é
detectável
se
e
só
se
pi (ai - ai ¢ ) º 0 (mod k ) .
b)
Uma transposição dos algarismos ai e a j nas posições i e j é detectável se e só se
(p
i
- p j )(ai - a j ) º 0 (mod k ) .
Demonstração:
a)
Seja S a soma de controlo com os algarismos correctos. Sabemos, pela Definição 3.1, que
S º 0 (mod k ) . Designemos por S ¢ , a soma de controlo com a troca de um algarismo (...ai ...  ...ai¢...) .
Apesar de se tratar de uma soma incorrecta podemos ter S ¢ º 0 (mod k ) ou S ¢ º 0 (mod k ) , casos em que
o erro é ou não é detectado, respectivamente.
Calculemos a diferença entre S e S ¢ ,
(
) (
S - S ¢ = p1a1 + p2a2 + p3a 3 + ... +¢ piai + ... + pnan - p1a1 + p2a2 + p3a 3 + ... + piai ¢ + ... + pnan
)
S - S ¢ = p1a1 + p2a2 + p3a 3 + ... + piai + ... + pnan - p1a1 - p2a2 - p3a 3 - ... - piai ¢ - ... - pnan
S - S ¢ = piai - piai ¢ = pi (ai - ai ¢ )
Logo conclui-se que o erro só é detectável caso pi (ai - ai ¢ ) º 0 (mod k ) .
b)
Neste caso, a diferença entre a soma de teste do número correcto e do número errado é
S - S ¢ = (p1a1 + p2a2 + p3a 3 + ... + piai + ... + p j a j + ... + pnan )
S - - (p1a1 + p2a2 + p3a 3 + ... + pia j + ... + p j ai + ... + pnan )
S - S ¢ = p1a1 + p2a2 + p3a 3 + ... + piai + ... + p j a j + ... + pnan
S - -p1a1 - p2a2 - p3a 3 - ... - pia j - ... - p jai - ... - pnan
S - S ¢ = piai + p ja j - pia j - p j ai = piai - pia j + p j a j - p j ai
S - S ¢ = pi (ai - a j ) + p j (a j - ai ) = pi (ai - a j ) - p j (ai - a j )
S - S ¢ = (pi - p j )(ai - a j )
Tal como na demonstração anterior, só será detectado o erro se e só se (pi - p j )(ai - a j ) º 0 (mod k ) .

Vamos de seguida, estabelecer as condições nos pesos pi , que garantem a detecção de todos os erros
singulares e de transposição.
12
§3.1 Análise geral dos Sistemas Modulares
Capítulo III
Corolário 3.4 Um sistema de identificação módulo k, que tenha como vector de verificação de algaris-
mos (p1, p2 , p3 ,..., pn ) , detecta:
a)
Todos os erros singulares na i-ésima posição se e só se m.d .c.(pi , k ) = 1 .
b)
As transposições de algarismos nas posições i e j se e só se m.d .c.(pi - p j , k ) = 1 .
Demonstração:
a)
Sejam ai , ai¢ Î {0,1,..., k - 1} com ai ¹ ai¢ , onde ai representa o algarismo correcto que foi substituído
por um algarismo errado, ai¢ , dando assim origem a um erro singular na posição i ( ...ai ...  ...ai¢... ). Como
vimos na alínea a) do Teorema 3.3, o sistema detecta todos os erros singulares na i-ésima posição se e só
se pi (ai - ai ¢ ) º 0 (mod k ) , para quaisquer ai , ai¢ Î {0,1,..., k - 1} com ai ¹ ai¢ .
Verifiquemos que, de facto, pi (ai - ai ¢ ) º 0 (mod k ) é equivalente a m.d .c.(pi , k ) = 1 .
Provemos que se pi (ai - ai ¢ ) º 0 (mod k ) então m.d .c.(pi , k ) = 1 .
Suponhamos que m.d .c.(pi , k ) = d com d > 1 . Então pi = dd1 e k = dd2 com d2 Î {1, 2,..., k - 1} .
Fazendo ai = d2 e ai¢ = 0 , chegamos a um absurdo, pois
pi (ai - ai ¢ ) = pi (d2 - 0) = pid2 = dd1d2 = d1dd2 = d1k º 0 (mod k ) .
Portanto d = 1 , ou seja, m.d .c.(pi , k ) = 1 .
Provemos que se m.d .c.(pi , k ) = 1 então pi (ai - ai ¢ ) º 0 (mod k ) .
Suponhamos que m.d .c.(pi , k ) = 1 . Então não existe d ¹ 1 tal que d | pi e d | k .
Se existissem diferentes ai , ai¢ Î {0,1,..., k - 1} , tais que k | pi (ai - ai ¢ ) teríamos k | (ai - ai ¢ ) , porque
k | pi (pois m.d .c.(pi , k ) = 1 ), o que é também um absurdo pois ai - ai ¢ Î {1, 2,..., k - 1} .
Portanto pi (ai - ai ¢ ) º 0 (mod k ) .
b)
Pela alínea b) do Teorema 3.3, sabemos que o sistema detecta todas as transposições dos algarismos
ai e a j nas posições i e j se e só se para quaisquer ai , a j Î {0,1,..., k - 1} , com ai ¹ a j
(p
(p
se tem
i
- p j )(ai - a j ) º 0 (mod k ) .
i
- p j )(ai - a j ) º 0 (mod k ) é equivalente a m.d .c.(pi - p j , k ) = 1 , pois o módulo da diferença entre os
Pela
demonstração
da
alínea
anterior,
temos
algarismos ai e a j é um número pertencente a {1, 2,..., k - 1} .
que

$
Relativamente aos outros tipos de erros, foram efectuados estudos análogos. Os resultados desses estudos podem ser observados na seguinte tabela (presente em [12]).
Tipos de Erros
Forma
Condições
...ai ...  ...ai¢...
m.d .c.(pi , k ) = 1
...ai ...a j ...  ...a j ...ai ...
m.d .c.(pi - p j , k ) = 1
m.d .c.(pi - pi +1, k ) = 1
Gémeos intercalados
...aa...  ...a ¢a ¢...
...aaia...  ...a ¢aia ¢...
Gémeos generalizados
...a...a...  ...a ¢...a ¢...
m.d .c.(pi + p j , k ) = 1
Singulares
Transposições
Gémeos
m.d .c.(pi - pi +2 , k ) = 1
Tabela 3.1: Condições para a detecção de erros.
Tendo em atenção estas condições, simplifica-se a construção de sistemas que detectem determinados tipos de erros, conforme as necessidades inerentes à sua aplicação.
13
Capítulo III
§3.2 Limitações dos Sistemas Modulares
Analisemos de seguida e muito sucintamente as principais limitações destes sistemas.
§3.2 Limitações dos Sistemas Modulares
Os sistemas módulo onze são os mais utilizados uma vez que é fácil encontrar pesos primos com onze, usando apenas um caracter para algarismo de teste. Por outro lado, os sistemas que utilizam k < 10 ,
são pouco usados, pois é impossível detectar todos os erros singulares e todas as transposições se não garantirmos que os algarismos variem entre 0 e k - 1 , o que torna o sistema pouco útil devido ao seu tamanho limitado.
A Tabela 3.1 permite-nos concluir que os sistemas módulo onze são melhores do que os sistemas
módulo dez. Os sistemas módulo onze, quando bem implementados, podem detectar a totalidade dos erros
singulares, transposições e erros gémeos, no entanto a detecção de erros fonéticos é muito baixa e, devido a
isso, existem diversas variantes destes sistemas de modo a aperfeiçoar a detecção desse tipo de erros.
No próximo capítulo serão abordados alguns destes sistemas, entre os quais, analisaremos sistemas
que utilizam k = 10 . Exemplos desses sistemas são o Universal Product Code (UPC) e o European Article
Number (EAN), que apesar de serem eficazes na detecção de erros singulares, perdem eficiência na detecção de transposições.
Pode ser encontrado em [12] o exemplo de sistema de identificação utilizado pelos alemães do
Dresdner Bank, que recorrendo a um vector de verificação constituído pelos termos de uma progressão
geométrica, conseguem detectar todos os erros da Tabela 2.2.
Existem alguns sistemas em utilização onde k > 11 . Evidentemente que os melhores são aqueles em
que k é primo. Estes sistemas requerem a utilização de alfabetos maiores, que ultrapassam os dez algarismos {0,1,..., 9} , tendo que recorrer a caracteres não numéricos ou à utilização de mais do que um algarismo de teste, o que “acarreta alguns problemas técnicos e custos mais elevados na concepção dos sistemas
automáticos de leitura e escrita”. Mais alguns exemplos destes sistemas, podem ser encontrados em [12].
14
§4.1 O Sistema EAN
Capítulo IV
Capítulo IV – Exemplos de Sistemas de Identificação Modulares
Cada problema que resolvi tornou-se numa regra,
que serviu para resolver outros problemas.
René Descartes
§4.1 O Sistema EAN
Em 1977, Albert Heijn, um grande empresário Holandês, juntamente com alguns produtores e distribuidores, motivados pela necessidade de uniformizar uma forma de codificar os produtos, criaram o
EAN (European Article Number). O sistema foi oficialmente registado, sendo doze os países fundadores
(Alemanha, Áustria, Bélgica, Dinamarca, Finlândia, França, Holanda, Itália, Noruega, Suécia, Suíça e
Reino Unido) e tendo Albert Heijn à frente da presidência. Sistemas como este, tendo em vista a atribuição
de um número único para cada artigo têm vindo a expandir-se mundialmente. O EAN é utilizado por países de todos os cantos do mundo e não apenas europeus, como foi o intuito dos seus fundadores [I]. O sistema EAN, actualmente, é gerido pela organização de estandardização GS1 [G]. O EAN é um sistema de
identificação constituído por números de identificação numéricos de comprimento treze, onde os algarismos
que o constituem são dispostos de uma das duas formas seguintes.
a1a2 - a 3a 4a 5a 6a 7 - a 8a 9a10a11a12 - a13 ou a1a2a 3 - a 4a 5a 6a 7 - a 8a 9a10a11a12 - a13
Os primeiros dois ou três algarismos identificam o país e o segundo grupo, constituído por cinco ou
quatro algarismos identificam o produtor. Os cinco algarismos que se seguem, constituem o número do
produto atribuído internamente pela própria empresa produtora. O último algarismo, como seria de esperar, é o algarismo de teste.
Nos Estados Unidos e no Canadá existe, desde 1973, um sistema semelhante a este, mas apenas com
doze algarismos, mais conhecido por Universal Product Code (UPC) [H]. O mesmo sucede no Japão, onde
este sistema é conhecido por Japanese Article Number (JAN) [P]. Estes três sistemas são regulados pelo
Global Trade Item Numbers (GTIN) [F], que supervisiona a implementação dos códigos de barras, que
normalmente surgem associados a este tipo de números. Esses códigos de barras permitem a fácil leitura
destes números, por parte de mecanismos especialmente construídos para esse efeito (para mais informações ver [C] e [R]). Vejamos um exemplo de um número de identificação do sistema EAN, para melhor
compreender a sua estrutura.
Exemplo 4.1 Consideremos o seguinte código de barras associado a um número de identificação do sis-
tema EAN.
Figura 4.1: Exemplo de EAN.
Verificamos que se trata de um número de identificação numérico de comprimento treze ( n = 13 ),
constituído pelos seguintes algarismos:
a1 = 8 ,
a8 = 4 ,
a2 = 4 ,
a9 = 9 ,
a3 = 3 ,
a10 = 4
a4 = 6 ,
a5 = 0 ,
a11 = 1 ,
a6 = 0 ,
a12 = 5 ,
a7 = 7 ,
a13 = 3 .
O grupo a1a2a 3a 4a 5a 6a 7 = 8436007 representa o código do produtor, o grupo a 8a 9a10a11a12 = 49415 é o código do produto e por fim, a13 = 3 é o algarismo de controlo.

15
§4.1 O Sistema EAN
Capítulo IV
Vejamos como se distribuem os pesos neste sistema de identificação através da seguinte tabela.
Código da Empresa Produtora
Código do Produto
Algarismo de Controlo
EAN
a1
a2
a3
a4
a5
a6
a7
a8
a9
a10
a11
a12
a13
Pesos
1
3
1
3
1
3
1
3
1
3
1
3
1
Tabela 4.1 – Pesos no sistema EAN.
Seja S a soma de controlo (constituída pelos produtos dos algarismos pelos seus respectivos pesos)
escrita da seguinte forma.
S = (1, 3,1, 3,1, 3,1, 3,1, 3,1, 3,1) ⋅ (a1, a2 , a 3 , a 4 , a 5 , a 6 , a 7 , a 8 , a 9 , a10 , a11, a12 , a13 )
S = a1 + 3a2 + a 3 + 3a 4 + a 5 + 3a 6 + a 7 + 3a 8 + a 9 + 3a10 + a11 + 3a12 + a13
Esta soma de controlo surge do somatório da multiplicação dos algarismos com índice par por três
com o somatório dos algarismos com índice ímpar.
Ou seja,
S = 3 å ai +
i par
åa
i
.
i ímpar
A condição imposta a esta soma de controlo, para a verificação do número e para a determinação de
a13 é ser divisível por dez. Estamos, portanto, perante um sistema de identificação módulo dez.
Temos então que,
S º 0 (mod10)
(1.1)
E consequentemente,
(
onde S
*
)
(1.2)
a13 = êé10 - S * (mod10) ùú (mod10)
ë
û
representa a soma dos produtos dos primeiros doze algarismos do EAN pelos seus respectivos
pesos.
Exemplo 4.2 Análise de números de identificação do sistema EAN.

Verifiquemos se o número EAN-8436007494153 da Figura 4.1 está correcto.
Comecemos por determinar a soma de controlo S.
S = (1, 3,1, 3,1, 3,1, 3,1, 3,1, 3,1) ⋅ (8,4,3,6,0,0,7,4,9,4,1,5,3)
S = 1 ⋅ 8 + 3 ⋅ 4 + 1 ⋅ 3 + 3 ⋅ 6 + 1 ⋅ 0 + 3 ⋅ 0 + 1 ⋅ 7 + 3 ⋅ 4 + 1 ⋅ 9 + 3 ⋅ 4 + 1 ⋅ 1 + 3 ⋅ 5 + 1 ⋅ 3 = 100
Assim (1.1) é trivialmente verificado, já que 100 = 10 ´ 10 + 0 .

Vejamos o que se passa com o número EAN-4974019272495.
S = (1, 3,1, 3,1, 3,1, 3,1, 3,1, 3,1) ⋅ (4,9,7,4,0,1,9,2,7,2,4,9,5)
S = 1 ⋅ 4 + 3 ⋅ 9 + 1 ⋅ 7 + 3 ⋅ 4 + 1 ⋅ 0 + 3 ⋅ 1 + 1 ⋅ 9 + 3 ⋅ 2 + 1 ⋅ 7 + 3 ⋅ 2 + 1 ⋅ 4 + 3 ⋅ 9 + 1 ⋅ 5 = 117
Como 117 = 10 ´ 11 + 7 , não se verifica (1.1) e portanto podemos concluir que o número de identifi-
cação considerado contém pelo menos um erro. Este sistema não nos permite identificar a posição
onde ocorreu esse erro. Supondo que o erro ocorreu no último algarismo, ou seja, no algarismo de
controlo, nesse caso, podemos corrigi-lo recorrendo à expressão (1.2).
S * = (1, 3,1, 3,1, 3,1, 3,1, 3,1, 3) ⋅ (4,9,7,4,0,1,9,2,7,2,4,9)
S * = 1 ⋅ 4 + 3 ⋅ 9 + 1 ⋅ 7 + 3 ⋅ 4 + 1 ⋅ 0 + 3 ⋅ 1 + 1 ⋅ 9 + 3 ⋅ 2 + 1 ⋅ 7 + 3 ⋅ 2 + 1 ⋅ 4 + 3 ⋅ 9 = 112
16
§4.1 O Sistema EAN
Capítulo IV
Utilizando (1.2), temos
(
(
)
a13 = êé10 - S * (mod10) ùú (mod10)
ë
û
a13 = éê10 - 112 (mod10) ùú (mod10)
ë
û
a13 = (10 - 2)(mod10)
)
a13 = 8 (mod10)
a13 = 8
Portanto, o número correcto seria EAN-4974019272498 (Figura 4.2) e este número já verificaria (1.1).
Figura 4.2: Código de Barras EAN-4974019272498 .

Este sistema foi construído de modo a detectar os erros mais frequentes na leitura óptica dos códigos
de barras, que são os erros singulares. Vejamos o que se passa relativamente a este tipo de erros.
Teorema 4.3 O sistema EAN detecta todos os erros singulares.
Demonstração:
Sejam a1, a2 , a 3 , a 4 , a 5 , a 6 , a 7 , a 8 , a 9 , a10 , a11, a12 e a13 os algarismos de um número de identificação do sistema EAN e S a soma de controlo (com os algarismos correctos). Assim (1.1) verifica-se. Designemos por
S ¢ , a soma de controlo com a troca de um algarismo, digamos ai por ai¢ (...ai ...  ...ai¢...) .
Vamos efectuar a demonstração por redução ao absurdo.
Suponhamos que,
S ¢ º 0 (mod10)
(1.3)
e calculemos a diferença entre S e S ¢ .
Separemos a demonstração em dois casos.

1º Caso [i é ímpar]. Nestas condições S - S ¢ = ai - ai ¢ .
Como tanto S como S ¢ satisfazem as condições de controlo [(1.1) e (1.3)], usando a alínea d) das
Propriedades 1.13 , temos S - S ¢ = ai - ai ¢ º 0 (mod10) .
O que, obviamente, é uma contradição, pois ai e ai¢ são números distintos entre 0 e 9, cuja diferença só seria congruente módulo dez com zero se ai = ai¢ .

(
)
2º Caso [i é par]. Nestas condições S - S ¢ = 3ai - 3ai ¢ = 3 ai - ai ¢ .
(
)
Analogamente ao efectuado na demonstração do 1º Caso, concluímos que 3 ai - ai ¢ º 0 (mod10) .
Como 3 e 10 são primos entre si ( m.d .c.(3,10) = 1 ), então 10 teria que dividir ai - ai ¢ , ou seja
(a - a ¢ ) º 0 (mod10) , o que é um falso, pela mesma razão citada na demonstração do 1ºCaso.
i
i
Portanto, concluímos que o sistema EAN detecta todos os erros singulares.

17
§4.1 O Sistema EAN
Capítulo IV
Exemplo 4.4 Consideremos o seguinte número de identificação do sistema EAN.
Figura 4.3: Exemplo de número de identificação do sistema EAN.
Suponhamos que ocorria um erro no primeiro algarismo do número de identificação representado na
Figura 4.3. Digamos que, ao digitar o número, se trocava o cinco por três, obtendo o número EAN3601199003275. Vejamos o que sucede com a soma de controlo quando aplicada a este número.
Determinemos a soma de controlo S.
S = (1, 3,1, 3,1, 3,1, 3,1, 3,1, 3,1) ⋅ (3,6,0,1,1,9,9,0,0,3,2,7,5) = 98
Como 98 = 10 ´ 9 + 8 , não se verifica (1.1) e assim concluímos que o sistema detecta a ocorrência
de erro na transmissão do número.

Como o sistema tem pesos distintos entre algarismos consecutivos, também vai detectar muitos dos
erros de transposições adjacentes. É claro que se os pesos fossem todos iguais, esses erros não seriam detectáveis.
Teorema 4.5 O sistema EAN detecta os erros de transposições adjacentes se e só se o módulo da dife-
rença entre os correspondentes algarismos adjacentes for diferente de 5.
Demonstração:
Seja a1a2a 3a 4a 5a 6a 7a 8a 9a10a11a12a13 um número de identificação do sistema EAN. Suponhamos que
ocorreu uma troca entre os algarismos ai e ai +1 ( ...aiai +1 ...  ...ai +1ai ... ), com ai ¹ ai +1 . Designemos a
soma de controlo com os algarismos ai e ai +1 trocados por S ¢ . Analogamente, à demonstração do teorema
anterior, sabemos que (1.1) se verifica e vamos supor que (1.3) também se verifica.
Separemos a demonstração em dois casos.

1º Caso [i é ímpar].
Determinemos a diferença entre S e S ¢ .
S - S ¢ = ai - ai +1 + 3 (ai +1 - ai ) = - (ai +1 - ai ) + 3 (ai +1 - ai ) = 2 (ai +1 - ai )
Como tanto S com S ¢ satisfazem as condições de controlo [(1.1) e (1.3)], usando a Propriedade 1.13
d), S - S ¢ º 0 (mod10) isto é 2 (ai +1 - ai ) º 0 (mod10) que é equivalente a 10 dividir 2 (ai +1 - ai )
(pela Observação 1.10). Como m.d .c.(10,2) ¹ 1 (10 e 2 não são números primos entre si), ai e ai +1
são números distintos entre 0 e 9, então dez só divide o produto 2 (ai +1 - ai ) se e só se
ai +1 - ai = 5 . Logo para ai e ai +1 tais que o módulo da diferença entre eles é 5, o sistema não con-
seguirá detectar a ocorrência de erro.

2º Caso [i é par].
Neste caso, a diferença entre S e S ¢ , será
S - S ¢ = 3 (ai - ai +1 ) + ai +1 - ai = 3 (ai - ai +1 ) - (ai - ai +1 ) = 2 (ai - ai +1 )
Procedendo de modo semelhante ao efectuado na demonstração do 1º Caso, concluímos que o erro
só será detectável se ai - ai +1 ¹ 5 .
18
§4.1 O Sistema EAN
Capítulo IV
Portanto, quando ocorre uma troca entre algarismos adjacentes cuja diferença é 5, a soma de controlo vai
continuar a verificar a divisibilidade por 10, não detectando a ocorrência de erro. Em todos os restantes
casos de transposições adjacentes o erro é detectado.

Como neste sistema os pesos são distintos para os índices pares e para os índices ímpares, se ocorrer
uma transposição entre um algarismo de uma posição par por um outro numa posição ímpar, o sistema
também não detectará o erro se o módulo da diferença entre os dois algarismos for 5. É óbvio que este
sistema não detecta nenhum erro de transposição intercalada ou de transposições entre algarismos cuja
ordem for da mesma paridade. O facto de o sistema não detectar este tipo de erros, não é grave, pois a
ocorrência destes erros é pouco frequente, atendendo à precisão dos leitores ópticos, garantida pelos seus
construtores.
Exemplo 4.6 Observemos o que sucede ao número de identificação apresentado na Figura 4.3, quando
sujeito a uma transposição adjacente entre os algarismos a11 e a12 . Obteríamos então o número, EAN5601199003725.
Calculemos a soma de controlo associada a este número e vejamos se (1.3) ainda se verifica.
S ¢ = (1, 3,1, 3,1, 3,1, 3,1, 3,1, 3,1) ⋅ (5,6,0,1,1,9,9,0,0,3,7,2,5) = 90 . Assim (1.3) verifica-se, pois 90 = 9 ´ 10 + 0 .
Portanto o erro não era detectado e o número seria aceite pelo sistema. Realmente, se efectuássemos
a diferença entre a soma do número original e a soma do número errado, obtínhamos algo do tipo,
S - S ¢ = 2 (a12 - a11 ) = 2 (7 - 2) = 2 ´ 5 = 10 .
E como 10 º 0 (mod10) o erro não era detectado. Situação que poderia ser averiguada se determinássemos o valor absoluto da diferença entre os correspondentes algarismos adjacentes e verificássemos que
era igual a 5, o que pelo Teorema 4.5, nos permitiria concluir que o erro não seria detectado.

Observação 4.7. Os algoritmos para os sistemas UPC e ISMN (International Standard Music Number,
ver [7] e [K]) seguem a mesma estrutura de formação que o sistema EAN, com as devidas adaptações ao
comprimento de cada um dos números. Teoremas análogos a 4.3. e a 4.5. também são verificados nestes
dois sistemas ([H] e [P]).
§4.2 O Sistema ISBN
A necessidade de um sistema internacional de numeração para os livros foi debatida pela primeira
vez, em Berlim, na terceira Conferência Internacional de Investigação do Mercado do Livro e Racionalização do Comércio Livreiro, em Novembro de 1966. Nessa altura um grupo de editores e distribuidores da
Europa pretendia recorrer à utilização de computadores, nas vendas e no controlo do inventário, e era
evidente que uma exigência para o bom funcionamento de um sistema como este, seria a utilização de um
único e simples número de identificação para a mesma publicação, independentemente das barreiras linguísticas existentes (mais informações em [3], [5], [6] e [S]).
Mais tarde, foi realizado um encontro em 1968, em Londres, com representantes da Dinamarca, Estados Unidos da América, França, Holanda, Irlanda, Reino Unido, República Federal da Alemanha e um
observador da UNESCO. Outros países contribuíram enviando sugestões e demonstrando o seu interesse.
Um relatório do encontro circulou por todos os países pertencentes à International Standards Organization
(ISO) [L]. Como resultado destas reuniões, em 1969, surgiu a recomendação 2108 da ISO que estabeleceu
os princípios e procedimentos para a numeração normalizada internacional do livro. Esta Recomendação
foi traduzida para português dando lugar à Norma Portuguesa NP-2022 ([B] e [J]).
19
§4.2 O Sistema ISBN
Capítulo IV
Este sistema ficou conhecido por ISBN (International Standard Book Number) e desde então que as
encomendas se tornaram mais simples e menos dispendiosas. Encomendar títulos em línguas estrangeiras
deixou de ser um problema. O ISBN é portanto, um sistema de identificação de livros, cassetes de áudio
(sons não musicais), mapas, software de computador, discos compactos e vídeos (essencialmente de carácter didáctico cujo objectivo principal é a utilização na aprendizagem e/ou instrução).
O ISBN-10 é um número de identificação de dez algarismos ou caracteres, sendo estes caracteres divididos em quatro séries:

1ª Série - Identificador do Grupo - O primeiro número ou grupo de algarismos serve para identificar
o grupo nacional, geográfico linguístico ou outro similar indicando assim sem margem para dúvidas
onde o livro foi publicado (os números atribuídos a Portugal são 972 e 989).

2ª Série - Prefixo do Editor - O segundo número ou grupo de algarismos identifica um editor em
concreto.

3ª Série - Identificador do Título - O terceiro número ou grupo de algarismos identifica um título
específico ou a edição de uma obra publicada por um editor.

4ª Série - Algarismo de Controlo
(para mais pormenores consultar [5], [6] e [S])
Normalmente estes números surgem acompanhados de um código de barras seguindo as normas
EAN (13 algarismos), e cujo primeiro grupo de três algarismos identifica a indústria livreira, que actualmente está associada ao número 978, estando prevista a utilização do prefixo 979, no caso deste se esgotar.
Os seguintes nove algarismos, correspondem ao número associado do ISBN-10, sendo o último algarismo o
algarismo de teste calculado segundo o algoritmo apresentado no parágrafo anterior (Sistema EAN – ver
Tabela 4.1).
Exemplo 4.8 Consideremos o seguinte código de barras associado a um número de identificação do siste-
ma ISBN-10.
Figura 4.4: Exemplo de ISBN-10.
Trata-se de um número de identificação alfanumérico de comprimento dez ( n = 10 ), constituído pelos seguintes algarismos:
a1 = 9 ,
a2 = 7 ,
a3 = 2 ,
a4 = 6 ,
a5 = 6 ,
a6 = 2 ,
a7 = 8 ,
a8 = 9 ,
a9 = 5 ,
a10 = 4 .

Averiguemos como é determinado o último algarismo no caso do sistema ISBN-10. Observemos, na tabela
seguinte, como se distribuem os pesos neste sistema de identificação.
Número de identificação do sistema ISBN-10
Algarismo de Controlo
ISBN-10
a1
a2
a3
a4
a5
a6
a7
a8
a9
a10
Pesos
10
9
8
7
6
5
4
3
2
1
Tabela 4.2 – Pesos no sistema ISBN-10.
20
§4.2 O Sistema ISBN
Capítulo IV
Denotemos a soma dos produtos dos algarismos pelos seus respectivos pesos por soma de controlo S.
Esta soma pode ser escrita do seguinte modo.
S = (10, 9, 8, 7, 6, 5, 4, 3,2,1) ⋅ (a1, a2 , a 3 , a 4 , a 5 , a 6 , a 7 , a 8 , a 9 , a10 )
S = 10a1 + 9a2 + 8a 3 + 7a 4 + 6a 5 + 5a 6 + 4a 7 + 3a 8 + 2a 9 + a10
A soma de controlo pode ser representada da forma seguinte.
10
S = å (11 - i )ai .
i =1
A condição imposta a esta soma de controlo, para a verificação do número e para a determinação de
a10 é a de ser divisível por onze. Estamos perante um sistema de identificação módulo onze. Assim,
S º 0 (mod11)
(1.4)
e
(
)
(1.5)
a10 = êé11 - S * (mod11) ùú (mod11)
ë
û
onde S * representa a soma dos produtos dos primeiros nove algarismos do ISBN-10 pelos seus respectivos
pesos.
Existe aqui, outra diferença essencial relativamente ao sistema EAN. Como estamos a utilizar congruências módulo onze, não serão suficientes os algarismos de 0 a 9 para representar o algarismo de teste.
Devido a isso, convencionou-se que, sempre que, o número de controlo fosse 10, se representasse pelo “X”
(dez em numeração romana).
Exemplo 4.9
Consideremos um código de barras, associado a um número de identificação do sistema
ISBN-10, cujo número de controlo é 10.
Figura 4.5: Exemplo de ISBN-10.
É um número de identificação alfanumérico de comprimento dez ( n = 10 ), constituído pelos seguintes algarismos:
a1 = 9 ,
a2 = 7 ,
a3 = 2 ,
a4 = 6 ,
a5 = 6 ,
a6 = 2 ,
a7 = 3 ,
a8 = 2 ,
a9 = 6 ,
a10 = X .
Verifiquemos que este número está correcto.
Comecemos por determinar a soma de controlo S.
S = (10, 9, 8, 7, 6, 5, 4, 3,2,1) ⋅ (9,7,2,6,6,2,3,2,6,10)
S = 10 ⋅ 9 + 9 ⋅ 7 + 8 ⋅ 2 + 7 ⋅ 6 + 6 ⋅ 6 + 5 ⋅ 2 + 4 ⋅ 3 + 3 ⋅ 2 + 2 ⋅ 6 + 1 ⋅ 10 = 297
Assim (1.4) é trivialmente verificado, uma vez que 297 = 11 ´ 27 + 0 .

Analisemos, de seguida, como se comporta este sistema no que diz respeito à detecção de erros.
21
§4.2 O Sistema ISBN
Capítulo IV
Teorema 4.10 O sistema ISBN-10 detecta todos os erros singulares.
Demonstração:
Seja a1a2a 3a 4a 5a 6a 7a 8a 9a10 um número de identificação do sistema ISBN-10. Denotando por S, a soma
de controlo com os algarismos correctos, sabemos por definição deste sistema que (1.4) se verifica. Designemos por S ¢ , a soma de controlo com a troca de um algarismo, digamos ai pelo algarismo ai¢
(...ai ...  ...ai¢...) .
Efectuemos a demonstração por redução ao absurdo.
Suponhamos que
S ¢ º 0 (mod11) .
(1.6)
(
)(
)
Calculando a diferença entre as duas somas (S e S ¢ ), obtemos S - S ¢ = 11 -¢ i ai - ai ¢ e como S
e S ¢ satisfazem as condições de controlo, temos S - S ¢ º 0 (mod11) .
(11 -¢ i)(a - a ¢ ) º 0 (mod11) . Como 11 -¢ i é um número entre 1 e 10, tem-se
m.d .c.(11 -¢ i,11) = 1 . Portanto (a - a ¢ ) º 0 (mod11) . O que é impossível, pois a e a ¢ são números disAssim,
i
i
i
i
i
i
tintos entre 0 e 10, cuja diferença só seria congruente módulo onze com zero se ai = ai¢ .
Portanto, concluímos que o sistema ISBN-10 consegue detectar todos os erros singulares.

De seguida iremos ver que o sistema ISBN-10, vai “mais longe” na detecção de erros, quando comparado com o sistema utilizado no EAN.
Teorema 4.11
O sistema ISBN-10 permite a detecção de erros de transposição entre dois algarismos
(mesmo que não sejam adjacentes).
Demonstração:
Sejam a1, a2 , a 3 , a 4 , a 5 , a 6 , a 7 , a 8 , a 9 e a10 os caracteres de um número de identificação do sistema ISBN10 e S a soma de controlo (com os caracteres correctos). Sabemos que (1.4) se verifica. Suponhamos que
ocorre uma troca entre os algarismos ai e a j ( ...aia j ...  ...a j ai ... ) e evidentemente só interessa considerar
os casos em que ai ¹ a j .
Denotemos por S ¢ a soma de controlo com os algarismos ai e a j trocados. Suponhamos, por absurdo, que (1.6) se verifica.
Calculemos a diferença entre S e S ¢ .
S - S ¢ = (11 - i )ai + (11 - j )a j - êé(11 - i )a j + (11 - j )ai ùú = (11 - i )ai + (11 - j )a j - (11 - i )a j - (11 - j )ai
ë
û
S - S ¢ = 11ai - iai + 11a j - ja j - 11a j + ia j - 11ai + jai = -iai - ja j + ia j + jai = ( j - i ) (ai - a j )
Como tanto S como S ¢ satisfazem as condições de controlo [(1.4) e (1.6)], usando a Propriedade
1.13 d), tem-se que S - S ¢ º 0 (mod11) , isto significa que ( j - i ) (ai - a j ) º 0 (mod11) .
Como j - i é um número entre 1 e 9, tem-se m.d .c.( j - i,11) = 1 . Logo (ai - a j ) º 0 (mod11) , o que
é um absurdo, pois o módulo da diferença entre os algarismos ai e a j , é um número pertencente a
{1, 2,...,10} .

22
§4.2 O Sistema ISBN
Capítulo IV
Portanto, concluímos que o ISBN-10 é um sistema que consegue detectar muitos erros, talvez seja
um dos sistemas mais eficazes, “perdendo pontos” apenas no facto de recorrer à utilização de um caracter
não numérico, o que provoca maior exigência na sua operacionalização.
Este sistema ainda tinha capacidade de se manter operacional por muitos e longos anos, no entanto,
devido à necessidade de uniformizar os sistemas de identificação e permitir a entrada de novas regiões do
globo que têm vindo a evoluir na indústria livreira, que à data da criação do ISBN não tinham grande
peso, decidiu-se implementar um novo sistema, o ISBN-13, que está em vigor desde 1 de Janeiro de 2007
([3], [5], [B] e [M]). Os números de identificação do ISBN-13, consistem em 13 algarismos, cujo primeiro
grupo de três algarismos identifica a indústria livreira, que actualmente está associada ao número 978,
estando prevista a utilização do prefixo 979, no caso deste se esgotar (Norma ISO-3166). Os seguintes nove
algarismos, seguem a construção do “antigo” ISBN-10, sendo o último algarismo o algarismo de teste calculado segundo o algoritmo do sistema EAN (Tabela 4.1). Consideremos a1a2a 3a 4a 5a 6a 7a 8a 9a10 , como sendo
um número de identificação do sistema ISBN-10 e b1, b2 , b3 , a1, a2 , a 3 , a 4 , a 5 , a 6 , a 7 , a 8 , a 9 e b13 os algarismos do
número de identificação do sistema ISBN-13, correspondente, nas condições do sistema EAN. Analisemos a
seguinte tabela que relaciona estes dois sistemas.
Número de identificação do sistema ISBN-13
Algarismo de Controlo
Prefixo
Número de identificação do sistema ISBN-10
ISBN-10
a1
a2
a3
a4
a5
a6
a7
a8
a9
a10
Pesos
10
9
8
7
6
5
4
3
2
1
ISBN-13
b1
b2
b3
a1
a2
a3
a4
a5
a6
a7
a8
a9
b13
Pesos
1
3
1
3
1
3
1
3
1
3
1
3
1
Tabela 4.3 – Relação entre o sistema ISBN-10 e o sistema ISBN-13.
Para uma melhor compreensão desta transformação, observemos os seguintes exemplos.
Figura 4.6: Exemplos de ISBN de manuais do Ensino Secundário.
Exemplo 4.12 Se repararmos na Figura 4.6, a primeira imagem representa um número de identificação
no sistema ISBN-10, antes da implementação do novo sistema, onde surge o correspondente no EAN. A
conversão efectuada entre o número do ISBN-10 e do EAN já seguia as indicações ilustradas na Tabela
4.3. A segunda imagem é referente ao período de transição e por último, a terceira imagem representa um
número do sistema ISBN-13, actualmente em utilização (onde o número do ISBN-10, simplesmente deixou
de ser representado). Expliquemos esta transformação com os códigos presentes na segunda imagem.
Número de identificação no sistema ISBN-10.
ISBN-972-47-2078-0
a1 = 9 ,
a2 = 7 ,
a3 = 2 ,
a4 = 4 ,
a5 = 7 ,
a6 = 2 ,
a7 = 0 ,
a8 = 7 ,
a9 = 8 ,
a10 = 0 .
23
§4.2 O Sistema ISBN
Capítulo IV
Correspondente no sistema ISBN-13 (e EAN).
ISBN-978-972-47-2078-4
b1 = 9 ,
b2 = 7 ,
a5 = 7 ,
b3 = 8 ,
a6 = 2 ,
a1 = 9 ,
a7 = 0 ,
a2 = 7 ,
a8 = 7 ,
a3 = 2 ,
a9 = 8 ,
a4 = 4 ,
b13 = 4 .
Rapidamente se depreende a relação entre um número no sistema ISBN-10 com o seu correspondente no sistema ISBN-13, que coincide exactamente com o número do EAN e o algarismo de controlo segue o
algoritmo do mesmo. Ou seja, neste exemplo, os três primeiros algarismos ( b1, b2 e b3 ) servem para o prefixo
de
identificação
da
indústria
livreira
(978
ou
979),
os
seguintes
nove
algarismos
( a1, a2 , a 3 , a 4 , a 5 , a 6 , a 7 , a 8 , a 9 ), correspondem à 1ª, 2ª e 3ª série da estrutura do ISBN-10 e o último algarismo,
b13 , é determinado através do algoritmo utilizado no sistema EAN.

Observação 4.13 Como já tínhamos visto anteriormente (Figura 4.5), o ISBN-10, na maioria das vezes,
já se fazia acompanhar do código de barras seguindo o sistema EAN. Assim esta modificação pouco veio a
alterar, ficando apenas a angústia da “morte” anunciada e premeditada do sistema usado no ISBN-10.
Passando, agora, apenas a existir a numeração orientada pelo sistema EAN. Pouco se ganhou com esta
troca, apenas uma maior uniformização e facilidade na implementação para a leitura do número de identificação de um livro pelos leitores ópticos de código de barras, que até já existia. O ISBN-13, surge acompanhado por uma desilusão e por uma sensação de retrocesso no que diz respeito à eficácia na detecção de
erros. Como verificámos, o sistema ISBN-10 é muito eficaz e pode ser encontrado, com as devidas adaptações noutros sistemas actualmente em vigor. Um exemplo disso é o ISSN (International Standard Serial
Number), (ver [N] e [O]), que é utilizado para identificar o título de publicações periódicas (jornais, revistas, anuários, relatórios, monografias, …) em qualquer idioma ou suporte físico utilizado (impresso, online
ou digital).
Observação 4.14 Outros dois números, com que estamos bem familiarizados são o Número do Bilhete de
Identidade (BI) e o Número de Identificação Fiscal (NIF) [DL nº463/79]. Estes dois números são geridos
por um sistema, semelhante ao utilizado pelo ISBN-10, no entanto, ao contrário do que se passava quando
o algarismo de teste era 10, onde se utilizava um símbolo não numérico para representar este valor, nestes
dois sistemas nacionais, decidiu-se utilizar o algarismo “0” para situações dessas. Porque, para além da
dificuldade de implementar um sistema que utilize caracteres não numéricos, “…o uso da letra X poderá
ainda ser problemático pela seguinte razão: para o titular de um dado número de BI ou de um dado número de conta bancária, ou para um paciente num banco de dados médico, a letra X poderá sugerir uma
“marca especial”, deveras desagradável.” Obviamente, que esta manobra que os Ministérios da Justiça e
das Finanças fizeram de modo a evitar a utilização de um “X” nos seus números de identificação, retiraram muita eficácia ao algoritmo.
De seguida, iremos analisar de forma sucinta, dois sistemas directamente ligados ao actual sistema
monetário, sendo que, o primeiro pode ser considerado como um dos sistemas de identificação mais fracos e
o segundo, como um dos melhores e mais fiáveis sistemas modulares em utilização.
24
§4.3 Sistema utilizado nos números de série das notas de euro
Capítulo IV
§4.3 Sistema utilizado nos números de série das notas de euro
Foi a 1 de Junho de 1998 que o Banco Central Europeu (BCE) foi instituído tornando-se, a partir
de 1 de Janeiro de 1999, no principal responsável pela condução da política monetária na zona euro. O
euro surgiu inicialmente a 1 de Janeiro de 1999, como moeda escritural e só passados três anos (1 de Janeiro de 2002) na forma de notas e moedas com que lidamos diariamente. Actualmente, o euro é a moeda
oficial de 17 dos 27 países que constituem a União Europeia, estando previstas, pelo menos, mais oito novas adesões até 1 de Janeiro de 2014. Portanto, em breve pertencerão à zona euro 25 estados membros da
União Europeia, isto sem contar com alguns estados que, não estando na União Europeia, resolveram
adoptar o euro como sua moeda oficial (como é o caso de Andorra, Mónaco, São Marino, Vaticano, Montenegro e Kosovo).
Estado membro
Letra
correspondente ( a1 )
Valor (v)
Ano da adesão à
zona euro
Ainda por atribuir
A
2
-----
Ainda por atribuir
B
3
-----
Ainda por atribuir
C
4
-----
Estónia
D
5
2011
Eslováquia
E
6
2009
Malta
F
7
2008
Chipre
G
8
2008
Eslovénia
H
9
2007
Não atribuído
I
1
-----
Reino Unido *
J
2
?
Suécia *
K
3
?
Finlândia
L
4
1999
Portugal
M
5
1999
Áustria
N
6
1999
Não atribuído
O
7
-----
Holanda
P
8
1999
Não atribuído
Q
9
-----
Luxemburgo
R
1
1999
Itália
S
2
1999
Irlanda
T
3
1999
França
U
4
1999
Espanha
V
5
1999
Dinamarca *
W
6
?
Alemanha
X
7
1999
Grécia
Y
8
2001
Z
9
1999
Bélgica
Tabela 4.4 – Correspondências nos números de série das notas de euro.
(*) Os estados membros assinalados, ainda não aderiram à zona euro, nem existe uma data prevista para a
sua integração.
25
§4.3 Sistema utilizado nos números de série das notas de euro
Capítulo IV
O euro pode surgir na forma de moedas, onde cada moeda tem uma face comum e uma face que varia de acordo com o país para que foi cunhada. E pode surgir na forma de notas, sendo que estas apresentam diversos mecanismos tecnológicos de segurança, concebidos para dificultar a contrafacção. Alguns
desses mecanismos são propositadamente divulgados, de modo a poderem ser verificados por qualquer utilizador, como por exemplo, a marca de água, o filete de segurança, a imagem holográfica e a banda iridescente. Para além dos mecanismos referidos, existe o número de série das notas que, talvez devido ao seu
fracasso, nunca foi alvo de grande divulgação. No entanto, este número continua a ser muito utilizado
pelos bancos. Trata-se de um mecanismo estritamente matemático que não envolve nenhum tipo de tecnologia gráfica e que, bem aplicado, poderia revelar-se num instrumento poderosíssimo contra as fraudes.
De seguida, mostraremos como funciona o número de série das notas de euro. Na tabela da página
anterior podem ser observadas algumas características que servirão de base para o estudo do sistema. É
possível identificar-se a origem de uma nota de euro através da letra que inicia o número de série de cada
nota (ver Tabela 4.4).
Definamos, desde já, o formato do número de série das notas de euro. Este número de série é um
número de identificação alfanumérico de comprimento doze, onde o primeiro caracter identifica o país
emissor (através de uma letra) e o último é o algarismo de controlo ( a1a2a 3a 4a 5a 6a 7a 8a 9a10a11a12 ). Como se
pode averiguar, pela análise da Tabela 4.4, cada letra corresponde a um país e a um valor representado
por um algarismo entre 1 e 9. Observemos o seguinte exemplo para melhor compreender esta estrutura.
Exemplo 4.15 Consideremos o número de série constante numa nota de 20 euros.
Figura 4.7: Nota de 20 euros.
Constatamos que se trata de um número de identificação alfanumérico de comprimento doze
( n = 12 ), constituído pelos seguintes caracteres:
a1 = M ,
a2 = 8 ,
a3 = 4 ,
a4 = 0 ,
a5 = 8 ,
a6 = 8 ,
a7 = 8 ,
a8 = 5 ,
a9 = 0 ,
a10 = 0
a11 = 9 ,
a12 = 8 .
O caracter a1 identifica Portugal como sendo o país emissor e o a12 é o algarismo de controlo.

Neste sistema de identificação, a soma de controlo S é obtida através da soma do valor correspondente à letra, que surge no caracter a1 , com os restantes onze algarismos, uma vez que todos os pesos são
iguais a um. Portanto a soma de controlo pode ser escrita do seguinte modo, onde v designa o valor correspondente ao país de emissão.
12
S = v + å ai
i =2
S = v + a2 + a 3 + a 4 + a 5 + a 6 + a 7 + a 8 + a 9 + a10 + a11 + a12
26
§4.3 Sistema utilizado nos números de série das notas de euro
Capítulo IV
A condição imposta a esta soma de controlo para a verificação do número e para a determinação de
a12 é a de ser divisível por nove. Estamos perante um sistema de identificação módulo nove, assim
S º 0 (mod 9)
(1.7)
e
(
)
(1.8)
a12 = êé9 - S * (mod 9) úù (mod 9)
ë
û
onde S * representa a soma dos onze valores correspondentes aos caracteres a1, a2 , a 3 , a 4 , a 5 , a 6 , a 7 , a 8 , a 9 , a10 e
a11 .
Exemplo 4.16 Verifiquemos se o número de série da nota de 20 euros da Figura 4.7 está correcto.
Comecemos por determinar a soma de controlo S.
S = 5 + 8 + 4 + 0 + 8 + 8 + 8 + 5 + 0 + 0 + 9 + 8 = 63
Assim (1.7) é trivialmente verificado, pois 63 = 7 ´ 9 + 0 .

Este sistema, por utilizar pesos iguais à unidade para todos os caracteres, apresenta um baixo nível
de sucesso na detecção de erros. Não detecta nenhum erro de transposição (de um ou mais algarismos,
consecutivos ou não) e falha na detecção de alguns erros singulares. Por exemplo, se trocarmos um zero
por um nove, ou vice-versa, o algarismo de controlo mantém-se inalterado. Portanto este sistema não detecta os tipos de erros mais comuns, que de acordo com a Tabela 2.2 representam 90,1% dos erros, tornando-o num sistema bastante fraco.
Para além destas condicionantes inerentes ao próprio algoritmo, vejamos que o sistema actualmente
já se encontra em ruptura. Neste caso, o “alfabeto” A que é utilizado pelo primeiro caracter do número de
série das notas de euro corresponde ao alfabeto usual com as 26 letras, sendo que as letras O e Q não são
usadas, de modo a evitar possíveis confusões com o número zero, o mesmo sucedendo com a letra I que
facilmente se confundiria com o número um. Restaram somente 23 letras, sendo que, actualmente já estão
atribuídas 17, sobrando apenas 6 letras, de entre as quais três já se encontram reservadas ao Reino Unido,
Suécia e Dinamarca (países assinalados com asterisco na Tabela 4.4), que embora ainda não pertençam à
zona euro já têm letra para quando, hipoteticamente, decidirem aderir. Portanto, com as novas entradas
no sistema previstas até 2014 será necessário adaptá-lo ou reformulá-lo por completo. Como foi possível,
cometer tantos erros num sistema tão recente e de tamanha importância?
§4.4 Sistema utilizado no NIB
O Número de Identificação Bancária (NIB) é o número que identifica as contas bancárias e é utilizado em todo o mundo. Os algarismos de controlo são apurados de acordo com o Módulo 97-10, constante
da norma ISO-7064. O NIB é constituído por vinte e um algarismos, sendo os quatro primeiros o código do
banco no qual a conta está domiciliada, seguidos do código do balcão ou agência (quatro algarismos que
poderão ser zeros se o banco não utilizar esta referência), do número de conta (onze algarismos) e de dois
algarismos de controlo [Q].
Exemplo 4.17 Representação de um Número de Identificação Bancária.
Figura 4.8: Exemplo de NIB.
27
§4.4 Sistema utilizado no NIB
Capítulo IV
Verificamos que se trata de um número de identificação numérico de comprimento vinte e um
( n = 21 ), constituído pelos seguintes algarismos:
a1 = 0 ,
a2 = 0 ,
a3 = 3 ,
a4 = 5 ,
a5 = 0 ,
a6 = 3 ,
a7 = 6 ,
a8 = 0 ,
a9 = 0 ,
a10 = 0 ,
a11 = 0 ,
a12 = 2 ,
a13 = 6 ,
a14 = 6 ,
a15 = 7 ,
a16 = 9 ,
a17 = 8 ,
a18 = 0 ,
a19 = 0 ,
a20 = 1 ,
a21 = 7 .
Os algarismos 0035 representam o código do banco, 0360 representam o código do balcão ou agência do
referido banco, 00026679800 identificam o número de conta e por fim, 17 são os dois algarismos de controlo
que constituem o número de controlo.

Analisemos, na tabela seguinte, como se distribuem os pesos neste sistema de identificação.
Número de
Código do Banco
Código do Balcão
Número de Conta
NIB
a1
a2
a3
a4
a5
a6
a7
a8
a9
a10 a11 a12 a13 a14 a15 a16 a17 a18 a19
c
Pesos
73
17
89
38
62
45
53
15
50
5
1
49
34
81
76
27
Controlo
90
9
30
3
Tabela 4.5 – Pesos no sistema NIB.
Designemos por S a soma de controlo, obtida através da adição dos produtos dos algarismos pelos
seus respectivos pesos.
Seja c da forma c = (10a20 + a21 ) (mod 97) .
A condição imposta a esta soma de controlo, para a verificação do número e para a determinação de
c é a de o resto da divisão da soma por 97 ser 1.
Ou seja,
S º 1 (mod 97)
(1.9)
Utilizando a Propriedade 1.13 d), tem-se,
(
)
(1.10)
c = éê98 - S * (mod 97) ùú (mod 97)
ë
û
onde S * representa a soma dos produtos dos primeiros dezanove algarismos do NIB pelos seus respectivos
pesos. Os dois algarismos de controlo ( a20 e a21 ) que compõem este número de identificação são os algarismos das dezenas e das unidades de c, respectivamente. Quando c for constituído apenas por um algarismo considera-se a20 = 0 , ou seja se, por exemplo, c = 7 tem-se a20 = 0 e a21 = 7 .
No que concerne à detecção de erros, este sistema detecta qualquer erro singular. Por exemplo, o sistema não aceitará a transferência de dinheiro para uma conta que difira apenas num algarismo de uma
conta que realmente exista. Também vai detectar as transposições de quaisquer dois algarismos, ou seja,
qualquer transposição de dois algarismos altera os respectivos algarismos de controlo. Uma vez que estes
dois tipos de erro são os mais frequentes, tem-se que este é um bom sistema de detecção de erros. Portanto, será pouco provável recebermos dinheiro na nossa conta devido a equívocos na comunicação de números de identificação bancária. Existem muito mais sistemas de identificação modulares, para além dos
apresentados ao longo deste trabalho. A intensão primordial, prendeu-se no facto de alertar para a eficácia
destes sistemas, que não se encontra directamente ligada com o grau de complexidade associado. Pequenas
alterações, nalguns dos sistemas apresentados e conotados como pouco fiáveis (como por exemplo os sistemas utilizados no número do bilhete de identidade, no número de identificação fiscal e no número de série
das notas de euro), poderiam transformá-los em bons sistemas de identificação de acordo com as aplicações
e limitações inerentes aos mesmos.
28
Conclusão
Um trabalho matemático, é para quem o sabe ler,
o mesmo que um trecho musical para quem o sabe ouvir,
um quadro para quem o sabe ver, uma ode para quem a sabe sentir.
Francisco Gomes Teixeira
A aritmética modular e as suas aplicações comprovam a constante expansão e evolução da matemática. O próprio contexto da sociedade e da realidade onde estamos inseridos obriga ao desenvolvimento de
cada vez mais métodos que permitam a melhoria na nossa estruturação e organização, bem como nos modos de comunicação em segurança e com eficácia. Esta aritmética é poderosíssima e muito versátil, apresentando-se no nosso quotidiano das mais variadas formas, podendo ser encontrada, para além dos sistemas de identificação, nos processos de codificação e descodificação de mensagens no âmbito da criptografia.
Talvez por isso se possa afirmar que, este trabalho nos possibilitou a abertura de horizontes, que agora nos
estimulam a curiosidade e interesse por continuar o estudo nesta área.
Ao longo deste trabalho foram abordadas as noções essenciais e fundamentais, para todos os que desejem iniciar-se numa incursão ao mundo dos sistemas de identificação, recorrendo essencialmente à utilização da aritmética modular. É óbvio que muito ficou por referir. No entanto, pensamos que o principal
objectivo, o de estimular e cativar os leitores para as aplicações da aritmética modular, partindo de exemplos concretos e sobejamente utilizados, foi cumprido. Após a indispensável introdução e contextualização
do tema, partiu-se para a explanação de sistemas de identificação muito utilizados, recorrendo a exemplos
concretos e realçando sempre os aspectos mais simples e de forma mais esmiuçada possível, pois a simplicidade pode originar a complexidade.
Com este trabalho concluímos que a utilização, conveniente, de números primos na concepção de
um sistema de identificação modular, pode melhorar substancialmente a eficácia na detecção de erros. A
Tabela 3.1 do terceiro capítulo poderá revelar-se muito importante aquando da construção de um novo
sistema modular. Neste tipo de sistemas, o objectivo será encontrar um algoritmo que seja o mais eficaz
possível na detecção dos erros, sem que se aumente, em demasia, o grau de complexidade do mesmo, devendo ter-se sempre em conta a utilização futura e as tecnologias inerentes à sua aplicação. Como foi referido no exemplo do sistema de identificação EAN, apesar da eficiência na detecção de erros não ser a melhor, este facto não é problemático, pois os equipamentos de leitura óptica dos códigos de barras associados
aos números deste sistema apresentam uma baixa frequência nos tipos de erros não detectáveis. Foi analisada a supremacia do sistema ISBN-10 na detecção dos erros mais frequentes, bem como alguns dos seus
constrangimentos no momento da sua aplicação prática, situação que terá motivado as menos felizes adaptações do referido sistema nalguns números de identificação mais importantes no nosso país (número de
identificação fiscal e número do bilhete de identidade). Estudámos ainda dois sistemas internacionais de
extrema importância na economia global, permitindo apresentar um mau exemplo de sistema de identificação, contrapondo com um dos melhores sistemas modulares em utilização.
De modo a conseguir uma maior proximidade e melhor constatação das dificuldades inerentes à implementação destes sistemas de identificação modulares, foi elaborado, em paralelo com o presente trabalho e recorrendo a uma aplicação de folhas de cálculo, um documento dinâmico onde estes sistemas de
identificação podem ser testados. Será, num futuro próximo, disponibilizada na Internet uma aplicação de
determinação de algarismos de controlo e verificação de números de identificação.
29
Bibliografia
[1] Birckoff, G e Maclane, S., Álgebra Moderna, Editorial Vivens-vives, Barcelona, 1970.
[ISBN 84-316-1226-6]
[2] Borceux, F., A arte do segredo público, conferência realizada no Instituto Politécnico de Viseu a 14 de Dezembro de 2006.
[3] Clarkson, T., Planning for the Age of ISBN-13: A BISAC Briefing on How to Manage the Transition, PMA Newsletter.
[4] Hefez, A. e Villela, M. L. T., Códigos corretores de erros, Instituto Nacional de Matemática Pura e Aplicada, Brasil, 2002.
[ISBN 85-244-0189-9]
[5] ISBN Agency, Guidelines for the Implementation of 13-Digit ISBNs, International ISBN Agency, Berlin, 2004.
[ISBN 3-88053-108-0]
[6] ISBN Agency, ISBN User’s Manual – International Edition, International ISBN Agency, Berlin, 2005.
[ISBN 3-88053-113-7]
[7] ISMN Agency, ISMN User’s Manual, International ISMN Agency, Berlin, 2005.
[ISBN 3-88053-122-6]
[8] Kirtland, J., Identification Numbers and Check Digit Schemes, The Mathematical Association of America, Washington, 2001.
[ISBN 0-88385-720-0]
[9] Lidl, R. e Niederreiter, H., Introduction to finite fields, Cambridge University Press, Cambridge, 2002.
[ISBN 0-521-46094-8]
[10] Lines, M., Pense num Número – Aprender a Fazer Ciência, Gradiva, Lisboa, 1993.
[ISBN 972-662-326-X]
[11] Lint, J. H. V., Coding theory, Springer-Verlag, Berlin.Heidelberg.New York, 1971.
[ISBN 3-540-05476-6]
[12] Picado, J., A álgebra dos sistemas de identificação: da aritmética modular aos grupos diedrais, Boletim da Sociedade Portuguesa
de Matemática, vol 44, 2001.
[13] Queiró, J. F., Teoria dos Números, Departamento de Matemática – Universidade de Coimbra, Coimbra, 2002.
[14] Roman, S., Coding and information theory, Springer, New York, 1992.
[ISBN 0-387-97812-7]
[15] Sobral, M., Álgebra, Universidade Aberta, Lisboa, 1996.
[ISBN 972-674-176-9]
[16] Vitória, J. e Lima, T. P., Álgebra Linear, Universidade Aberta, Lisboa, 1998.
[ISBN 972-674-218-8]
30
Tecnografia
[A] Administração Central do Sistema de Saúde.
http://www.acss.min-saude.pt/
[B] Associação Portuguesa de Editores e Livreiros.
http://www.apel.pt/
[C] Bar Code 1 – A web of information about bar code.
http://www.adams1.com/pub/russadam/
[D] Biblioteca Nacional.
http://www.bn,pt/
[E] Cartão de Cidadão.
http://www.cartaodecidadao.pt/
[F] Global Trade Identification Number.
http://www.gtin.info/
[G] GS1.
http://www.gs1.org/
[H] How Bar Code Works – UPC.
http://www.howstuffworks.com/upc.htm
[I]
Informações sobre EAN.
http://www.ean.be/
[J] Instituto Português de Qualidade.
http://www.ipq.pt/
[K] International ISMN Agency.
http://www.ismn-international.org/
[L] International Organization for Standardization.
http://www.iso.org/
[M] ISBN-13 online converter.
http://www.isbn.org/converterpub.asp
[N] ISSN – Biblioteca Nacional de Portugal.
http://www.bn.pt/servicos-ao-publico/sp-issn.html
[O] ISSN – International Center.
http://www.issn.org/
[P] Japanese Article Number code.
http://www.sensorcentral.com/barcode/barcode03.php
[Q] Sistemas de Identificação com algarismos de Controlo.
http://www.atractor.pt/mat/alg_controlo/
[R] Software para imprimir códigos de barras.
http://www.barcodingfonts.com/
[S] The international ISBN Agency.
http://isbn-international.org/
[T] The Power of Identification Technology - Applied Digital.
http://www.adsx.com/
31
Anexos
Anexos
Ouvimos muitas vezes que a Matemática consiste essencialmente em “fornecer teoremas”.
Será o trabalho de um escritor essencialmente “escrever frases”?
Giano Carlo-Rota
Apresentamos algumas definições e axiomas importantes ao estudo da aritmética modular. Na realização desta compilação foram utilizados [1], [13], [15] e [16], pelo que, para aprofundar estas noções aconselha-se a sua consulta.
Definição 5.1 Sejam (X , *) e (Y , ) conjuntos com operações binárias. Homomorfismo de (X , *)
em (Y , ) é uma função f : X  Y tal que f (a * b ) = f (a )  f (b ) .
Um homomorfismo f chama-se isomorfismo se f for uma função bijectiva. Diz-se que (X , *) é isomorfo a (Y , ) , e escreve-se (X , *) @ (Y , ) , se existir um isomorfismo entre eles. Um isomorfismo de um
conjunto em si próprio, designa-se por automorfismo.
Definição 5.2 Um par
(G, *)
constituído por um conjunto G e uma operação binária * :
G ´G  G diz-se um grupo, se verifica os seguintes axiomas:
A1 : (Associatividade)
Para todo a, b e c em G,
(a * b) * c = a * (b * c ) .
A2 : (Existência de elemento neutro)
Existe em G um elemento e tal que, para todo a em G,
a *e = e *a = a .
A3 : (Existência de inversos)
Para cada a em G, existe um a ¢ em G tal que,
a¢ *a = a *a¢ = e .
Um grupo (G, *) diz-se comutativo ou abeliano se verifica,
A4 : (Comutatividade)
Para todo a e b em G,
a *b = b *a .
Exemplo 5.3 Os conjuntos , ,  e  dos números inteiros, racionais, reais e complexos, res-
pectivamente, são grupos para as operações usuais de adição, tendo o zero como elemento neutro e –a
como o inverso de a.
Mas, nenhum destes conjuntos é um grupo para as operações de multiplicação usuais: 1 é a identidade mas o zero não tem inverso. No entanto, \ {0} , \ {0} e \ {0} são grupos relativamente à multiplicação,
1
é o inverso de qualquer número racional, real ou complexo não nulo.
a

Definição 5.4 Um grupo gerado por um só elemento diz-se grupo cíclico.
G = a = {na , n Î } .
A1
Anexos
Exemplo 5.5 O grupo aditivo  é um grupo cíclico infinito gerado por 1. Também é cíclico qual-
quer dos seus subgrupos m  = m , sendo infinito se m ¹ 0 .

Teorema 5.6 a) Todo o grupo cíclico infinito é isomorfo ao grupo aditivo  .
b) Todo o grupo cíclico de ordem m é isomorfo ao grupo aditivo  m .
Definição 5.7 Um semigrupo é um conjunto com uma operação binária associativa e fechada.
Definição 5.8 Um anel é um terno (A, +, ⋅) constituído por um conjunto A e duas operações bi-
nárias, adição e multiplicação, satisfazendo os seguintes axiomas:
A1 : (A, +) é um grupo abeliano.
A2 : (A, ⋅) é um semigrupo.
A3 : A multiplicação é distributiva em relação à adição, isto é, para todos os elementos a, b e
c de A, a ⋅ (b + c ) = a ⋅ b + a ⋅ c e (a + b ) ⋅ c = a ⋅ c + b ⋅ c .
O anel (A, +, ⋅) diz-se comutativo se a multiplicação for comutativa, unitário se tiver elemento neutro 1A
para a multiplicação que se chama identidade do anel (o elemento neutro da multiplicação, 1A , não pode
coincidir com o elemento neutro da adição, 0A , ou seja 1A ¹ 0A ).
Exemplo 5.9 O conjunto dos inteiros  com a adição e multiplicação usuais é um anel. São tam-
bém anéis os conjuntos n  dos múltiplos de um inteiro positivo n, relativamente às restrições destas operações. Os números racionais, reais e complexos, com as correspondentes operações de adição e multiplicação, são anéis. Todos estes anéis são comutativos e, com excepção dos anéis n  , unitários.

Definição 5.10 Um elemento a ¹ 0 de um anel A diz-se divisor de zero à esquerda se existir um
elemento b Î A , com b ¹ 0 , tal que ab = 0 e diz-se divisor de zero à direita se existir um elemento
b Î A , com b ¹ 0 , tal que ba = 0 . Divisor de zero é um elemento de A que é simultaneamente divisor de
zero à esquerda e à direita.
Definição 5.11
Todo o anel comutativo A com identidade 1A ¹ 0A e sem divisores de zero é
chamado domínio de integridade.
Exemplo 5.12 Os conjuntos , ,  e  dos números inteiros, racionais, reais e complexos, são
todos domínios de integridade.

Definição 5.13 Aos elementos invertíveis de um anel chamam-se unidades do anel e constituem
um grupo para a multiplicação.
Definição 5.14 Dois elementos a e b, de um domínio D, dizem-se associados se a = ub , onde u é
uma unidade do anel.
Definição 5.15 Qualquer elemento não nulo de um domínio D é sempre divisível pelos seus asso-
ciados e pelas unidades. Todos os outros divisores chamam-se divisores próprios. Todo o elemento não
nulo e não invertível de D, que não admita divisores próprios, chama-se elemento irredutível de D.
A2
Anexos
Definição 5.16 Um anel D com identidade 1D ¹ 0D no qual todo o elemento não nulo é invertí-
vel chama-se anel de divisão.
Definição 5.17 Um subconjunto S do anel A é um subanel de A se S é ele próprio um anel para
as operações de adição e multiplicação de A.
Definição 5.18 Um subanel I de um anel A é um ideal se ax Î I e xa Î I para todo a Î A e
x ÎI .
Definição 5.19 Um ideal gerado por um único elemento x diz-se um ideal principal e denota-se
por x .
Definição 5.20 Um ideal P de um anel comutativo A diz-se primo se P ¹ A e para a, b Î A ,
se ab Î P então a Î P ou b Î P .
Definição 5.21 Um ideal M de um anel comutativo A diz-se maximal se M ¹ A e para qualquer
ideal N tal que M Í N Í A , N = M ou N = A .
Exemplo 5.22 O ideal 5 é maximal em  . O ideal gerado por 10 já não é maximal pois está
estritamente contido num ideal próprio de  ( 10 Ì 5 Ì  ).
Como m Í n
se e só se n | m , é fácil verificar que um ideal de  é maximal se e só se é gerado
por um número primo. Isso implica que todo o ideal maximal do anel dos inteiros é um ideal primo.

Definição 5.23 Um corpo é um terno (C , +, ⋅) constituído por um conjunto C, munido de duas
(
)
operações, + e ⋅ , tais que (C , +) e C \ {0} , ⋅ são grupos abelianos e a multiplicação é distributiva em
relação à adição. Alternativamente, um corpo pode ser definido como sendo um anel de divisão no qual a
multiplicação é comutativa, ou seja, um anel abeliano onde todo o elemento não nulo é invertível.
Definição 5.24 Um corpo sem subcorpos próprios chama-se corpo primo, e como todo o corpo
tem um subcorpo primo P, podemos afirmar que qualquer corpo é extensão de um corpo primo.
Teorema 5.25 Se P é um corpo primo, ele é isomorfo ao corpo  dos números racionais ou ao
corpo  p , para algum p primo.
Definição 5.26 Define-se característica de um corpo finito C, e nota-se car (C ) , da seguinte for-
ma:
car (C ) := min {n Î  : n1 = 0} .
Teorema 5.27 Se F é um corpo finito então ele tem característica não nula e p n elementos para
algum primo p e natural n.
Teorema 5.28 O grupo multiplicativo de qualquer corpo finito é cíclico.
A3
Download

Veremos - Aplicações da Aritmética Modular