Partilhar: WhatsApp
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
Data
Objectivos da ficha

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).