Projetos
Os enunciados dos projetos, assim como qualquer outra informação relacionada com o desenvolvimento dos projetos e exemplos de anos anteriores serão disponibilizados nesta página.
2º projeto
Enunciado [pdf]
Notas:
- na rotina limpa_campo() podem usar uma abordagem recursiva;
- o estado do gerador nunca pode ser um valor superior ao que o tamanho do seu estado premite representar;
- a função principal espera no mínimo 1 mina e um número máximo que as permita colocar em posições diferentes independentemente da escolha do movimento inicial.
Testes públicos [py]
1o projeto
Enunciado [pdf]
Notas:
- Nos testes privados não iremos testar condições não previstas no enunciado (eg, palavra maior que o valor da coluna de justificação).
- Na questão 2.2.3, a "ordem alfabética" é a usada pelo Pyhton (código ASCII), letras minúsculas e letras maiúsculas têm a relação normal dentro de cada destes conjuntos, mas as letras maiúsculas vêm antes das letras minúsculas.
Testes públicos [py]
- Os testes unitários são baseados no módulo pytest que precisa estar instalado:
$ pip install pytest
- Copiem o script com os testes unitários para a pasta que contém o vosso projeto.
- Alterem neste script a alinha
from FP2223P1_alberto import *
, substituindoFP2223P1_alberto
; pelo nome do ficheiro que tem o vosso programa (nota: este deve ter só as definições de funções). - Na linha de comando, correr o seguinte comando:
$ pytest
- Com a opção -v pode gerar mais informação sobre os testes, por exemplo:
$ pytest -v
- Com a opção -k STRING é possível filtrar os testes que façam match com a STRING, por exemplo::
$ pytest -v -k JustificarTextos