Programa para cálculo de números complexos
Publicado por Levi Gomes (última atualização em 29/09/2011)
[ Hits: 25.195 ]
Homepage: http://levilinuxblog.blogspot.com.br/
Esse script foi escrito com o intuito de facilitar meus estudos na disciplina de eletrotécnica.
Nesse script temos operações básicas com números complexos.
Espero que seja útil.
/* Autor: Levi Gomes de Oliveira
* e-mail: levigomes1@hotmail.com
* Esse programa foi escrito com o intuito de facilitar meus estudos
* na disciplina de eletrotecnica.
* Espero que seja útil.
* Em caso de dúvidas, bugs, sugestões e/ou críticas favor
* encaminhar para o e-mail acima.
* Programa escrito, compilado e testado sobre Slackware GNU/Linux
* 13.1 32 bits.
*/
#include <stdio.h>
int soma() {
double a[2],b[2],c[2];
char espera;
int i;
system ("clear");
printf(" SOMA DE NUMEROS COMPLEXOS \n\n");
printf(" O numero complexo deve ser da forma a1 + a2*i\n\n");
for (i=1;i<3;i++) {
printf("Insira o o coeficiente a%i \n", i);
scanf("%lg",&a[i-1]);
}
for (i=1;i<3;i++) {
printf("Insira o o coeficiente b%i \n", i);
scanf("%lg",&b[i-1]);
}
for (i=1;i<3;i++) {
c[i-1]=a[i-1]+b[i-1];
}
printf(" A parte real do número complexo resultante eh: %lg \n", c[0]);
printf(" A parte imaginaria do número complexo resultante eh: %lg \n",
c[1]);
espera=getchar();
}
int subtracao() {
double a[2],b[2],c[2];
char espera;
int i;
system ("clear");
printf(" SUBTRACAO DE NUMEROS COMPLEXOS \n\n");
printf(" O numero complexo deve ser da forma a1 + a2*i\n\n");
for (i=1;i<3;i++) {
printf("Insira o o coeficiente a%i \n", i);
scanf("%lg",&a[i-1]);
}
for (i=1;i<3;i++) {
printf("Insira o o coeficiente b%i \n", i);
scanf("%lg",&b[i-1]);
}
for (i=1;i<3;i++) {
c[i-1]=a[i-1]-b[i-1];
}
printf(" A parte real do número complexo resultante eh: %lg \n", c[0]);
printf(" A parte imaginaria do número complexo resultante eh: %lg \n",
c[1]);
espera=getchar();
}
int escalar(){
double a[2], b[2], k;
char espera;
int i;
system ("clear");
printf(" MULTIPLICACAO POR ESCALAR \n\n");
printf(" O numero complexo deve ser da forma a1 + a2*i\n\n");
for (i=1;i<3;i++) {
printf("Insira o o coeficiente a%i \n", i);
scanf("%lg",&a[i-1]);
}
printf(" Informe o valor do escalar \n");
scanf("%lg", &k);
for (i=1;i<3;i++) {
b[i-1]=a[i-1]*k;
}
printf(" A parte real do número complexo resultante eh: %lg \n", b[0]);
printf(" A parte imaginaria do número complexo resultante eh: %lg \n", b[1]);
espera=getchar();
}
int divisao() {
double a[2],b[2],c[2];
char espera;
int i;
system ("clear");
printf(" DIVISAO DE NUMEROS COMPLEXOS \n\n");
printf(" O numero complexo deve ser da forma a1 + a2*i\n\n");
for (i=1;i<3;i++) {
printf("Insira o o coeficiente a%i \n", i);
scanf("%lg",&a[i-1]);
}
for (i=1;i<3;i++) {
printf("Insira o o coeficiente b%i \n", i);
scanf("%lg",&b[i-1]);
}
c[0]= (((a[0]*b[0]) + (a[1]*b[1]))/(b[0]*b[0] + b[1]*b[1]));
c[1]= ((-(a[0]*b[1]) + (a[1]*b[0]))/(b[0]*b[0] + b[1]*b[1]));
printf(" A parte real do número complexo resultante eh: %lg \n", c[0]);
printf(" A parte imaginaria do número complexo resultante eh: %lg \n", c[1]);
espera=getchar();
}
int multiplicacao() {
double a[2],b[2],c[2];
char espera;
int i;
system ("clear");
printf(" MULTIPLICACAO DE NUMEROS COMPLEXOS \n\n");
printf(" O numero complexo deve ser da forma a1 + a2*i\n\n");
for (i=1;i<3;i++) {
printf("Insira o o coeficiente a%i \n", i);
scanf("%lg",&a[i-1]);
}
for (i=1;i<3;i++) {
printf("Insira o o coeficiente b%i \n", i);
scanf("%lg",&b[i-1]);
}
c[0] = ((a[0]*b[0]) - (a[1]*b[1]));
c[1] = (a[0]*b[1] + b[0]*a[1]);
printf(" A parte real do número complexo resultante eh: %lg \n", c[0]);
printf(" A parte imaginaria do número complexo resultante eh: %lg \n", c[1]);
espera=getchar();
}
int inverso() {
double a[2],b[2],c[2];
char espera;
int i;
system ("clear");
printf(" INVERSO DE NUMEROS COMPLEXOS \n\n");
printf(" O numero complexo deve ser da forma a1 + a2*i\n\n");
for (i=1;i<3;i++) {
printf("Insira o o coeficiente a%i \n", i);
scanf("%lg",&a[i-1]);
}
c[0]= ((a[0])/(a[0]*a[0] + a[1]*a[1]));
c[1]= ((-a[1])/(a[0]*a[0] + a[1]*a[1]));
printf(" A parte real do número complexo resultante eh: %lg \n", c[0]);
printf(" A parte imaginaria do número complexo resultante eh: %lg \n", c[1]);
espera=getchar();
}
int main() {
char opc,segtela;
int teste;
do {
teste=0;
system ("clear");
printf (" NUMEROS COMPLEXOS \n\n");
printf (" [1] Soma de numeros complexos \n");
printf (" [2] Subtracao de numeros complexos \n");
printf (" [3] Multiplicacao de complexo por Escalar \n");
printf (" [4] Produto entre dois complexos \n");
printf (" [5] Divisão entre dois complexos \n");
printf (" [6] Inverso de um complexo \n");
printf (" [7] Sair \n");
printf ("OPCAO.:");
opc=getchar();
switch (opc) {
case '1': {
soma();
segtela=getchar();
break;
}
case '2': {
subtracao();
segtela=getchar();
break;
}
case '3': {
escalar();
segtela=getchar();
break;
}
case '4': {
multiplicacao();
segtela=getchar();
break;
}
case '5': {
divisao();
segtela=getchar();
break;
}
case '6': {
inverso();
segtela=getchar();
break;
}
case '7': {
printf (" Finalizando aplicacao ... \n\n");
teste=1;
}
break;
default: {
teste=0;
printf (" Opcao Invalida, voltando ao menu... \n");
system ("sleep 1");
break;
}
}
} while (teste==0);
}
Boletim Escolar Com Manipulação de Arquivo
Nenhum comentário foi encontrado.
IA Turbina o Desktop Linux enquanto distros renovam forças
Como extrair chaves TOTP 2FA a partir de QRCODE (Google Authenticator)
Linux em 2025: Segurança prática para o usuário
Desktop Linux em alta: novos apps, distros e privacidade marcam o sábado
IA chega ao desktop e impulsiona produtividade no mundo Linux
Atualizando o Fedora 42 para 43
Como saber se o seu e-mail já teve a senha vazada?
Como descobrir se a sua senha já foi vazada na internet?
Mint Xfce não mantém a conexão no wi-fi (2)
Problemas com Driver NVIDIA (5)
Warcraft II Remastered no Linux? (8)









