Questão 31 · Informática: Programação e algoritmos
Texto associado à questão
Texto 10A1AAA
O algoritmo a seguir realiza o cálculo do dígito verificador (DV) do código de barras (COD) a ser usado em um sistema de controle de processos. inicio tipo VET = vetor [1..11] de inteiros; VET: VCOD; inteiro: I, J, K, COD, SOMA1, SOMA2, FATOR, DV; SOMA1, SOMA2, FATOR, DV ← 0; leia COD; para I de até 11 passo faça J ← 11 – I; K ← pot (10,J)
VCOD [I] ← COD div K; COD ← COD mod K; fim para; para I de até 11 passo 2 faça SOMA1 ← SOMA1 + VCOD[I]; fim para; SOMA1 ← SOMA1 * 3; para I de 2 até 10 passo 2 faça SOMA2 ← SOMA2 + VCOD[I]; fim para; SOMA2 ← SOMA2 + SOMA1; FATOR ← SOMA2 div 10; FATOR ← FATOR + 1; FATOR ← FATOR * 10; DV ← FATOR – SOMA2; escreva DV; fim.
O algoritmo apresentado no texto 10A1AAA realiza, entre as linhas 7 e 12, o
- A) somatório dos valores dos dígitos parciais, a partir dos valores de cada uma das posições de um vetor.
- B) preenchimento de um vetor com os valores de cada um dos dígitos do código de barras lido.
- C) preenchimento de um vetor com os somatórios das parcelas das posições ímpares do código de barras lido.
- D) cálculo do dígito verificador a partir das parcelas somatórias extraídas do código de barras lido.
Marque a alternativa correta:
Gabarito: B
Gabarito definitivo divulgado pela banca Cebraspe (TRT7 2017).
Comentário
Gabarito: B.
As linhas 7 a 12 do algoritmo formam o laço « para I de até 11 passo faça J ← 11 – I; K ← pot(10,J); VCOD[I] ← COD div K; COD ← COD mod K; fim para ». Em cada iteração, K vale 10 elevado a J, com J variando de 10 a 0. A divisão inteira COD div K obtém o dígito da posição I, e COD mod K retira esse dígito do número, preparando a próxima iteração.
Portanto, ao final do laço, o vetor VCOD contém os onze dígitos do código lido, um por posição.
- (A) Somatório: as somas são feitas nas linhas seguintes, não nestas.
- (C) Somatório das posições ímpares: essa soma é feita depois, nas linhas de SOMA1, não no preenchimento.
- (D) Cálculo do DV: o dígito verificador só é calculado após as somas, depois da linha 12.
Dica: em algoritmos, identifique o padrão de cada laço: divisão e resto por potências de 10 indicam extração de dígitos.
Fundamentos: Análise do algoritmo do texto 10A1AAA, linhas 7 a 12
Comentário gerado pela Cravei IA a partir do enunciado e do gabarito definitivo divulgado pela banca, e conferido por uma verificação automática. A IA pode errar: o gabarito oficial sempre prevalece.
Fonte: prova Cebraspe TRT7 2017 (Técnico Judiciário – Área Apoio Especializado – Especialidade Tecnologia da Informação), questão 31, com o gabarito definitivo da banca. Comentário: Equipe Cravei · como fazemos e revisamos.