Sha256: 506e6ef9167db02fe82e1d95e4544aad7348d332b30ebfb766b4b7ec8e04de0f
Contents?: true
Size: 1.91 KB
Versions: 1
Compression:
Stored size: 1.91 KB
Contents
module BoletoBancario module Calculos # === 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. # # @param [String]: Corresponde ao número a ser calculado o Módulo 11 no fator de 9 a 2. # @return [String] Retorna o resultado do cálculo descrito acima. # # @example # # BoletoBancario::Calculos::Modulo11FatorDe9a2.new('12345') # # => '5' # # BoletoBancario::Calculos::Modulo11FatorDe9a2.new('246') # # => '1' # class Modulo11FatorDe9a2 < Modulo11 # Sequência numérica de 9 a 2 que será feito a multiplicação de cada dígito # do número passado no #initialize. # # @return [Array] Sequência numérica # def fatores [9, 8, 7, 6, 5, 4, 3, 2] end # Calcula o número pelos fatores de multiplicação de 9 a 2. # Depois calcula o resto da divisão por 11. # # @return [Fixnum] # def calculate mod_division end end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
boleto_bancario-0.0.2 | lib/boleto_bancario/calculos/modulo11_fator_de9a2.rb |