Ejercicio: 3Eva2015TII_T3 funciones matrices rotar, extraer
Algoritmo en Python
Tarea: Integrar con tema 4
# ICM00794-Fundamentos de Computación - FCNM-ESPOL
# 3Eva_IIT2015_T3 funciones matrices rotar, extraer
# propuesta: edelros@espol.edu.ec
# version con lazos y condicionales.
# tarea: simplificar lazos con 'for'
import numpy as np
# Tema 3 a)
def rotando(matriz,k):
#cuenta rotaciones
cuenta = 0
while not(cuenta>=k):
n,m = matriz.shape
tabla = numpy.zeros(shape=(m,n),dtype=int)
# inicia rotación
i = 0
while not(i>=n):
j = 0
while not(j>=m):
f = j
c = (n-1)-i
tabla[f,c] = matriz[i,j]
j = j + 1
i = i + 1
matriz = np.copy(tabla)
cuenta = cuenta + 1
return(matriz)
# Tema 3 b) funcion para extraer una esquina
# de tamaño t de una matriz
# k=0 ;esquina superior izquierda
# k=1 ;esquina superior derecha
# k=3 ;esquina inferior izquierda
# k=2 ;esquina inferior derecha
def extraeresquina(matriz,k,t):
n,m = matriz.shape
esquina = np.zeros(shape=(t,t), dtype=int)
i = 0
while not(i>=t):
j = 0
while not(j>=t):
if (k==0):
f = i
c = j
if (k==1):
f = i
c = (m-t)+j
if (k==2):
f = (n-t)+i
c = (m-t)+j
if (k==3):
f = (n-t)+i
c = j
esquina[i,j]=matriz[f,c]
j = j+1
i = i+1
return(esquina)