Ir ao conteúdo
  • Cadastre-se

Programa em java de um circuito


Posts recomendados

Boa noite galera,

 

Estou com a seguinte dúvida em um trabalho de programação em java. É para fazer um programa de um circuito apenas de resistores conforme descrito abaixo: 

 

Desenvolva uma aplicação em Java que permita ao usuário trabalhar com qualquer circuito elétrico montado apenas com resistores. A aplicação deverá conter o seguinte menu de opções: 1. Adicionar um nó 2. Adicionar um resistor 3. Imprimir equações 4. Fechar Um nó deve possuir informações como um identificador e a tensão aplicada no mesmo (Obs: caso não se tenha os valores reais das tensões, estes podem ser substituídos pela String “Vi“ onde i é o id do nó). Já os resistores devem possuir informações como os nós onde eles estão conectados, sua resistência e a corrente que passa por ele. A opção 3, “imprimir equações“, deve apresentar na tela todas as equações resultantes da aplicação da 1a lei de Kirchhoff - “Em um nó, a soma das correntes elétricas que entram é igual à soma das correntes que saem, ou seja, um nó não acumula carga” - em todos os nós onde não se sabe a tensão.

 

Como prosseguir com essa programação? Bem complicado isso, achei muito confuso. 

 

Fico no aguardo.

 

 

circuito java..jpg

Link para o comentário
Compartilhar em outros sites

Sim .. bem complicado ... eu resolveria isso com Grafos ... mas não é um código simples não ... Sem pensar muito eu criaria a partir da seguinte logica:

public class No {
	private double id;
	private double tensão;
	//Getters and Setters

	@Override
	public boolean equals(No no){
		return this.id == no.getId();
	}
}


public class Resistor {
	private No no1;
	private No no2;
	private double resistencia;
	private double corrente;
	//Getters and Setters;

	@Override
	public boolean Equals(Resistor resistor){
		return this.no1.equals(resistor.getNo1());
	}
}

Map<No, List<Resistor>> map;

A inclusão de cada novo Nó, você adiciona no map.

map.put(novoNo, new ArrayList<Resistor>());

A cada inclusao de um novo Resistor, você adiciona na lista de resistores;

map.get(novoResistor.getNo1()).add(novoResistor);
map.get(novoResistor.getNo2()).add(novoResistor);

 Com isso na montagem das formulas, basta receber qual o no e você tera a lista dos resistores que se ligam a ele ...  e com uma função recursiva você pode pegar as outras ligações (caso necessário. Não me recordo dos cálculos de resistores)
 

 

  • Curtir 1
Link para o comentário
Compartilhar em outros sites

Visitante
Este tópico está impedido de receber novas respostas.

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...