![]() |
António Roberto Software |
|
Linguagens
de Programação 1
|
2º
ano da Licenciatura em Informática de Gestão
|
Aula de 31 de Maio de 2002
5ª Etapa do Trabalho final
Aviso : O prazo de entrega do trabalho final é 14 de Junho. Cada grupo deverá entregar uma diskette com a solução na aula de 14 de Junho. Aconselha-se os alunos a cumprirem os tempos atribuídos às diversas etapas.
Passagem da versão 5 para a versão 6 do protótipo EditorGrafos
Lista de funcionalidades a implementar na versão 6 :
- Acrescentar o menu "Circuito de Euler" na barra de menus da frame
- Objectivo : Criar um menu com duas opções relacionadas com a teoria do grafos
- Pistas
- Utilize o editor de recursos para aceder e alterar o menu IDR_MAINFRAME
- Acrescente o menu "Circuito de Euler"
- Acrescente ao menu "Circuito de Euler" duas opções :
- "Verifica Existência" . Atribua-lhe o ID ID_EULER_EXISTE
- "Desenha Circuito". Atribua-lhe o ID ID_EULER_CIRCUITO
- Utilize o ClassWizard para criar um método da View associado a cada uma das opções do menu
- OnEulerExiste associado à opção ID_EULER_EXISTE
- OnEulerCircuitoassociado à opção ID_EULER_CIRCUITO
Enquanto não implementa o método, pode apresentar uma mensagem com MessageBox
- Implementar o método OnEulerExiste
- Objectivo : Verificar se o grafo possui um circuito de Euler.
- Pistas : Verifique se o grafo satisfaz as 2 condições do Teorema de Euler :
- 1ª : Todos os nós devem ter grau par
- Declare e implemente o método int Grau() na classe CNo
- Declare e implemente o método bool TodosPar() na classe CEditorGrafosDoc
- 2ª : O grafo tem de ser conectado
- Realize uma travessia em profundidade ( Depth-First Search ) no grafo, e certifique-se que visitou todos os nós
- Acrescente a propriedade booleana Visitado à classe CNo
- Declare e implemente o método privado void ProcuraEmProfundidade( CNo *pNo ) na classe CEditorGrafosDoc
- Repare na utilização da recursão : a função chama-se a si própria.
- Declare e implemente o método bool Conectado() na classe CEditorGrafosDoc
- Não se esqueça de atribuir o valor falso à propriedade Visitado dos nós antes de executar a ProcuraEmProfundidade
- Solução só disponível no final do prazo de entrega do trabalho.
Projecto : EditorGrafos ( versão 6 )Tipo : MFC AppWizard( exe ) SDI Document Zip file com o projecto :