DÍGITOS DE CONTROL:

Anuncio
Dígitos de control
DÍGITOS DE CONTROL:
APLICACIONES DE LA ARITMÉTICA DE NÚMEROS ENTEROS A LA VIDA REAL
Autores:
Cristina
Steegmann
Pascual
([email protected]),
Ángel
A.
Juan
Pérez
([email protected]).
ESQUEMA DE CONTENIDOS
________________________
Definición
Propiedades
NÚMEROS
ENTEROS
Aplicaciones
Aritmética
Divisibilidad
Resolución de
ecuaciones
diofánticas
DÍGITOS de CONTROL
Congruencias
Número de
Identificación
Fiscal (NIF)
International
Standard Book
Number (ISBN)
Cuentas
Corrientes
Bancarias
Proyecto e-Math
Financiado por la Secretaría de Estado de Educación y Universidades (MECD)
1
Dígitos de control
INTRODUCCIÓN
___________________
A menudo las matemáticas se nos muestran como una ciencia teórica y abstracta, sin aplicaciones en
la vida real. ¡Nada de eso! Este math-block pretende mostrar unos sencillos ejemplos de
congruencias que utilizamos cotidianamente, y que nos conducirán a un concepto muy importante en
el mundo de las telecomunicaciones: los dígitos de control. Tan sólo necesitaremos nuestro número
del carnet de identidad, los libros de la biblioteca y el número de la cuenta bancaria.
OBJETIVOS
________________________
•
Conocer algunas aplicaciones de la aritmética de los números enteros presentes en nuestra vida
diaria y comprobar a partir de qué argumentos matemáticos aparecen.
•
Practicar la resolución de ecuaciones diofánticas y el cálculo con congruencias de números
enteros.
•
Profundizar en la programación con el programa Excel haciendo uso de sus diferentes funciones.
CONOCIMIENTOS PREVIOS
___________________________________
Es recomendable que, previamente, se dominen los siguientes apartados:
•
Concepto de máximo común divisor de números enteros.
•
Resolución de ecuaciones lineales con dos variables y coeficientes enteros (ecuaciones
diofánticas).
•
Noción de congruencias de números enteros y sus operaciones básicas.
Asimismo también es muy aconsejable que se tenga conocimiento de manejo de las principales
funciones del programa Excel.
CONCEPTOS FUNDAMENTALES
‰
______________________________
Número de Identificación Fiscal (NIF)
Casi todo el mundo sabe de memoria su NIF, el cual aparece en el DNI y sirve para identificar
unívocamente a una persona ante la administración estatal. De todos es sabido, también, que este
NIF es el número del DNI añadiéndole una letra. Lo que, quizás, no sepa todo el mundo es cómo se
asigna dicha letra. No se trata de una asignación al azar o que dependa de nuestro nombre o
cualquier dato nuestro. No. Esta letra simplemente se obtiene cogiendo el residuo de la división
entera del número del DNI entre 23 y aplicando la tabla siguiente:
0
T
1 2
R W
3
A
4
G
5
M
6
Y
7
F
8
P
9 10 11 12 13 14 15 16 17 18 19 20 21 22
D X B N J Z S Q V H L C K E
En el lenguaje de congruencias podemos decir que calculamos la clase del número del DNI en Ζ23, y
cada clase la designamos con una letra siguiendo la tabla anterior.
Proyecto e-Math
Financiado por la Secretaría de Estado de Educación y Universidades (MECD)
2
Dígitos de control
Ejemplo 1:
Vamos a calcular la letra del NIF que corresponde al número 38.834.932.
Con la ayuda de la función RESIDUO del programa EXCEL obtenemos el resto de la división entera
de los números:
Mirando la tabla, comprobamos que al 7 le corresponde la letra F.
Por tanto, el NIF es: 38.834.932-F.
La pregunta que ahora nos hacemos es la siguiente: Si la letra del NIF tan sólo depende del número
del DNI y no los datos personales de la persona en cuestión (como el nombre o la fecha de
nacimiento) entonces, ¿por qué tenemos que llevar esta letra si cualquier ordenador la puede calcular
en un santiamén?
La respuesta a esta pregunta nos la proporciona la verdadera función de la letra. Ésta es la que
llamamos un dígito de control.
El DNI nos identifica completamente ante el Estado y, por tanto, es importante que en los documentos
oficiales conste correctamente. A menudo, cuando introducimos muy deprisa estos números en el
ordenador, hacemos pequeños errores como equivocarnos en una cifra o cambiar el orden de un par
de éstas. La manera de evitar estos pequeños fallos es introducir un dígito de control.
La idea subyacente es la de añadir una información adicional al número (en este caso, un dígito más)
que controle la veracidad de los datos introducidos. De hecho, cada vez que introducimos el NIF en
un ordenador (por ejemplo en el programa de la declaración de la renta), la máquina calcula la letra y
la compara con la que hemos introducido. Si no coinciden significa que nos hemos equivocado al
introducir el número, y el ordenador nos pide que lo verifiquemos.
Ejemplo 2:
Comprobemos si el NIF: 38.523.102-H es correcto.
RESIDUO(38523102;23)=11
Y al número 11 le corresponde la letra B. Por tanto no es correcto.
Proyecto e-Math
Financiado por la Secretaría de Estado de Educación y Universidades (MECD)
3
Dígitos de control
¡Atención!
Aunque la letra calculada por el ordenador coincida con la que hemos introducido no tenemos la
certeza al 100% de la veracidad del número, ya que un par de errores pueden originar la misma letra.
De cualquier modo, cometer dos errores ya es más improbable y el dígito de control siempre reduce
la probabilidad de error. Y en según qué casos de errores muy concretos, el NIF nos permite
corregirlos.
Ejemplo 3:
Supongamos que se ha caído una gota de tinta sobre un papel y no se ve bien una cifra del NIF de un
amigo: 27.65?.372-T
¿Se podría recuperar esta cifra?
1) De entrada comprobamos que la letra T se corresponde con el residuo 0. Si a la cifra
desconocida la llamamos x, tenemos que: RESIDUO(2765x372;23)=0
2) Dividimos el número en su representación decimal y obtenemos:
2765x372=27650372+x.1000
3) Ahora sabemos que esta expresión es congruente con 0 módulo 23:
27650372+x.1000 ≡ 0 (mod 23)
4) Por otro lado, sabemos que: 27650372 ≡ 2 (mod 23) y que 1000 ≡ 11 (mod 23); por tanto,
tendremos:
2 + x.11 ≡ 0 (mod 23)
que equivale a:
11x ≡ -2 (mod 23)
5) Ahora se trata de resolver la ecuación diofántica que se deriva de esta congruencia:
11x + 23y = -2
6) La resolveremos aplicando el algoritmo de Euclides y la identidad de Bezout.
7) Primero buscaremos el máximo común divisor de 11 y 23, utilizando el algoritmo de Euclides:
Dividimos 23 entre 11 y obtenemos: 23 = 11.2 + 1, luego:
mcd (11,23) = mcd (23,11) = mcd (11,1) = mcd (1,0) = 1.
Como el mcd (11,23) =1, la ecuación tiene soluciones enteras.
8) Mediante la identidad de Bezout buscamos una solución particular de la ecuación.
Tenemos que: 1=11.(-2)+23.1; por lo tanto la solución particular de la ecuación 11x+23y=1 es:
x=-2, y=1
Pero como nos pedían la solución de la ecuación: 11x+23y=-2, tenemos que la identidad de
Bezout en este caso será: -2=11.4+23.(-2) y, en consecuencia, la solución será:
x=4, y=-2
9) Finalmente tenemos que el número que faltaba, x, es 4. Por tanto, el NIF pedido es:
27.654.372-T
10) Para más seguridad se puede comprobar que realmente esto es cierto:
RESIDUO (27654372;23)=0.
Proyecto e-Math
Financiado por la Secretaría de Estado de Educación y Universidades (MECD)
4
Dígitos de control
‰
International Standard Book Number (ISBN)
Ahora veremos otro ejemplo de dígito de control muy parecido al NIF: El ISBN. Se trata de un número
de diez cifras que identifica de manera única cualquier libro editado en el mundo. Un organismo
internacional (www.isbn.org) marca las directrices de asignación de este número.
Se puede coger, por ejemplo, el módulo de Álgebra y abrirlo por la segunda página, donde hay las
fotos de los autores, y mirar abajo del todo. Ahí se encuentra el ISBN de éste: 84-8429-200-2.
Los diez dígitos están repartidos en cuatro bloques:
1.
El primero es un indicativo geográfico: A España le corresponde el 84.
2.
El segundo bloque es la editorial del libro, en este caso (8429) es el de EDIUOC.
3.
El tercero se refiere al libro (dentro de la editorial), es decir, el 200 corresponde al libro de Álgebra
dentro de las ediciones de la UOC.
4.
Finalmente, el cuarto bloque es un único dígito de control que se calcula así: Si
x1x2x3x4x5x6x7x8x9x10 es el ISBN, entonces x10 es el residuo de la división entera entre 11 de la
expresión:
x1 + 2x2 + 3x3 + 4x4 + 5x5 + 6x6 + 7x7 + 8x8 + 9x9
(si el resto es 10, ponemos "X" como dígito de control).
9
En el lenguaje de congruencias, x10
≡ ∑ i ⋅ xi (mod 11)
i =1
Ejemplo 4:
Comprobemos el ISBN del módulo:
Hacemos:
1.8 + 2.4 + 3.8 + 4.4 + 5.2 + 6.9 + 7.2 + 8.0 + 9.0 = 134
Si ahora calculamos el RESIDUO de 134 entre 11 da de resultado 2, que, efectivamente, coincide con
la última cifra del ISBN del módulo de Álgebra.
Ejemplo 5:
Calculemos ahora el dígito de control de 3-7643-5951:
1.3 + 2.7 + 3.6 + 4.4 + 5.3 + 6.5 + 7.9 + 8.5 + 9.1 = 208
RESIDUO(208;11) = 10
Por tanto, el ISBN completo es: 3-7643-5951-X
Ejemplo 6:
Miremos si los siguientes ISBN´s son correctos:
a) 84-7256-224-7
1.8 + 2.4 + 3.7 + 4.2 + 5.5 + 6.6 + 7.2 + 8.2 + 9.4 = 172
RESIDUO(172;11) = 7. Por tanto, el ISBN es correcto.
b) 0-386-97675-2
1.0 + 2.3 + 3.8 + 4.6 + 5.9 + 6.7 + 7.6 + 8.7 + 9.5 = 284
RESIDUO(284;11) = 9. Por tanto, el ISBN no es correcto.
Ejemplo 7:
En los ejemplos siguientes hay dígitos perdidos. ¿Sería posible recuperarlos?
Proyecto e-Math
Financiado por la Secretaría de Estado de Educación y Universidades (MECD)
5
Dígitos de control
a) 84-7239-?08-9
1) A la cifra desconocida la llamaremos x. Según lo expuesto, se tiene que cumplir la congruencia
siguiente:
1.8 + 2.4 + 3.7 + 4.2 + 5.3 + 6.9 + 7.x + 8.0 + 9.8 ≡ 9 (mod 11)
2) Calculando tenemos:
186 + 7.x ≡ 9 (mod 11)
3) Como que 186 ≡ 10 (mod 11), esto equivale a:
10 + 7x ≡ 9 (mod 11)
7x ≡ 9-10 = -1 (mod 11)
4) Es decir:
5) Ahora tan sólo hay que resolver esta ecuación diofántica:
7x + 11y = -1
6) Procedemos igual que en el ejemplo 3:
11=7.1+4
7=4.1+3
4=3.1+1
Por tanto, el mcd (7,11) = 1 y, deshaciendo el proceso anterior, tenemos:
4=7.(-1)+11.1
3=7.1+4.(-1)=7.1+[7.(-1)+11.1].(-1)=7.2+11.(-1)
1=3.(-1)+4.1=[7.2+11.(-1)].(-1)+7.(-1)+11.1=7.(-3)+11.2
Con lo cual obtenemos: 1=7.(-3)+11.2
Que en nuestro caso será: -1=7.3+11.(-2)
Según esto: x ≡ 3 (mod 11)
7) Y el valor de x es 3.
8) Por tanto, la cifra que falta es el 3.
b) 0-12-11?851-X
1) Igual que en el apartado anterior; si a la cifra desconocida la llamamos x, se tiene que cumplir:
1.0 + 2.1 + 3.2 + 4.1 + 5.1 + 6.x + 7.8 + 8.5 + 9.1 ≡ 10 (mod 11)
122 + 6x ≡ 10 (mod 11)
2) Calculando, tenemos:
3) Es decir:
1 + 6x ≡ 10 (mod 11) ⇔ 6x ≡ 9 (mod 11)
4) Resolvemos la ecuación diofántica:
6x + 11y = 9
5) Hacemos:
11=6.1+5
6=5.1+1
Y deshaciendo el proceso anterior llegamos a:
En nuestro caso:
Por tanto,
1=6.2+11.(-1)
9=6.18+11.(-9)
x ≡ 18 ≡ 7 (mod 11)
6) Por tanto, la cifra que falta es el 7.
Proyecto e-Math
Financiado por la Secretaría de Estado de Educación y Universidades (MECD)
6
Dígitos de control
‰
Cuentas Corrientes Bancarias
Otros dígitos de control con los que frecuentemente nos topamos aparecen en las cuentas corrientes.
Recordemos que el número de una cuenta corriente es de la forma:
N º cuenta corriente
Oficina
- 1234 − 5678 − 00
0123456789
−
,
Entidad
Dígitos
de control
Los dos dígitos de control vigilan separadamente las dos partes del número; es decir, el primer dígito
controla la entidad y la oficina, y el segundo dígito los diez números de la cuenta.
Los dígitos de control se calculan así:
1) Si ABCD−EFGH es la entidad y la oficina, el primer dígito de control es el residuo de la división
entera entre 11 de la expresión:
7.A + 3.B + 6.C + 1.D + 2.E + 4.F + 8.G + 5.H
con el supuesto de que si el residuo es 10, entonces ponemos un 1.
2) El cálculo del segundo dígito es casi idéntico: Si el número de la cuenta corriente es
ABCDEFGHIJ, entonces tenemos que calcular el residuo de la división entera entre 11 de la
expresión:
10.A + 9.B + 7.C + 3.D + 6.E + 1.F + 2.G + 4.H + 8.I + 5.J
y también pondremos un 1 cuando el resto sea 10.
Ejemplo 8:
Comprobemos que el número de la cuenta 0182−7205−11−0208004820 es correcto.
Calculamos:
Primer dígito de control:
7.0 + 3.1 + 6.8 + 1.2 + 2.7 + 4. 2 + 8.0 + 5.5 = 100
RESIDUO(100;11) = 1
Segundo dígito de control:
10.0 + 9.2 + 7.0 + 3.8 + 6.0 + 1.0 + 2.4 + 4.8 + 8.2 + 5.0 = 98
RESIDUO(98;11) = 1
Por tanto, el número de esta cuenta corriente es correcto.
Proyecto e-Math
Financiado por la Secretaría de Estado de Educación y Universidades (MECD)
7
Dígitos de control
CASOS PRÁCTICOS CON SOFTWARE___________________________________
‰
Número de Identificación Fiscal (NIF)
A continuación veamos cómo, ayudados de EXCEL, podemos hacer un programa mediante el cual,
dándole el número del DNI, el programa nos proporcione su correspondiente letra.
La función NIF es:
T si RESIDUO(t ,23) = 0
 R si RESIDUO(t ,23) = 1

