Fundamentos da Programação

Resolver problemas em Python, compreender o estado de um programa e escrever funções imperativas e livres de efeitos.

Perguntar sobre esta página

ChatGPTClaudePerplexityGrokGeminiCopiar e abrirDeepSeekCopiar e abrir

Converter uma duração, contar votos e percorrer listas aninhadas exigem decisões diferentes. O percurso começa com valores e instruções, passa à decomposição em funções e compara soluções que alteram estado com soluções livres de efeitos. Em cada problema, segue uma entrada pequena e verifica o contrato.

Percurso de estudo

  1. Primeiros programas começa pelo algoritmo, tipos, expressões, entrada e saída. Aprende a distinguir uma falha de sintaxe de um resultado errado.
  2. Condições e ciclos mostra como escolher um ramo, repetir um cálculo e justificar que o ciclo termina.
  3. Funções separa subproblemas, retorno, passagem de argumentos e âmbito dos nomes.
  4. Strings trabalha índices, fatias e transformações de texto.
  5. Tuplos e listas distingue sequências imutáveis, mutação, alias e cópia.
  6. Dicionários e conjuntos escolhe entre associação por chave e pertença sem duplicados.
  7. Recursão liga um caso base à redução do problema e segue as chamadas até ao regresso.
  8. Compreensões e geradores transforma coleções com compreensões e distingue construir uma sequência de a consumir passo a passo.
  9. Programação funcional trata funções como valores e compara soluções com map, filter e reduce, usando os iteradores da lição anterior.
  10. Algoritmos e complexidade aplica pesquisa e contagem de operações. É um complemento às estratégias de resolução de problemas, não um tópico autónomo nomeado na ficha de 2026/27.
  11. Ficheiros, exceções e testes junta persistência, tratamento de entradas inválidas, módulos e verificação.

Cada lição associa exercícios ao tema, com resolução e ajuda quando acrescenta um passo útil. Tenta resolver antes de abrir a solução. Nos exercícios de programação, os testes apresentados verificam casos do contrato; não provam a correção para todas as entradas nem uma restrição de estilo. A cheat sheet serve para consulta depois de estudares.

Como praticar

Antes de escrever código, identifica a entrada, o resultado e os casos limite. Segue uma entrada pequena à mão. Depois implementa uma parte de cada vez e compara o resultado com o que calculaste, incluindo sequências vazias, limites de intervalos e valores repetidos quando fazem sentido.

Nos editores desta cadeira, a linguagem é Python 3. O código corre numa execução descartável. Os ficheiros criados pelo exemplo existem só nessa execução. Para praticar no teu computador, guarda o programa num ficheiro .py e corre python3 nome.py num terminal. Não escrevas o indicador >>> da consola dentro do ficheiro.

Edição e avaliação

A ficha pública de 2026/27, consultada em outubro de 2026, apresenta programa, bibliografia, regras de avaliação e ligação ao Moodle. Estes apontamentos seguem esse programa. Confirma no Moodle o calendário e as condições em vigor.

A avaliação publicada é 0.4 MT1 + 0.4 MT2 + 0.2 MT3, com recurso 1.0 ER e época especial 1.0 EEP. Há um limite de faltas de 25% das aulas TP. A ficha de 2025/26 serve apenas para comparação entre edições.

Fontes e âmbito

A base oficial é o programa de FP de 2026/27: pensamento computacional, dados simples e compostos, condicionais, iteração, funções, passagem de parâmetros, recursão, ficheiros, programação livre de efeitos, funções de ordem superior, compreensões, estratégias de resolução, teste e depuração. Os resultados de aprendizagem também incluem exceções e problemas numéricos.

As fichas RE01 a RE13, internas de 2018/19 e consultadas no repositório público de FPRO, ajudam a escolher tipos de problemas. O Moodle de 2024/25 consultado não disponibilizava materiais de ensino. Estas fontes não confirmam os enunciados nem as regras atuais.

Os slides de Python 3 de André Restivo apoiam a sintaxe e os exemplos. O Caderno FP SofiaViP é um apoio de estudante, sem valor oficial. Nenhum identifica uma edição atual de FP.

Bibliografia da ficha de 2026/27:

As provas práticas históricas disponíveis no arquivo Accio de FP identificam 2018/19, 2019/20 e 2020/21 nos próprios documentos. Ajudam a escolher prática de construção de programas, combinação de coleções, recursão e geradores. Não confirmam a avaliação atual; não havia provas de 2024/25 ou 2025/26 nesse arquivo.

Os exemplos e resoluções foram escritos para estes apontamentos. Os exercícios de nomes completos, produto interno e árvores de expressões adaptam problemas de RE06, RE08 e RE10, de 2018/19. A conversão de base, a contagem recursiva, os pares de reservas e o gerador de intervalos adaptam objetivos das provas históricas, com domínios, convenções e casos próprios. A atribuição está nos conjuntos de prática. A procura de soma exata e a condição sobre caixas e peças são problemas próprios. Geradores, pesquisa binária e análise de custo são aprofundamentos sinalizados no percurso; os materiais de ensino do Moodle 2026/27 exigem autenticação e continuam por confirmar.

À tua maneira

Aparência

Modo de cor
Tema
Cor de destaque

Leitura

Fonte de leitura

Álgebra, lógica e uma ideia de cada vez.

Código

Fonte do código

Navegação

Cursor de leitura, sem edição. h, j, k, l movem; / pesquisa nesta página. v seleciona caracteres; V seleciona linhas; y copia. Tab permite destacar ou comentar. Espaço ou Enter abre blocos recolhíveis. Nos cartões, h, j, k, l mudam o foco.

CSS personalizado

Ativa uma sugestão ou guarda o teu CSS. Só muda este navegador.

Usa --page, --text e --accent para acompanhar o tema.

Seletores e recuperação

.site-header, .prose, .course-card, [data-reading-history], [data-playground] e .page-actions.

Abre a aparência com a tecla vírgula ou no rodapé. Se o CSS esconder os controlos, abre esta página sem CSS personalizado.

Pesquisar

Escreve para pesquisar em todo o site.

para escolher · Enter para abrir · Esc para fechar

Copiar fórmula

A cópia automática não está disponível. Copia o LaTeX abaixo.

Pesquisar nesta página

Enter procura · n / N repetem · Esc cancela. Ctrl / Cmd K pesquisa todo o site.

Atalhos de teclado

Clica numa tecla para a mudar. Esc cancela. Backspace desativa.

PesquisarCtrl / Cmd K

Os atalhos não interferem enquanto escreves. Tab e Enter funcionam sempre.