Foco HL suportado. Primeiro avaliação 2027 meta; PDF oficial retorna 403; breve antigo adquirido é avaliação final 2026. Guia restante, avaliação e requisitos práticos mantêm seus retenções registradas.
Pré-requisitos: leia as quantidades e unidades declaradas, use aritmética e as condições do modelo abaixo. Cada lição desenvolve seu próprio método antes da transferência independente.
Estes são exemplos didáticos originais ou explicitamente fictícios, não medições reais ou investigações avaliadas concluídas por aprendizes.
5.2
Algoritmos, traços e evidências de correção
O que explicaria esta observação?
Um algoritmo pode funcionar para um exemplo e falhar em uma fronteira. Os testes devem ser projetados a partir da especificação, não apenas do caminho feliz.
Comece com uma previsão. Especifique as quantidades ou características que você compararia, depois decida quais evidências poderiam distinguir duas explicações.
Construa o modelo
Um algoritmo é um procedimento finito e inequívoco para uma tarefa. Um rastro registra mudanças de estado. Um invariante de laço descreve uma propriedade preservada por cada iteração e ajuda a justificar a correção.
algoritmo: Procedimento finito que resolve uma tarefa declarada; teste de fronteira: Teste em um limite da faixa de entrada permitida.
Escolha evidências que possam testá-lo
Defina condições de entrada e saídas esperadas. Use casos de fronteira, coleções vazias quando permitido, duplicatas e valores inválidos. Distinga um algoritmo errado de uma implementação errada ou de um requisito incompleto.
Rastreie uma busca em uma pequena lista fictícia ordenada. Especifique a convenção de indexação. Para a busca binária, atualize os limites para que o intervalo restante diminua e rejeite entrada não ordenada, a menos que a ordenação faça parte da tarefa.
Trabalhe a partir de quantidades conhecidas
Indique os valores conhecidos e suas unidades. Escolha a relação porque suas premissas se adequam a este caso, então reorganize antes de substituir.
Conhecido: uma busca linear em uma lista de oito itens pode exigir oito comparações quando o item procurado está na última posição ou ausente. Dobrar o comprimento da lista dobra a contagem máxima de comparações sob este modelo. A busca binária reduz o intervalo pela metade aproximadamente a cada etapa, mas requer uma estrutura ordenada adequada.
Exemplo:
Uma busca linear varre todos 14 itens sem encontrar correspondência. Quantas comparações de itens ocorrem? Use a mesma sequência: quantidades conhecidas → modelo → relação → substituição → unidade e interpretação.
Verifique a conclusão e seus limites
Um teste de amostra bem-sucedido não prova a correção para todas as entradas válidas. Não importe sintaxe de pseudocódigo específica de Cambridge em um curso IB sem uma fonte do curso.
Retorne à observação original. Explique o que o resultado apoia, quais condições ele assume e uma maneira de testar uma explicação concorrente.
Atenção:
Um teste de amostra bem-sucedido prova que um algoritmo está correto para toda entrada válida. Esta afirmação é falsa: Um teste de amostra bem-sucedido não prova a correção para todas as entradas válidas. Não importe sintaxe de pseudocódigo específica de Cambridge em um curso IB sem uma fonte do curso.
Chave:
Algoritmos, rastreamentos e evidências de correção: Especifique condições de entrada e saídas esperadas. Use casos limite, coleções vazias quando permitido, duplicatas e valores inválidos. Distinga um algoritmo incorreto de uma implementação incorreta ou de um requisito incompleto.
Rastreio executável e limite
def first_index(values, target):
for index, value in enumerate(values):
if value == target:
return index
return -1
print(first_index([4, 7, 4], 4))
print(first_index([4, 7, 4], 9))
print(first_index([], 4))
Saída esperada:
0
-1
-1
O laço testa índice 0 primeiro, para em uma correspondência e retorna −1 apenas após esgotar a lista. Duplicatas retornam, portanto, o primeiro índice. Lista vazia executa nenhum corpo de laço.