f (t ) = W si RESIDUO(t ,23) = 2


 E si RESIDUO(t ,23) = 22
1. En la celda A1 introducimos el DNI y en la B1 calculamos el RESIDUO de éste entre 23:
2. En la celda C1 introducimos la fórmula anterior del NIF, dado que la función SI sólo puede
concatenar hasta 7 instrucciones, hacemos una pequeña "trampa" y al llegar a esta
instrucción, vamos a la celda C5 y allí continuamos. Como vuelve a suceder lo mismo, en
ese caso, volvemos a ir a la celda C9. Luego, éstas, las ocultamos para que quede una
mejor presentación:
Proyecto e-Math
Financiado por la Secretaría de Estado de Educación y Universidades (MECD)
8
Dígitos de control
3. Y todavía más; ahora vamos a hacer un programa en que introduzcamos el número del
DNI y su "supuesta" letra. El programa nos mostrará si éstos son correctos o hay algún
error -ya sea en el número o en la letra-.
4. Para ello, introducimos en A1 el nº del DNI y en A2 la letra y utilizamos el mismo
programa anterior al cual le añadimos una nueva celda, la A3:
‰
International Standard Book Number (ISBN)
Ahora vamos a ver cómo, ayudados de EXCEL, podemos hacer un programa mediante el cual
introduzcamos los nueve primeros dígitos del ISBN y el programa nos proporcione su correspondiente
código de control.
La función del ISBN es:
Proyecto e-Math
Financiado por la Secretaría de Estado de Educación y Universidades (MECD)
9
Dígitos de control
 8

 t

