Algoritmos e Estruturas de Dados I – Estruturas de Dados

Slides:



Advertisements
Apresentações semelhantes
UNIVERSIDADE FEDERAL DE UBERLÂNDIA ENGENHARIA CIVIL INTRODUÇÃO À ALGORITMOS Professora: Fabíola Gonçalves.
Advertisements

INTRODUÇÃO AO ESTUDO DAS MATRIZES
CENTRO EDUCACIONAL NOSSA SENHORA AUXILIADORA
TÉCNICAS DE PROGRAMAÇÃO I
Marco Antonio Montebello Júnior
Matrizes especiais Matriz linha Matriz do tipo 1 x n, ou seja, com uma única linha. Por exemplo, a matriz A =[ ], do tipo 1 x 4. Matriz coluna.
Dados dois números m e n naturais e não nulos, chama-se matriz m por n ( indica-se m x n) toda tabela M formada por números reais distribuídos em m linhas.
Programação de Computadores - 3
Adaptado de material da profa. Maria Aparecida Livi
Lógica de Programação Módulo II
Estruturas de Dados Homogêneas Multidimensionais – Matrizes
Matrizes e Funções - Continuação
Descreva por palavras suas o funcionamento de um algoritmo
Algoritmos e Programação
1 – Matrizes: Operações e Propriedades
Programação em Java Prof. Maurício Braga
PROPRIEDADES DOS DETERMINANTES
Aula 4: Matrizes e Operações Matriciais
Técnica de Programação II Vetor e Matriz
Algoritmos e Estruturas de Dados I – Estruturas de Dados
Determinantes Propriedades dos determinantes Matriz Transposta
Aula prática 6 Vetores e Matrizes
Matemática para Economia III
UNIVERSIDADE FEDERAL DE UBERLÂNDIA ENGENHARIA CIVIL INTRODUÇÃO À ALGORITMOS Professora: Fabíola Gonçalves.
MATRIZES.
Aula prática 6 Vetores e Matrizes
Instituto de Aplicação Fernando Rodrigues da Silveira (CAp/UERJ)
Estrutura de dados - Vetores
Vetores e Matrizes Ameliara Freire
MATRIZES Nas situações anteriores, cada variável do tipo vetor armazena os dados numa única fileira: Vetor de 8 posições Esta é a forma mais simples de.
Algoritmos e Estruturas de Dados I – Recursão
Algoritmos e Estruturas de Dados I – Recursão
Matemática para Economia III
Geometria analítica e álgebra linear
Campus de Caraguatatuba
Linguagem de Programação JAVA
Algoritmos e Estruturas de Dados I – Estruturas de Dados
Vetores Unidimensionais Sistemas de Informação Desenvolvimento de Sistemas para Web Prof. Gale.
Algoritmos e Estruturas de Dados I – Estruturas de Controle de Fluxo
Algoritmos e Estruturas de Dados I – Registros
Algoritmos e Estruturas de Dados I – Estrutura de Repetição
Linguagem de Programação JAVA
FACULDADE DE CIÊNCIAS SOCIAIS E TECNOLÓGICAS Tecnologia em Redes de Computadores Algoritmos e linguagens de programação 1 (aula 11) Prof. Alessandro Bernardo.
Vetores Unidimensionais Prof. Gale. A Variável A  Ilustrando: O que aconteceria no algoritmo... A  3 Escreva A A  5 Escreva A 3 5.
Algoritmos e Estruturas de Dados I – Estrutura de Repetição
Algoritmos e Estruturas de Dados I – Estruturas de Dados
Algoritmo e Estrutura de Dados I
Exercícios (Algoritmo Narrativo, Fluxograma e Pseudocódigo) RESOLVIDO
Linguagem de Programação II Parte VI Professora: Flávia Balbino da Costa.
Algoritmos e Estruturas de Dados I – Estrutura Condicional Profa. Mercedes Gonzales Márquez.
VETORES Roteiro da aula Referência ao Programa: Estrutura de Dados.  Variáveis Compostas homogenias Objetivo: apresentar VETOR.
©Prof. Lineu MialaretAula 4 - 1/27Matemática Discreta I Instituto Federal de Educação, Ciência e Tecnologia de São Paulo - IFSP Campus de Caraguatatuba.
Algoritmos e Estruturas de Dados I – Estruturas de Dados
Algoritmo Triângulo Problema: Precisa-se de um programa capaz de ler três valores para os lados de um triângulo e verificar se os lados fornecidos formam.
VETORES Roteiro da aula Referência ao Programa: Estrutura de Dados.  Variáveis Compostas homogenias Objetivo: apresentar VETOR.
Prof. Guilherme Alexandre Monteiro Reinaldo Recife
Profa. Mercedes Gonzales Márquez
Colégio CEEB Nova Friburgo, 29 de Agosto de 2014.
Exemplos com Operadores matemáticos
DETERMINANTES.
Arrays Outline 7.1 Introdução 7.2 Arrays 7.3 Declarando e Criando Arrays 7.4 Exemplos usando arrays 7.5 Ordenando arrays 7.6 Procurando em.
1Unidade 06 - Matriz Algoritmos e Linguagens de Programação Matriz Prof.: Guilherme Baião S. Silva Adaptações Prof. Edwar Saliba Júnior Março de 2007.
Programação II Matrizes Aulas de conteúdo 13 e 14 Autoria: Ernani Santos Modificação: Clebson Oliveira.
ALGEBRA LINEAR UNIDADE 1 MATRIZES
ALGEBRA LINEAR UNIDADE 1 MATRIZES
Fundamentos de Programação 1 Slides 6 – ‘Exercícios Gerais’ Prof. SIMÃO Jean Marcelo SIMÃO Estrutura de Dados Homogêneas “Exercícios””
MATEMÁTICA MATRIZES - 3º ANO PROFESSOR: ALEXSANDRO DE SOUSA E.E. Dona Antônia Valadares
V ETORES E M ATRIZES Disciplina: Informática Aplicada Professor: Modesto Chaves.
Algoritmos e Estruturas de Dados I – Estruturas de Dados
Transcrição da apresentação:

