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ÓRIAExemplo 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.