f ( t ) = RESIDUO [RESIDUO i ;10 (9 − i)];11


 10

 i= 0

∑
Si en la celda A1 introducimos el ISBN, en las celdas B1, C1, ..., J1 ponemos lo que a continuación se
indica y en A2 aparece el código de control:
(También podríamos haber utilizado la función COCIENTE en lugar de ENTERO; esto es,
C1=PRODUCTO(RESIDUO(COCIENTE(A1;10);10);8). A menudo dicha función no está disponible y
hay que instalarla; para ello, elegimos "Complementos" del menú "Herramientas" y seleccionamos
"Herramientas para análisis")
Proyecto e-Math
Financiado por la Secretaría de Estado de Educación y Universidades (MECD)
10
Dígitos de control
E, igual que en el caso del NIF, ahora vamos a hacer un programa en que introduzcamos los nueve
primeros dígitos del ISBN y su "supuesto" dígito de control. El programa nos mostrará si éstos son
correctos o hay algún error.
Para ello, introducimos en A1 el nº del ISBN y en A2 el dígito de control y utilizamos el mismo
programa anterior al cual le añadimos una nueva celda, la A3:
‰
Cuentas Corrientes Bancarias
Una vez más vamos a ver cómo, ayudados de EXCEL, podemos hacer un programa mediante el cual
dando los dígitos de la entidad y de la oficina, éste nos proporcione su correspondiente código de
control.
La función del primer dígito de control es:

  
 t

 t

 t
