Ir ao conteúdo
  • Cadastre-se
Eduardo Menezes

Programa em java de um circuito

Recommended Posts

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

Compartilhar este post


Link para o post
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

Compartilhar este post


Link para o post
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora





Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas publicações 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

×