Algoritmos e Estruturas de Dados I – Estruturas de Dados Profa. Mercedes Gonzales Márquez

Matrizes – Estrutura composta homogênea bidimensional Uma matriz representa um conjunto de vetores de mesmo tamanho. Uma matriz possui m linhas e n colunas: – as linhas são numeradas de 1 a m – as colunas são numeradas de 1 a n Uma matriz pode armazenar (linhas * colunas)‏ elementos de um mesmo tipo 2

Uma matriz de m linhas e n colunas 1 2 3 4 n-1 n 1 2 3 4 m 3

Estrutura composta homogênea multidimensional - Há casos em que uma matriz é insuficiente para armazenar um conjunto de dados para um determinado programa. Nestes casos, é necessário definir uma estrutura de d-dimensões (Estrutura composta homogênea multidimensional). - Declaração geral para d dimensões: Tipo primitivo : variável[num_elem_ prim.dim] [num_elem_seg_dim]...[num_elem_d_dim] 4

Estrutura composta homogênea multidimensional Exemplos - tridimensional: inteiro: matriz[4][4][4] 5

Estrutura composta homogênea multidimensional 6

Estrutura composta homogênea multidimensional 7

Estrutura composta homogênea multidimensional 8

Estrutura Composta homogênea multidimensional Para acessar um vetor, o inserimos em um único laço de repetição, fazendo com que haja variação em seu índice. Como em uma estrutura multidimensional temos mais de um índice, faz-se necessária a utilização de mais laços de repetição, geralmente em mesmo número do que o número de dimensões da estrutura. As estruturas multidimensionais mais utilizadas são as bidimensionais (Matrizes). 9

Algumas Matrizes Especiais Matriz diagonal Nesta matriz apenas os elementos da diagonal principal ou secundária são significativos. Exemplos: 10

Algumas Matrizes Especiais Matriz triangular Nesse tipo de matriz, apenas os elementos da diagonal principal ou secundária e os abaixo (ou acima) possuem valores significativos. 11

Algumas Matrizes Especiais Matriz transposta É a matriz que resulta da troca de linhas por colunas em uma determinada matriz. Uma matriz simétrica é toda a matriz que é igual à sua transposta. 12

Matrizes Especiais Matriz simétrica e anti-simétrica Uma matriz é dita simétrica quando para todo I e J temos: M[I, J] = M[J, I] Uma matriz é dita anti-simétrica quando para todo I e J temos: M[I, J] = - M[J, I] 13

Matrizes - Exercícios (1) Construa um algoritmo que efetue a leitura de duas matrizes inteiras de dimensão 5x5, calcule e imprima a soma delas. Algoritmo <somamatrizes> inteiro:A[5][5],B[5][5],S[5][5],i,j inicio para i de 1 até 5 repita para j de 1 até 5 repita leia (A[i][j],B[i][j])‏ S[i][j] ← A[i][j]+B[i][j] fim para fim 14

