Partilhar: WhatsApp
aulify
UC UC03814 · T. Inform. Gestão

Ficha 02 · Codificação, debug e testes

Python, Git, erros, casos de teste e documentação
Versão · Aluno
Tempo · 45 minutos
Aluno(a)
Turma
Data

Exercício 1 · Sintaxe vs semântica

Explica a diferença entre erro de sintaxe e erro de semântica/lógica, com um exemplo de cada em Python.

Resposta:

Exercício 2 · Codificar a partir do pseudocódigo

Traduz para Python: ler um número e escrever "Par" ou "Ímpar".

Resposta:
n = int(input("Número: "))
if n % 2 == 0:
    print("Par")
else:
    print("Ímpar")

Exercício 3 · Função

Escreve uma função maior(lista) que devolve o maior elemento de uma lista de números.

Resposta:
def maior(lista):
    m = lista[0]
    for n in lista:
        if n > m:
            m = n
    return m

print(maior([4, 9, 2, 15, 7]))   # 15

(Em Python, max(lista) faz o mesmo — mas o objetivo é praticar a lógica.)

Exercício 4 · Encontrar o erro

Este código deve dar a média, mas falha. Identifica o erro e corrige:

def media(notas):
    return sum(notas) / 2
Resposta:

Erro de lógica: divide por 2 fixo em vez do número de notas. Correção:

def media(notas):
    return sum(notas) / len(notas)

Exercício 5 · Casos de teste

Para a função media(notas), indica quatro casos de teste (com o resultado esperado), incluindo casos-limite.

Resposta:
assert media([10, 20]) == 15
assert media([8]) == 8

Exercício 6 · Debug

Ao correr o programa aparece ZeroDivisionError. Que tipo de erro é e como o encontras e resolves?

Resposta:

É um erro de execução (runtime) — divisão por zero. Encontra-se lendo a mensagem (indica a linha) e inspecionando o divisor (ex.: len(notas) = 0 com lista vazia). Resolve-se validando antes:

def media(notas):
    if not notas:
        return 0        # ou lançar um aviso
    return sum(notas) / len(notas)

Exercício 7 · Git

Indica os comandos Git para: iniciar o repositório, guardar todas as alterações e criar um commit com mensagem. Porque é útil o controlo de versões?

Resposta:
git init
git add .
git commit -m "versão inicial"

É útil porque guarda o histórico (podes voltar a qualquer versão), permite trabalhar em equipa sem sobrepor código, e serve de backup do projeto.

Exercício 8 · Documentação

Que deve ter, no mínimo, o README de um pequeno programa? Dá 3 pontos.

Resposta:

(Bónus: autor, licença, e limitações conhecidas.)