Programa para Cálculo Vetorial
Publicado por Levi Gomes (última atualização em 29/08/2011)
[ Hits: 8.968 ]
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. Todos os resultados impressos em tela estão usando precisão de 4 casas decimais, mas isso pode ser alterado de acordo com as necessidades do usuário.
Espero que seja útil.
{ * Autor: Levi Gomes de Oliveira * E-mail: levigomes1@hotmail.com * Em caso de dúvidas, críticas, sugestões e/ou correções, favor encaminhar * ao e-mail acima. * Esse algoritmo foi escrito, compilado e testado sobre o Slackware 13.1 * 32 bits, utilizando o fpc 2.4.4. * Ele tem por objetivo resolver problemas básicos de cálculo vetorial. * Escrevi para me auxiliar em meus estudos na faculdade. * A precisão dos resultados impressos em tela podem ser alteradas a gosto * do usuário, adotei com padrão quatro casas decimais, que para minhas * necessidades atuais são suficientes. * Aproveitem!!! * } program vetor; uses crt; var i: integer; opc:char; { Soma de Vetores } procedure soma; var va,vb,vc: array[1..3] of real; begin clrscr; writeln('OS DOIS VETORES DEVEM SER DA FORMA (A1,A2,A3) E (B1,B2,B3)'); writeln('PRESSIONE UMA TECLA PARA CONTINUAR'); readkey; clrscr; writeln('SOMA DE VETORES'); for i:=1 to 3 do begin writeln; writeln('INSIRA O COEFICIENTE A',i); read(va[i]); {A VARIAVEL VA[I] RECEBE OS COEFICIENTES DO VETEOR A INFORMADOS PELO USUARIO} end; {AQUI E NECESSARIO INFORMAR QUE O COEFICIENTE DE I SEMPRE E SALVO NA POSICAO 1 DO VETOR EM OPERACAO, O DE J EM 2 E O DE K EM 3} writeln('O VETOR INFORMADO EH:'); writeln('(',va[1]:4:4,', ',va[2]:4:4,', ',va[3]:4:4,')'); for i:=1 to 3 do begin writeln; writeln('INSIRA O COEFICIENTE B',i); read(vb[i]);{ESSE VETOR RECEBE OS COEFICIENTES DO VETOR B} end; writeln('O VETOR INFORMADO EH:'); writeln('(',vb[1]:4:4,', ',vb[2]:4:4,', ',vb[3]:4:4,')'); for i:=1 to 3 do begin vc[i]:= (va[i]+vb[i]); {NESSA LINHA EFETUA-SE O PROCESSAMENTO, O VETOR VC[I] RECEBE O RESULTADO DA SOMA DOS VETORES A E B} end; writeln; writeln('O VETOR SOMA EH:'); writeln('(',vc[1]:4:4,', ',vc[2]:4:4,', ',vc[3]:4:4,')'); readkey; end; { Multiplicação por Escalar } procedure multiplicacao; var k: real; va: array[1..3] of real; begin clrscr; writeln('O VETOR DEVE SER DA FORMA (A1,A2,A3)'); writeln('PRESSIONE UMA TECLA PARA CONTINUAR'); readkey; clrscr; writeln('MULTIPLICACAO DE VETOR POR ESCALAR'); for i:=1 to 3 do begin writeln; writeln('INFORME O COEFICIENTE A',i); read(va[i]); {LEITURA DOS COEFICIENTES DE A} end; writeln('INSIRA O ESCALAR'); read(k); {A VARIAVEL K REPRESENTA O ESCALAR} writeln('O VETOR EH INFORMADO EH:'); writeln('(',va[1]:4:4,', ',va[2]:4:4,', ',va[3]:4:4,')'); writeln; writeln('O ESCALAR EH:', k:4:1); writeln; writeln('O VETOR RESULTANTE EH:'); writeln; writeln('(',k*va[1]:4:4,', ',k*va[2]:4:4,', ',k*va[3]:4:4,')'); readkey; end; { Produto Interno } procedure interno; var va, vb, prod: array[1..3] of real; soma:real; begin clrscr; writeln('OS VETORES DEVEM SER DA FORMA: (A1,A2,A3) E (B1,B2,B3)'); writeln; writeln('PRESSIONE UMA TECLA PARA CONTINUAR'); readkey; clrscr; writeln('PRODUTO INTERNO'); for i:=1 to 3 do begin writeln; writeln('INSIRA O COEFICIENTE A',i); read(va[i]); {LEITURA DOS COEFICIENTES DE A} end; for i:=1 to 3 do begin writeln; writeln('INSIRA O COEFICIENTE B',i); read(vb[i]); {LEITURA DOS COEFICIENTES DE B} end; writeln; writeln('O VETOR A EH:'); writeln('(',va[1]:4:4,', ',va[2]:4:4,', ',va[3]:4:4,')'); writeln; writeln('O VETOR B EH:'); writeln('(',vb[1]:4:4,', ',vb[2]:4:4,', ',vb[3]:4:4,')'); for i:=1 to 3 do begin prod[i]:=va[i]*vb[i]; end; soma:=0; for i:=1 to 3 do begin soma:= soma + prod[i]; end; writeln; writeln('O PRODUTO INTERNO ENTRE OS DOIS VETORES INFORMADOS EH:', soma:4:4); {A VARIAVEL INT RECEBE O RESULTADO DA OPERACAO} readkey; end; { Produto Vetorial } procedure vetorial; var va,vb,vc: array[1..3] of real; begin clrscr; writeln('OS VETORES DEVEM SER DA FORMA (A1,A2,A3) E (B1,B2,B3)'); writeln; writeln('PRESSIONE UMA TECLA PARA CONTINUAR'); readkey; clrscr; writeln('PRODUTO VETORIAL'); writeln; for i:=1 to 3 do begin writeln; writeln('INSIRA O COEFICIENTE A',i); read(va[i]); {LEITURA DOS COEFICIENTES DE A} end; writeln; for i:=1 to 3 do begin writeln; writeln('INSIRA O COEFICIENTE B',i); read(vb[i]); {LEITURA DOS COEFICIENTES DE B} end; writeln('O VETOR A EH:'); writeln('(',va[1]:4:4,', ',va[2]:4:4,', ',va[3]:4:4,')'); writeln; writeln('O VETOR B EH:'); writeln('(',vb[1]:4:4,', ',vb[2]:4:4,', ',vb[3]:4:4,')'); vc[1]:= (va[2]*vb[3] - vb[2]*va[3]); {O VETOR C RECEBE O VETOR RESULTANTE DA OPERACAO} vc[2]:= (va[3]*vb[1] - vb[3]*va[1]); vc[3]:= (va[1]*vb[2] - vb[1]*va[2]); writeln; writeln('O PRODUTOR VETORIAL ENTRE A E B EH:'); writeln('(',vc[1]:4:4,', ',vc[2]:4:4,', ',vc[3]:4:4,')'); readkey; end; { Produto Misto } procedure misto; var va,vb,vc,vx,prod: array[1..3] of real; soma: real; begin clrscr; writeln('OS VETORES DEVEM SER DA FORMA (A1,A2,A3), (B1,B2,B3), (C1,C2,C3)'); writeln; writeln('VALE RESSALTAR QUE PRIMEIRO SE CALCULA O PRODUTO VETORIAL DEPOIS O INTERNO'); writeln; writeln('PRESSIONE UMA TECLA PARA CONTINUAR'); readkey; clrscr; writeln('PRODUTO MISTO'); for i:=1 to 3 do begin writeln; writeln('INSIRA O COEFICIENTE A',i); read(va[i]); {LEITURA DOS COEFICIENTES DE A} end; for i:=1 to 3 do begin writeln; writeln('INSIRA O COEFICIENTE B',i); read(vb[i]); {LEITURA DOS COEFICIENTES DE B} end; for i:=1 to 3 do begin writeln; writeln('INSIRA O COEFICIENTE C',i); read(vc[i]); {LEITURA DOS COEFICIENTES DE C} end; vx[1]:= (va[2]*vb[3] - vb[2]*va[3]); {PRODUTO VETORIAL} vx[2]:= (va[3]*vb[1] - vb[3]*va[1]); {VX[I] RECEBE O RESULTADO DO PRODUTO VETORIAL} vx[3]:= (va[1]*vb[2] - vb[1]*va[2]); for i:=1 to 3 do begin prod[i]:=vx[i]*vc[i]; end; soma:=0; for i:=1 to 3 do begin soma:= soma + prod[i]; end; writeln('O VETOR A EH:'); {RESULTADO DA OPERACAO} writeln('(',va[1]:4:4,', ',va[2]:4:4,', ',va[3]:4:4,')'); writeln('O VETOR B EH:'); writeln('(',vb[1]:4:4,', ',vb[2]:4:4,', ',vb[3]:4:4,')'); writeln('O VETOR C EH:'); writeln('(',vc[1]:4:4,', ',vc[2]:4:4,', ',vc[3]:4:4,')'); writeln; writeln('O PRODUTO MISTO ENTRE OS VETORES A,B E C EH:', soma:4:4); readkey; end; { Módulo de um Vetor } procedure modulo; var va, vb: array[1..3] of real; soma, modulo: real; begin clrscr; writeln(' MODULO DE UM VETOR '); writeln; writeln(' O VETOR DEVE SER DA FORMA (a1,a2,a3) '); for i:=1 to 3 do begin writeln; writeln('INSIRA O COEFICIENTE A',i); read(va[i]); {LEITURA DOS COEFICIENTES DE A} end; for i:=1 to 3 do begin vb[i]:=va[i]*va[i]; end; soma:=0; for i:=1 to 3 do begin soma:= soma + vb[i]; end; modulo:= sqrt(soma); writeln(' O MODULO DO VETOR INFORMADO E ', modulo:4:4); readkey; end; { Procedimento para Sair do Programa} procedure sair; begin writeln; writeln(' FINALIZANDO APLICATIVO ... '); writeln; end; { Programa Principal } begin repeat clrscr; writeln(' PARA UTILIZAR ESSE SOFTWARE, ESCOLHA A OPCAO DESEJADA, DIGITE O NUMERO CORRESPONDENTE E TECLE ENTER '); writeln(' [1] SOMA DE DOIS VETORES '); writeln(' [2] MULTIPLICACAO DE VETOR POR ESCALAR '); writeln(' [3] PRODUTO INTERNO ENTRE DOIS VETORES '); writeln(' [4] PRODUTO VETORIAL '); writeln(' [5] PRODUTO MISTO '); writeln(' [6] MODULO DE UM VETOR '); writeln(' [7] SAIR '); writeln(' OPCAO: '); gotoxy(9,10); read(opc); case opc of '1': soma; '2': multiplicacao; '3': interno; '4': vetorial; '5': misto; '6': modulo; '7': sair; end; until ((opc='1000') or (opc='7')); end.
Nenhum comentário foi encontrado.
Passkeys: A Evolução da Autenticação Digital
Instalação de distro Linux em computadores, netbooks, etc, em rede com o Clonezilla
Título: Descobrindo o IP externo da VPN no Linux
Armazenando a senha de sua carteira Bitcoin de forma segura no Linux
Enviar mensagem ao usuário trabalhando com as opções do php.ini
Instalando Brave Browser no Linux Mint 22
vídeo pra quem quer saber como funciona Proteção de Memória:
Encontre seus arquivos facilmente com o Drill
Mouse Logitech MX Ergo Advanced Wireless Trackball no Linux
Compartilhamento de Rede com samba em modo Público/Anônimo de forma simples, rápido e fácil
Como abrir o pycharm no linux (2)
VMs e Interfaces de Rede desapareceram (12)