Ejercitación Python
Ejercitación Python
# Construir una matriz P, de rango (len(va), len(vb)), cuyos valores son los
productos de los valores de los vectores va[i] y vb[j], para todos los valores de i
con i en el intervalo [0, len(i)] y para todos los valores de j con j en el intervalo
[0, len(i)].
Programa:
va=[]
i=0
for j in range(a,b+1,c):
#es b+1 ya que sino no incluye el valor del limite superio
va.append(j)
i+=1
print "Vector va:"
for i in range (len(va)):
print "va[%d]=%d"%(i,va[i])
vb=[]
i=0
for j in range(d,e+1,f):
vb.append(j)
i+=1
print "Vector vb:"
for i in range (len(vb)):
print "vb[%d]=%d"%(i,vb[i])
#creo la matriz P
P=[]
for i in range(len(va)):
p=[0]*len(vb)
P.append(p)
#hago el producto
for i in range(0,len(va)):
for j in range (0,len(va)):
P[i][j]=va[i]*vb[j]
#saco el mínimo:
P1=[]
i=0
for j in range(0,len(P)):
P1.append(P[j][i])
min=P1[0]
for i in range (1,len(P1)):
if min>P1[i]:
min=P1[i]
print "Mínimo=[%d]"%(min)
#saco el maximo:
P2=[]
i=len(P)-1
for j in range(0,len(P)):
P2.append(P[j][i])
max=P2[0]
for i in range (1,len(P2)):
if max<P2[i]:
max=P2[i]
print "Maximo=[%d]"%(max)
# Generar una tercera matriz del mismo tamaño que las cargadas por el usuario y que
contenga los elementos correspondientes de la primera matriz si la suma del índice de
la fila y la columna es par y de la segunda matriz si es impar, los índices de la
primera fila y de la primera columna se asumen iguales a 0 (cero) y 0 (cero)se
considera par.
# Generar un vector que contenga los números de fila de la matriz resultado que
contienen al menos un número negativo (se considera la primera fila como la fila 0
(cero))
# Mostrar los elementos del vector, si el vector no tiene elementos, que muestre un
mensaje "No hay filas con valores negativos"
Programa:
#hacer dos matrices de igual tamaño y que el numero de filas o columnas sea mayor a
cero:
#hacer una tercera matriz del mismo tamaño que la primera y hacer el resto
R=[]
for i in range (a):
r=[0]*b
R.append(r)
for i in range (b):
for j in range (a):
if (i+j)%2==0:
print "es par"
R[j][i]=M1[j][i]
else:
print "es impar"
R[j][i]=M2[j][i]
print "Resultado:"
for i in range (3):
print R[i]
# Validar que la matriz es cuadrada, sino emitir un mensaje en la consola "La matriz
no es cuadrada" y terminar.
# Debe ingresar los valores del arreglo desde el teclado. Se debe verificar, antes de
agregar el valor al arreglo, que dicho valor sea un número par. Si el valor ingresado
no cumple la condición, mostrar un mensaje por consola ("El valor ingresado no es
par") y solicitar nuevamente el valor. Una vez cargada se debe mostrar por consola,
en la primera línea debe mostrar el texto "Matriz Ingresada" y en las siguientes los
datos de la matriz con formato de matriz.
# Generar una NUEVA matriz que contendrá en cada fila los datos del arreglo generado
en (3) ordenados de menor a MAYOR alternando con un ordenamiento de MAYOR a menor en
la siguiente fila y así sucesivamente.
# Mostrar la nueva matriz por consola, en la primera línea debe mostrar el texto
"Matriz Generada" y en las siguientes los datos de la matriz con formato de matriz.
Programa:
P=[]
for i in range(len(M)): #filas
a=len(M)-1-i
for j in range(a,-1,-1): #columna
if a==j:
p = M[i][j]
P.append(p)
print "diagonal secundaria"
for i in range(len(P)):
print P[i]
# Que permita al usuario ingresar desde el teclado, para una grilla de tamaño de n*n,
los valores actuales de 'Arreglo_Dato'(representado por la grilla), los cuales sólo
pueden ser 0 (ceros) o 1 (unos).
# Ingresará previamente el valor de n, debiendo validar que sea entero positivo y
menor que 20 -hacer testing con n pequeño-
# El programa debe contemplar tratamiento de excepciones para que el usuario no
ingrese un arreglo de todos 1 (unos), ó todos 0 (ceros), mostrando la leyenda 'Usted
ha ingresado un arreglo incorrecto, intente nuevamente, evitando usar arreglos con
idéntico valor para todos sus elementos'.
# Que genere otro arreglo, el que se utiliza como patrón, 'Arreglo_Patron', el cual
tiene el mismo tamaño que el anterior y la forma de una matriz triangular inferior,
es decir: 0 (cero) para todo elemento a la derecha de la diagonal principal y 1 (uno)
para los demás elementos.
1 0 1 0 1 0 0 0 +2 0 0 0
0 0 0 1 1 1 0 0 -2 -2 0 0
1 0 1 1 1 1 1 0 +3 -2 +3 0
1 1 1 0 1 1 1 1 +1 +1 +2 -0
for i in range(0,3):
for j in range(i+1,4):
contar=0
print "comparo los elementos vecinos del elemento M[%d][%d]"%(j,i)
print "los elementos son M[%d][%d] y P[%d][%d]"%(j,i+1,j,i+1)
if M[j][i+1]!= P[j][i+1]:
contar+=1
print contar
D3[j][i]=contar
for i in range (4):
print D3[i]
#Creo una matriz nula D4:
D4=[]
for i in range (4):
d4=[0]*4
D4.append(d4)
for i in range(3,0,-1):
for j in range(i,0,-1):
contar=0
print "comparo los elementos vecinos del elemento M[%d][%d]"%(i,j)
print "los elementos son M[%d][%d] y P[%d][%d]"%(i,j-1,i,j-1)
if M[i][j-1]!= P[i][j-1]:
contar+=1
print contar
D4[j][i]=contar
for i in range(4):
print D4[i]
M2=[]
for i in range (4):
m2=[0]*4
M2.append(m2)
for i in range(3,0,-1):
for j in range(i-1,-1,-1):
contar=0
print "comparo los elementos vecinos del elemento M[%d][%d]"%(i,j)
print "los elementos son M[%d][%d] y P[%d][%d]"%(i-1,j,i-1,j)
if M[i-1][j]!= P[i-1][j]:
contar+=1
print contar
D5[i][j]=contar
for i in range(4):
print D5[i]
M1=[]
for i in range (4):
m1=[0]*4
M1.append(m1)
M3=[]
for i in range(4):
m3=[0]*4
M3.append(m3)
signo=[]
for i in range(4):
s=[0]*4
signo.append(s)