Matrizes & Funções

Post on 30-Jan-2016

42 views 0 download

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

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)

Início

real res = vet1[0]*vet2[0]

res = res+ vet1[1]*vet2[1]+ vet1[2]*vet2[2]

fim

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

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

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

Resposta

Real produtoMisto(real[] u, real[] v, real[] w)

Início

real[] vetAux = produtoVetorial(u,v)

retorne produtoEscalar(vetAux,w)

fim

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

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

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

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

Resposta

Algoritmo Mult Matriz()Início inteiro ordem=0 real[][] matA real[][] matB imprimir “digite a ordem da matriz” ler ordem

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

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

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

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

Erro

O que há de errado no último algoritmo?

Erro

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

Erro

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