Geral
Fundamentos Matemáticos para Computação
Semana 3
0

Questão

Uma prova construtiva estabelece a existência de um objeto matemático ao fornecê-lo explicitamente ou mostrar um método para construí-lo. Em computação, essa abordagem está ligada à teoria dos algoritmos, onde a construção explícita de soluções é essencial para validação de resultados.

A Regra do Laço (ou Loop Invariant) é uma ferramenta fundamental na análise de algoritmos e fundamenta-se em provar que uma propriedade específica permanece verdadeira a cada iteração de um laço.

Neste contexto, sobre a Regra do Laço em fundamentos matemáticos para a computação, interprete as afirmativas a seguir:

I. A Regra do Laço é utilizada para provar que a propriedade de um algoritmo é válida apenas no início da execução do laço.
II. Um invariante de laço deve ser verdadeiro no início, durante cada iteração e ao final da execução do laço.
III. A Regra do Laço não garante a correção total de um algoritmo, mas contribui para demonstrar a parcialidade da solução.

Está correto o que se afirma em:
A) I, II e III
B) I, apenas
C) III, apenas
D) I e II, apenas
E) II e III, apenas
function vote(questaoId, value) { window.location.href = "/accounts/login/?next=/questao/915/"; return; fetch(`/vote/questao/${questaoId}/`, { method: 'POST', headers: { 'Content-Type': 'application/json', 'X-CSRFToken': 'hz7Pql0aLGJLSVi0R6ES9tMoWcgJzLoBx6767t1GXzPwskJmspAzuHD3fJMRycdD' }, body: JSON.stringify({ value: value }) }) .then(response => response.json()) .then(data => { if (data.success) { document.getElementById(`score-${questaoId}`).textContent = data.score; const upBtn = document.querySelector(`button[onclick="vote(${questaoId}, 1)"]`); const downBtn = document.querySelector(`button[onclick="vote(${questaoId}, -1)"]`); upBtn.classList.remove('active-up'); downBtn.classList.remove('active-down'); if (data.user_vote === 1) upBtn.classList.add('active-up'); if (data.user_vote === -1) downBtn.classList.add('active-down'); } }); }