Matrizes (2) Elabore um algoritmo que dada uma matriz 7 x 7 calcule a sua matriz transposta e ainda diga se ela é simétrica ou não. Algoritmo <matrizsimetrica> inteiro:A[7][7],i,j,flag inicio para i de 1 até 7 repita para j de 1 até 7 repita leia A[i][j] B[j][i] ← A[i][j] fim para flag ← 1 para i de 1 até 7 repita para j de 1 até 7 repita se (A[i][j]<>B[i][j])‏ flag ← 0 fim para Se (flag=1) então Escreva (“Simétrica”) senão Escreva (“Não Simétrica”) fim se fim 15

Matrizes (3) Elabore um algoritmo que leia duas matrizes inteiras A e B de dimensão 3x3 e calcule em uma matriz R, a multiplicação delas. 16

Matrizes Lembre-se que: 17

Matrizes Algoritmo <produtomatrizes> inteiro:A[3][3],B[3][3],R[3][3],i,j,k início para i de 1 até 3 repita para j de 1 até 3 repita leia (A[i][j],B[i][j])‏ fim para R[i][j] ← 0 para k de 1 até 3 repita R[i][j] ← A[i][k]*B[k][j]+R[i][j] fim 18

Matrizes (4) Faça um algoritmo que leia uma matriz M de 10x10 Troque a seguir A linha 2 com a linha 8 A coluna 4 com a coluna 10 A diagonal principal com a diagonal secundária A linha 5 com a coluna 10 19

Matrizes inteiro:M[10][10],i,j,t inicio M[5][i] ← M[i][10] Algoritmo <trocas> inteiro:M[10][10],i,j,t inicio para i de 1 até 10 repita para j de 1 até 10 repita leia (M[i][j])‏ fim para t ← M[2][i] M[2][i] ← M[8][i] M[8][i] ← t t ← M[i][4] M[i][4] ← M[i][10] M[i][10] ← t t ← M[5][i] M[5][i] ← M[i][10] M[i][10] ← t t ← M[i][i] M[i][i] ← M[i][11-i] M[i][11-i] ← t fim para fim 20

Matrizes (5) Faça um algoritmo que leia uma matriz M de dimensão 6x6 e um valor A, multiplique a matriz pelo valor A, coloque os valores da matriz multiplicados por A em um vetor de 36 elementos e imprima o vetor. Algoritmo <matriz_vetor> inteiro:M[6][6],V[36],A,i,j inicio leia (A)‏ para i de 1 até 6 repita para j de 1 até 6 repita leia (M[i][j])‏ V[(i-1)*6+j] ← A*M[i][j] fim para 21

Matrizes (6) Escreva um algoritmo que leia um número inteiro A e uma matriz de 30x30 de inteiros. Também deve contar quantos valores iguais a A estão na matriz e criar uma matriz X contendo todos os elementos diferentes de A. Nas outras posições deve se colocar o valor 0. 22

Matrizes inteiro:M[30][30],A,X[30][30],i,j,cont inicio leia (A)‏ Algoritmo <matriz_vetor> inteiro:M[30][30],A,X[30][30],i,j,cont inicio leia (A)‏ cont ← 0 para i de 1 até 30 repita para j de 1 até 30 repita leia (M[i][j])‏ se (M[i][j]=A) então X[i][j] ← 0 cont ← cont+1 senão X[i][j] ← M[i][j] fim se fim para 23

Matrizes (7) Escreva um algoritmo que leia uma matriz M de 12 x 13 e divide todos os 13 elementos de cada uma das linhas de M pelo maior elemento em módulo daquela linha. Algoritmo <divide_maior> inteiro:M[12][13],maior,i,j inicio para i de 1 até 12 repita maior ← 0 para j de 1 até 13 repita leia (M[i][j])‏ se (abs(M[i][j])>maior) então maior ← abs(M[i][j])‏ fim se fim para M[i][j] ← M[i][j]/maior fim 24

Matrizes (8) Escreva um algoritmo que leia uma matriz M de 5 x 5 e crie dois vetores SL[5] e SC[5] que contenham, respectivamente, as somas das linhas e das colunas de M. Escreva a matriz e os vetores criados. Algoritmo <soma_linhas_colunas> inteiro:M[5][5],SL[5],SC[5],i,j inicio /*Leitura de M[i][j]*/ para i de 1 até 5 repita SL[i] ← 0 SC[i] ← 0 para j de 1 até 5 repita SL[i] ← SL[i]+M[i][j] SC[i] ← SC[i]+M[j][i] fim para fim 25

