Skip to content
Fase 0Começa Aqui

Preparar o Terreno

Progresso da fase0%

A carregar…

Antes de escreveres uma única linha de lógica, precisas de um sítio onde escrever, guardar e executar código — e de saber, quando algo corre mal, onde olhar. É isso que esta fase te dá: editor, terminal e motor de execução instalados, testados e compreendidos.

Prompt recomendado para esta fase

Sou um iniciante absoluto a aprender programação do zero. Estou na Fase 0 a configurar o meu ambiente de desenvolvimento (VS Code e Node.js/Terminal). Por favor, explica-me tudo de forma extremamente clara, simples e prática, passo a passo, sem assumir conhecimentos prévios e sem usar jargão técnico sem o explicar primeiro. Se eu colar uma mensagem de erro, ensina-me a lê-la em vez de só me dares a correção.

Conteúdos teóricos

5 temas

1. O que é afinal "programar"?

Dizer ao computador exatamente o que fazer, através de instruções sem ambiguidade.

Programar é dar instruções passo a passo a um computador para resolver um problema. O computador é incrivelmente rápido, mas é completamente literal — não tem intuição, não "percebe" o que queres dizer, só executa exatamente o que escreveste.

Imagina que estás a escrever uma receita de bolo para um robô que nunca fez nada na vida:

  • Não podes dizer só "faz a massa" — o robô não sabe o que isso significa.
  • Tens de dizer: "Pega em 2 ovos. Parte a casca. Deita o conteúdo numa tigela. Adiciona 200g de açúcar. Mexe em círculos durante 3 minutos."

Um humano preenche os espaços em branco sozinho ("ah, deve querer dizer isto"). Um computador não. Se disseres "abre a porta" a um computador sem definir o que é "porta", "abrir" e como reconhecer que a ação terminou, ele simplesmente falha — e isso não é o computador a ser burro, é o teu pedido que estava incompleto.

As três coisas que todo o programa faz

Por baixo de qualquer aplicação, jogo ou site, só há três tipos de instrução a repetir-se:

  1. Guardar informação — números, texto, o que quer que seja (variáveis).
  2. Tomar decisões — "se isto for verdade, faz A; senão, faz B" (condições).
  3. Repetir ações — fazer a mesma coisa muitas vezes sem reescrever o código (loops).

Vais ver estas três ideias uma e outra vez em todas as linguagens que aprenderes — a sintaxe muda, a ideia não. Aprendê-las bem agora poupa-te meses de confusão mais tarde. É por isso que a próxima fase (Fase 1) é inteiramente sobre pensar desta forma antes de tocares em código real.

Programar não é decorar sintaxe

O erro mais comum de quem começa é achar que programar é decorar palavras-chave. Não é. É decompor um problema em passos pequenos e sem ambiguidade. A sintaxe (a forma exata de escrever) aprende-se a usar — o raciocínio por trás é a parte difícil, e é a parte que esta plataforma tenta ensinar-te primeiro.

exemplo-receita.js
// 1. Guardar informação
const ovos = 2;
const acucarGramas = 200;

// 2. Tomar uma decisão
if (ovos >= 2 && acucarGramas >= 200) {
  console.log("Massa pronta para misturar!");
} else {
  console.log("Faltam ingredientes!");
}

// 3. Repetir uma ação
for (let volta = 1; volta <= 3; volta++) {
  console.log("A mexer a massa... volta " + volta);
}
As três ideias — guardar, decidir, repetir — já em código real

2. O teu editor de código: VS Code

A tua oficina de trabalho — onde vais escrever, organizar e ler todo o teu código.

Um editor de código é como o Word, mas desenhado para texto sem formatação e sem autocorreção estúpida a estragar-te o código. O Visual Studio Code (VS Code) é o mais usado no mundo: é gratuito, leve, e tem uma extensão para praticamente tudo o que vais precisar.

Como instalar

  1. Vai a code.visualstudio.com.
  2. Descarrega a versão para o teu sistema operativo.
  3. Instala com as opções padrão. No Windows, marca a opção "Adicionar ação Abrir com Code" — poupa-te clicks mais tarde.

O conceito de "pasta de trabalho" (workspace)

