Programa para cálculo vetorial
Publicado por Levi Gomes (última atualização em 28/09/2011)
[ Hits: 19.313 ]
Homepage: http://levilinuxblog.blogspot.com.br/
Esse script visa resolver problemas de cálculo vetorial básicos. O escrevi para me auxiliar nos estudos na faculdade.
Esse script foi inicialmente escrito em Pascal, mas resolvi portá-lo para C.
Espero que seja útil.
/* Autor: Levi Gomes de Oliveira E-mail: levigomes1@hotmail.com Em caso de dúvidas, bugs, sugestões, correções e/ou críticas, favor encaminhar ao e-mail acima. Esse código foi escrito, compilado e testado sobre o Slackware GNU/Linux 13.1 32 bits. */ #include <stdio.h> #include <math.h> int soma_vetor() { double a[3],b[3],soma[3]; int i; char espera; system ("clear"); printf (" Soma de vetores \n\n"); printf ("Os vetores devem ser da forma (a1,a2,a3) \n"); for (i=1;i<4;i++) { printf ("\n Informe o coeficiente a%d \n ",i); scanf ("%lg",&a[i-1]); } for (i=1;i<4;i++) { printf ("\n Informe o coeficiente b%d \n ",i); scanf ("%lg",&b[i-1]); } for (i=1;i<4;i++) { soma[i-1]=a[i-1]+b[i-1]; } printf ("\n O vetor resultante eh: \n"); printf ("(%lg ,", soma[0]); printf (" %lg ,", soma[1]); printf (" %lg) \n", soma[2]); espera=getchar(); } int multiplicacao_escalar() { double a[3],b[3], k; int i; char espera; system ("clear"); printf (" Multiplicacao de Vetor por Escalar\n\n"); printf ("O vetor deve ser da forma (a1,a2,a3) \n"); printf ("\n Insira o valor do escalar \n"); scanf("%lg",&k); for (i=1;i<4;i++) { printf ("\n Informe o coeficiente a%d \n ",i); scanf ("%lg",&a[i-1]); } for (i=1;i<4;i++) { b[i-1]=k*a[i-1]; } printf ("\n O vetor resultante eh: \n"); printf ("(%lg ,", b[0]); printf (" %lg ,", b[1]); printf (" %lg) \n", b[2]); espera=getchar(); } int prod_interno() { double a[3],b[3],prod[3], soma; int i; char espera; system ("clear"); printf (" Produto Interno entre dois vetores \n\n"); printf ("Os vetores devem ser da forma (a1,a2,a3) \n"); for (i=1;i<4;i++) { printf ("\n Informe o coeficiente a%d \n ",i); scanf ("%lg",&a[i-1]); } for (i=1;i<4;i++) { printf ("\n Informe o coeficiente b%d \n ",i); scanf ("%lg",&b[i-1]); } for (i=1;i<4;i++) { prod[i-1]=a[i-1]*b[i-1]; } soma=0; for (i=1;i<4;i++){ soma+=prod[i-1]; } printf (" O Produto Interno entre os vetores eh: %lg \n", soma); espera=getchar(); } int prod_vetorial() { double vet[3], a[3], b[3]; int i; char espera; system ("clear"); printf (" Produto Vetorial \n\n"); printf ("Os vetores devem ser da forma (a1,a2,a3) \n"); for (i=1;i<4;i++) { printf ("\n Informe o coeficiente a%d \n ",i); scanf ("%lg",&a[i-1]); } for (i=1;i<4;i++) { printf ("\n Informe o coeficiente b%d \n ",i); scanf ("%lg",&b[i-1]); } vet[0]= (a[1]*b[2] - b[1]*a[2]); vet[1]= (a[2]*b[0] - b[2]*a[0]); vet[2]= (a[0]*b[1] - b[0]*a[1]); printf ("\n O vetor resultante eh: \n"); printf ("(%lg ,", vet[0]); printf (" %lg ,", vet[1]); printf (" %lg) \n", vet[2]); espera=getchar(); } int prod_misto() { double a[3],b[3],c[3],vet[3],prod[3],soma; int i; char espera; system ("clear"); printf (" Produto Misto \n\n"); printf ("Os vetores devem ser da forma (a1,a2,a3) \n\n"); printf (" Vale ressaltar que primeiro realiza-se o produto vetorial depois o produto interno \n"); for (i=1;i<4;i++) { printf ("\n Informe o coeficiente a%d \n ",i); scanf ("%lg",&a[i-1]); } for (i=1;i<4;i++) { printf ("\n Informe o coeficiente b%d \n ",i); scanf ("%lg",&b[i-1]); } for (i=1;i<4;i++) { printf ("\n Informe o coeficiente c%d \n ",i); scanf ("%lg",&c[i-1]); } for (i=1;i<4;i++) { vet[0]= (a[1]*b[2] - b[1]*a[2]); vet[1]= (a[2]*b[0] - b[2]*a[0]); vet[2]= (a[0]*b[1] - b[0]*a[1]); } for (i=1;i<4;i++) { prod[i-1]=vet[i-1]*c[i-1]; } soma=0; for (i=1;i<4;i++){ soma+=prod[i-1]; } printf (" O Produto Misto entre os vetores eh: %lg \n", soma); espera=getchar(); } int modulo_vetor() { double a[3],b[3],mod,soma; int i; char espera; system ("clear"); printf (" Modulo de um vetor \n\n"); printf ("O vetor deve ser da forma (a1,a2,a3) \n"); for (i=1;i<4;i++) { printf ("\n Informe o coeficiente a%d \n ",i); scanf ("%lg",&a[i-1]); } for (i=1;i<4;i++) { b[i-1]=a[i-1]*a[i-1]; } soma=0; for (i=1;i<4;i++){ soma+=b[i-1]; } mod=sqrt(soma); printf (" O modulo do vetor eh: %lg \n", mod); espera=getchar(); } int main() { char opc,segtela; int teste; do { teste=0; system ("clear"); printf (" Para utilizar esse software escolha a opcao desejada, digite o numero correspondente e tecle enter \n"); printf (" [1] Soma de dois Vetores \n"); printf (" [2] Multiplicacao de Vetor por Escalar \n"); printf (" [3] Produto Interno entre dois vetores \n"); printf (" [4] Produto Vetorial \n"); printf (" [5] Produto Misto \n"); printf (" [6] Modulo de um vetor \n"); printf (" [7] Sair \n"); opc=getchar(); switch (opc) { case '1': { soma_vetor(); segtela=getchar(); break; } case '2': { multiplicacao_escalar(); segtela=getchar(); break; } case '3': { prod_interno(); segtela=getchar(); break; } case '4': { prod_vetorial(); segtela=getchar(); break; } case '5': { prod_misto(); segtela=getchar(); break; } case '6': { modulo_vetor(); 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); }
Nenhum comentário foi encontrado.
Enviar mensagem ao usuário trabalhando com as opções do php.ini
Meu Fork do Plugin de Integração do CVS para o KDevelop
Compartilhando a tela do Computador no Celular via Deskreen
Como Configurar um Túnel SSH Reverso para Acessar Sua Máquina Local a Partir de uma Máquina Remota
Configuração para desligamento automatizado de Computadores em um Ambiente Comercial
Compartilhamento de Rede com samba em modo Público/Anônimo de forma simples, rápido e fácil
Cups: Mapear/listar todas as impressoras de outro Servidor CUPS de forma rápida e fácil
Criando uma VPC na AWS via CLI
Tem como instalar o gerenciador AMD Adrenalin no Ubuntu 24.04? (15)
Tenho dois Link's ( IP VÁLIDOS ), estou tentando fazer o failover... (0)
Pendrive não formata de jeito nenhum (4)