Jump to content
Sign in to follow this  
fantasma

Exercico Java - Jogo Pergunta

Recommended Posts

fantasma

Boas a toda a comunidade.

Foi-me dado um trabalho na faculdade ao qual estou com alguma dificuldade em implementar na minha cabeça o raciocinio lógico e a forma de o executar em Java.

O objectivo do projecto é a construcção de um sistema que permita criar testes, realizálos,

e manter registos dos resultados.

Os testes devem consistir em perguntas de múltipla escolha, divididas por tópicos. Para

a realização de um teste deve ser possível escolher os tópicos. Cada teste será

constituído por 10 perguntas obtidas aleatoriamente de entre as perguntas existentes nos

tópicos seleccionados.

A aplicação deve fechar o teste terminado o tempo marcado, e mostrar a nota obtida.

A aplicação deve permitir, entre outras funcionalidades, as seguintes:

1. Adicionar perguntas, as respectivas escolhas múltiplas, e a solução correcta de

cada pergunta.

2. Para a realização de um teste:

a) Criar um interface gráfico, mostrando um relógio com o tempo disponível

para terminar o teste.

:) Permitir responder pergunta a pergunta, rever perguntas já respondidas, e

finalizar o teste, ou caso o tempo limite seja atingido, o teste deve ser

automaticamente finalizado.

Para testes sobre a disciplina Paradigmas da Programação os tópicos poderiam ser:

1. Classes e Objectos

2. Herança

3. Polimorfismo

4. Excepções

5. Gestores de Posicionamento

6. Tratamento de Eventos

7. Componentes Gráficos

8. Ficheiros

9. Threads

As perguntas dos testes pertencem a um dos 3 tipos básicos:

1. Múltipla escolha com 1 única resposta correcta

2. Múltipla escolha com mais que 1 resposta correcta

3. Perguntas cuja resposta consiste na escrita de uma ou mais palavras.

Perguntas do tipo 1 podem ser realizadas com base em radio buttons próximos das

respostas. O sistema deve conter informação sobre a resposta correcta, e o resultado da

avaliação será um de entre 3 possibilidades: resposta certa, errada, ou não respondeu.

Perguntas do tipo 2 podem ser realizadas com base em checkboxes em vez de radio

buttons para permitir a marcação de todas as respostas correctas. O sistema deve conter

informação sobre as respostas correctas, e o resultado da avaliação será um de entre 3

possibilidades: resposta certa (se todas as respostas certas são escolhidas), errada

(mesmo que parcialmente certa), ou não respondeu.

Perguntas do tipo 3 podem ser realizadas com um campo de texto para introdução da

resposta. O sistema deve conter informação sobre as possíveis alternativas correctas, e o

resultado da avaliação será um de entre 3 possibilidades: resposta certa (uma das

alternativas certa), errada, ou não respondeu.

Para um teste com 10 perguntas, as valorizações podem ser as seguintes:

Resposta certa = +2 valores

Resposta errada = -0,5 valores

Não respondeu = 0 valores

Notas:

1. O programa deve recusar informações incoerentes, impondo ao utilizador a

devida correcção, informando-o explicitamente do problema.

2. A aplicação deve estar estruturada em duas camadas, separando a lógica da

apresentação da lógica de negócio.

Estas duas camadas, a camada de “Interface com o Utilizador” e a camada de

“Modelo do Sistema” podem ser desenvolvidas em separado.

Em nenhuma parte da camada “Modelo do Sistema” deverá existir

interacção com o exterior que não seja através de métodos e parâmetros.

A camada de “Modelo do Sistema” deverá ser implementada através de uma

class library.

3. A aplicação deve apresentar uma interacção fácil e intuitiva.

4. No desenvolvimento da aplicação tome especial cuidado com a utilização

dos quatro princípios da Programação Orientada a Objectos: Abstracção,

Encapsulamento, Herança e Polimorfismo.

Até agora estruturei o meu diagrama de classes em algo do genero:

Classe Mae - Pergunta

Classes Filhas: Pergunta Texto + Pergunta_Esc_Multipla

Perg1Resposta + PerguntaMultipla, que extendem a classe Pergunta_Esc_Multipla.

Alguem me consegue dar alguma dica ou exemplos de código de outros programas para me desbloquear a cabeça? (Uma busca um pouco menos selectiva e minuciosa pelo google deu-me um grande monte de.. nada  🤔)

Se me puderem ajudar, agradecia. Não estou de longe a pedir que façam o trabalho ou que me dêm código de bandeja. Apenas uma ajuda para desbloquear o pensamento e ir prá frente com isto.

Abraço e obrigado

Share this post


Link to post
Share on other sites
fantasma

Pois o problema é esse! A duvida basicamente é por onde começar! Já tenho mais ou menos a estrutura de classes feita, agora... o que se segue?

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this  

×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.