Anúncios
Inscrições para o segundo teste de FP
10 janeiro 2013, 19:14 • Ana Cardoso Cachopo
Estão abertas as inscrições para o segundo teste de FP, a realizar no dia 18/Jan/2013 às 09H.
As inscrições são obrigatórias e terminam dia 16/Jan/2013, às 09H.
Não se garante a realização do teste a alunos não inscritos.
A matéria para o segundo teste é a partir da ordenação, no capítulo 5.
Horário de dúvidas no dia 10 de Janeiro
4 janeiro 2013, 10:41 • Cláudia Antunes
A aula de dúvidas de dia 10 de Janeiro será excepcionalmente às 14:00.
Horários de dúvidas em Janeiro
21 dezembro 2012, 08:13 • Ana Cardoso Cachopo
Durante o mês de Janeiro haverá aulas de dúvidas nos seguintes horários:
- dias 10, 17 e 24 com a Professora Cláudia Antunes às 10:00, no gabinete 1 do pavilhão de Informática II
- dias 14 e 28 com o Professor Pavão Martins às 11:00, no gabinete 6 do pavilhão de Informática II
- dias 15, 22 e 29 com a Professora Ana Cardoso-Cachopo às 10:00, no gabinete 4 do pavilhão de Informática II
- dias 16, 23 e 30 com o Professor Pedro Amaro de Matos às 10:00, no gabinete 8 do pavilhão de Informática II
Mais informação para o projecto
18 dezembro 2012, 16:31 • Joao Pavao Martins
1) Métodos da classe caminho: caminho_antes_destino, caminho_apos_origem e caminho_elimina_ciclos
Estes métodos não podem alterar o objecto caminho!
Devem começar por (1) determinar a sequência de posições necessária, (2) criar um novo caminho com a primeira posição dessa sequência, (3) juntar o resto das posições por odem e (4) devolver o caminho criado.
Para realizar o passo (3) acima descrito pode ser útil adicionar um novo construtor ao tipo caminho: caminho_junta_posicao : caminho × posição → caminho
2) Determinar se uma posição está numa lista de posições
Tal só pode ser feito com “in” se o método __eq__ estiver denido para a classe posicao.
Se o método __eq__ não estiver definido deve ser percorrida a lista e comparada a posição em causa com cada uma das posições armazenadas na lista usando o método posicao_igual.
3) Utilização de dicionários para representar mapas
A utilização de dicionários para representar mapas deve ser evitada pois dado um objecto da classe posicao a consulta do dicionário só devolve o valor associado à posição em causa se lhe for passado exactamente o mesmo objecto (a menos que tenham usado como chave um tuplo).
Para quem já tenha o tipo mapa implementado como um dicionário é possível evitar a sua alteração adicionando os seguintes métodos à classe posicao:
def __eq__(self):
…
def __hash__(self):
return <linha>**2+<coluna>**3
Uma alterntiva à definição do método __hash__ é indexar o dicionário com um tuplo em vez de ser com uma instância da classe posicao.
Informação para o projecto
17 dezembro 2012, 21:44 • Joao Pavao Martins
1) Métodos da classe caminho: caminho_antes_destino, caminho_apos_origem e caminho_elimina_ciclos
Estes métodos não podem alterar o objecto caminho!
Devem começar por (1) determinar a sequência de posições necessária, (2) criar um novo caminho com a primeira posição dessa sequência, (3) juntar o resto das posições por ordem e (4) devolver o caminho criado.
Para realizar o passo (3) acima descrito pode ser útil adicionar um novo construtor ao tipo caminho: caminho_junta_posicao : caminho × posição → caminho
2) Determinar se uma posição está numa lista de posições
Tal não pode ser feito com “in”. Em vez disso deve ser percorrida a lista e comparada a posição em causa com cada uma das posições armazenadas na lista usando o método posicao_igual.
3) Utilização de dicionários para representar mapas
A utilização de dicionários para representar mapas deve ser evitada pois dado um objecto da classe posicao a consulta do dicionário só devolve o valor associado à posição em causa se lhe for passado exactamente o mesmo objecto (a menos que tenham usado como chave um tuplo).
Para quem já tenha o tipo mapa implementado como um dicionário é possível evitar a sua alteração adicionando o seguinte método à classe posicao:
def __hash__(self):
return <linha>**2+<coluna>**3