Enunciado
Escribir una Función que realice la sumatoria del producto, componente a componente, de dos vectores de entrada.
Código
Python
def ScalarProduct ( n, v1, v2 ):
sp = 0
for i in range ( n ):
sp += v1[i]*v2[i]
return sp
def main():
cant = 5
vec1 = [ 3, 5, 7, 8, 9 ]
vec2 = [ 4, 8, 9, 5, 3 ]
sumV = ScalarProduct( cant, vec1, vec2 )
print("Producto escalar/Escalar product:", sumV)
input( "Presionar/Press Enter to exist " )
main()
C++
#include <iostream>
using namespace std ;
#include <conio.h>
float ScalarProduct ( int n , float v1[], float v2[] )
{
int i ; float sp ;
sp = 0 ;
for ( i=0 ; i<n ; i++ )
sp += v1[i]*v2[i] ;
return sp ;
}
int main ()
{
int i, n ;
float v1[10], v2[10] ;
cout << "Ingresar/Enter dimension ( max 10 ): " ;
cin >> n ;
cout << "Ingresar elementos/" ;
cout << "Enter elements vector 1:" << endl ;
for ( i=0; i<n; i++ )
cin >> v1[i] ;
cout << "Ingresar elementos/" ;
cout << "Enter elements vector 2:" << endl ;
for ( i=0; i<n; i++ )
cin >> v2[i] ;
cout << "Producto escalar/Escalar product: " ;
cout << ScalarProduct(n, v1, v2) << endl ;
cout << "Presionar/Press Enter to exit " ;
getch() ;
return 0 ;
}
Pascal
Program Array02 ;
uses CRT ;
const nmax = 10 ;
type
dim = 1 .. nmax ;
vector = array [ dim ] of real ;
element = real ;
var
n , i : dim ;
v1, v2 : vector ;
s : element ;
Function ScalarProduct ( n: dim ; v1, v2 : vector ) : element ;
var s : element ;
begin
s := 0 ;
for i := 1 to n do
begin
s := s + ( v1[i]*v2[i] )
end ;
ScalarProduct := s ;
end ;
begin
ClrScr ;
write( 'Ingresar/Enter dimension ( max 10 ): ' ) ;
readln( n ) ;
write( 'Ingresar elementos/' ) ;
writeln( 'Enter elements vector 1: ' ) ;
for i := 1 to n do
readln( v1[i] ) ;
write( 'Ingresar elementos/' ) ;
writeln( 'Enter elements vector 2: ' ) ;
for i := 1 to n do
readln( v2[i] ) ;
s := ScalarProduct ( n, v1, v2 ) ;
write( 'Producto escalar/' ) ;
writeln( 'Escalar product: ', s:0:2 ) ;
writeln( 'Presionar/Press Enter to exit' ) ;
readln ;
end.
Diagramas