Isto confunde muita gente no início: no VS Code, não abres ficheiros soltos, abres uma pasta. Tudo o que precisares para um projeto — código, imagens, configurações — vive dentro dessa pasta, e o VS Code mostra-a inteira na barra lateral esquerda (o Explorer). Se criares um ficheiro fora dessa pasta, ele não aparece ali e vais achar que "desapareceu".

Layout que vais usar todos os dias

  • Barra lateral esquerda: lista de ficheiros e pastas do teu projeto.
  • Área central: onde o código aparece para editares, em separadores (tabs).
  • Painel inferior: o terminal integrado — vais viver aqui (próximo tema).
  • Bolinha branca no nome do ficheiro: indica alterações não guardadas. Se a vires, o teu código no ecrã e o código no disco são coisas diferentes.

Extensões que valem a pena instalar já

  • Portuguese Language Pack — só se preferires a interface em português.
  • Prettier – Code formatter — formata o teu código automaticamente ao guardar, para nunca teres de te preocupar com indentação.
  • Material Icon Theme — dá ícones diferentes a cada tipo de ficheiro, o que ajuda a navegar pastas grandes rapidamente.

Não instales dezenas de extensões "só para verificar" — cada uma consome memória e pode entrar em conflito com outra. Começa com estas três.

3. O Terminal: a linha de comandos

Controlar o computador escrevendo comandos, em vez de clicar em ícones.

Antes de existirem janelas e ratos, as pessoas davam ordens ao computador escrevendo texto. O Terminal (também chamado linha de comandos, Prompt de Comando, Bash ou Zsh consoante o sistema) continua a ser a ferramenta mais rápida para fazer certas coisas — e é indispensável em programação porque é ali que corres o teu código, instalas bibliotecas e usas o Git.

Não tenhas medo dele: é só uma caixa de texto onde escreves uma palavra, primes Enter, e o computador reage.

Comandos essenciais (funcionam em Mac/Linux; no PowerShell do Windows a maioria também funciona)

  • pwd — Mostra em que pasta estás agora (Print Working Directory)
  • ls — Lista ficheiros e pastas da localização atual
  • cd nome-pasta — Entra numa pasta (Change Directory)
  • cd .. — Sobe um nível, para a pasta anterior
  • mkdir nova-pasta — Cria uma pasta nova (Make Directory)
  • clear (ou cls no CMD) — Limpa o ecrã, sem apagar nada

O erro que todos os principiantes cometem

O terminal está sempre "dentro" de uma pasta — é o que pwd te mostra. Se escreveres node ola.js estando numa pasta diferente daquela onde o ola.js foi guardado, vais receber um erro do tipo "Cannot find module". Isto não é um bug misterioso — é o terminal a dizer-te, corretamente, que não há nenhum ficheiro com esse nome onde ele está a olhar. O hábito mais útil que podes criar já: sempre que algo "não for encontrado", o primeiro passo é correr pwd e ls para confirmares onde estás.

Autocompletar — a funcionalidade que ninguém te ensina

Escreve as primeiras letras de um nome de ficheiro ou pasta e prime Tab. O terminal completa o resto por ti (e se houver várias opções, prime Tab duas vezes para as ver todas). Isto evita erros de escrita e poupa imenso tempo — usa sempre que puderes.

terminal-comandos.sh
# Ver onde estou
pwd

# Criar pasta de projetos e entrar nela
mkdir meus-projetos
cd meus-projetos

# Ver o conteúdo da pasta (deve estar vazia)
ls
Sequência típica: criar uma pasta de projetos, entrar nela, confirmar o conteúdo

4. O motor de execução: Node.js

O programa que pega no teu ficheiro JavaScript e o transforma em ações reais.

O Node.js é um ambiente de execução que permite correr código JavaScript fora do navegador — diretamente no teu computador ou num servidor. Sem ele, um ficheiro .js é só texto; o computador não sabe o que fazer com ele.

Quando escreves app.js e o Node.js o lê, ele interpreta cada linha e executa-a de cima para baixo, na ordem em que a escreveste — outro conceito que vais ver com mais detalhe na Fase 1 (sequência é a primeira regra da lógica de programação).

