Programación I
Guía adicional Matrices
Actividad 1
Implementar una función SumMatrix que reciba por parámetro dos matrices de
números enteros con la misma dimensión. Antes de realizar los cálculos la función
debe comprobar que las dimensiones de las matrices recibidas por parámetros
tengan la misma dimensión, en caso contrario se debe frenar la ejecución y
retornar -1. En caso de pasar la validación de las dimensiones, se debe calcular la
suma de ambas matrices y retornar la matriz resultante. Finalmente se solicita
invocar a la función y mostrar el resultado por la consola del sistema.
Ejemplos:
SumMatrix ([[1,2],[3,4]],[[5,6],[7,8]]) => [[6,8],[7,12]]
SumMartix ([[10,23,2],[3,56,11]],[[12,3],[4,5]]) => -1
Actividad 2
Implementar una función MultMatrix que reciba por parámetro dos matrices de
números enteros y calcule la multiplicación de ambas matrices para retornar la
matriz resultante. Finalmente se solicita invocar a la función y mostrar el resultado
por la consola del sistema.
Teoría: https://www.matesfacil.com/matrices/resueltos-matrices-producto.html
1
Ejemplos:
MultMatrix ([[2,0],[1,3]],[[-1,-1],[5,6]]) => [[-2,-2],[14,17]]
Actividad 3
Implementar una función checkValues que reciba por parámetro una matriz de números enteros
y recorra cada uno de los mismos colocando true en caso de que el número en cuestión sea
Armstrong y false en caso contrario.
Realizados todos los cálculos la función deberá retornar una matriz compuesta únicamente por
valores booleanos.
* Un número Armstrong es un número que es la suma de sus propios dígitos, cada
uno elevado a la potencia del número de dígitos (9 es un número de Armstrong,
porque 9 = 9^1 = 9, 10 no es un número de Armstrong, porque 10 != 1^2 + 0^2 =
1).
Actividad 4
Implementar una función makingAnagrams que reciba por parámetro una matriz de cadenas y
genere una nueva matriz de igual dimensión que la recibida por parámetro compuesta por
cadenas, donde cada una de ellas es un anagrama de la original.
Finalmente retornar la nueva matriz por la consola del sistema.
Ejemplo:
makingAnagrams ([“arbol”,”casa”,”leña”],[“river”,”el mas”,”grande”],[“caer”,”en”,”madrid”]) =>
[[“bolar”,”saca”,”elña”],[“verir”,”mas el”,”rangde”],[“erca”,”ne”,”amdrid”]]
2
Actividad 5
Implementar una función RailFence que tome por parámetros una cadena de texto
y un número entero positivo mayor o igual a dos que represente la llave del
cifrado.
Ayuda:En un cifrado de valla de riel, las letras no se cambian, sino que solo cambian con
respecto a su posición en él. Este tipo de cifrado a menudo se denomina cifrado de
transposición, porque las letras simplemente se transponen en términos de su ubicación.
Estos tipos de cifrados se remontan a la Guerra Civil Americana, donde los soldados usaban
el código para cifrar. En un cifrado de valla de riel, el escritor toma una frase y la
escribe en líneas descendentes o "rieles". El cifrado de valla de riel a veces se denomina
cifrado en zigzag si el escritor usa un patrón en zigzag o W para representarlo.
Ejemplo: