PUC-Rio
Departamento de Informática

Profs. Edward Hermann Haeusler e Marcus Vinicius Poggi

Período: 2000.1
   

INTRODUÇÃO À ENGENHARIA (CTC 1002) (33B)



Projeto de Engenharia em Informática




Descrição: O trabalho consiste no desenvolvimento de um algoritmo. Um algoritmo é uma caracterização precisa, sem ambigüidades, de um método para resolver um problema. Este algoritmo deverá estar descrito, em sua versão final, de forma clara sobre uma notação completamente definida.

O trabalho será realizado por grupos de 3 ou 4 alunos (não haverá exceções).

O problema a ser resolvido é o de propor a próxima jogada em um jogo que confontrará dois algoritmos. Uma partida entre dois jogadores consiste na aplicação alternada e sucessiva dos algoritmos de cada jogador.

Uma implementação de um algoritmo é a sua realização em uma linguagem de computação que execute em um computador capaz de reconhecê-la.

A implementação do algoritmo desenvolvido pode ser feita em qualquer linguagem de computação. Entretanto, embora esta iniciativa seja recomendada e agilize a apresentação, a implementação NÃO acrescentará pontos à avaliação.

Importante: caso o grupo deseje utilizar uma implementação do seu algoritmo na apresentação, esta deverá ser entregue junto com sua versão final em disquete e em listagem.




O Jogo:

Duplo Jogo-da-Velha 3D

Premiação:

O prêmio do melhor projeto em Informática será atribuído ao grupo vencedor do TORNEIO que será realizado entre os algoritmos concebidos. A tabela do torneio será definida ao longo do mês de Maio, sendo as partidas realizadas a partir da terceira semana de Junho.

Uma partida será a sequência de dois jogos onde cada grupo jogará como jogador A e como jogador B. Caso um grupo vence os dois jogos, este será obviamente o vencedor. Caso haja uma vitória para cada grupo, será vencedor aquele que venceu o jogo com menos lances. Nos demais casos, a partida será considereda empatada.

Caso a partida NÃO permita empates, serão jogados mais dois jogos com o mesmo critério acima. Se o empate persistir, haverá um cara ou coroa para decidir que foi o vencedor.

Decorrer dos Jogos: para que haja uma verificação exaustiva dos algoritmos desenvolvidos, em uma partida os grupos executarão o algoritmo do seu oponente. Se em algum momento um algoritmo é incapaz de indicar uma posição válida (uma das 27 posições que esteja vazia) para o seu símbolo, o seu grupo PERDE o jogo em andamento.

Avaliação: Será baseada na criatividade do projeto assim como na capacidade de realização e desenvolvimento das idéias apresentadas. A colocação no torneio também contribui para a nota, que poderá ser distinta para membros de um mesmo grupo, visto que a participação de cada aluno no projeto será avaliada.

Documentos a serem entregues:

28/04/2000 - Especificação do projeto a ser desenvolvido

Este documento deve apresentar a forma como o projeto será apresentado e as idéias iniciais do grupo.

26/05/2000 - Especificação detalhada

Este documento apresenta para o algoritmo: uma descrição em português do procedimento, geral e dos módulos utilizados; uma descrição precisa dos passos que executam cada módulo; uma descrição funcional do projeto.

Junho/Julho - Versão final do projeto

Documento contendo a especificaão detalhada e o algoritmo passível de ser executado (por pessoa ou computador). No caso de implementação em alguma linguagem de computação, esta deve ser entregue em papel e em meio magnético.


This document was translated from LATEX by HEVEA.