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

Programas que lidam com programas

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

A ideia principalAlguns programas recebem, transformam ou criam outros programas. É a metaprogramação, presente em compiladores, interpretadores e geradores de código.

O código que você escreve em Python ou Scratch não é entendido direto pelo processador. Um interpretador lê e executa linha por linha; um compilador traduz o programa inteiro para linguagem de máquina antes.

Há também geradores de código: programas que escrevem programas, como ferramentas de criar sites e assistentes de IA que sugerem código. Todos tratam o programa como um dado a ser lido e transformado.

  1. Código-fonte: print("oi")
  2. Compilador ou interpretador
  3. Instruções de máquina: 01001…
  4. Processador executa
Um programa (o compilador) recebe outro programa e o transforma.

No dia a dia: Este site tem um gerador: um programa lê os dados das habilidades e escreve automaticamente as páginas, incluindo esta.

Palavras para lembrar

Compilador
traduz o programa inteiro antes de executar.
Interpretador
lê e executa o programa aos poucos.
Metaprogramação
programas que trabalham sobre programas.

Confira se entendeu

Qual destes é um exemplo de metaprogramação?

Agora faça

Desafio: Escreva, em português, as regras de um “tradutor” que transforma comandos como “ande 3” em “frente, frente, frente”. Você acabou de projetar um pequeno compilador.

Outros assuntos do Ensino Médio

Reutilizar soluções que já existemRefinar a solução passo a passoQuanto custa um algoritmoO 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 EM13CO04 da BNCC: Reconhecer algoritmos que recebem, modificam ou produzem outros algoritmos (metaprogramação), como compiladores, interpretadores e geradores de código. Professor(a): planos, slides e fichas na página da habilidade.