Programa para cálculo de números complexos
Publicado por Levi Gomes (última atualização em 29/09/2011)
[ Hits: 25.232 ]
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);
}
Manipulação de letras maiusculas e minusculas
Funções de soma e subtração de matrizes alocadas dinamicamente
Nenhum comentário foi encontrado.
Modo Simples de Baixar e Usar o bash-completion
Monitorando o Preço do Bitcoin ou sua Cripto Favorita em Tempo Real com um Widget Flutuante
Instalando partes faltantes do Plasma 6
Adicionar botão "mostrar área de trabalho" no Zorin OS
Como montar um servidor de backup no linux
Pendrive Bootable [RESOLVIDO] (5)
Desenvolvi um programa de hot corner (você colocar o mouse nos cantos)... (3)









