Matrizes & Funções
description
Transcript of Matrizes & Funções
![Page 1: Matrizes & Funções](https://reader036.fdocumentos.tips/reader036/viewer/2022082519/568157ef550346895dc566c6/html5/thumbnails/1.jpg)
Matrizes & Funções
![Page 2: Matrizes & Funções](https://reader036.fdocumentos.tips/reader036/viewer/2022082519/568157ef550346895dc566c6/html5/thumbnails/2.jpg)
Exercício 1
Construa funções para calcular o produto escalar, vetorial e misto entre vetores de três dimensões
As funções devem receber como parâmetro arrays, que contêm cada um, as coordenadas x, y e z dos vetores
![Page 3: Matrizes & Funções](https://reader036.fdocumentos.tips/reader036/viewer/2022082519/568157ef550346895dc566c6/html5/thumbnails/3.jpg)
Resposta
Real produtoEscalar(real[] vet1, real[] vet2)
Início
real res = vet1[0]*vet2[0]
res = res+ vet1[1]*vet2[1]+ vet1[2]*vet2[2]
fim
![Page 4: Matrizes & Funções](https://reader036.fdocumentos.tips/reader036/viewer/2022082519/568157ef550346895dc566c6/html5/thumbnails/4.jpg)
Resposta
Real produtoEscalar(real[] vet1, real[] vet2)
Início
real res = vet1[0]*vet2[0]
res = res+ vet1[1]*vet2[1]+ vet1[2]*vet2[2]
retorne res
fim
![Page 5: Matrizes & Funções](https://reader036.fdocumentos.tips/reader036/viewer/2022082519/568157ef550346895dc566c6/html5/thumbnails/5.jpg)
Resposta
Real[] prodVetorial(real[] vet1, real[] vet2)Início
real[] res = real[3] res[0] = vet1[1]*vet2[2]-vet2[1]*vet1[2]
res[0] = vet1[2]*vet2[0]-vet2[2]*vet1[0] res[2] = vet1[0]*vet2[1]-vet2[0]*vet1[1] retorne resfim
![Page 6: Matrizes & Funções](https://reader036.fdocumentos.tips/reader036/viewer/2022082519/568157ef550346895dc566c6/html5/thumbnails/6.jpg)
Resposta
Real[] produtoVetorial(real[] vet1, real[] vet2)Início
real[] res = real[3] res[0] = vet1[1]*vet2[2]-vet2[1]*vet1[2]
res[1] = vet1[2]*vet2[0]-vet2[2]*vet1[0] res[2] = vet1[0]*vet2[1]-vet2[0]*vet1[1] retorne resfim
![Page 7: Matrizes & Funções](https://reader036.fdocumentos.tips/reader036/viewer/2022082519/568157ef550346895dc566c6/html5/thumbnails/7.jpg)
Resposta
Real produtoMisto(real[] u, real[] v, real[] w)
Início
real[] vetAux = produtoVetorial(u,v)
retorne produtoEscalar(vetAux,w)
fim
![Page 8: Matrizes & Funções](https://reader036.fdocumentos.tips/reader036/viewer/2022082519/568157ef550346895dc566c6/html5/thumbnails/8.jpg)
Exercício 2
Faça uma função que receba um conjunto de números e calcule a variância
A variância é dada por: é a média desta amostra. Teste o sua
função para a seqüência {1,2,3,4,5,6}. O resultado deve se aproximar de 2,9
1
0
2)][(*/1n
i
ixn
![Page 9: Matrizes & Funções](https://reader036.fdocumentos.tips/reader036/viewer/2022082519/568157ef550346895dc566c6/html5/thumbnails/9.jpg)
Resposta
Real calcVariância(real[] nums, inteiro tam)Início real media = calcularMedia(nums, tam) inteiro i=0 real somaQuad=0 para (i<tam;i=i+1) faça real aux = nums[i]- media
somaQuad = somaQuad + aux*aux fimPara retorne somaQuadfim
![Page 10: Matrizes & Funções](https://reader036.fdocumentos.tips/reader036/viewer/2022082519/568157ef550346895dc566c6/html5/thumbnails/10.jpg)
Resposta
Real calcVariância(real[] nums, inteiro tam)Início real media = calcularMedia(nums, tam) inteiro i=0 real somaQuad=0 para (i<tam;i=i+1) faça real aux = nums[i]- media
somaQuad = somaQuad + aux*aux fimPara retorne somaQuad/((real)tam)fim
Para casa: fazer a função calcularMedia
![Page 11: Matrizes & Funções](https://reader036.fdocumentos.tips/reader036/viewer/2022082519/568157ef550346895dc566c6/html5/thumbnails/11.jpg)
Exercício 3
Faça um algoritmo que leia duas matrizes quadradas e calcule a multiplicação destas matrizes. A ordem, e os valores de cada matriz devem ser dados pelo usuário
![Page 12: Matrizes & Funções](https://reader036.fdocumentos.tips/reader036/viewer/2022082519/568157ef550346895dc566c6/html5/thumbnails/12.jpg)
Resposta
Algoritmo Mult Matriz()Início inteiro ordem=0 real[][] matA real[][] matB imprimir “digite a ordem da matriz” ler ordem
![Page 13: Matrizes & Funções](https://reader036.fdocumentos.tips/reader036/viewer/2022082519/568157ef550346895dc566c6/html5/thumbnails/13.jpg)
matA=real[ordem][ordem] matB=real[ordem][ordem] inteiro i=0 para (i<ordem;i=i+1) faça inteiro j=0 para (j<ordem;j=j+1) faça imprimir “digite o elemento ”+i+“ ”+j+“ da matriz A” ler matA[i][j] fimPara fimPara
![Page 14: Matrizes & Funções](https://reader036.fdocumentos.tips/reader036/viewer/2022082519/568157ef550346895dc566c6/html5/thumbnails/14.jpg)
i=0
para (i<ordem;i=i+1) faça
inteiro j=0
para (j<ordem;j=j+1) faça
imprimir “digite o elemento ”+i+“ ”+j+“ da matriz B”
ler matB[i][j]
fimPara
fimPara
![Page 15: Matrizes & Funções](https://reader036.fdocumentos.tips/reader036/viewer/2022082519/568157ef550346895dc566c6/html5/thumbnails/15.jpg)
real mult = real[ordem][ordem] i=0 para (i<ordem;i=i+1) faça inteiro j=0 para (j<ordem;j=j+1) faça mult[i][j]=0 inteiro k=0 para (k<ordem;k=k+1) mult[i][j]=mult[i][j]+matA[i][k]*matB[k][i] fimPara fimPara fimPara
![Page 16: Matrizes & Funções](https://reader036.fdocumentos.tips/reader036/viewer/2022082519/568157ef550346895dc566c6/html5/thumbnails/16.jpg)
i=0 para (i<ordem;i=i+1) faça inteiro j=0 para (j<ordem;j=j+1) faça imprimir mult[i][j] fimPara fimParafim
![Page 17: Matrizes & Funções](https://reader036.fdocumentos.tips/reader036/viewer/2022082519/568157ef550346895dc566c6/html5/thumbnails/17.jpg)
Erro
O que há de errado no último algoritmo?
![Page 18: Matrizes & Funções](https://reader036.fdocumentos.tips/reader036/viewer/2022082519/568157ef550346895dc566c6/html5/thumbnails/18.jpg)
Erro
O que há de errado no último algoritmo? Algoritmo Mult Matriz()
![Page 19: Matrizes & Funções](https://reader036.fdocumentos.tips/reader036/viewer/2022082519/568157ef550346895dc566c6/html5/thumbnails/19.jpg)
Erro
O que há de errado no último algoritmo? Algoritmo Mult Matriz() Algoritmo MultMatriz()