miércoles, 12 de agosto de 2026

Escriba un programa que calcule el producto escalar de dos vectores de dimensiones iguales. Debe leer primero la dimensión y luego los datos para los dos vectores en Python

El producto escalar de dos vectores es la suma de los productos de los términos correspondientes de ambas.

Por ejemplo, si:

a = [5, 1, 6]
b = [1, -2, 8]

Entonces el producto interno entre a y b es:

(5 × 1) + (1 × -2) + (6 × 8)

Escriba un programa que calcule el producto escalar de dos vectores de dimensiones iguales. Debe leer primero la dimensión y luego los datos para los dos vectores.

Entrada Salida
3
5
1
6
1
-2
8
51.0

Código del ejercicio:

dimension = int(input("Ingresar dimensión del vector: "))
l1 = []
l2 = []
for _ in range(dimension):
    l1.append(float(input("lista 1: ")))
for _ in range(dimension):
    l2.append(float(input("lista 2: ")))
    prodEscalar = 0.0
for i in range(dimension):
    prodEscalar += l1[i] * l2[i]
print(prodEscalar)

Definición de los códigos del ejercicio:

int() --> convierte el valor especificado en un número entero.
input() --> permite obtener texto escrito por teclado.
lista = [1,2,3,4] --> son variables que almacenan arrays, internamente cada posición puede ser un tipo de datos distinto.
for --> el bucle for se utiliza para recorrer los elementos de un objeto iterable (lista, tupla, conjunto, diccionario, …) y ejecutar un bloque de código.
in --> el operador in devuelve True si el valor se encuentra en una secuencia; False en caso contrario.
range --> es un tipo que se utiliza para representar una secuencia inmutable de números. Uno de sus principales usos es junto a la sentencia for, para definir un bucle sobre el que se itera un número determinado de veces.
float() --> convierte un número entero en un número de punto flotante.
append() --> agrega un elemento al final de la lista.
+= --> el operador de asignación de suma ( += ) suma el valor del operando derecho a una variable y asigna el resultado a la variable.
print() --> imprime un mensaje en la pantalla.

Explicación del Código:

¿Qué hace este ejercicio?

El programa calcula el producto escalar de dos vectores que tienen la misma dimensión.

Primero se introduce la dimensión de los vectores, después se ingresan sus elementos y finalmente se multiplican los elementos que están en la misma posición.

Fórmula del producto escalar

(l1[0] × l2[0]) + (l1[1] × l2[1]) + ... + (l1[n] × l2[n])

Código en Python

dimension = int(input("Ingresar dimensión del vector: "))

l1 = []
l2 = []

for _ in range(dimension):
    l1.append(float(input("lista 1: ")))

for _ in range(dimension):
    l2.append(float(input("lista 2: ")))

prodEscalar = 0.0

for i in range(dimension):
    prodEscalar += l1[i] * l2[i]

print(prodEscalar)

Explicación de cada código

1. Pedir la dimensión

dimension = int(input("Ingresar dimensión del vector: "))

Esta línea pide al usuario que ingrese la cantidad de elementos que tendrán los dos vectores.

Por ejemplo, si ingresamos 3, los dos vectores tendrán 3 elementos.

2. Crear el primer vector

l1 = []

Crea una lista vacía llamada l1. En ella se almacenarán los elementos del primer vector.

Al principio está vacía: []

3. Crear el segundo vector

l2 = []

Crea otra lista vacía llamada l2. Aquí se guardarán los elementos del segundo vector.

4. Repetir según la dimensión

for _ in range(dimension):

Este ciclo repite las instrucciones tantas veces como indique la dimensión.

Si la dimensión es 3, se repite 3 veces.

5. Ingresar datos al primer vector

l1.append(float(input("lista 1: ")))

Pide un número al usuario y lo agrega al vector l1.

float() permite ingresar números enteros o decimales.

append() agrega el dato a la lista.

6. Ingresar datos al segundo vector

l2.append(float(input("lista 2: ")))

Hace lo mismo que la línea anterior, pero almacena los datos en el segundo vector llamado l2.

7. Inicializar el resultado

prodEscalar = 0.0

Crea la variable prodEscalar y comienza su valor en 0.0.

Esta variable se utilizará para acumular todas las multiplicaciones.

8. Recorrer los vectores

for i in range(dimension):

Este ciclo recorre las posiciones de los dos vectores.

Si la dimensión es 3, recorrerá las posiciones: 0, 1 y 2.

9. Multiplicar los elementos

l1[i] * l2[i]

Multiplica los elementos que están en la misma posición.

Por ejemplo:

l1[0] × l2[0]

Después:

l1[1] × l2[1]

10. Acumular el resultado

prodEscalar += l1[i] * l2[i]

Multiplica los elementos de la misma posición y agrega el resultado a prodEscalar.

De esta manera se van sumando todas las multiplicaciones.

11. Mostrar el resultado

print(prodEscalar)

Finalmente muestra en pantalla el resultado del producto escalar.

Ejemplo paso a paso

Supongamos que tenemos los siguientes vectores:

Vector 1: [2, 3, 4]

Vector 2: [5, 6, 7]

Primero multiplicamos los elementos que están en la misma posición:

(2 × 5) + (3 × 6) + (4 × 7)
10 + 18 + 28 = 56

Por lo tanto, el resultado del producto escalar es:

56

Resumen del funcionamiento

  1. Se solicita la dimensión de los vectores.
  2. Se crean dos listas vacías.
  3. Se ingresan los elementos del primer vector.
  4. Se ingresan los elementos del segundo vector.
  5. Se inicializa el producto escalar en cero.
  6. Se recorren las posiciones de ambos vectores.
  7. Se multiplican los elementos de la misma posición.
  8. Se suman todas las multiplicaciones.
  9. Se muestra el resultado final.

Importante

La variable prodEscalar = 0.0 debe estar antes del último ciclo for.

De esta forma no se reinicia el resultado en cada repetición del ciclo.

No hay comentarios.:

Publicar un comentario

Copyright © Ejercicios de programación. Todos los derechos reservados. ❤️