Criação de um sistema de semafáros em java

22 respostas
K

Bom dia…
Gostaria de agradecer desde já pela vossa ajuda.
Sou novo e forum e estou com um problema.
Gostária de criar um sistema de semafero em java que controle o transito de alguns carros so que não consigo fazelo porque sou novo em java.
Gostaria de saber se alguem poderia ajudar-me com isso.
Ficaria muito grato desde já.
Obrigado pela vossa compreenção é que já estou aflito com tudo isso venho a 2 meses tentando fazer isso porque preciso entregalo na escola ainda esse dias.
Alguém que me ajude porfavor!!!
Obrigado

Eu utilizo o Netbeans 7.0.1 para compilar os exercicios.
mais uma vez muito obrigada

Aqui esta o enunciado:

Faça um programa que simule o tráfego de veículos por um semáforo. Considere o seguinte:

a) O semáforo controla duas pistas que se cruzam, e cada uma possui direcção única.
b) O semáforo possui apenas as luzes verde e vermelha, levando 15 segundos para cada mudança de luz.
c) A pista por onde o carro vai (1 ou 2) será escolhida aleatoriamente.
d) Cada carro chegará ao semáforo num intervalo (aleatório) de 1 a 30 segundos após outro.
e) Quando o semáforo estiver verde, cada carro da fila leva um tempo de 3 segundos após a saída do carro da frente para dar partida.

Faça outras considerações que achar necessário.

O programa deve ter uma interface amigável e ter como saída o movimento no cruzamento a cada instante, mostrando tanto as filas dos carros parados no semáforo, como também os carros que ainda irão chegar ao cruzamento.

Sugestões:

a) Inicialmente, gere todos os possíveis carros que irão chegar ao semáforo, colocando-os em 2 filas: uma para a pista 1 e outra para a pista 2.
b) Os carros podem ser identificados pelo seu tempo previsto de chegada ao cruzamento.  Use filas também para os carros que estão parados no semáforo.
c) Apresente na tela o máximo de controles possíveis (contadores, flags, etc) que você estiver usando, para facilitar o acompanhamento da simulação.

22 Respostas

H

Aqui não fazemos códigos para ninguém, então vou te ajudar com algumas dicas:

  1. Poste aqui o que você já fez entre as tags .
  2. Poste qual sua dúvida em cima do código que você fez.
  3. Coloque alguma mensagem de erro que está aparecendo.

Bem vindo ao guj. [=

R

qual o enunciado desse problema?

M

digite algo que vc já fez…

ou pelo menos digite a logica que vc pensou pra contornar esse problema,

ae nos ajudamos,

[]s

R

é, queria entender o problema pra tentar ajudar

E

O seu “pobrema” não é com Java, e sim como formular a solução para o seu problema, certo?
Ou seja, não importa a linguagem, você teria dificuldades para resolver o problema dos semáforos.
Passe o enunciado, e a gente pode tentar explicá-lo para você entender.

S

x2

Com o enunciado fica possível até alguem fazer alguma coisa do código.
Sem enunciado não tem jeito.

K

x2

Com o enunciado fica possível até alguem fazer alguma coisa do código.
Sem enunciado não tem jeito.

Bom dia…
Gostaria de agradecer desde já pela vossa ajuda.
Sou novo e forum e estou com um problema.
Gostária de criar um sistema de semafero em java que controle o transito de alguns carros so que não consigo fazelo porque sou novo em java.
Gostaria de saber se alguem poderia ajudar-me com isso.
Ficaria muito grato desde já.
Obrigado pela vossa compreenção é que já estou aflito com tudo isso venho a 2 meses tentando fazer isso porque preciso entregalo na escola ainda esse dias.
Alguém que me ajude porfavor!!!
Obrigado

Eu utilizo o Netbeans 7.0.1 para compilar os exercicios.
mais uma vez muito obrigada

Aqui esta o enunciado:

Faça um programa que simule o tráfego de veículos por um semáforo. Considere o seguinte:

a) O semáforo controla duas pistas que se cruzam, e cada uma possui direcção única.
b) O semáforo possui apenas as luzes verde e vermelha, levando 15 segundos para cada mudança de luz.
c) A pista por onde o carro vai (1 ou 2) será escolhida aleatoriamente.
d) Cada carro chegará ao semáforo num intervalo (aleatório) de 1 a 30 segundos após outro.
e) Quando o semáforo estiver verde, cada carro da fila leva um tempo de 3 segundos após a saída do carro da frente para dar partida.

Faça outras considerações que achar necessário.

O programa deve ter uma interface amigável e ter como saída o movimento no cruzamento a cada instante, mostrando tanto as filas dos carros parados no semáforo, como também os carros que ainda irão chegar ao cruzamento.

Sugestões:

a) Inicialmente, gere todos os possíveis carros que irão chegar ao semáforo, colocando-os em 2 filas: uma para a pista 1 e outra para a pista 2.
b) Os carros podem ser identificados pelo seu tempo previsto de chegada ao cruzamento.  Use filas também para os carros que estão parados no semáforo.
c) Apresente na tela o máximo de controles possíveis (contadores, flags, etc) que você estiver usando, para facilitar o acompanhamento da simulação.

