Questão 33 · 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.
Na execução do algoritmo apresentado no texto 10A1AAA, se o valor de K for 0, então, na linha 10, VCOD[I]
- A) receberá o valor de COD.
- B) receberá o valor 0.
- C) não será atualizado, porque um erro causará a interrupção do algoritmo.
- D) receberá o valor 1.
Marque a alternativa correta:
Gabarito: C
Gabarito definitivo divulgado pela banca Cebraspe (TRT7 2017).
Comentário
Gabarito: C.
Se K valer 0, a linha 10 executa VCOD[I] ← COD div K, ou seja, uma divisão por zero. Em algoritmos e na maioria das linguagens, divisão por zero é erro de execução que interrompe o programa. Assim, VCOD[I] não é atualizado, porque a execução é encerrada antes da atribuição.
Os valores 0 ou 1 não resultam de nenhuma operação válida, e COD não é atribuído ao vetor, pois a divisão nunca chega a ser concluída.
- (A) Receberá o valor de COD: não há atribuição, pois a divisão falha.
- (B) Receberá o valor 0: a divisão por zero não produz zero.
- (D) Receberá o valor 1: não existe operação que gere 1 aqui.
Dica: em questões sobre algoritmos, divisão por zero interrompe a execução; não tente « arredondar » o resultado.
Fundamentos: Análise do algoritmo do texto 10A1AAA, linha 10 · Conceito de erro de execução por divisão por zero
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 33, com o gabarito definitivo da banca. Comentário: Equipe Cravei · como fazemos e revisamos.