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 *, substituindo FP2223P1_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