Baixe o app para aproveitar ainda mais
Prévia do material em texto
APRENDA PYTHON VOL 7 – MATRIZES INSTITUTO DE COMPUTAÇÃO – ICOMP – UFAM Exercícios resolvidos de Linguagem Python. Cardoso, A. K. S. 1 - MATRIZ DE ZEROS Escreva um programa que leia dois números inteiros M e N, positivos. O valor de M será relativo a quantidade de linhas e N a quantidade de colunas de uma matriz que será criada. Em seguida, crie e imprima uma matriz de MxN posições, todas preenchidas com o valor 0 (zero), do tipo inteiro. 2 - INFORMAÇÕES BÁSICAS DE UMA MATRIZ Escreva um programa que leia uma matriz digitada pelo usuário. Em seguida, o programa deverá imprimir as seguintes informações sobre a matriz que foi informada pelo usuário, nesta ordem: 1. Quantidade de elementos da matriz; 2. Dimensão da matriz; 3. Número de linhas da matriz; 4. Número de colunas da matriz; 5. Elemento na linha 0 e coluna 0 da matriz; 6. Elemento na última linha e na última coluna da matriz; 7. Primeira linha da matriz; 8. Penúltima linha da matriz; 9. Maior elemento da matriz; 10. Menor elemento da matriz; 11. Soma dos elementos da matriz; 12. Média aritmética dos elementos da matriz, com até duas casas decimais de precisão. 3 - MAIOR PAGAMENTO DA SEMANA Um grupo de funcionários trabalha em uma empresa que paga pela produção diária. Desta forma, os funcionários recebem salários diferenciados de acordo com o que produziram. Escreva um programa que leia uma matriz N × 7, sendo N > 1 o número de funcionários. Em seguida, imprima para cada funcionário o maior pagamento da semana. Considere que: • Cada coluna representa um dia da semana, de domingo a sábado. • Cada linha representa um funcionário da empresa. Dicas • Cada caso de teste do Codebench utiliza uma tabela diferente para corrigir seu programa. • O comando mat.shape, do módulo numpy, retorna um vetor contendo o número de linhas da matriz mat na primeira posição do vetor e o número de colunas na segunda posição. • O operador : (dois pontos) seleciona todos os elementos de uma linha ou coluna. 4 - MÉDIA DAS MENORES NOTAS Uma turma de N alunos recebe 4 notas por semestre. Este semestre os professores decidiram verificar qual era a média das menores notas dos alunos. Escreva um programa que leia uma matriz N × 4, sendo N > 1 o número de alunos. Em seguida, verifique qual é a menor nota de cada aluno e some com as menores notas dos demais alunos. Por fim, determine a média das menores notas com duas casas decimais. Considere que: • Cada coluna representa uma nota do semestre. • Cada linha representa um aluno. Dicas • Cada caso de teste do Codebench utiliza valores diferentes para corrigir seu programa. • O comando mat.shape, do módulo numpy, retorna um vetor contendo o número de linhas da matriz mat na primeira posição do vetor e o número de colunas na segunda posição. • O operador : (dois pontos) seleciona todos os elementos de uma linha ou coluna. 5 - ÁREA MÉDIA DOS RETÂNGULOS Uma matriz de dimensões N×2 armazena as medidas da base e da altura de N retângulos. Nessa matriz, a primeira coluna indica o tamanho da base do N-ésimo retângulo e a segunda coluna indica a altura. Escreva um programa que tenha como entrada uma matriz N×2. Como saída, imprima a média das áreas dos N retângulos, com duas casas decimais de precisão. Dicas 1. Considere que os valores inseridos como entrada são sempre válidos (≥0≥0). 2. A saída será apenas um número real, com duas casas decimais de precisão. 3. A área de um retângulo é dada pela fórmula: base×altura 6 - HORAS DE TRABALHO POR DIA DA SEMANA Uma empresa armazena as horas de trabalho semanais dos N funcionários em uma tabela semelhante à do exemplo abaixo: • Cada coluna representa um dia da semana, de domingo a sábado. • Cada linha representa um funcionário da empresa. Por exemplo, a tabela a seguir armazena as horas de trabalho de quatro funcionários (N = 4). Escreva um programa que leia uma matriz N × 7, sendo N > 1 o número de funcionários. Em seguida, determine qual o dia da semana em que os funcionários mais trabalham. A saída do programa deverá ser um ou mais números inteiros de 1 a 7, indicando respectivamente domingo, segunda, ..., sábado. Dicas • Cada caso de teste do Codebench utiliza uma tabela diferente do exemplo acima para corrigir seu programa. • Se houver dois ou mais dias da semana forem os de mais horas trabalhadas, os números correspondentes a todos eles devem ser impressos. 7 - LISTAGEM DE PRODUTOS POR DEPARTAMENTO - TOTAL DE VALORES Um supermercado deseja verificar qual setor tem o maior valor em produtos para fazer uma distribuição dos valores a serem investidos por departamento. O gerente do supermercado deseja imprimir uma relação a fim de auxiliar sua tomada de decisão. Cada setor deve conter a mesma quantidade de produtos. O gerente organizou a lista dos produtos por setor em uma string separando os preços dos produtos por vírgula. Após a inserção dos preços cada string deverá ser armazenada em uma matriz. Onde, cada linha da matriz representa um setor e cada coluna um preço por produto do setor. Faça um programa que leia: 1. A quantidade de setores 2. A quantidade de produtos 3. A lista de preços de produtos por setor. O programa deverá imprimir uma matriz com a relação dos preços dos produtos e a soma total de preços por setor. Dicas 1. Use a função round() 8 - ACOMPANHAMENTO DE FREQUÊNCIA - MAIOR NÚMERO DE FALTAS O professor do curso de Ciência da Computação deseja fazer uma análise sobre a frequência dos alunos. Para isso, precisa organizar uma matriz com a quantidade de faltas de cada aluno. Os dados das matrículas foram organizados em uma string e a faltas foram preenchidas individualmente. Faça um programa que leia: 1. A lista de matrículas dos alunos como uma string só, 2. O número de faltas dos alunos, um de cada vez, conforme os exemplos. O programa deverá imprimir uma matriz com a relação de alunos e suas respectivas faltas, e informar a matrícula do aluno possui o maior número de faltas. 9 - DIAGONAL PRINCIPAL VERSUS DIAGONAL SECUNDÁRIA Escreva um programa que leia uma matriz quadrada formada por números inteiros. Como saída, imprima a diferença entre a soma dos valores da diagonal principal e da diagonal secundária. Dicas 1. Um elemento aij pertence à diagonal secundária de uma matriz se, e somente se, i + j = n - 1. 10 - SOMA DE MATRIZES Implemente um programa para somar duas matrizes. O programa deve ler duas matrizes A e B de mesma dimensão e como saída deve gerar a matriz C = A + B. Dadas as matrizes A = (aij)m x n e B = (bij)m x n e C = A + B, tem-se que matriz C = (cij) m x n,em que cada elemento cij =aij + bij . Não é permitido do uso do módulo numpy.linalg nessa questão. Dicas 1. Não é permitido do uso do módulo numpy.linalg nessa questão. 11 - MULTIPLICAÇÃO ESTRUTURAL DE MATRIZES Implemente um programa em Python para realizar a multiplicação estrutural de duas matrizes. A multiplicação estrutural multiplica a matriz elemento a elemento. Dadas as matrizes A = (aij)m x n e B = (bij)m x n é a matriz C = (cij) m x n,em que cada elemento cij =aij * bij . Dicas 1. Você não pode usar a função prod() do módulo numpy. 12 - MULTIPLICAÇÃO MATRICIAL Implemente um programa em Python para realizar a multiplicação matricial de duas matrizes. Como saida seu programa deve imprimir a matriz resultante. Lembre-se que: O produto das matrizes A = (aij)m x p e B = (bij)p x n é a matriz C = (cij) m x n, em que cada elemento cij é obtido por meio da soma dos produtos dos elementos correspondentes da i-ésima linha de A pelos elementos da j-ésima coluna B. (Fonte: https://www.somatematica.com.br/emedio/matrizes/matrizes4.php) Dicas 1. Você não pode usar a função dot() do módulonumpy. https://www.somatematica.com.br/emedio/matrizes/matrizes4.php 13 - QUADRADO MÁGICO (VERSÃO 2) Uma matriz quadrada N×N é um quadrado mágico se as somas dos elementos das linhas, colunas e diagonais são iguais. Faça uma função que recebe uma matriz de inteiros e verifica se essa matriz é um quadrado mágico de tamanho N.
Compartilhar