Como instalar

  1. Vai a nodejs.org.
  2. Descarrega a versão LTS (Long Term Support) — é a mais estável, evita a versão "Current" que pode ter funcionalidades experimentais.
  3. Corre o instalador com as opções recomendadas.
  4. Confirma que ficou bem instalado, no terminal:
    • node -v deve mostrar algo como v22.x.x.
    • npm -v deve mostrar a versão do npm, o gestor de pacotes que vem junto.

O que é o npm, já agora

O npm (Node Package Manager) instala código que outras pessoas escreveram e publicaram, para não teres de reinventar tudo. Vais usá-lo já na Fase 4 e principalmente na Fase 6, quando precisares de bibliotecas como o Express ou o better-sqlite3. Por agora, basta saberes que existe e que veio junto com o Node.js.

Se der erro "node não é reconhecido como um comando"

Isto costuma acontecer no Windows quando o instalador não conseguiu adicionar o Node.js ao PATH do sistema (a lista de sítios onde o terminal procura programas). A correção mais simples: fecha completamente o terminal e o VS Code, e abre-os de novo — o PATH só é lido quando o terminal arranca. Se persistir, reinstala o Node.js confirmando que a opção "Add to PATH" está marcada.

5. O que significa "correr" um programa — e ler um erro

O ciclo escrever → guardar → executar, e como não entrar em pânico com mensagens vermelhas.

"Correr" ou "executar" um programa significa pedir ao Node.js para ler o teu ficheiro de texto e realizar, uma a uma, todas as instruções que lá escreveste.

O ciclo que vais repetir centenas de vezes

  1. Escreves código no VS Code.
  2. Guardas o ficheiro (Ctrl+S ou Cmd+S) — sem isto, o Node.js continua a ver a versão antiga.
  3. Abres o terminal na pasta desse ficheiro (no VS Code, Ctrl+ ou Terminal → New Terminal, e já abre na pasta certa).
  4. Executas com node nome-do-ficheiro.js.
  5. O resultado aparece impresso no terminal — ou aparece um erro.

Ler um erro sem entrar em pânico

Uma mensagem de erro em vermelho não é um ataque pessoal — é o Node.js a dizer-te exatamente o que correu mal e, quase sempre, em que linha. A estrutura típica é:

javascript
/caminho/para/o/ficheiro.js:3
console.log(nomeQueNaoExiste);
            ^

ReferenceError: nomeQueNaoExiste is not defined

Lê de cima para baixo: onde aconteceu (ficheiro e número da linha), o quê exatamente na linha (a seta ^ aponta o ponto exato), e por que categoria de erro é (ReferenceError = estás a usar algo que nunca foi criado). Antes de colares o erro numa IA ou de entrares em pânico, tenta responder a estas três perguntas sozinho — é a competência mais valiosa que vais desenvolver nesta fase.

Regra de ouro: um erro de cada vez

Se o terminal mostrar vários erros seguidos, corrige só o primeiro. Muitas vezes os erros seguintes são só consequência do primeiro, e desaparecem sozinhos depois de corrigido.

Exercícios práticos

3 exercícios
Fácil

Exercício Fácil — O Teu Primeiro "Olá, Mundo!"

Instala o VS Code e o Node.js, cria o teu primeiro ficheiro .js e executa-o no terminal.

FerramentasVS CodeTerminalNode.js

O objetivo é concluir com sucesso a configuração do teu ambiente de desenvolvimento, do zero ao primeiro programa a correr.

Passos a realizar

  1. Cria uma pasta no teu computador chamada aprendendo-programacao.
  2. Abre essa pasta no VS Code (File → Open Folder).
  3. Cria um novo ficheiro chamado ola.js.
  4. Escreve: console.log("Olá, mundo! Comecei a programar hoje!");
  5. Guarda o ficheiro (Ctrl+S).
  6. Abre o terminal integrado do VS Code.
  7. Escreve node ola.js e prime Enter.
  8. Confirma que a mensagem aparece no terminal.

Fluxo de funcionamento

  1. 1VS Code (escrever ola.js)
  2. 2Terminal (node ola.js)
  3. 3Node.js (interpreta e executa)
  4. 4Output no ecrã

Código de exemplo