Matrizes (9) Faça um algoritmo que leia uma matriz 20x15 de inteiros e calcule a soma das linhas pares da matriz. Algoritmo <soma_linhas_pares> inteiro:M[20][15],S,i,j inicio S ← 0 para i de 2 até 20 passo 2 repita para j de 1 até 15 repita leia (M[i][j])‏ S ← S+M[i][j] fim para fim 26

Matrizes (10) Na teoria de sistemas, define-se como elemento minimax de uma matriz o menor elemento da linha onde se encontra o maior elemento da matriz. Escreva um algoritmo que leia uma matriz 10x10 de inteiros e encontre seu elemento minimax, mostrando também sua posição. 27

Matrizes inteiro:M[10][10],minimax,maior,indi,indj,i,j inicio Algoritmo <minimax> inteiro:M[10][10],minimax,maior,indi,indj,i,j inicio maior ← -inf para i de 1 até 10 repita para j de 1 até 10 repita leia (M[i][j])‏ se (M[i][j]>maior) então maior ← M[i][j] indi ← i fim se fim para menor ← inf se (M[indi][j]<menor) então menor ← M[i][j] indj ← j fim Matrizes 28

Matrizes (11) Faça um algoritmo que leia uma matriz 12x12 de inteiros, calcule e escreva a soma da área hachurada na letra a e o maior elemento da área hachurada na letra b abaixo: 29

Matrizes maior ← -inf inteiro:M[12][12], i,j, maior início Algoritmo <areahachurada-b> inteiro:M[12][12], i,j, maior início para i de 1 até 12 repita para j de 1 até 12 repita leia (M[i][j])‏ fim para maior ← -inf para i de 1 até 6 repita para j de i até 13-i repita se (M[j][i]>maior) então maior← M[j][i]‏ fim se se (M[j][13-i]>maior) então maior← M[j][13-i]‏ fim Matrizes Algoritmo <areahachurada-a> inteiro:M[12][12], i,j, soma início soma ←0 para i de 1 até 12 repita para j de 1 até 12 repita leia (M[i][j])‏ fim para para i de 1 até 11 repita para j de 1 até 12-i repita soma← soma+M[i][j]‏ fim 30

Matrizes (12) Faça um algoritmo que leia uma matriz 12 x 12 e calcule e escreva: a. o menor elemento e a sua posição (índices) da área hachurada; b. a média dos elementos da área hachurada. 31

Matrizes soma ← soma+M[i][j] inteiro:M[12][12], i,j, menor Algoritmo <areahachurada-a> inteiro:M[12][12], i,j, menor início menor ←inf para i de 1 até 12 repita para j de 1 até 12 repita leia (M[i][j])‏ fim para para j de 13-i até 12 repita se (M[i][j]<menor) então menor← M[i][j]‏ fim se fim Algoritmo <areahachurada-b> inteiro:M[12][12], i,j, soma,media,cont início para i de 1 até 12 repita para j de 1 até 12 repita leia (M[i][j])‏ fim para soma ← 0 para i de 1 até 5 repita para j de i+1 até 12-i repita soma ← soma+M[i][j] soma ← soma+M[13-i][j] cont ←cont+1 media ←soma/cont fim 32

Matrizes (13) Uma certa fábrica produziu dois tipos de motores M1 e M2 nos meses de janeiro, ...,dezembro e o número de motores produzidos foi registrado na tabela a seguir: O setor de controle de vendas tem uma tabela do custo e do lucro (em unidades monétarias) obtidos com cada motor. 33

Matrizes (13) Faça um algoritmo que, a partir da produção mensal de motores M1 e M2 e seus respectivos custos e lucros, calcule o custo e lucro em cada um dos meses e o custo e lucro anuais. 34

Matrizes cla[j] ← 0 inteiro:P[12][2], C[12][2], para j de 1 até 2 repita cla[j] ← 0 para i de 1 até 12 repita cla[j]← cla[j]+C[i][j] fim para para i de 1 até 2 repita para j de 1 até 12 repita leia (C[i][j]) leia (cla[i]) Algoritmo <motores> inteiro:P[12][2], C[12][2], val[2][2],cla[2][2],i,j,k início para i de 1 até 2 repita leia (val[i][1], val[i][2]) para j de 1 até 12 repita leia (P[j][i]) fim para para i de 1 até 12 repita para j de 1 até 2 repita C[i][j] ← 0 para k de 1 até 2 repita C[i][j] ← P[i][k]*val[k][j]+C[i][j] 35

Matrizes Resolver os exercícios propostos sobre vetores e matrizes do livro de Harry Farrer. 36