Buscar

Linguagem em C

. Leia um código de cinco algarismos (variável Codigo) e gere o digito verificador (DigitoV) módulo 7 para o mesmo. Supondo que os cinco algarismos do código são ABCDE, uma forma de calcular o dígito desejado, com módulo 7 é: DigitoV = resto da divisão de S por 7, onde S = 6*A + 5*B + 4*C + 3*D + 2*E

💡 2 Respostas

User badge image

Wellington Souza

S = (6 * A) + (5 * B) + (4 * C) + (3 * D) + (2 * E)
DIGV = S % 7;

Já podemos implementar em diversas linguagens, lembrando que A, B, C, D e E são dígitos de COD. Implementando em Javascript:

COD_NUM = 55480;
COD = COD_NUM+"";

A = parseInt(COD.charAt(0));
B = parseInt(COD.charAt(1));
C = parseInt(COD.charAt(2));
D = parseInt(COD.charAt(3));
E = parseInt(COD.charAt(4));

S = (6 * A) + (5 * B) + (4 * C) + (3 * D) + (2 * E);
DIGV = S % 7;
0
Dislike0
User badge image

RD Resoluções

Para pegar cada valor do codigo informado (ex.: 11111) aplicamos uma operação de MOD para pegar o valor de cada unidade, e neste momento já aplicamos a operação para o calculo de S, salve que o valor do multiplicador começa em 2 e ira incrementando até 6, pois a operação de abstração do digito acontece da direita para esquerada, logo a sequencia fica da seguinte forma: 2*E + 3*D + 4*C + 5*B + 6*A. Logo após aplicamos o MOD de S por 7 para obtermo um inteiro que é nosso código verificador.


#include<stdio.h>

int main(){

    int valor, codigo, multiplicador;

    printf("Informe o codigo (5 digitos) para verificacao: ");

    scanf("%d", &valor);

    printf("\n");

    codigo = 0;

    multiplicador = 2;

    while(valor > 0){

         codigo += (multiplicador * (valor % 10));

         valor = valor / 10;

         multiplicador++;

    }

    printf("Codigo gerado: %d", (codigo%7));

    return 0;

}

0
Dislike0

✏️ Responder

SetasNegritoItálicoSublinhadoTachadoCitaçãoCódigoLista numeradaLista com marcadoresSubscritoSobrescritoDiminuir recuoAumentar recuoCor da fonteCor de fundoAlinhamentoLimparInserir linkImagemFórmula

Para escrever sua resposta aqui, entre ou crie uma conta

User badge image

Outros materiais