Diferencia entre revisiones de «Código de control»

Contenido eliminado Contenido añadido
Línea 20:
=== Módulo 11 ===
 
El método denominado ''módulo 11'' detecta errores en un solo dígito e intercambios simples o dobles. Se basa en aplicar un factor de chequeo ponderado a cada dígito del número original. El cálculo se realiza como sigue:<ref name=hp>{{cita libro
Conforme al esquema de abajo, cada dígito del número, comenzando de derecha a izquierda (menos significativo para el más significativo) es multiplicado, en orden, por 2, después 3, después 4 y así sucesivamente, hasta el límite de multiplicación escogido. Entonces nuevamente se multiplica el número por 2, 3, etc.
|urlurlcapítulo=http://docs.hp.com/en/32209-90024/apds02.html
 
|título= HP Data Entry and Forms Management System (VPLUS) Reference Manual: HP 3000 MPE/iX Computer Systems
Número ejemplo: <tt>261533-9</tt>
|títulocapítulo = Modulus 11
<pre>
+---+---+---+---+---+---+ +---+
| 2 | 6 | 1 | 5 | 3 | 3 | - | 9 |
+---+---+---+---+---+---+ +---+
| | | | | |
x7 x6 x5 x4 x3 x2
| | | | | |
=14 =36 =5 =20 =9 =6
+---+---+---+---+---+-> = 90 / 11 = 8, resto 2, 11 - 2 = 9 => DV = 9
</pre>
El sumatorio de esas multiplicaciones es dividido por 11. El resto de esta división (módulo 11) es restado de 11 y el resultado es el dígito verificador. En la rutina patrón, sólo el dígito menos significativo es utilizado.<ref>{{cita web
|url=http://docs.hp.com/en/32209-90024/apds02.html
|título=Modulus 11
|fechaacceso=3 de diciembre de 2009
|editorial=[[Hewlett Packard]]
|idioma= inglés
}}</ref>
# A cada dígito del número base se le asigna un factor de chequeo ponderado. Dicho factor será 2 para el dígito menos significativo (el que está más a la derecha) y, en orden, 3, 4, 5, 6, 7 para los siguientes. Si hubiera más de 6 dígitos la secuencia se repetiría de modo que el octavo dígito se multiplicaría por 2, el noveno por 3, etc.
# Cada dígito del número base se multiplica por el factor de chequeo asignado.
# Se suman los resultados de todas las multiplicaciones.
# Al resultado de la suma se le calcula el [[Aritmética modular|módulo]] 11 (de ahí el nombre del método), es decir, el resto de la división entera entre 11.
# A 11 se le resta el módulo calculado en el punto anterior. Si el resultado de la resta es < 10, dicho resultado es el dígito de control que buscábamos. Si el resultado es 11 el dígito de control es 0. Si el resultado es 10 el dígito de control resultante no puede utilizarse.
 
El siguiente esquema desarrolla un ejemplo de cálculo:
 
Número ejemplo: <tt>26153341261533-9?</tt>
<pre>
Pasos 1 y 2
+---+---+---+---+---+---+---+---+ +---+
| 4 | 1 | 2 | 6 | 1 | 5 | 3 | 3 | - | 9? |
+---+---+---+---+---+---+---+---+ +---+
| | | | | | | |
x3 x2 x7 x6 x5 x4 x3 x2
| | | | | | | |
=12 =2 =14 =36 =5 =20 =9 =6
 
Paso 3 12 +2 +14 +36 +5 +20 +9 +6 = 104
 
Paso 4 104 mod 11 = 5 (ya que 104 = 11 x 9 + 5)
 
Paso 5 11 - 5 = 6
 
Resultado = 41261533-6
</pre>
 
CálculosA variantesveces podríanse ocurrirusan variantes, tal como sustituir el resultado por una letra, cuando el cálculoresultado del dígito final dees 10 u otro número escogido. Por ejemplo, en Chile el [[Rol Único Nacional]] (RUN) y el [[Rol Único Tributario]] (RUT) utilizan este sistema, y como el dígito verificador debe ser de un solo carácter, cuando el resultado del algoritmo resulta seres 10 el dígitocarácter verificadorde serácontrol unaes la letra "K", y cuando el resultado es 11, el dígito verificador será cero.
 
=== Módulo 10 ===