Projeto em java


Realizado
Descrição:
O objetivo deste projeto é avaliar tecnicamente o desenvolvimento dos conceitos adquiridos durante as aulas da disciplina Estrutura de Dados 2, além de prepara-los para uma prévia dos problemas que irão encontrar no dia a dia e em processos seletivos de empresas. 
O projeto deve ser codificado utilizando a linguagem JAVA de programação. Os arquivos fonte que compõe a solução deve ser entregue para análise e avaliação.


Os arquivos que compõe o projeto devem ser enviados via exercício do BlackBoard. Esses arquivos devem ser entregues na extensão .zip, e um arquivo README dentro do zip deve conter instruções de compilação e de execução do mesmo. 
Cada aluno entregará o seu projeto, ou seja, o projeto será desenvolvido e entregue via BlackBoard individualmente.



Bom desenvolvimento!

 
O Projeto

Árvores de decisão são importantes estruturas usadas em vários ramos da Ciência da Computação, tais como, classificação, inteligência artificial (IA), aprendizado de máquina (machine learning), Jogos, etc. Na árvore de decisão, um simples nó folha representa o conjunto de “solução” ou respostas. Já a raiz e os nós filhos representam o conjunto de “questões”.


O usuário do software, chega a solução final através das respostas fornecidas aos questionamentos. Estas respostas são do tipo Sim (Yes) ou Não (No). A natureza da resposta fornecida a uma determinada questão irá indicar qual caminho deve-se seguir para a próxima questão ou para o nó folha com a solução final.


Para o caso de uma árvore binária, as respostas são tipicamente Sim (Yes) ou Não (No), as quais correspondem a uma das duas subarvores referentes aos nós de questões. Será tomado como convenção o seguinte critério de percurso para respostas afirmativas, do tipo Sim (Yes):  Quando o usuário entrar com resposta Sim (Yes), a próxima pergunta corresponderá ao próximo nó da subarvore ESQUERDA. Outra convenção que será levada em consideração é o critério de percurso para respostas negativa, do tipo Não (No):  Quando o usuário entrar com resposta Não (No), a próxima pergunta corresponderá ao próximo nó da subarvore DIREITA.


Ao final do percurso de todas as perguntas, o software irá indicar a resposta equivalente ao caminho percorrido. A única iteração do usuário com o software será através das respostas Sim (Yes) ou Não (No). Sendo assim, nenhum outro tipo de informação inserida pelo usuário deverá ser levado em consideração.


Caso haja inserção de dados divergentes as respostas consideradas, de a opção de repetição para a inserção da resposta correta aceitável, ou seja, apenas Sim (Yes) ou Não (No). Nunca se esqueça, deixar o código seguro quanto a parâmetros de entrada de usuário, é meio caminho andado para evitar Bugs. Além do mais, o software deve ser robusto o suficiente para contornar erros de entrada de informação.


Comece a implementação levando em consideração o seguinte cenário com as perguntas e respostas abaixo:  O animal come carne? o Sim (Yes)   O animal tem listras?  Sim (Yes) o É um TIGRE  Não (No) o É um LEOPARDO o Não (No)  O animal tem listras?  Sim (Yes) o É uma ZEBRA  Não (No) o É um CAVALO


Um exemplo de como as informações poderão ser exibidas:


Ultimas informações sobre a implementação: 1. Não há limites para criação de classes, métodos, variáveis e objetos. Encontre a quantidade de acordo com a sua necessidade.


2. Reutilize os códigos implementados em laboratório. 3. Utilizem Orientação a Objetos (oo) e linguagem java. Mãos à obra!!! 

Dica 1: Reutilizar o código da classe “NodeTree”. Dica 2: Crie uma classe para manipular as entradas das respostas do usuário.


(Exemplo: método ”capturaResposta()” e classe “GameHandle”) Dica 3: Crie uma classe para manipular o percurso de acordo com a entrada das respostas. (Exemplo: método ”gamePlay()” e classe “GameHandle”) Dica 4: Crie uma classe para implementar a sua árvore de decisão. (Exemplo: classe “DecisionTree”) Dica 5: Na classe de implementação da árvore de decisão, crie o método para inserção de nó.


(Exemplo: método “inserir()”) Dica 6: Crie uma classe principal com o método “main()”, o qual executará métodos (“game1()”, “game2()”, etc) de criação e execução da árvore (criando nós de pergunta e nós de resposta). Dica 7: Pense no funcionamento como se fosse um jogo de perguntas e respostas. (Exemplo: Akinator)

Categoria: TI e Programação
Subcategoria: Programação
Qual é o alcance do projeto?: Bug ou alteração pequena
Isso é um projeto ou uma posição de trabalho?: Um projeto
Tenho, atualmente: Eu tenho especificações
Disponibilidade requerida: Conforme necessário
Funções necessárias: Desenvolvedor

Java

Arquivos anexados:

Menos de USD 50

Orçamento

3

Propostas

4

Freelancers interessados

Publicado: há 23 dias

Prazo de Entrega: 7 dias

Crie seu próprio projeto

Você está procurando um freelancer para realizar um projeto parecido? Crie seu próprio projeto e você receberá ofertas dos melhores freelancers.


Outros projetos deste cliente

Para saber mais sobre este cliente

Faça seu login na Workana

Freelancers que já se candidataram para este trabalho

Raphael T. S.Tenho 5 anos de experiência como desenvolvedor PHP. Neste tempo já desenvolvi tanto projetos em PHP OO puro, quanto utilizando frameworks como Laravel e Cake. Além de conhecer CMS como Wordpress e Joomla. Também tenho... Mais detalhes

Benedito C.Bacharel em engenharia em engenharia de softwrae, programador java com 5 anos de experiência comprovada em carteira, OCA e estudando para OCP. Mais detalhes