Algoritmos e Estruturas de Dados I – Estruturas de Dados

Slides:



Advertisements
Apresentações semelhantes
Algoritmos e Estruturas de Dados I – Estruturas de Dados
Advertisements

Algoritmos e Estruturas de Dados I – Estruturas de Dados
Fundamentos de Programação 1 Linguagem C Slides 03 – ‘Vetores’ Prof. SIMÃO Jean Marcelo SIMÃO Estrutura de Dados Homogêneas “Vetores” 1.
Computação – Informática Aula N. 05 Prof. SIMÃO Jean Marcelo SIMÃO Linguagem C “Matrizes em C” 1.
Estruturas Homogêneas - Matrizes
Linguagem de Programação – Aula 03 Prof. Me. Ronnison Reges Vidal.
1 Aula 11 Matrizes Prof. Filipe Mutz. Matrizes São estruturas de dados usadas para armazenar informações multidimensionais (que possuem mais de uma dimensão).
MATRIZ É uma tabela disposta em “m” linhas e “n” colunas.
Lógica de Programação Aula 26 Prof. Auler Gomes.
ÁLGEBRA MATRICIAL.
Algoritmos e Estruturas de Dados I
1) Defina sequências numéricas.
Algoritmos e Estruturas de Dados I
RODOLFO SOARES TEIXEIRA OBMEP NA ESCOLA
Algoritmos e Estruturas de Dados I
Algoritmo e Lógica Programação Vetores e Matrizes
Exercícios de Fixação.
Estruturas de Dados Tópicos Vetores Matrizes Registros
Algoritmos e Estruturas de Dados I
Lógica de Programação I
Introdução a Algoritmos
Bioestatística e Epidemiologia Aula 3: Medidas de Tendência Central
pROFEssor: jean vilela
Fundamentos de Programação 1
Profa. Mercedes Gonzales Márquez
Profa. Mercedes Gonzales Márquez
Algoritmos e Estruturas de Dados I
Algoritmos e Estruturas de Dados I
Algoritmos e Estruturas de Dados I
Algoritmos e Estruturas de Dados I
Prof. Wellington Franco Estrutura de um Programa Usando o VisuAlg
Prof. Wellington Franco
Prof. Wellington Franco
Introdução à Programação BCC 201 Aula
Algoritmos e Estruturas de Dados I
Algoritmos e Estruturas de Dados I
Introdução à Programação BCC 201 Aula
Prof. Wellington Franco
Estruturas de Dados Vetores.
Algoritmos e Fluxogramas
Prof. Wellington Franco
FUNDAMENTO DE PROGRAMAÇÃO PROF. BRUNO DE CASTRO H. SILVA
FUNDAMENTO DE PROGRAMAÇÃO
Exemplo 1 Criar um algoritmo que leia uma matriz 3x3 e exiba
VETORES.
Exercícios Crie um algoritmo que leia uma matriz 5x5. Em seguida, conte quantos números pares existem na matriz. Crie um algoritmo que leia uma matriz.
Algoritmos e Estruturas de Dados I
Estrutura de Repetição
Variáveis Compostas Homogêneas
Algoritmos Prof.: Carlos Alberto _1:
Consideremos o sistema
O que você deve saber sobre
MATRIZES É uma tabela disposta em “m” linhas e “n” colunas.
Vetores: Exercícios Resolvidos
Linguagem de Programação II
Linguagem PASCAL Tipos Estruturados
Vetores – Exercícios de Fixação
Profa. Mercedes Gonzales Márquez
Teorema de Laplace e Propriedades dos Determinantes
Computação Eletrônica Vetores e Matrizes
Aula 3 (Parte 2): Matrizes e Operações Matriciais
Algoritmos Prof.: Carlos Alberto
Matriz Matriz é uma tabela de elementos dispostos segundo linhas e colunas. Exemplo:
DHD – Desenvolvimento em Hardware
Matrizes Adauto Araújo Isabella Tenório.
MATRIZES.
Vetores.
Prof. Elisson de Andrade
Aula 7 Professores: Conteúdo: Dante Corbucci Filho
MATEMÁTICA.
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

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] 12

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 13

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 14

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. 15

Matrizes Lembre-se que: 16

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 17

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 18

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 19

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 20

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. 21

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 22

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 23

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 24

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 25

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. 26

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 27

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: 28

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 29

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. 30

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 31

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