aulify
UC UC00606 · T. Desenv. Software, T. Inform. Gestão, T. Instalações Elétricas
Ficha 02 · Funções, dicts e ficheiros
Decompor programas, manipular dicts, ler/escrever ficheiros
Versão · Aluno
Tempo · 60 minutos
Cotação · 100 pontos
Aluno(a)
Turma
Nº
Data
Objectivos da ficha
- 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.0calcular_preco(100, desconto=10)→ 110.7calcular_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:
- Adicionar contacto
- Procurar
- Listar todos
- Remover
- 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).