O produto escalar entre duas matrizes é uma operação matemática onde duas matrizes de mesma dimensão têm seus elementos correspondentes multiplicados entre si. O resultado é uma nova matriz da mesma dimensão, onde cada elemento é o produto dos elementos correspondentes das matrizes de entrada. Criar um programa para calcular o produto escalar entre duas matrizes, armazene o resultado acumulado em uma única variável. program ProdutoEscalar; var A, B: array[1..5] of ____ ; i, produto: ____ ; begin produto := 0; for i := ____ to ____ do begin Write('Qual o valor de A[', i, ']? '); Readln(A[i]); Write('Qual o valor de B[', i, ']? '); Readln(B[i]); end; for i := ____ to ____ do produto := produto ____ A[i] ____ B[i]; WriteLn('O produto escalar de A e B vale: ', produto); end.

Questão

O produto escalar entre duas matrizes é uma operação matemática onde duas matrizes de mesma dimensão têm seus elementos correspondentes multiplicados entre si. O resultado é uma nova matriz da mesma dimensão, onde cada elemento é o produto dos elementos correspondentes das matrizes de entrada. Criar um programa para calcular o produto escalar entre duas matrizes, armazene o resultado acumulado em uma única variável.

program ProdutoEscalar; var A, B: array[1..5] of ____ ; i, produto: ____ ; begin produto := 0; for i := ____ to ____ do begin Write('Qual o valor de A[', i, ']? '); Readln(A[i]); Write('Qual o valor de B[', i, ']? '); Readln(B[i]); end; for i := ____ to ____ do produto := produto ____ A[i] ____ B[i]; WriteLn('O produto escalar de A e B vale: ', produto); end.

Alternativas

A

boolean

B

string

C

6

D

4

E
Resposta certa

1

F

2

G

3

H

5

I

/

Explicação

Pelo enunciado e pelo código em Pascal, queremos calcular o produto escalar (dot product) de dois vetores (arrays) de tamanho 5, acumulando em uma variável produto:

produto=∑i=15A[i]⋅B[i]produto = \sum_{i=1}^{5} A[i]\cdot B[i]

Assim:

  1. produto precisa ser numérico (inteiro). O índice i também é inteiro. Logo o tipo correto do array também deve ser inteiro (não pode ser boolean nem string).
  2. Como o array é array[1..5], os laços devem ir de 1 a 5.
  3. A acumulação deve ser soma do produto: produto := produto + A[i] * B[i].

Entre as opções fornecidas, o valor que preenche o início do laço (for i := ____) é 1.

Carregando…

Questões relacionadas

Ver últimas questões