Processamento da Informação Teoria. Matrizes

Documentos relacionados
Processamento da Informação Teoria. Matrizes

Processamento da Informação Teoria Funções

Processamento da Informação Teoria. Exercícios sobre strings

Processamento da Informação Teoria. Recursividade

MATRIZES - PARTE Mais exemplos Multiplicação de duas matrizes AULA 26

Exercícios: Vetores e Matrizes

Aplicações de listas e outras estruturas. SCC-502 Algoritmos e Estruturas de Dados I

Introdução à Programação Aula 18 Método de eliminação de Gauss

BAC004 Informática Teórica T2 Professora: Fabiana Costa Guedes Lista 05 Vetores e Matrizes Vetores

Eduardo. Matemática Matrizes

Questão 1: O histograma deve ser: [0, 1, 4, 2, 0, 3, 0,, 0, 2] Exemplo: Para a matriz

Processamento da Informação Teoria. Strings

Nota importante: U é a matriz condensada obtida no processo de condensação da matriz

Mat.Semana. PC Sampaio Alex Amaral Rafael Jesus Gabriel Ritter. (Gabriella Teles)

Universidade de São Paulo

Introdução à Computação

Lista 2 TP060. Exercícios Vetores

Universidade Federal de Goiás Instituto de Informática Introdução à Computação Professor: Julliano Rosa Nascimento

Aula 07 mtm B MATRIZES

Fundamentos da Programação

Vetores e Matrizes. Vetores

Matrizes material teórico

5. Seja A uma matriz qualquer. Assinale a afirmativa

MATEMÁTICA II. Aula 11. 3º Bimestre. Matrizes Professor Luciano Nóbrega

BC-0005 Bases Computacionais da Ciência Aula 07 Lógica de Programação: Estruturas de repetição

MATRIZES. Conceitos e Operações

>>> concatena_strings_lista([ ola,, bom,, dia! ]) ola bom dia!

Método de eliminação de Gauss

Matrizes. Estrutura de Dados. Universidade Federal de Juiz de Fora Departamento de Ciência da Computação 1 / 67

Apostila de Matemática 10 Matriz

Uma matriz m x n é um quadro de elementos dispostos em m linhas e n colunas. Os valores de m e n são sempre positivos e inteiros.

Aula 06 Lógica de Programação: Estruturas condicionais

Introdução à Computação - aulas 13 e 14-

Estruturas de dados funcionais

Funções Vetores Matrizes

Matemática- 2008/ Se possível, dê exemplos de: (no caso de não ser possível explique porquê)

Programação científica C++

EXERCÍCIOS: Estrutura Sequencial, IF (SE), ELSE (Senão)

Revisão: Matrizes e Sistemas lineares. Parte 01

Elementos básicos das linguagens de programação

Matrizes e Determinantes

Geometria Analítica e Álgebra Linear

Computação 1 - Python Aula 3 - Teórica: Tipos de dados, Strings, Estrutura Condicional 1/ 28

PLANO DE AULA IDENTIFICAÇÃO

Linguagem Pascal. Prof. Antonio Almeida de Barros Junior

LISTA DE EXERCÍCIO. 2) Fazer um algoritmo para calcular a soma entre dois números e multiplicar o resultado pelo primeiro.

UNIVERSIDADE DO ESTADO DO RIO GRANDE DO NORTE CURSO: CIÊNCIA DA COMPUTAÇÃO DISCIPLINA: ÁLGEBRA LINEAR PROF.: MARCELO SILVA.

max1: 20,max2:+ max1:15, max2:20 max1:30,max2:32,max3:35 max1:40,max2:+

Matemática Aplicada à Informática

Algoritmos e estrutura de dados

Apostila de Matemática 11 Determinante

MÉTODOS DE ORDENAÇÃO. Introdução à Programação SI2

Árvores. Thiago Martins, Fabio Gagliardi Cozman. PMR2300 / PMR3201 Escola Politécnica da Universidade de São Paulo

CÁLCULO NUMÉRICO. Profa. Dra. Yara de Souza Tadano

