Buscar

lista9-python-matrizes-gabarito

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 5 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

EMB5013 - Introdução à Programação de Computadores 
Profa. Tatiana Renata Garcia 
Gabarito Lista de exercícios 9 – Vetores e Matrizes 
 
 
1 – Elabore um algoritmo que leia um conjunto de números inteiros que serão 
armazenados em uma matriz A com dimensão 10x10. A partir da matriz A o programa 
deve gerar um vetor com os maiores elementos de cada linha e outro vetor com os 
menores elementos de cada coluna. 
 
### exercicio 1 
### Criar matriz e depois criar vetores com o maior e menor 
elemento 
 
import random 
m = [0]*10 #criacao das linhas 
 
for j in range(10): #criacao de um vetor para cada linha 
 m[j] = [0]* 10 
 
#preenchimento da matriz 
for i in range(10): 
 for j in range(10): 
 m[i][j] = random.randint(0,100) 
 print m[i][:] 
 
#criacao dos vetores 
vet1 = [0]*10 #vetor para guardar maiores das linhas 
 
for i in range(10): #fixa a linha 
 maior = m[i][0] 
 for j in range(10): #varia a coluna 
 if m[i][j] > maior: 
 maior = m[i][j] 
 vet1[i] = maior #coloca na posicao i do vetor o 
maior elemento da linha i 
 
print 'Maiores elementos das linhas: ', vet1 
 
#criacao dos vetores 
vet2 = [0]*10 #vetor para guardar menores das colunas 
 
for i in range(10): #fixa a coluna 
 menor = m[0][i] 
 for j in range(10): #varia as linhas 
 if m[j][i] < menor: 
 menor = m[j][i] 
 vet2[i] = menor #coloca na posicao i do vetor o 
 #menor elemento da coluna i 
print 'Menores elementos das colunas: ', vet2 
 
 
2 – Elabore um algoritmo que lei um conjunto de números inteiros e armazene em uma 
matriz A de ordem 5x5 de inteiros e depois manipule e mostre os dados na seguinte 
ordem: 
a) Mostre a matriz original; 
b) Troque a segunda linha da matriz com a quinta linha da matriz (modifique a 
matriz original); 
c) Troque a primeira coluna da matriz com a quarta coluna da matriz; 
d) Mostre a matriz modificada. 
 
import random 
m = [0]*5 #criacao das linhas 
 
for j in range(5): #criacao de um vetor para cada linha 
 m[j] = [0]* 5 
 
#preenchimento da matriz 
for i in range(5): 
 for j in range(5): 
 m[i][j] = random.randint(0,100) 
 print m[i][:] 
 
#troca da segunda linha da com a quinta linha 
 
for j in range(5): #varia coluna 
 aux = m[1][j] 
 m[1][j] = m[4][j] 
 m[4][j] = aux 
 
print 
print 'Primeira operacao: troca da segunda linha com quinta 
linha' 
for i in range(5): 
 print m[i][:] 
 
 
#troca da primeira coluna com quarta coluna 
for j in range(5): #varia coluna 
 aux = m[j][0] 
 m[j][0] = m[j][3] 
 m[j][3] = aux 
 
print 
print 'Segunda operacao: troca da primeira coluna com 
quarta coluna' 
for i in range(5): 
 print m[i][:] 
 
 
3 – Escreva um programa em Python que leia um vetor de 100 elementos. O programa 
deve informar a quantidade de números ímpares existentes no vetor. Lembre que os 
valores armazenados no vetor serão informados pelo usuário (ou gerados pelo 
computador). 
 
## exercicio para manipular vetores em busca dos impares 
 
import random 
 
tam = 100 
 
vet = [0] * tam 
 
for i in range(tam): 
 vet[i] = random.randint(1,50) 
 
impares = 0 
 
for i in range(tam): 
 if vet[i] % 2 == 1: #e' impar 
 impares = impares +1 
 
print 'Vetor: ', vet 
print 'O vetor possui ', impares, 'numeros impares.' 
 
4 – Faça um programa em Python ou pseudocódigo que leia duas matrizes X e Y, 
quadradas com ordem n, e faça as seguintes manipulações: 
a) Gere uma matriz W com os menores elementos entre as matrizes X e Y, ou 
seja, um elemento Wij possui o menor valor entre os elementos Xij e Yij. Se 
os elementos forem iguais ambos são o menor valor. 
b) Gere um vetor com os elementos da diagonal principal da matriz X; 
c) Encontre a coluna da matriz Y que possui a menor soma do valor de seus 
elementos dentre todas as colunas da matriz, e mostre qual é a posição 
dessa coluna. Caso existam somas de colunas iguais considerar a primeira 
coluna com a ocorrência do valor; 
 
 
### exercicio para manipular matrizes 
 
import random 
 
n = input('Digite dimensao da matriz: ') 
X = [0]*n 
Y = [0]*n 
W = [0]*n 
 
for i in range(n): 
 X[i]=[0]*n 
 Y[i]=[0]*n 
 W[i]=[0]*n 
 
diag = [0]*n #vetor com a diagonal principal 
 
for i in range(n): 
 for j in range(n): 
 X[i][j]=random.randint(1,10) 
 Y[i][j]=random.randint(1,10) 
 if X[i][j] < Y[i][j]: 
 W[i][j] = X[i][j] 
 else: 
 W[i][j] = Y[i][j] 
 if i == j: 
 diag[i] = X[i][j] 
 
print "Matriz X: ", X 
print "Matriz Y: ", Y 
print "Matriz W (com os menores): ", W 
print "Vetor com elementos da diagonal de X: ", diag 
 
s = [0]*n #vetor com a soma das colunas 
for i in range(n): 
 soma = 0 
 for j in range(n): 
 soma = soma + Y[j][i] 
 s[i] = soma 
 
print "Vetor com a soma das colunas: ", s 
maior = s[0] 
col = 0 
 
for i in range(n): 
 if s[i] > maior: 
 maior = s[i] 
 col = i 
 
 
print 'Coluna com maior soma: ', col 
 
 
5 – Mostre qual é a saída gerada pelo programa abaixo (escrito em Python) quando n = 
3. Resolva manualmente este exercício e depois verifique o resultado implementando-o em 
Python. 
 
n = input('Digite o valor de n: ') 
m=[0]*n 
for i in range(n): 
 m[i]=[0]*n 
for i in range(n): 
 for j in range(n): 
 if i == 0: 
 m[i][j] = -100 
 else: 
 m[i][j] = 2*(i+j+1) 
 m[j][i] = m[i][j] 
print 'M = ', m 
 
Solução: M = [[-100, 4, 6], [4, 6, 8], [6, 8, 10]]

Continue navegando