← Aprenda · Ensino Médio
📖 Aprenda · Computação · Ensino Médio · EM13CO02

Refinar a solução passo a passo

  1. 1. Aprenda
  2. 2. Confira
  3. 3. Faça

A ideia principalUma solução complexa começa como uma ideia geral e vai sendo detalhada em camadas, até virar código.

No refinamento sucessivo, você escreve primeiro o que o sistema faz em poucas linhas (alto nível de abstração). Depois detalha cada linha em passos menores, e repete até cada passo ser simples o suficiente para virar uma instrução.

Cada camada é um nível de abstração: da especificação (o que fazer) à implementação (como fazer). Isso evita se perder em detalhes cedo demais.

Nível 1: organizar a gincana
Nível 2:   inscrever equipes · pontuar provas · mostrar ranking
Nível 3:     pontuar provas →
                para cada prova: ler colocação, somar pontos
Nível 4:       pontos[equipe] = pontos[equipe] + tabela[colocacao]
A mesma tarefa descrita em quatro níveis, do geral ao código.

No dia a dia: Planejar uma viagem: “ir à praia” → transporte, hospedagem, comida → comprar passagem no dia tal, às tantas horas.

Palavras para lembrar

Refinamento
detalhar a solução aos poucos.
Especificação
descrição do que o sistema deve fazer.
Implementação
o código que faz acontecer.

Confira se entendeu

Qual frase está no nível mais alto de abstração?

Agora faça

Desafio: Escolha um app que você usa. Descreva o que ele faz em 1 frase (nível 1), depois em 4 partes (nível 2), e detalhe uma das partes em passos (nível 3).

Outros assuntos do Ensino Médio

Reutilizar soluções que já existemQuanto custa um algoritmoProgramas que lidam com programasO que a computação não consegue fazerAvaliar a qualidade de um softwareRedes de computadores em grande escalaNovas tecnologias, novos riscosTecnologia e o mundo do trabalhoInteligência artificial: o que é e o que não éModelos e simulaçõesCiência de dados: perguntas respondidas com dadosTabelas, bancos de dados e gráficosConfiabilidade da informação digitalInteração entre pessoas e computadoresRobótica: sensores, programação e atuadoresColaborar on-line com segurançaPlanejar e gerenciar projetosApresentar e defender ideias com mídias digitaisPublicar on-line com responsabilidadeExplicar ideias complexas com mapas e infográficosProduzir e publicar multimídiaComunidades virtuaisTecnologia, saúde e bem-estarConviver on-line com respeito e segurançaSeus direitos no mundo digital

Habilidade EM13CO02 da BNCC: Explorar e construir soluções por refinamentos sucessivos, em diferentes níveis de abstração, da especificação à implementação. Professor(a): planos, slides e fichas na página da habilidade.