Matrizes & Funções

19
Matrizes & Funções

description

Matrizes & Funções. 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. Resposta. Real produtoEscalar(real[] vet1, real[] vet2) - PowerPoint PPT Presentation

Transcript of Matrizes & Funções

Page 1: Matrizes & Funções

Matrizes & Funções

Page 2: Matrizes & Funções

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Erro

O que há de errado no último algoritmo?

Page 18: Matrizes & Funções

Erro

O que há de errado no último algoritmo? Algoritmo Mult Matriz()

Page 19: Matrizes & Funções

Erro

O que há de errado no último algoritmo? Algoritmo Mult Matriz() Algoritmo MultMatriz()