C1 (t ) = RES   RES (t ;10).5 + RES  ;10 .8 + RES  2 ;10 .4 + + RES  7 ;10 .7;11
  
 10

 10
 10 

Proyecto e-Math
Financiado por la Secretaría de Estado de Educación y Universidades (MECD)
11
Dígitos de control
Al igual que en los ejemplos anteriores, podemos hacer un programa en que introduciendo los dígitos
de la entidad y de la agencia y su "supuesto" dígito de control nos responda si éste es correcto o si
hay algún error.
Para ello, introducimos en A1 el nº de la entidad y de la oficina y en A2 el dígito de control y utilizamos
el mismo programa anterior al cual le añadimos una nueva celda, la A3:
Proyecto e-Math
Financiado por la Secretaría de Estado de Educación y Universidades (MECD)
12
Dígitos de control
La función del segundo dígito de control es:

 t

 t
  
 t

C 2 ( t ) = RES RES(t;10 ).5 + RES ;10 .8 + RES 2 ;10 .4 + + RES 9 ;10 .10;11

 10

 10

 10
  

La programación de esta función se haría exactamente igual a la anterior, lo único que habría que
añadirle son dos celdas más: J1, K1.
Podría ser que, como resultado, apareciera la expresión: #¡NUM! Ésta significa que el número
introducido es demasiado grande y el ordenador no dispone de suficiente potencia para operar con él.
CONCLUSIONES
___________________________________
Como se ha podido comprobar en estos ejemplos (y sobre todo en este último) los dígitos de control
no son claves de seguridad en el sentido de que pongan trabas a quien los quiera falsificar. De
ninguna de las maneras: son códigos que vigilan la correcta transcripción de la información. Por este
motivo son casi omnipresentes en cualquier proceso informático de transmisión de datos. Sin darnos
cuenta, de manera completamente transparente, utilizamos dígitos de control cada vez que
trabajamos con el ordenador (los chips controlan los byts con la paridad), cuando escuchamos
música (los lectores de CD´s), cuando llamamos por un teléfono móvil, cuando nos conectamos a
Internet...
Por supuesto que en estos ejemplos los dígitos de control son mucho más sofisticados, pero la idea
básica continúa siendo la misma: Si queremos reducir aún más la posibilidad de error, podemos
introducir un segundo dígito de control, e incluso, un tercero, un cuarto, etc. Cuanta más información
adicional, más segura se hará la transmisión de datos. Incluso, si añadimos suficiente información,
podemos llegar a detectar el error y corregirlo, en el caso de que se haya producido. Esta es la idea
de los códigos correctores: Codificar la información añadiendo datos que detecten posibles errores en
la transmisión y que permitan corregir estos errores sin tener que volver a enviar los datos.
Pensemos, por ejemplo, que reenviar datos desde una nave situada en Marte hasta la Tierra puede
ser una tarea muy complicada a la que, además, hay que añadir una alta probabilidad de errores en
la transmisión. Pero esto ya es otra historia...
Proyecto e-Math
Financiado por la Secretaría de Estado de Educación y Universidades (MECD)
13
Dígitos de control
BIBLIOGRAFÍA
___________________________________
[1] M. Anzola, J. Caruncho, G. Pérez-Canales (1981): "Problemas de álgebra", Madrid, Primer Ciclo,
Tomo 2, 137-200
[2] J.L. Ruiz Moreno (1998): "Álgebra", Ediciones UOC, Módulo 2: "Aritmética de los números
enteros"
[3] F. Ayres: “Álgebra moderna”, Serie de Compendios Schaum, McGraw-Hill, 101-123
[4] A. Gutiérrez Gómez, F. García Castro (1990): "Álgebra lineal 2", Madrid, Ediciones Pirámide,
38-42
ENLACES
[W1]
___________________________________
http://www.terra.es/personal/jftjft/Aritmetica/Numeros/Divisibilidad/Congruencias.htm
Definición de congruencias de dos números enteros y cálculo con éstas.
[W2]
http://usuarios.lycos.es/teoriadenumeros/modular.htm
Página web sobre aritmética modular.
[W3]
http://www.nalejandria.com/axioma/congruencias/parte2.htm
Página web de la revista de los profesores y estudiantes de Matemáticas. Trata sobre los
criterios de divisibilidad y el teorema de Fermat.
[W4]
http://matsun1.matesco.unican.es/~velasco/algebra/
Página web con "Lecciones de álgebra" -congruencias- de la Universidad de Cantabria.
[W5]
http://www.terra.es/personal/joym7910/diof/
Historia, definición, bibliografía sobre las ecuaciones diofánticas.
[W6]
http://www.cienciahoy.org/hoy34/ecua01.htm
Revista de divulgación científica y tecnológica de la asociación “Ciencia Hoy”.
[W7]
http://www.alpertron.com.ar/METODOS.HTM
Página web en que aparecen los métodos para resolver ecuaciones del tipo:
2
2
Ax + Bxy + Cy + Dx + Ey + F = 0, para todos los posibles valores de sus coeficientes.
[W8]
http://bulmalug.net/body.phtml?nIdNoticia=1396
Página web en que se muestra un programa, en PHP, para calcular el dígito de control de
una cuenta corriente.
Proyecto e-Math
Financiado por la Secretaría de Estado de Educación y Universidades (MECD)
14
Descargar