Algoritmo, variável, decisão, repetição e função em linguagem comum.
VIA Literacia · edição 1.0
Do primeiro algoritmoao primeiro pull request.
Uma trilha prática para criar um programa em Python, compreender o histórico do Git e colaborar com clareza no GitHub — sem exigir experiência prévia.
Contrato de aprendizagem
Ao final, você consegue demonstrar — não apenas reconhecer.
Um programa Python que recebe, transforma, valida e apresenta dados.
Um histórico com commits coerentes e uma branch dedicada à tarefa.
Um pull request documentado, verificável e livre de credenciais.
Trilha guiada
Entender. Executar. Modificar. Verificar.
Marque uma etapa somente depois de realizar sua verificação. O progresso fica salvo neste navegador e não é enviado a nenhum servidor.
Preparar o ambiente
Objetivo: confirmar que Python e Git estão disponíveis e criar uma pasta de trabalho.
Verifique as ferramentas
python --version
git --version
mkdir projeto-media
cd projeto-media
cd muda de pasta, enquanto git status consulta um repositório.O terminal mostrou as versões do Python e do Git? Você está dentro da pasta projeto-media? Se não, resolva a instalação antes de seguir.
Pensar como um programa
Objetivo: decompor um problema em entradas, transformação e saída antes de escrever sintaxe.
três notas
somar e dividir
mostrar média
Três formas de fluxo
- Sequência: instruções executadas em ordem.
- Decisão: um caminho escolhido por uma condição.
- Repetição: um bloco executado para vários itens.
receber notas
se não houver notas:
informar que faltam dados
senão:
para cada nota:
somar nota ao total
dividir total pela quantidade
mostrar média
Escreva, sem consultar o texto, um algoritmo que recebe uma idade e informa se ela é maior ou igual a 18. Identifique entrada, decisão e saída.
Construir com Python
Objetivo: combinar variáveis, tipos, condição, repetição e função em um programa pequeno.
Primeira execução
nome = input("Como você se chama? ")
print(f"Olá, {nome}!")
Salve como programa.py e execute python programa.py. input devolve texto; por isso, números recebidos precisam de conversão explícita.
Tipos e decisões
| Tipo | Exemplo | Uso |
|---|---|---|
str | "Ana" | texto |
int | 24 | inteiro |
float | 7.5 | decimal |
bool | True | condição |
list | [8, 7, 9] | coleção |
media = 7.5
if media >= 7:
print("Aprovado")
else:
print("Revisar conteúdo")
= associa um valor a uma variável. == compara dois valores.Função de média
def calcular_media(notas):
if not notas:
return 0
return sum(notas) / len(notas)
entrada = input("Notas separadas por espaço: ")
notas = [float(item) for item in entrada.split()]
media = calcular_media(notas)
print(f"Média: {media:.1f}")
Teste 8 7 9, 10 e 5.5 6.5. Depois acrescente uma decisão que classifique a média usando o limite 7.
Ler erros e testar hipóteses
Objetivo: usar a mensagem de erro para localizar, explicar e corrigir uma falha.
Erro de sintaxe impede a leitura do código; erro de execução ocorre durante o uso; erro de lógica produz um resultado incorreto.
try:
entrada = input("Notas separadas por espaço: ")
notas = [float(item) for item in entrada.split()]
except ValueError:
print("Use apenas números separados por espaço.")
Rotina de depuração
- Reproduza o erro.
- Leia a última linha da mensagem.
- Localize a primeira linha do seu arquivo citada.
- Formule uma hipótese pequena.
- Altere uma coisa por vez.
- Execute novamente e reteste o que já funcionava.
Teste rápido da regra
assert calcular_media([6, 8]) == 7
assert calcular_media([]) == 0
Digite 8 sete 9, observe o ValueError e implemente uma mensagem compreensível para a pessoa usuária.
Registrar a evolução com Git
Objetivo: criar um repositório local e produzir um histórico legível com pelo menos dois commits.
editar
git add
git commit
git config --global user.name "Seu Nome"
git config --global user.email "seu-email@example.com"
git init -b main
git status
git add programa.py
git diff --staged
git commit -m "Cria calculadora de média"
git log --oneline
Crie um README.md com objetivo e instruções de execução. Registre-o em outro commit:
git add README.md
git diff --staged
git commit -m "Documenta como executar o programa"
git status mostra a pasta limpa? git log --oneline --graph --decorate mostra pelo menos dois commits?
Publicar e colaborar no GitHub
Objetivo: conectar um remoto, publicar uma branch e abrir um pull request verificável.
Git registra versões localmente. GitHub hospeda repositórios Git e acrescenta colaboração, revisão, issues, Actions e Pages.
git remote add origin https://github.com/SEU-USUARIO/projeto-media.git
git remote -v
git push -u origin main
git switch -c feat/classificacao
# edite e teste programa.py
git add programa.py
git commit -m "Adiciona classificação pela média"
git push -u origin feat/classificacao
Descrição mínima do pull request
## Objetivo
Mostrar uma orientação após o cálculo da média.
## Mudanças
- adiciona classificação com limite 7;
- mantém o cálculo existente.
## Como verifiquei
- [x] média 8 mostra "aprovado";
- [x] média 6 mostra "revisar conteúdo";
- [x] entrada inválida continua tratada.
| Objeto | Pergunta |
|---|---|
| Issue | Qual problema ou tarefa precisa de atenção? |
| Commit | Qual mudança coerente foi registrada? |
| Pull request | Esta sequência de mudanças deve entrar em main? |
Seu GitHub mostra branch, commits e pull request? Outra pessoa conseguiria testar a mudança apenas pela descrição?
Resolver e proteger
Objetivo: resolver um conflito simples e trabalhar sem expor credenciais.
Conflito é uma decisão, não um defeito
<<<<<<< HEAD
conteúdo da branch atual
=======
conteúdo da outra branch
>>>>>>> outra-branch
Leia as duas propostas, produza o resultado correto, remova todas as marcações, execute o programa e então registre a resolução.
git add programa.py
git commit -m "Resolve conflito na mensagem de resultado"
Autenticação atual
O GitHub não aceita senha da conta para operações Git via HTTPS. Para iniciantes, prefira gh auth login com navegador ou Git Credential Manager. Use token pessoal apenas quando necessário, com prazo e permissões mínimas.
# .gitignore
.env
.venv/
__pycache__/
*.pyc
- ative 2FA e guarde os códigos de recuperação;
- nunca coloque token em código, README ou captura de tela;
- revise
git diff --stagedantes do commit; - se um segredo for publicado, revogue-o imediatamente.
Execute git status, git diff --staged e git remote -v. Confirme que não há credenciais nem arquivos acidentais.
Calculadora versionada
Entrega: programa documentado, testado, desenvolvido em branch e integrado por pull request.
projeto-media/
├── .gitignore
├── README.md
├── programa.py
└── test_programa.py
Ver versão integrada de referência
def calcular_media(notas):
if not notas:
return 0
return sum(notas) / len(notas)
def classificar(media, limite=7):
return "aprovado" if media >= limite else "revisar conteúdo"
try:
entrada = input("Notas separadas por espaço: ")
notas = [float(item) for item in entrada.split()]
media = calcular_media(notas)
print(f"Média: {media:.1f}")
print(f"Situação: {classificar(media)}")
except ValueError:
print("Entrada inválida. Use apenas números separados por espaço.")Ver testes mínimos
from programa import calcular_media, classificar
assert calcular_media([6, 8]) == 7
assert calcular_media([]) == 0
assert classificar(7) == "aprovado"
assert classificar(6.9) == "revisar conteúdo"Sem consultar: você explica o fluxo pasta → stage → commit, distingue pull de push, cria uma branch e mostra a outra pessoa onde estão as instruções de execução?
Folha de consulta
Comandos para lembrar o fluxo.
Use esta seção depois de compreender o modelo. A consulta rápida apoia a prática; não substitui a decisão sobre o que deve entrar em cada commit.
Git local
git init -b main
git status
git diff
git add arquivo.py
git diff --staged
git commit -m "Mensagem"
git log --oneline --graph --decorateBranches e remoto
git switch -c feat/tarefa
git switch main
git merge nome-da-branch
git remote -v
git pull --ff-only origin main
git push -u origin nome-da-branchPróximos passos