Você está na página 1de 5

Projeto Final

Alisson Santos de Oliveira - RA 107508

Douglas Pereira dos Santos - RA 105929

João Pedro Costa Da Silva - RA 106248

Leonardo Augusto Holitiz - RA 105859

Marcio Silva Maia Júnior - RA 106128

Wesley Faustino Tinoco - RA 105889

Problema:

Calcular as correntes, tensões e potências de um circuito que contém duas fontes com três
resistores dispostos conforme a figura a seguir:

Solução:

Um programa que calcule sozinho todas as informações necessárias.

Manual:

Ao iniciar programa, insira os valores dos resistores e fontes em ordem.


Nisso aparecerá os valores das correntes.

Em seguida os valores das tensões.

Por fim os valores das potências dos resistores e fontes.


Programa:

#include <stdio.h>

#include <math.h>

#include <locale.h>

float tensao_res(float Res,float corrente){

float VR;

VR = Res * corrente;

return VR;

float potencia_res(float Resi,float corrent){

float Pot;

Pot = Resi * pow(corrent,2);

return Pot;

int main()

setlocale(LC_ALL,"Portuguese_Brazil");

float V[2],R[3],I[3];

int i;

float detr,det1,det2,det3;

printf("========================================================\n");

printf("Bem vindo ao programa que resolve o circuito proposto.\n");

printf("========================================================\n");

for (i = 0; i < 3; i++){

printf("Forneça o valor do resistor R%i em ohms: ",i+1);

scanf("%f",&R[i]);

for (i = 0; i < 2; i++){

printf("Forneça o valor da fonte V%i em volts: ",i+1);

scanf("%f",&V[i]);

}
printf("========================================================\n");

float M_R[3][3] = { {1,1,-1},

{R[0],0,R[2]},

{0,R[1],R[2]}

};

float D1[3][3] = { {0,1,-1},

{V[0],0,R[2]},

{V[1],R[1],R[2]}

};

float D2[3][3] = { {1,0,-1},

{R[0],V[0],R[2]},

{0,V[1],R[2]}

};

float D3[3][3] = { {1,1,0},

{R[0],0,V[0]},

{0,R[1],V[1]}

};

detr = (M_R[0][0]*M_R[1][1]*M_R[2][2]) + (M_R[0][1]*M_R[1][2]*M_R[2][0]) + (M_R[0]


[2]*M_R[1][0]*M_R[2][1]) - ((M_R[0][1]*M_R[1][0]*M_R[2][2]) + (M_R[0][0]*M_R[1]
[2]*M_R[2][1]) + (M_R[0][2]*M_R[1][1]*M_R[2][0]));

det1 = (D1[0][0]*D1[1][1]*D1[2][2]) + (D1[0][1]*D1[1][2]*D1[2][0]) + (D1[0][2]*D1[1]


[0]*D1[2][1]) - ((D1[0][1]*D1[1][0]*D1[2][2]) + (D1[0][0]*D1[1][2]*D1[2][1]) + (D1[0]
[2]*D1[1][1]*D1[2][0]));

det2 = (D2[0][0]*D2[1][1]*D2[2][2]) + (D2[0][1]*D2[1][2]*D2[2][0]) + (D2[0][2]*D2[1]


[0]*D2[2][1]) - ((D2[0][1]*D2[1][0]*D2[2][2]) + (D2[0][0]*D2[1][2]*D2[2][1]) + (D2[0]
[2]*D2[1][1]*D2[2][0]));

det3 = (D3[0][0]*D3[1][1]*D3[2][2]) + (D3[0][1]*D3[1][2]*D3[2][0]) + (D3[0][2]*D3[1]


[0]*D3[2][1]) - ((D3[0][1]*D3[1][0]*D3[2][2]) + (D3[0][0]*D3[1][2]*D3[2][1]) + (D3[0]
[2]*D3[1][1]*D3[2][0]));

I[0]=det1/detr;

I[1]=det2/detr;

I[2]=det3/detr;

for(i = 0; i < 3;i++){

printf("A corrente I%i vale: %f A\n",i+1,I[i]);


if(I[i] < 0){

printf("Sentido convencionado a priori para I%i está invertido.\n",i+1);

I[i] = -1 * I[i];

}else{

printf("Sentido convencionado a priori para I%i está correto.\n",i+1);

printf("========================================================\n");

for(i = 0; i < 3;i++){

printf("A tensão VR%i vale: %f V\n",i+1,tensao_res(R[i],I[i]));

printf("========================================================\n");

for(i = 0; i < 3;i++){

printf("A potência PR%i vale: %f W\n",i+1,potencia_res(R[i],I[i]));

printf("========================================================\n");

for(i = 0; i < 2;i++){

printf("A potência na fonte PV%i vale: %f W\n",i+1,V[i]*I[i]);

printf("========================================================\n");

return 0;

Você também pode gostar