Ficha 02 · Funções, dicts e ficheiros
- Definir funções
- Usar dicts
- Manipular ficheiros
- Tratar excepções
Parte I · Funções
Exercício 1 · Função pura (10 pts)
Escreve função area_rectangulo(largura, altura) que devolve a área. Testa para 3×4 e 5.5×2.
Exercício 2 · Função com default (15 pts)
calcular_preco(preco_base, iva=23, desconto=0) devolve preço final.
Exemplos:
- calcular_preco(100) → 123.0
- calcular_preco(100, desconto=10) → 110.7
- calcular_preco(100, iva=6) → 106.0
Exercício 3 · Recursão · factorial (15 pts)
Implementa factorial(n) de forma recursiva. Lança ValueError se n < 0.
Parte II · Dicts
Exercício 4 · Contar palavras (15 pts)
Dada uma string, devolve dict com a contagem de cada palavra (separadas por espaços, em minúsculas):
contar_palavras("o gato e o cao e o rato")
# {"o": 3, "gato": 1, "e": 2, "cao": 1, "rato": 1}
Exercício 5 · Agenda telefónica (20 pts)
Programa interactivo que mantém uma agenda (dict) com nome → telefone. Menu: 1. Adicionar contacto 2. Procurar 3. Listar todos 4. Remover 5. Sair
Parte III · Ficheiros
Exercício 6 · Ler e contar linhas (10 pts)
Escreve programa que abre um ficheiro texto.txt e mostra:
- Número de linhas.
- Número total de palavras.
- Número total de caracteres (sem espaços).
Exercício 7 · Guardar agenda em ficheiro (15 pts)
Estende a agenda do exercício 5 para guardar e carregar de agenda.txt (formato simples: nome,telefone por linha).