Considere a existência de uma linguagem algorítmica com as s...
• a expressão lógica “x % y == 0” é verdadeira se o número “x” for divisível pelo número “y” e falsaem caso contrário;
• o comando de repetição “para-cada (n em v) {...}” executa os comandos dentro do blocodelimitado por “{” e por “}”, onde o número de repetições é igual à quantidade de númerospresentes no array “v” e, em cada repetição, o valor da variável “n” será um dos números do array “v”. Exemplo: no comando para-cada (n em [5, 2, 8]) { ... } o valor de “n” na primeirarepetição será 5, na segunda repetição será 2 e na terceira e última repetição será 8;
• o comando de atribuição “=” atribui um valor a uma variável. Exemplo: o comando “a = b + 1”define que o valor da variável “a” será o valor da expressão “b + 1”, ou seja, será o valor davariável “b” mais 1;
• o comando de seleção “se (expressão lógica) { ... }” executa os comandos dentro do blocodelimitado por “{” e por “}” caso a expressão lógica seja verdadeira.
Considere o seguinte algoritmo:
v = [8, 3, 10, 9]
a = 0
b = 5
para-cada (n em v) {
se (n % b == 0) {
a = a + n
}
}
Assinale a alternativa que indica CORRETAMENTE o valor que será atribuído à variável “b”após a execução do algoritmo acima.
Comentários
Veja os comentários dos nossos alunos
A questão deveria se referir ao valor final de 'a'. Assim, no primeiro loop, o valor de n seria 8. * quando divido por 5 não produz resto 0. Logo, passamos para o próximo loop. A mesma lógica se aplica ao 3. Por fim, o único numero que será divisível por 5 e não produzirá resto (ou seja resto zero) é o número 10. Assim, satisfeita a condição n % b == 0, passaremos à atribuição 'a = a + n'. Logo, se a = 0 e n = 10, a = 10. Gabarito, letra D.
Clique para visualizar este comentário
Visualize os comentários desta questão clicando no botão abaixo