O que é um programa?

Compreender a diferença entre algoritmo, código-fonte, programa armazenado e processo em execução.

O que é um programa?

Objetivo

Compreender a diferença entre algoritmo, código-fonte, programa armazenado e processo em execução.

Conceitos essenciais

Algoritmo e código-fonte

Algoritmo descreve passos; código-fonte expressa esses passos em uma linguagem formal. O código pode existir como texto antes de ser executado.

Programa armazenado

Um programa é um conjunto organizado de instruções e recursos disponível para execução. Ele pode permanecer armazenado mesmo quando nenhum processo correspondente existe.

Processo

Processo é uma instância em execução administrada pelo sistema operacional. Abrir o mesmo programa várias vezes pode gerar múltiplos processos ou outra arquitetura definida pelo software.

Runtime e compilação

Código-fonte de alto nível não é simplesmente entregue à CPU. Dependendo da tecnologia, compiladores, interpretadores, runtimes e máquinas virtuais participam do caminho até a execução.

Modelo mental

ALGORITMO → CÓDIGO-FONTE → PROGRAMA → EXECUÇÃO → PROCESSO → CPU/MEMÓRIA

Exemplo e demonstração

Este exemplo apenas ilustra entrada, processamento e saída; a execução prática será ensinada no M08.

nome = input("Nome: ")
print("Olá,", nome)

Experimento / prática

  • Descreva a diferença entre arquivo app.py e um processo Python executando app.py.
  • Explique por que fechar um aplicativo não apaga seu programa do armazenamento.

Erros comuns

  • Usar programa e processo como sinônimos.
  • Dizer que a CPU executa diretamente qualquer código-fonte.
  • Confundir arquivo executável com processo.

Resumo

Ao concluir esta aula, revise o modelo mental e tente explicá-lo com suas próprias palavras antes de avançar.