Ir para conteúdo
Fórum Script Brasil
  • 0

Trabalho Escolar


fee

Pergunta

Para evitar erros de digitação em números de grande importância, como código de uma conta bancária,

geralmente se adiciona ao número um dígito verificador.

Por exemplo, o número é 1841 é utilizado normalmente como 18414, onde 4 é o dígito verificador.

Ele é calculado da seguinte forma:

a) Cada algarismo do número é multiplicado por um peso começando de 2 da direita para a esquerda.

Para cada algarismo o peso é acrescido de 1. Soma-se os produtos obtidos.

1x5 + 8x4 + 4x3 +1x2 = 51

b) Calcula-se o resto da divisão desta soma por 11:

51 % 11 = 7

c) Subtrai-se de 11 o resto obtido:

11 - 7 = 4

d) Se o valor obtido for 10 ou 11, o dígito verificador será 0,

nos outros casos, o dígito verificador é o próprio valor encontrado.

Escrever um programa que leia um número indeterminado de valores inteiros de 1 a 999.

Para cada número imprima o seu correspondente dígito verificador.

O programa é encerrado ao ser fornecido um número fora da faixa estabelecida (1 a 999).

Para obter o valor do dígito verificador utilize a função CalculaDigito.

Oi pessoal do script brasil..

Estou com várias dúvidas sobre como começar esse programa.

Como que eu faço para multiplicar da direita para esquerda (letra a)?

e a letra d?

Editado por quintelab
Título alterado conforma as regras do fórum
Link para o comentário
Compartilhar em outros sites

1 resposta a esta questão

Posts Recomendados

  • 0
Para evitar erros de digitação em números de grande importância, como código de uma conta bancária,

geralmente se adiciona ao número um dígito verificador.

Por exemplo, o número é 1841 é utilizado normalmente como 18414, onde 4 é o dígito verificador.

Ele é calculado da seguinte forma:

a) Cada algarismo do número é multiplicado por um peso começando de 2 da direita para a esquerda.

Para cada algarismo o peso é acrescido de 1. Soma-se os produtos obtidos.

1x5 + 8x4 + 4x3 +1x2 = 51

B) Calcula-se o resto da divisão desta soma por 11:

51 % 11 = 7

c) Subtrai-se de 11 o resto obtido:

11 - 7 = 4

d) Se o valor obtido for 10 ou 11, o dígito verificador será 0,

nos outros casos, o dígito verificador é o próprio valor encontrado.

Escrever um programa que leia um número indeterminado de valores inteiros de 1 a 999.

Para cada número imprima o seu correspondente dígito verificador.

O programa é encerrado ao ser fornecido um número fora da faixa estabelecida (1 a 999).

Para obter o valor do dígito verificador utilize a função CalculaDigito.

Oi pessoal do script brasil..

Estou com várias dúvidas sobre como começar esse programa.

Como que eu faço para multiplicar da direita para esquerda (letra a)?

e a letra d?

Então colega, muito infantil seu comportamente de reclamar por não obter resposta, ninguém aqui ganha nada te ajudando não, então não pode cobrar.

O sistema que voce esta fazendo, uma boa maneira é usando pilhas, mas suponho que não vá saber, então outra maneira é:

int resultadoTotal = 0;
Para i de 0 a N faça i++ { // n = tamanho do string
resultadoTotal = resultadoTotal + ((n+1)-i) * string[i]
// (N+1)-i), N+1, pois o primeiro peso do primeiro elemento da matriz e n+1, pois o ultimo comeca em 2, -1, pois ira decrementando enquanto i cresce, é isso
}

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,1k
    • Posts
      651,8k
×
×
  • Criar Novo...