Partilhar: WhatsApp
aulify
UC UC00618 · T. Desenv. Software

Ficha 01 · Sintaxe, estruturas, funções

Variáveis, controlo, loops, funções
Versão · Aluno
Tempo · 60 minutos
Cotação · 100 pontos
Aluno(a)
Turma
Data
Objectivos da ficha

Parte I · Sintaxe e variáveis

Exercício 1 · Variáveis e tipos (10 pts)

a) Identifica o tipo de cada variável:

a = 42
b = 3.14
c = "Python"
d = True
e = None
f = [1, 2, 3]
g = (4, 5)
h = {"x": 1}
i = {1, 2, 3}

b) Que acontece em: a / 2, a // 2, a % 2, a ** 2?

Exercício 2 · F-strings (10 pts)

Reescreve com f-string:

nome = "Ana"
idade = 25
preco = 19.99
mensagem = "Olá " + nome + ", tens " + str(idade) + " anos. O preço é " + str(preco) + " euros."

Parte II · Estruturas de controlo

Exercício 3 · If/Elif/Else (10 pts)

Escreve função que classifica nota numérica: - 0-9: "Reprovado" - 10-13: "Suficiente" - 14-15: "Bom" - 16-17: "Muito Bom" - 18-20: "Excelente" - Outras: "Inválido"

Exercício 4 · Loops (15 pts)

a) Escreve loop que imprime números pares de 0 a 20. b) Conta vogais numa string. c) FizzBuzz: imprime 1 a 30. Se múltiplo de 3, "Fizz". Se múltiplo de 5, "Buzz". Se ambos, "FizzBuzz".

Parte III · Funções

Exercício 5 · Funções (15 pts)

a) Escreve função que calcula IMC (peso/altura²). b) Adapta para receber lista de pessoas e retornar dict com IMC de cada. c) Adiciona validação de inputs.

Parte IV · Estruturas de dados

Exercício 6 · Listas e dicts (15 pts)

Tens lista de produtos:

produtos = [
    {"nome": "Caneta", "preco": 1.50, "stock": 50},
    {"nome": "Caderno", "preco": 3.00, "stock": 20},
    {"nome": "Lápis", "preco": 0.50, "stock": 100},
    {"nome": "Borracha", "preco": 1.00, "stock": 30},
]

a) Total em stock (€). b) Produtos com stock < 30. c) Produto mais caro. d) Ordenar por preço descendente. e) Adicionar 10% IVA a todos os preços.

Parte V · Aplicação

Exercício 7 · Refactor (10 pts)

Refactoriza este código para ser mais Pythonic:

def processar(numeros):
    pares = []
    for i in range(len(numeros)):
        if numeros[i] % 2 == 0:
            pares.append(numeros[i] * 2)

    soma = 0
    for j in range(len(pares)):
        soma = soma + pares[j]

    if soma > 100:
        return "alto"
    else:
        if soma > 50:
            return "medio"
        else:
            return "baixo"

Exercício 8 · Programa completo (15 pts)

Escreve programa que: 1. Pede ao utilizador 5 números. 2. Calcula min, max, média. 3. Identifica números primos. 4. Imprime resultado formatado.