Laboratório — Dados, sequências e busca

Laboratório integrador do módulo 06: Dados, sequências e busca.

Laboratório 06 — Oficina de lógica: Dados, sequências e busca

Propósito

Este laboratório transforma as cinco aulas do módulo em uma investigação prática. Você não deve apenas “fazer rodar”. A entrega precisa mostrar previsões, traços, casos de fronteira e justificativas.

Conceitos trabalhados

Sequências, posições e índices, Encontrar mínimo e máximo sem mágica, Busca linear: procurar um item passo a passo, Contagem e frequência, Classificar e agrupar registros

Cenário

Você recebeu a tarefa de construir uma pequena regra de classificação para um sistema escolar fictício. A especificação inicial está propositalmente incompleta: o trabalho começa fazendo perguntas, definindo entradas e limites e só depois escrevendo a solução.

Etapa 1 — especificação

  1. Escreva o objetivo em uma frase que possa ser verificada.
  2. Liste entradas, saídas, restrições e casos de fronteira.
  3. Separe o problema em etapas menores.
  4. Escreva pelo menos cinco exemplos com resultado esperado antes de criar código.

Etapa 2 — representação

Escolha a representação mais adequada ao conteúdo do módulo: pseudocódigo, tabela de decisão, tabela de traçado, lista de estados ou fluxograma textual. Explique por que essa representação ajuda neste caso.

Etapa 3 — implementação de verificação

casos = [
    {"valor": 5, "esperado": "baixo"},
    {"valor": 7, "esperado": "medio"},
    {"valor": 9, "esperado": "alto"},
]

def classificar(valor):
    if valor >= 9:
        return "alto"
    if valor >= 7:
        return "medio"
    return "baixo"

for caso in casos:
    obtido = classificar(caso["valor"])
    print(caso["valor"], obtido, obtido == caso["esperado"])

O código acima é apenas uma estrutura de teste. Adapte as regras ao problema que você especificou. O ponto principal é manter lado a lado entrada, resultado esperado e resultado obtido.

Etapa 4 — casos obrigatórios

  • um caso normal de cada caminho relevante;
  • um caso exatamente em cada fronteira;
  • um caso imediatamente abaixo e acima de pelo menos uma fronteira;
  • um caso inválido ou fora da pré-condição;
  • um caso escolhido para tentar quebrar sua própria regra.

Etapa 5 — explicação

Escreva um parágrafo respondendo: qual era a parte mais ambígua do problema? qual regra resolveu a ambiguidade? qual teste trouxe mais informação? o que mudaria se uma restrição fosse alterada?

Critério de conclusão

O laboratório está concluído quando outra pessoa consegue ler sua especificação, reproduzir os casos e obter as mesmas decisões sem precisar perguntar o que você “quis dizer”.

Avaliação opcional

Avaliação com validação humana

Receba nota e feedback individual sobre esta atividade. Este serviço é opcional e não é necessário para concluir o curso ou receber o certificado gratuito.

Entrar para solicitar