Determinantes. det A = a 11. Se A = a11 a 12 a 21 a 22. é uma matriz 2 2, então. det A = a 11 a 22 a 12 a 21. Exemplo 1. det 3 4. = 1; det 3 4 = 0.

Análise e Complexidade de Algoritmos

Faculdades Integradas Rui Barbosa Programação II Prof. Marcos Antonio Estremote. Exercícios com Vetores e Matrizes

Hewlett-Packard DETERMINANTE. Aulas 01 a 04. Elson Rodrigues, Gabriel Carvalho e Paulo Luiz

Matrizes - ALGA /05 1. Matrizes

1. Considere a seguinte lista de dicionários na qual os significados dos campos são óbvios:

Aula 05 Lógica de Programação: Variáveis e Estruturas sequenciais

Álgebra Linear I - Aula 20

Universidade Federal de Uberlândia Faculdade de Computação. Estruturas de repetição

Álgebra Linear e Geometria Anaĺıtica

Processamento da Informação Teoria. Desvio Condicional

Geometria anaĺıtica e álgebra linear

MAC 2166 Introdução à Computação para Engenharia Escola Politécnica Primeiro Semestre de 2003 Primeira Prova 2 de abril de 2003

Fundamentos da Programação

Algoritmos e Estrutura de Dados Aula 02 Listas em Python

MATRIZES. Fundamentos de Matemática- Ciências Contábeis

RESOLUÇÃO. Computação e Programação (2009/2010-1º Semestre) 1º Teste (11/11/2009) Nome. Número. Leia com atenção os pontos que se seguem:

A pirâmide de Pascal

Computação 1 - Python Aula 11 - Teórica: Matrizes. João Carlos, Carla Delgado, Ana Luisa Duboc 1/ 9

Transcrição:

Processamento da Informação Teoria Matrizes Semana 08 Prof. Jesús P. Mena-Chalco 12/06/2013

Criação de matrizes def criar_matriz_zeros(l,c): matriz = [0]*l for i in range(0,l): matriz[i] = [0]*c return matriz

Criação de matrizes def criar_matriz_uns(l,c): matriz = [1]*l for i in range(0,l): matriz[i] = [1]*c return matriz

Menor elemento Crie uma função que permita determinar o menor elemento de uma matriz dada como parâmetro. Cabeçalho: def menor_elemento(a): [[-1,-2,-3,-4,-5,-6], [1,2,3,4,5,6], [7,8,9,10,11,12]] -6

Menor elemento def menor_elemento(a): menor = A[0][0] for i in range(0,len(a)): for j in range(0,len(a[0])): if menor>a[i][j]: menor = A[i][j] return menor

Segundo menor elemento Crie uma função que permita determinar apenas o segundo menor elemento de uma matriz dada como parâmetro. Cabeçalho: def segundo_menor_elemento(a) [[-1,-2,-3,-4,-5,-6], [1,2,3,4,5,6], [7,8,9,10,11,12]] -5

Segundo menor elemento def segundo_menor_elemento(a): menor1 = A[0][0] menor2 = A[0][0] for i in range(0,len(a)): for j in range(0,len(a[0])): if menor1>a[i][j]: menor2 = menor1 menor1 = A[i][j] return menor2 Solução errada! Teste para -1 0 1 2

Converter uma matriz em lista def converter_matriz_em_lista(m): L = [ ] for i in range(0,len(m)): for j in range(0,len(m[0])): L.append(M[i][j]) return L

Converter uma matriz em lista def converter_matriz_em_lista(m): L = [ ] for i in range(0,len(m)): for j in range(0,len(m[0])): L.append(M[i][j]) return L >>> converter_matriz_em_lista([[1,2],[-1,0],[1,2]]) [1, 2, -1, 0, 1, 2]

Ordernar uma lista

Ordernar uma lista

Ordernar uma lista def ordenar_lista(l): for i in range(0,len(l)-1): menor = i for j in range(i+1, len(l)): if L[menor]>L[j]: menor = j if menor!=i: temp = L[i] L[i] = L[menor] L[menor] = temp return L

Segundo menor elemento def segundo_menor_elemento(a): L1 = converter_matriz_em_lista(a) L2 = ordenar_lista(l1) return L2[1]

