Baixe o app para aproveitar ainda mais
Prévia do material em texto
EXERCÍCIOS MATRIZ ROSA MARIA VIANA SOUSA CURSO FÍSICA 1.Faça um programa que leia uma matriz 3x3 de inteiros e multiplique os elementos da diagonal principal da matriz por um número k. Imprima a matriz na tela antes e depois da multiplicação. matriz=[[0, 0, 0], [0, 0, 0], [0, 0, 0]] for i in range(3): for j in range(3): matriz[i][j]= int(input(' Digite o elemento [' +str(i) + ']['+ str(j) + ']: ')) print(matriz) print('\n') v=int(input('Digite um número para multiplicar os elementos da diagonal principal: ')) for i in range(3): for j in range(3): if i==j: matriz[i][j]=v*matriz[i][j] print(matriz) 2.Faça um programa que leia duas matrizes A e B 2x2 de inteiros e imprima a matriz C que é a soma das matrizes A e B. matriz1=[[0, 0], [0, 0]] for i in range(2): for j in range(2): matriz1[i][j]= int(input(' Digite o elemento [' +str(i) + ']['+ str(j) + ']:')) print(matriz1) print('\n') matriz2=[[0, 0], [0, 0]] for k in range(2): for p in range(2): matriz2[k][p]= int(input(' Digite o elemento [' +str(k) + ']['+ str(p) + ']: ')) print(matriz2) print('\n') C=[[0, 0], [0, 0]] C[0][0]=matriz1[0][0]+matriz2[0][0] C[1][0]=matriz1[1][0]+matriz2[1][0] C[0][1]=matriz1[0][1]+matriz2[0][1] C[1][1]=matriz1[1][1]+matriz2[1][1] print('A soma das matrizes é: ',C) 3. Faça um programa que leia as dimensões de duas matrizes A e B, e depois leia as duas matrizes (os elementos devem ser inteiros). Se as matrizes forem de tamanhos compatíveis para multiplicação, multiplique as matrizes. Imprima as matrizes A, B e a matriz resultante da multiplicação. matriz1 = [] l=int(input('Numero de linhas: ')) c=int(input('Numero de colunas: ')) print('\n') for i in range(l): linha = [] for j in range(c): linha.append(int(input('Digite o valor de [' + str(i) + ',' + str(j) + ']: '))) matriz1.append(linha) print('\n') matriz2 = [] l2=int(input('Numero de linhas: ')) c2=int(input('Numero de colunas: ')) print('\n') for k in range(l2): linha2 = [] for p in range(c2): linha2.append(int(input('Digite o valor de [' + str(k) + ',' + str(p) + ']: '))) matriz2.append(linha2) print('\n') print(matriz1) print(matriz2) print('\n') C=[] for k in range(l): C.append([0]*l) for i in range(l): C[k][i] = 0 if l==c2: for i in range (l): for j in range (l): for k in range (c): C[i][j] = C[i][j] + (matriz1[i][k] * matriz2[k][j]) print(' resultado é ', C) else: print("Impossível a multiplicação de matriz") 4. Faça um programa que leia uma matriz 3x3 de inteiros e retorne a linha de maior soma. Imprima na tela a matriz, a linha de maior soma e a soma. def mat(x, y, z): if x>y>z: print(x) if x>z>y: print(x) if y>x>z: print(y) if y>z>x: print(y) if z>x>y: print(z) if z>y>x: print(z) matriz=[[0, 0, 0], [0, 0, 0], [0, 0, 0]] for i in range(3): for j in range(3): matriz[i][j]= int(input(' Digite o elemento [' +str(i) + ']['+ str(j) + ']: ')) print('\n') print(matriz) soma=0 soma2=0 soma3=0 for j in range(3): soma=soma+matriz[0][j] soma2=soma2+matriz[1][j] soma3=soma3+matriz[2][j] mat(soma, soma2, soma3) 5. Faça um programa que leia a ordem de uma matriz quadrada A (até 100), posteriormente leia seus valores e escreva sua transposta AT, onde AT[i][j] = A[j][i]. matriz1 = [] ordem=int(input('Digite a ordem da matriz: ')) print('\n') for i in range(ordem): linha = [] for j in range(ordem): linha.append(int(input('Digite o valor de [' + str(i) + ',' + str(j) + ']: '))) matriz1.append(linha) matriz2=[] for i in range(ordem): l2=[] for j in range(ordem): l2.append(matriz1[j][i]) matriz2.append(l2) print('\n') print(matriz1) print('\n') print('a transposta da matriz digitada é: ', matriz2) 6. Uma pista de Kart permite 10 voltas para cada um de 6 corredores. Faça um programa que leia os nomes e os tempos (em segundos) de cada volta de cada corredor e guarde as informações em uma matriz. Ao final, o programa deve informar: a. De quem foi a melhor volta da prova, e em que volta b. Classificação final em ordem (1º. o campeão) c. Qual foi a volta com a média mais rápida. def menor(w , p, b, q, z, r): s=w[1][1] for i in range(10): if w[i][1]<=s: s=w[i][1] for i in range(10): if p[i][1]<=s: s=p[i][1] for i in range(10): if b[i][1]<=s: s=b[i][1] for i in range(10): if q[i][1]<=s: s=q[i][1] for i in range(10): if z[i][1]<=s: s=z[i][1] for i in range(10): if r[i][1]<=s: s=r[i][1] for i in range(10): if m1[i][1]==s: k=m1[0][0] for i in range(10): if m2[i][1]==s: k=m2[0][0] for i in range(10): if m3[i][1]==s: k=m3[0][0] for i in range(10): if m4[i][1]==s: k=m4[0][0] for i in range(10): if m5[i][1]==s: k=m5[0][0] for i in range(10): if m6[i][1]==s: k=m6[0][0] print('A volta mais rapida foi', s, 'segundos, e foi realizada por ', k) m1=[[0, 0], [0, 0], [0, 0], [0, 0], [0, 0], [0, 0], [0, 0], [0, 0], [0, 0], [0, 0]] m2=[[0, 0], [0, 0], [0, 0], [0, 0], [0, 0], [0, 0], [0, 0], [0, 0], [0, 0], [0, 0]] m3=[[0, 0], [0, 0], [0, 0], [0, 0], [0, 0], [0, 0], [0, 0], [0, 0], [0, 0], [0, 0]] m4=[[0, 0], [0, 0], [0, 0], [0, 0], [0, 0], [0, 0], [0, 0], [0, 0], [0, 0], [0, 0]] m5=[[0, 0], [0, 0], [0, 0], [0, 0], [0, 0], [0, 0], [0, 0], [0, 0], [0, 0], [0, 0]] m6=[[0, 0], [0, 0], [0, 0], [0, 0], [0, 0], [0, 0], [0, 0], [0, 0], [0, 0], [0, 0]] print('-----------JOGADOR 1-----------') y=input('Nome do jogador: ') for i in range(10): for j in range(2): m1[i][j]=y x=int(i+1) m1[i][j]=str(input('Digite o tempo gasto na volta ' + str(x)+': ')) print('\n') print('-----------JOGADOR 2-----------') y=input('Nome do jogador: ') for i in range(10): for j in range(2): m2[i][j]=y x=int(i+1) m2[i][j]=str(input('Digite o tempo gasto na volta ' + str(x)+': ')) print('\n') print('-----------JOGADOR 3-----------') y=input('Nome do jogador: ') for i in range(10): for j in range(2): m3[i][j]=y x=int(i+1) m3[i][j]=str(input('Digite o tempo gasto na volta ' + str(x)+': ')) print('\n') print('-----------JOGADOR 4-----------') y=input('Nome do jogador: ') for i in range(10): for j in range(2): m4[i][j]=y x=int(i+1) m4[i][j]=str(input('Digite o tempo gasto na volta ' + str(x)+': ')) print('\n') print('-----------JOGADOR 5-----------') y=input('Nome do jogador: ') for i in range(10): for j in range(2): m5[i][j]=y x=int(i+1) m5[i][j]=str(input('Digite o tempo gasto na volta ' + str(x)+': ')) print('\n') print('-----------JOGADOR 6-----------') y=input('Nome do jogador: ') for i in range(10): for j in range(2): m6[i][j]=y x=int(i+1) m6[i][j]=str(input('Digite o tempo gasto na volta ' + str(x)+': ')) print('\n') menor(m1, m2, m3, m4, m5, m6) 7. Faça um programa que leia uma matriz 6x3 com números reais, calcule e mostre: (a) o maior elemento da matriz e sua respectiva posição (linha e coluna); (b) o menor elemento da matriz e sua respectiva posição. A=[[0, 0, 0], [0, 0, 0], [0, 0, 0], [0, 0, 0], [0, 0, 0], [0, 0, 0]] for i in range(6): for j in range(3): A[i][j]=float(input('Digite o elemento [' +str(i) + ']['+ str(j) + ']: ')) resposta=(0, 0) m=A[0][0] for i in range(6): for j in range(3): if A[i][j]<=m: m=A[i][j] resp=(i, j)print('\n') print('Menor valor: ', m, 'Sua posição: ', resp) resposta=(0, 0) for i in range(6): for j in range(3): if A[i][j]>=m: m=A[i][j] resp=(i, j) print('Maior valor: ', m, 'Sua posição: ', resposta) 8. Faça um programa que leia duas matrizes A e B de números inteiros e verifica se ambas são inversas (ou seja, se a multiplicação de A por B é a matriz identidade). matriz1 = [] l=int(input('Numero de linhas: ')) c=int(input('Numero de colunas: ')) print('\n') for i in range(l): linha = [] for j in range(c): linha.append(int(input('Digite o valor de [' + str(i) + ',' + str(j) + ']: '))) matriz1.append(linha) print('\n') matriz2 = [] l2=int(input('Numero de linhas: ')) c2=int(input('Numero de colunas: ')) print('\n') for k in range(l2): linha2 = [] for p in range(c2): linha2.append(int(input('Digite o valor de [' + str(k) + ',' + str(p) + ']: '))) matriz2.append(linha2) print(matriz1) print(matriz2) print('\n') C=[] for k in range(l): C.append([0]*l) for i in range(l): C[k][i] = 0 if l==c2: for i in range (l): for j in range (l): for k in range (c): C[i][j] = C[i][j] + (matriz1[i][k] * matriz2[k][j]) print('Resultado = ', C) print('\n') h=0 for i in range(l): for j in range(l): h=h+C[i][j] if h==l: print('Matrizes inversas') else: print('Não são inversas') 9. Faça um programa que lê duas notas para cada aluno de duas turmas. Cada turma tem 3 alunos. Armazene os dados em uma matriz M. Cada aluno deve ter três notas (as duas digitadas e a média dessas duas). Calcule a média de cada turma e armazene em um vetorTURMA. Informe qual turma tem maior média, e quais alunos tiveram média maior que a média de sua turma. T1=[[0, 0, 0], [0, 0, 0], [0, 0, 0]] T2=[[0, 0, 0], [0, 0, 0], [0, 0, 0]] for i in range(3): for j in range(2): T1[i][j]=float(input('Nota número '+str(j+1)+ ' do aluno '+str(i+1)+ ' da primeira turma ' ': ')) print('\n') for i in range(3): for j in range(2): T2[i][j]=float(input('Nota número '+str(j+1)+ ' do aluno '+str(i+1)+' da segunda turma' ': ')) print('\n') soma1=0 soma2=0 for i in range(3): T1[i][2]=(T1[i][0]+T1[i][1])/2 for i in range(3): T2[i][2]=(T2[i][0]+T2[i][1])/2 for i in range(3): for j in range(3): soma1=soma1+T1[i][j] m1=soma1/9 for i in range(3): for j in range(3): soma2=soma2+T2[i][j] m2=soma2/9 print('A media da turma 1 foi', m1) print('A media da turma 2 foi', m2) turma=[m1, m2] if m1>m2: print('A media maior foi da turma1') if m2>m1: print('A media maior foi da turma2') if m1==m2: print('As medias foram iguais') print('\n') if T1[0][2]>m1: print('Aluno numero 1 da turma 1 teve media maior que sua turma') if T1[1][2]>m1: print('Aluno numero 2 da turma 1 teve media maior que sua turma') if T1[2][2]>m1: print('Aluno numero 3 da turma 1 teve media maior que sua turma') if T2[0][2]>m1: print('Aluno numero 1 da turma 2 teve media maior que sua turma') if T2[1][2]>m1: print('Aluno numero 2 da turma 2 teve media maior que sua turma') if T2[2][2]>m1: print('Aluno numero 3 da turma 2 teve media maior que sua turma')
Compartilhar