lunes, 2 de abril de 2018

Un ejemplo de código de detección de error: la letra del NIF

Habréis reparado en el último símbolo del NIF, que, a excepción de los ocho números a su izquierda, es una letra. Ésta responde a una asociación del resto de dividir el número de ocho cifras entre $23$ y sirve para comprobar que no se ha producido ningún error al facilitar el documento en una operación administrativa; si la letra facilitada junto con las ocho cifras no coincidiese con la que debe ser según la que le corresponde de acuerdo al resto ( por haber dado mal una de las cifras), sin duda se pondria de manifiesto el error, al obtener una letra distinta a la consignada. Las letras asociadas a los distintos restos son las siguientes:
-----------
Resto|Letra
-----------
  0  |  T 
  1  |  R
  2  |  W
  3  |  A 
  4  |  G 
  5  |  M 
  6  |  Y
  7  |  F 
  8  |  P 
  9  |  D 
 10  |  X 
 11  |  B 
 12  |  N
 13  |  J 
 14  |  Z
 15  |  S
 16  |  Q
 17  |  V
 18  |  H
 19  |  L
 20  |  C
 21  |  K
 22  |  E 
Así por ejemplo el NIF 789 260 31 J es correcto, pues el resto de la división $789 260 31 \div 23$ es $13$ y, según la tabla, la letra asociada es, efectivamente, la J; sin embargo, el 671 943 11 Q sería incorrecto ya que $671 943 11 \div 23$ es $18$, luego, de acuerdo con la tabla, no le corresponde la letra Q sino la H.
$\square$