Ir para o conteúdo
  • Revista PROGRAMAR: Já está disponível a edição #60 da revista programar. Faz já o download aqui!

EdZener

Análise de Circuitos__Prog C++

Mensagens Recomendadas

EdZener

Olá a todos, estou com um enorme "problema" nas mãos. Basicamente necessito de elaborar um trabalho para a disciplina de Prog. avançada e os meus conhecimentos são muito reduzidos nesta área. Estudo Eng electrotécnica e as nossas bases de programação são mt poucas.

Problema.

Construção de um diagrama de classes + Implementação

1 Descrição do Problema

Um circuito resistivo pode ser representado por uma lista de componentes.

Pretende-se com este trabalho elaborar um programa em C++, que permita calcular para qualquer circuito resistivo a:

• I - intensidade da corrente que percorre cada um dos componentes;

• V - tensão aos terminais de cada componente;

• Req - resistência equivalente do circuito.

O programa deverá trabalhar apenas com as montagens série e paralelo. Os circuitos podem ter uma estrutura fixa.

Basicamente sei que tenho de começar por elaborar o diagrama de classes, contudo as duvidas começam logo aí e necesssito do diagrama para ter a base de toda a implementaçao...andei a pesquisar na net e o melhor que encontrei, ou que vai de encontro ao que pretendo foi de um blogger brasileiro...e é isto: Análise de Circuito Série Paralelo utilizando C++

Resumindo, os meus conhecimentos de visual studio são muito poucos, alias de programação só tive um semestre (programação em c) e fiz a cadeira com 10.

Agradecia que alguém me desse umas luzes relativas á construção e implementação do diagrama e ás extensões (.h .cpp etc) o que colocar em cada uma...

Obrigado pela atenção, cumprimentos Edgar.

Editado por pwseo
Corrigido erro ('basic' -> 'studio'); Removida transcrição de conteúdo externo e formatação desnecessária

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
EdZener

Para o diagrama, tenho de ter uma classe principal certo? Neste caso circuito onde coloco os atributos por baixo e depois as classes secundárias? Tipo as componentes do circuito? Estou mesmo à nora..

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
pwseo

EdZener,

É necessário que saibas o que é um diagrama de classe(s) e que penses na forma como vais representar um circuito através de um conjunto de classes (uma ou mais que uma, isso fica sempre ao teu critério).

Com tudo isto feito, há depois a necessidade de decidir como implementar o funcionamento dessas classes de modo a replicar o funcionamento do circuito, em C++.

Dizes que isto é um trabalho para uma disciplina... presumo que estejas no final do semestre da mesma. Provavelmente o que te foi pedido foi dado durante o semestre, não?

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
EdZener

A disciplina é programação avançada, e sim isto é o trabalho prático que tenho de entregar, contudo nunca fizemos um diagrama de classes. Basicamente o prof diz o que temos proposto para cada aula e manda o pessoal fazer(bem ou mal) isto pq ele disponibiliza as resoluções no fim de cada aula (ensinar que é bom, fica para trabalho de casa)..Como somos de Eletro eles partem do pressuposto que não temos de saber programar, contudo o mínimo devia ser exigido...eu vou fazer o diagrama dentro daquilo que sei é depois posto aqui para o pessoal me dar dicas. Obrigado

Editado por EdZener

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
EdZener

tal como foi descrito em cima pretendo construir o diagrama de classes para o problema proposto contudo estou com dificuldades nesse capitulo devido a falta de conhecimento, estive a pesquisar e cheguei a uma conclusão, gostava que dessem a vossa opinião.

Análise do circuito..

o circuito é constituído por uma fonte de tensão(V) e por resistências em serie e paralelo(R).

o objetivo é calcular

-Tensões

-Corrente

-Resistência equivalente do circuito

Eu optei por definir so uma classe (não sei se bem ou mal)

Classe circuito

Atributos:

Tensao

Corrente

Resistencia

Metodos:

getCircuito()

setCircuito()

calculateResistenciaEquivalente()

calculateCorrenteTotal()

calculateCorrenteI3()

calculateCorrenteI6()

calculateTensaoVR1, VR2, VR3, VR4, VR5, VR6

Agradeço criticas, Obrigado

circuito+1.png

o circuito em questão é este..

#include<iostream>

using namespace std;

int main()
{
  float R1, R2, R3, R4, R5, R6;
  float Ra, Rb, Rc, Rd, Rt;
  float E;
  float Is, I3, I6;
  cout << "[Analise de Circuito Serie-Paralelo em C++]" << endl;
  cout << "Insira os valores das resistencias (ohms)\nR1:\t";
  cin >> R1;
  cout << "R2:\t";
  cin >> R2;
  cout << "R3:\t";
  cin >> R3;
  cout << "R4:\t";
  cin >> R4;
  cout << "R5:\t";
  cin >> R5;
  cout << "R6:\t";
  cin >> R6;
  cout << "Insira o valor da fonte (volts):\t";
  cin >> E;
  Ra = R5 + R6;
  Rb = R4 * Ra / (R4 + Ra);
  Rc = R3 + Rb;
  Rd = R2 * Rc / (R2 + Rc);
  Rt = R1 + Rd;
  cout << "\nA resistencia total do circuito e " << Rt << " ohms.\n"; cout << "Rt = R1 + (R2 // (R3 + (R4 // (R5 + R6) ) ) )\n\n";
  Is = E / Rt;
  I3 = Is * R2 / (R2 + Rc); I6 = I3 * R4 / (R4 + Ra);
  cout << "Is = I1 = E / Rt \n";
  cout << "A corrente total e " << Is << " Amperes. \n\n";
  cout << "I2 = Is * Rc / (R2 + Rc) = " << Is - I3 << " Amperes. \n";
  cout << "I3 = Is * R2 / (R2 + Rc) = " << I3 << " Amperes. \n";
  cout << "I4 = I3 * Ra / (R4 + Ra) = " << I3 - I6 << " Amperes. \n";
  cout << "I6 = I5 = I3 * R4 / (R4 + Ra) = " << I6 << " Amperes. \n\n";
  float VR1, VR2, VR3, VR4, VR5, VR6;
  cout << "E = VR1 + VR2 = " << E << " Volts. \n";
  cout << "VR1 = R1 * I1 = " << R1 * Is << " Volts. \n";
  cout << "VR2 = R2 * I2 = " << (Is - I3) * R2 << " Volts. \n";
  cout << "VR3 = R3 * I3 = " << R3 * I3 << " Volts. \n";
  cout << "VR4 = R4 * I4 = " << (I3 - I6) * R4 << " Volts. \n";
  cout << "VR5 = R5 * I5 = " << R5 * I6 << " Volts. \n";
  cout << "VR6 = R6 * I6 = " << R6 * I6 << " Volts. \n\n";
  return 0;
}

É para este código que eu pretendo construir de forma correta o diagrama..

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!

Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.

Entrar Agora

×

Aviso Sobre Cookies

Ao usar este site você aceita os nossos Termos de Uso e Política de Privacidade. Este site usa cookies para disponibilizar funcionalidades personalizadas. Para mais informações visite esta página.