Class: BoletoBancario::Calculos::Modulo11FatorDe9a2
- Defined in:
- lib/boleto_bancario/calculos/modulo11_fator_de9a2.rb
Overview
Módulo 11 Fator de 9 a 2
Passos
1) Tomando-se os algarismos multiplique-os, iniciando-se da direita para a esquerda, pela seqüência numérica de 9 a 2 (9, 8, 7, 6, 5, 4, 3, 2 … e assim por diante).
2) Some o resultado de cada produto efetuado e determine o total como (N).
3) Divida o total (N) por 11 e determine o resto obtido da divisão como Mod 11(N).
Exemplo Normal
Considerando o seguinte número: ‘89234560’.
1) Multiplicando a seqüência de multiplicadores:
8 9 2 3 4 5 6 0
* * * * * * * *
2 3 4 5 6 7 8 9
2) Soma-se o resultado dos produtos obtidos no item “1” acima:
16 + 27 + 8 + 15 + 24 + 35 + 48 + 0
# => 173
3) Determina-se o resto da Divisão:
173 % 11
# => 8 =============> Resultado final retornado.
Direct Known Subclasses
Instance Attribute Summary
Attributes inherited from Modulo11
Instance Method Summary collapse
-
#calculate ⇒ Fixnum
Calcula o número pelos fatores de multiplicação de 9 a 2.
-
#fatores ⇒ Array
Sequência numérica de 9 a 2 que será feito a multiplicação de cada dígito do número passado no #initialize.
Methods inherited from Modulo11
#initialize, #mod_division, #total
Constructor Details
This class inherits a constructor from BoletoBancario::Calculos::Modulo11
Instance Method Details
#calculate ⇒ Fixnum
Calcula o número pelos fatores de multiplicação de 9 a 2. Depois calcula o resto da divisão por 11.
60 61 62 |
# File 'lib/boleto_bancario/calculos/modulo11_fator_de9a2.rb', line 60 def calculate mod_division end |
#fatores ⇒ Array
Sequência numérica de 9 a 2 que será feito a multiplicação de cada dígito do número passado no #initialize.
51 52 53 |
# File 'lib/boleto_bancario/calculos/modulo11_fator_de9a2.rb', line 51 def fatores [9, 8, 7, 6, 5, 4, 3, 2] end |