H

Novamente, oq vc já fez?
O que falta? Qual seu código atual?

Nós não fazemos o dever de casa…

E

Este é um programa trabalhoso, portanto deveria ter começado a fazê-lo antes.

Para fazer simulações, você pode usar o conceito de tempo discreto - ou seja, você divide o tempo em intervalos de 1 segundo (simulado, não 1 segundo real), e cria suas estruturas de dados para indicar, por exemplo, onde está um determinado carro.

S

x2

Com o enunciado fica possível até alguem fazer alguma coisa do código.
Sem enunciado não tem jeito.

Bom dia…
Gostaria de agradecer desde já pela vossa ajuda.
Sou novo e forum e estou com um problema.
Gostária de criar um sistema de semafero em java que controle o transito de alguns carros so que não consigo fazelo porque sou novo em java.
Gostaria de saber se alguem poderia ajudar-me com isso.
Ficaria muito grato desde já.
Obrigado pela vossa compreenção é que já estou aflito com tudo isso venho a 2 meses tentando fazer isso porque preciso entregalo na escola ainda esse dias.
Alguém que me ajude porfavor!!!
Obrigado

Eu utilizo o Netbeans 7.0.1 para compilar os exercicios.
mais uma vez muito obrigada

Aqui esta o enunciado:

Faça um programa que simule o tráfego de veículos por um semáforo. Considere o seguinte:

a) O semáforo controla duas pistas que se cruzam, e cada uma possui direcção única.
b) O semáforo possui apenas as luzes verde e vermelha, levando 15 segundos para cada mudança de luz.
c) A pista por onde o carro vai (1 ou 2) será escolhida aleatoriamente.
d) Cada carro chegará ao semáforo num intervalo (aleatório) de 1 a 30 segundos após outro.
e) Quando o semáforo estiver verde, cada carro da fila leva um tempo de 3 segundos após a saída do carro da frente para dar partida.

Faça outras considerações que achar necessário.

O programa deve ter uma interface amigável e ter como saída o movimento no cruzamento a cada instante, mostrando tanto as filas dos carros parados no semáforo, como também os carros que ainda irão chegar ao cruzamento.

Sugestões:

a) Inicialmente, gere todos os possíveis carros que irão chegar ao semáforo, colocando-os em 2 filas: uma para a pista 1 e outra para a pista 2.
b) Os carros podem ser identificados pelo seu tempo previsto de chegada ao cruzamento.  Use filas também para os carros que estão parados no semáforo.
c) Apresente na tela o máximo de controles possíveis (contadores, flags, etc) que você estiver usando, para facilitar o acompanhamento da simulação.

Que tipo de interface deve ter?
Pode ser algo ± ou tem que ser algo realistico / 2D ?

K

x2

Com o enunciado fica possível até alguem fazer alguma coisa do código.
Sem enunciado não tem jeito.

Bom dia…
Gostaria de agradecer desde já pela vossa ajuda.
Sou novo e forum e estou com um problema.
Gostária de criar um sistema de semafero em java que controle o transito de alguns carros so que não consigo fazelo porque sou novo em java.
Gostaria de saber se alguem poderia ajudar-me com isso.
Ficaria muito grato desde já.
Obrigado pela vossa compreenção é que já estou aflito com tudo isso venho a 2 meses tentando fazer isso porque preciso entregalo na escola ainda esse dias.
Alguém que me ajude porfavor!!!
Obrigado

Eu utilizo o Netbeans 7.0.1 para compilar os exercicios.
mais uma vez muito obrigada

Aqui esta o enunciado:

Faça um programa que simule o tráfego de veículos por um semáforo. Considere o seguinte:

a) O semáforo controla duas pistas que se cruzam, e cada uma possui direcção única.
b) O semáforo possui apenas as luzes verde e vermelha, levando 15 segundos para cada mudança de luz.
c) A pista por onde o carro vai (1 ou 2) será escolhida aleatoriamente.
d) Cada carro chegará ao semáforo num intervalo (aleatório) de 1 a 30 segundos após outro.
e) Quando o semáforo estiver verde, cada carro da fila leva um tempo de 3 segundos após a saída do carro da frente para dar partida.

Faça outras considerações que achar necessário.

O programa deve ter uma interface amigável e ter como saída o movimento no cruzamento a cada instante, mostrando tanto as filas dos carros parados no semáforo, como também os carros que ainda irão chegar ao cruzamento.

Sugestões:

a) Inicialmente, gere todos os possíveis carros que irão chegar ao semáforo, colocando-os em 2 filas: uma para a pista 1 e outra para a pista 2.
b) Os carros podem ser identificados pelo seu tempo previsto de chegada ao cruzamento.  Use filas também para os carros que estão parados no semáforo.
c) Apresente na tela o máximo de controles possíveis (contadores, flags, etc) que você estiver usando, para facilitar o acompanhamento da simulação.

Que tipo de interface deve ter?
Pode ser algo ± ou tem que ser algo realistico / 2D ?

a interface pode ser algo ±

H