ola.js
// O meu primeiro programa em JavaScript!
console.log("Olá, mundo! O meu ambiente de desenvolvimento está pronto!");
console.log("Data:", new Date().toLocaleDateString("pt-PT"));
Código do ficheiro ola.js

Dicas úteis

  • Guarda sempre o ficheiro antes de o correr — a bolinha branca no separador significa alterações por guardar.
  • Se aparecer "cannot find module", confirma com pwd/ls se estás na mesma pasta do ola.js.

Erros comuns

  • Escrever "Node ola.js" com N maiúsculo — o terminal distingue maiúsculas de minúsculas.
  • Esquecer de fechar as aspas na mensagem dentro do console.log().
  • Tentar correr o ficheiro com duplo clique em vez do comando no terminal.

As minhas dúvidas

Fácil

Exercício Fácil — Organizar uma Estrutura de Pastas só com o Terminal

Cria uma pequena árvore de pastas e ficheiros usando apenas comandos, sem tocar no rato.

FerramentasTerminal

Este exercício não tem código — é sobre ganhares confiança a mover-te no sistema de ficheiros usando só o terminal, que é como vais trabalhar em quase todos os exercícios seguintes.

Passos a realizar

  1. Dentro de aprendendo-programacao, usa mkdir para criar três pastas: fase0, fase1 e sandbox.
  2. Entra na pasta sandbox com cd.
  3. Cria lá dentro um ficheiro chamado notas.js (podes fazê-lo no VS Code, já estando nessa pasta).
  4. Volta à pasta aprendendo-programacao usando cd ...
  5. Corre ls (ou dir) e confirma que vês as três pastas.
  6. Entra de novo em sandbox só usando Tab para autocompletar o nome — não escrevas a palavra toda.

Dicas úteis

  • Se te perderes, `pwd` diz-te sempre exatamente onde estás — usa-o sem vergonha, a toda a hora.
  • Tab autocompleta nomes de pastas e ficheiros; usa-o em todos os exercícios daqui em diante para escreveres menos e errares menos.

Erros comuns

  • Confundir `cd nome-pasta` (entrar) com `cd ..` (sair) — o `..` significa sempre "um nível acima".
  • Criar a pasta com `mkdir` mas esquecer de entrar nela com `cd` antes do próximo passo.

As minhas dúvidas

Médio

Exercício Médio — Provocar e Diagnosticar Três Erros

Escreve código propositadamente errado, lê a mensagem do Node.js e corrige-o sem ajuda externa.

FerramentasVS CodeTerminalNode.js

Ler erros é a competência que mais separa quem aprende rápido de quem fica preso. Neste exercício vais criar erros de propósito, um de cada vez, para conheceres a "letra" de cada tipo antes de os encontrares por acidente.

Passos a realizar

  1. Cria erros.js dentro da pasta fase0.
  2. Escreve console.log(mensagem); sem nunca teres criado a variável mensagem. Corre o ficheiro e lê o erro — é um ReferenceError.
  3. Corrige (cria a variável antes), guarda, corre de novo para confirmar que já não há erro.
  4. Agora escreve console.log("Olá; — com as aspas por fechar de propósito. Corre e observa o SyntaxError.
  5. Corrige, guarda, confirma.
  6. Por fim, escreve const numero = 5; numero = 10; — tentar mudar o valor de um const. Observa o TypeError.
  7. Para cada um dos três erros, escreve num comentário por cima da linha o que a mensagem te disse, na tua própria palavras.

Fluxo de funcionamento

  1. 1Escrever código com erro proposital
  2. 2node erros.js
  3. 3Ler mensagem: onde, o quê, que tipo
  4. 4Corrigir e voltar a correr

Dicas úteis

  • Não apagues o erro do ecrã antes de o teres lido por completo — a linha e a seta `^` dizem-te exatamente onde procurar.
  • ReferenceError = usaste algo que não existe. SyntaxError = a "gramática" do código está errada. TypeError = tentaste fazer algo que o tipo de dado não permite.

Erros comuns

  • Copiar o erro para uma IA sem tentar perceber primeiro — nesta fase o objetivo é treinares o teu próprio diagnóstico.
  • Corrigir mais do que um erro de cada vez, o que dificulta perceber qual mudança resolveu o quê.

As minhas dúvidas