Segundo menor elemento def segundo_menor_elemento(a): L1 = converter_matriz_em_lista(a) L2 = ordenar_lista(l1) return L2[1] >>> segundo_menor_elemento([[1,2],[-1,0],[1,2]]) 0 ListaOrdenada = [-1, 0, 1, 1, 2, 2]

N-éssimo menor elemento def segundo_menor_elemento(a,n): L1 = converter_matriz_em_lista(a) L2 = ordenar_lista(l1) return L2[n-1]

Algoritmos de ordenação? http://www.sorting-algorithms.com http://www.youtube.com/watch?v=ns4tptc8whw

Matriz triangular superior Crie uma função que permita verificar se a matriz, dada como parâmetro, é triangular superior. Cabeçalho: def matriz_triangular_superior(a): Caso particular de matrizes quadradas. Abaixo da diagonal principal existem apenas elementos nulos. Os restantes elementos estão posicionados acima dessa mesma diagonal, com a condição de não serem todos nulos.

Matriz triangular superior j 0,0 0,1 0,2 0,3 1,0 1,1 1,2 1,3 i 2,0 2,1 2,2 2,3 3,0 3,1 3,2 3,3 Índices em uma matriz 4x4

Matriz triangular superior def matriz_triangular_superior(a): if len(a[0])!=len(a): return False contador_zeros_inf = 0 contador_zeros_sup = 0 for i in range(0,len(a)): for j in range(0,len(a)): if i>j and A[i][j]==0: contador_zeros_inf +=1 if i<j and A[i][j]==0: contador_zeros_sup +=1 x = len(a)*(len(a)-1)/2 if contador_zeros_inf==x and contador_zeros_sup!=x: return True else: return False

Multiplicação de matrizes Crie uma função que permita multiplicar duas matrizes dadas como parâmetro. Cabeçalho: def multiplicar_matrizes(a,b):

Multiplicação de matrizes def multiplicar_matrizes(a,b): nla = len(a) nca = len(a[0]) nlb = len(b) ncb = len(b[0]) if nca!=nlb: return 'Matrizes com dimensoes incongruentes' C = criar_matriz_zeros(nla,ncb) for i in range(0,nla): for j in range(0,ncb): val = 0 for k in range(0,nca): val = val + A[i][k]*B[k][j] C[i][j]=val return C

Multiplicação de matrizes def multiplicar_matrizes(a,b): nla = len(a) nca = len(a[0]) nlb = len(b) ncb = len(b[0]) if nca!=nlb: return 'Matrizes com dimensoes incongruentes' C = criar_matriz_zeros(nla,ncb) for i in range(0,nla): for j in range(0,ncb): val = 0 for k in range(0,nca): val = val + A[i][k]*B[k][j] C[i][j]=val return C

Multiplicação de matrizes 1 1 1 2 2 2 1 2 3 4 5 6 >>> multiplicar_matrizes([[1, 1, 1],[2,2,2]],[[1,2],[3,4],[5,6]]) [ [9, 12], [18, 24] ]

Lista 05 Questão única. (a) Dado um inteiro positivo n, imprimir as n primeiras linhas do triângulo de Pascal(*). (b) Dado um inteiro positivo n, imprimir as n primeiras linhas do triângulo de Pascal usando apenas uma lista. (*) Descoberto em 1654 pelo matemático francês Blaise Pascal.

Lista 05 A entrega da Lista 05 deverá ser realizada através do Tidiaae. Seção Atividades/lista-05. Até 18/05 (23h50) Terça-feira. Apenas deve ser enviado um arquivo PDF contendo a solução das questões. O documento deve ter o seguinte nome: RA-SeuNomeCompleto-Lista-05.pdf

Sobre a Prova 01 Alunos: 159 Média: 6,66 Aprovados: 112 (~70%) Reprovados: 47 (~30%) 40 35 30 25 20 15 10 5 0 0-1 1-2 2-3 3-4 4-5 5-6 6-7 7-8 8-9 9-10 O gabarito está no caderno de exercícios: http://professor.ufabc.edu.br/~jesus.mena/courses/bc0505-1