Klismann:
a interface pode ser algo ±
E isso você quer que criemos para você?

K

Se for possivel ficaria mesmo grato.
não é um trabalho escolar.
Um amigo meu tava a falar a respeito de algo parecido e gostaria de lhe mostrar esse exercicio a funcionar

H

Se for possivel ficaria mesmo grato.
não é um trabalho escolar.
Um amigo meu tava a falar a respeito de algo parecido e gostaria de lhe mostrar esse exercicio a funcionarhum… legal.
Por que você mesmo não faz e a gente te ajuda?

K

Se for possivel ficaria mesmo grato.
não é um trabalho escolar.
Um amigo meu tava a falar a respeito de algo parecido e gostaria de lhe mostrar esse exercicio a funcionarhum… legal.
Por que você mesmo não faz e a gente te ajuda?

É que a meu ver tenho de utilizar imagens.
Só que é ai k ta o problema.
Em java eu não soi la grade coisa com a utilização de imagens.
eu programo ± mas a parte de imagem eu nunca consegui dominar muito bem.

R

Não entendi direito o item:

d) Cada carro chegará ao semáforo num intervalo (aleatório) de 1 a 30 segundos após outro.

significa que apenas um carro estará em uma das ruas por vez e que o próximo só poderá entrar na pista quando o atual terminar de atravessá-la?
Porque se não for isso fica estranho… por exemplo, se um carro deve demorar 30 segundos para chegar no semáforo e o que está atrás dele deve demorar
15 segundos, então o que está atrás deverá ultrapassar o da frente dependendo de onde o carro da frente estiver, mas pra isso deveríamos ter uma pista dupla, mas pelo resto do enunciado parece que cada rua deve ser larga o suficiente para apenas um carro

R

Klismann, sugiro que tente começar a desenvolver seu problema pra depois ajudarmos você melhor!

K

rogeriopaguilar:
Não entendi direito o item:

d) Cada carro chegará ao semáforo num intervalo (aleatório) de 1 a 30 segundos após outro.

significa que apenas um carro estará em uma das ruas por vez e que o próximo só poderá entrar na pista quando o atual terminar de atravessá-la?
Porque se não for isso fica estranho… por exemplo, se um carro deve demorar 30 segundos para chegar no semáforo e o que está atrás dele deve demorar
15 segundos, então o que está atrás deverá ultrapassar o da frente dependendo de onde o carro da frente estiver, mas pra isso deveríamos ter uma pista dupla, mas pelo resto do enunciado parece que cada rua deve ser larga o suficiente para apenas um carro

isso quer dizer que apos o carro ter saido do semafero o proximo deve chegar apos 1 a 30 segundos depois.

R

Eu criei um programa parecido com o que você colocou aqui.
Para executar, basta descompactar o arquivo em anexo em algum diretório e executar o jar simuladorsemaforos.jar
É necessárui utilizar o jdk 1.7 para executar o programa.

o fonte eu coloquei lá no git:

https://github.com/rogeriopaguilar/Projetos/tree/master/projetos/simuladorsemaforos/src/simuladorsemaforos

Até mais

K

rogeriopaguilar:
Eu criei um programa parecido com o que você colocou aqui.
Para executar, basta descompactar o arquivo em anexo em algum diretório e executar o jar simuladorsemaforos.jar
É necessárui utilizar o jdk 1.7 para executar o programa.

o fonte eu coloquei lá no git:

https://github.com/rogeriopaguilar/Projetos/tree/master/projetos/simuladorsemaforos/src/simuladorsemaforos

Até mais

Muito obrigado mesmo.
é para um amigo meu

H

Klismann:
rogeriopaguilar:
Eu criei um programa parecido com o que você colocou aqui.
Para executar, basta descompactar o arquivo em anexo em algum diretório e executar o jar simuladorsemaforos.jar
É necessárui utilizar o jdk 1.7 para executar o programa.

o fonte eu coloquei lá no git:

https://github.com/rogeriopaguilar/Projetos/tree/master/projetos/simuladorsemaforos/src/simuladorsemaforos

Até mais

Muito obrigado mesmo.
é para um amigo meu

uhum…

R

Se você vai utilizar o código ou não é você que decide, mas o mais importante é você ler o código, tentar entender o que está acontecendo e depois tentar criar o seu próprio projeto, mesmo que seja baseado no programa que eu fiz.
Você pode utilizar a mesma estrutura que eu criei para outros problemas parecidos. A idéia que eu tive foi criar uma classe básica chamada elementosimulacao, que define tamanho e posição do elemento e métodos para atualizar o estado do elemento baseado no tempo atual e para pintar o elemento. O looping principal percorre a lista de elementos e chama estes métodos. Qualquer outro programa que você precisar pintar algo em 2d na tela você pode utilizar esta mesma estrutura, talvez alterando em algum ponto, mas a idéia básica será a mesma, ou seja, elementos que serão pintados na tela e terão o seu estado atualizado de acordo com o tempo.
Utilizando isso como base fica mais fácil implementar outros problemas parecidos.

Criado 15 de janeiro de 2013
Ultima resposta 23 de jan. de 2013
Respostas 22
Participantes 7