Pular para conteúdo

Avaliação 1 — regras e formato

Cobertura

Unidades 1 e 2, ou seja, os capítulos 1 a 6: funções (valor/ponteiro/referência, const&, sobrecarga, argumento padrão), std::string, struct com métodos, enum class, std::pair, std::pair, std::vector, os algoritmos clássicos escritos à mão (busca, máximo, contagem, acumulação, troca, ordenação, busca binária) e std::map/std::set.

A Unidade 3 (arquivos, capítulo 7) não é cobrada nesta prova. Ela continua no curso — a Lista 07 e o mini-teste da Aula 07 seguem valendo, e o assunto reaparece no projeto final —, mas fica fora da avaliação.

Esta avaliação cobra lógica escrita à mão

<algorithm> — std::sort, std::find, std::count_if e companhia — não entra na Avaliação 1. Essas ferramentas só aparecem no capítulo 8, na semana 9, depois desta prova; elas são cobradas a partir da Avaliação 2.

Aqui o que se mede é o raciocínio: percorrer, comparar, acumular, decidir onde o laço começa e onde termina.

Peso

A Avaliação 1 vale 1/3 da nota final — o mesmo peso da Avaliação 2 e do projeto. Nenhuma das três é decisiva sozinha.

Formato

  • Prova manuscrita, em papel. Sem computador e sem compilador: o código que você escrever não vai ser executado, vai ser lido.
  • Duração: 90 minutos.
  • 1 questão de leitura de código: você recebe uma função pronta e precisa dizer o que ela devolve, explicar em uma frase o que ela faz, e raciocinar sobre o trabalho que ela executa.
  • 4 questões de escrever função: você recebe a assinatura e o comportamento esperado, e escreve o corpo à mão.

Consulta

Sem consulta ao material do curso. Você pode levar uma folha de consulta — uma página, frente e verso, escrita por você, com o que achar que vai precisar: assinaturas que não lembra de cor, o esqueleto de um laço, a ordem dos campos de uma struct.

Montar essa folha é parte do estudo, e talvez a parte mais útil: decidir o que merece entrar numa página só obriga a separar o que você realmente não sabe do que só parecia difícil. Folha emprestada não serve para isso — a de outra pessoa está organizada pela cabeça dela.

Como é corrigida

O que se avalia é o raciocínio, não a sintaxe perfeita. Como não há compilador para apontar erro, um ; esquecido ou um std:: faltando não zera questão nenhuma. O que pesa é: o laço percorre o que deveria, as comparações estão certas, os casos de borda (vector vazio, um elemento só, empate) foram considerados, e a função devolve o que foi pedido.

Também não é tudo ou nada: uma função com a lógica correta e um detalhe errado vale bem mais que uma folha em branco. Escreva o que você sabe, mesmo incompleto — e, se faltar tempo, explique em português o que o trecho que falta deveria fazer.

Como se preparar

  1. Refaça as listas 01 a 06 sem consultar sua solução anterior — em especial a Lista 05, que é a que mais se parece com esta prova.
  2. Resolva o simulado completo, à mão e cronometrado em 90 minutos, antes da prova de verdade. Escrever código no papel é mais lento do que se imagina, e é melhor descobrir isso no simulado.
  3. Monte sua folha de consulta enquanto refaz as listas, não na véspera: ela deve conter o que você percebeu que esquece, e isso só aparece resolvendo.
  4. Releia a seção "Erros comuns" de cada capítulo — vários deles reaparecem como pegadinha nas questões.