Estruturas de Dados Tópicos Vetores Matrizes Registros

Slides:



Advertisements
Apresentações semelhantes
TÉCNICAS DE PROGRAMAÇÃO I
Advertisements

Visualg. Definição É um programa que executa algorítmos em forma de cálculos e a linguagem utilizada por ele é o Portugal, que é uma adaptação da linguagem.
Estruturas de Controle
Estruturas de Dados Algoritmos – Aula 04.
Operadores e Estruturas Condicionais 29/04/2014. Operadores Aritméticos.
Estruturas de Dados Algoritmos – Aula 04.
VETORES.
ESTRUTURAS DE DADOS Algoritmos – Aula 04. Estruturas de Dados  Tópicos  Vetores  Matrizes  Registros  Registro de Conjuntos  Conjuntos de Registros.
Visualg.
ALGORITMOS E LÓGICA DE PROGRAMAÇÃO
Lógica de Programação – Forbellone / Eberspacher Lógica de Programação Capítulo 4 Estruturas de Dados.
V ETORES E M ATRIZES Disciplina: Informática Aplicada Professor: Modesto Chaves.
Computação – Informática Aula N. 05 Prof. SIMÃO Jean Marcelo SIMÃO Linguagem C “Matrizes em C” 1.
Universidade Federal de Campina Grande – UFCG Centro de Ciências e Tecnologias – CCT Unidade Acadêmica de Engenharia Química - UAEQ Universidade Federal.
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).
Princípios de Desenvolvimento de Algoritmos MAC122 Prof. Dr. Paulo Miranda IME-USP Variáveis e Atribuições.
Introdução à Computação para Engenharia MAC2166
Tópicos Preliminares Algorítmos I.
Algoritmos e Estruturas de Dados I
Algoritmo e Lógica Programação Vetores e Matrizes
Algoritmo e Lógica Programação Modularização: Funções e Subalgoritmos
Algoritmos e Estruturas de Dados I
GRÁFICOS ESTATÍSTICOS
Bioestatística e Epidemiologia Aula 3: Medidas de Tendência Central
Monitora Izadora Bighetti Brito
Fundamentos de Mecânica
pROFEssor: jean vilela
IP – Listas Prof. Eduardo Falcão.
Fundamentos de Programação 1
Tópicos Preliminares (Tipos, Constante e Variável)
Profa. Mercedes Gonzales Márquez
Comandos da Linguagem C
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
Introdução à Programação BCC 201 Aula
Algoritmos e Estruturas de Dados I
GRÁFICOS DE CONTROLE.
Prof. Wellington Franco
Estruturas de Dados Vetores.
Prof. Wellington Franco
LÓGICA DE PROGRAMAÇÃO Prof. Andrew Rodrigues.
FUNDAMENTO DE PROGRAMAÇÃO
ALGEBRA LINEAR DIAGONALIZAÇÃO DE OPERADORES
Automatizando seus indicadores com Excel
Agenda Tipos de Informação Tipos de Dados Variáveis Constantes
Algoritmos e Programação MC102
Algoritmos e Programação I
Variáveis Compostas Homogêneas
Algoritmos Prof.: Carlos Alberto _1:
Movimento Retilíneo Uniforme Movimento Retilíneo Variado Vetores
Organização básica de arquivos
LÓGICA DE PROGRAMAÇÃO Estruturas de Decisão
Vetores: Exercícios Resolvidos
Linguagem PASCAL Tipos Estruturados
Algoritmos e Estruturas de Dados I – Estruturas de Dados
Algoritmos Prof.: Carlos Alberto
GRÁFICOS ESTATÍSTICOS
Programação Funcional
Computação Eletrônica Vetores e Matrizes
Algoritmos Prof.: Carlos Alberto
Prof. Paulo Cesar Spigolon (Paulinho)
Matrizes.
Vetores.
Programação II Mateus Raeder.
RESULUÇÃO DOS EXERCÍCIOS E
Aula 3 Professores: Conteúdo: Dante Corbucci Filho
Transcrição da apresentação:

Estruturas de Dados Tópicos Vetores Matrizes Registros Registro de Conjuntos Conjuntos de Registros

Matrizes O que é uma matriz? Uma estrutura de dados que contém várias variáveis do mesmo tipo Também denominadas Estruturas compostas homogêneas multidimensionais Permitem a manipulação de um conjunto de informações de um mesmo tipo primitivo

Matrizes Qual a diferença de vetores para matrizes? Vetores são, na verdade, matrizes de uma única dimensão: Matrizes Vetores 1 3 40 4 6 12 M J K G A C L Z H 1.1 7.5 9.2 8.8 9.0 1.3 5.5 7.9 1 3 4 6 a maria jota

Vetores: a quantidade de linhas é sempre 1! Matrizes As matrizes são, comumente referenciadas através de suas dimensões (quantidade de linhas e colunas) A notação comum é: MxN, onde M é a dimensão vertical (quantidade de linhas) N é dimensão horizontal (quantidade de colunas) Exemplo: 3x3 3x2 2x3 4x1 1x3 Vetores: a quantidade de linhas é sempre 1!

Matrizes Notação Como referenciar um elemento específico da matriz? Exemplo: Matriz 3x2 (três linhas e duas colunas) 1 2 As colunas variam de 1 até 2 1 2 As linhas variam de 1 até 3 3

Matrizes Notação Como referenciar um elemento específico da matriz? Exemplo: Matriz 3x2 (três linhas e duas colunas) 1 2 Coluna 1 1 1,1 Para acessar esse elemento, devemos observar qual cruzamento linha x coluna da matriz ele representa 2 3

Matrizes Notação Como referenciar um elemento específico da matriz? Exemplo: Matriz 3x2 (três linhas e duas colunas) 1 2 Linha 1 Coluna 2 1,1 1,2 1 2 3

Matrizes Notação Como referenciar um elemento específico da matriz? Exemplo: Matriz 3x2 (três linhas e duas colunas) 1 2 1,1 1,2 2,1 1 Linha 2 Coluna 1 2 3

Matrizes Notação Como referenciar um elemento específico da matriz? Exemplo: Matriz 3x2 (três linhas e duas colunas) 1 2 1,1 1,2 2,1 2,2 1 Linha 2 Coluna 2 2 3

Matrizes Notação Como referenciar um elemento específico da matriz? Exemplo: Matriz 3x2 (três linhas e duas colunas) 1 2 1,1 1,2 2,1 2,2 3,1 3,2 1 2 Linha 3 Coluna 2 Linha 3 Coluna 1 3

Sintaxe no VisualG Declaração: <nome_variavel>: vetor [li..lf, ci..cf] de <tipo> Onde: li e lf representam, respectivamente o índice inicial e final das linhas e ci e cf representam, respectivamente o índice inicial e final das colunas

Sintaxe no VisualG SALA : vetor [1..4, 1..4] de inteiro; Declaração - Exemplo: Onde: SALA: Nome da variável criada 1: Limite inicial da primeira e da segunda dimensão 4: Limite final da primeira e da segunda dimensão inteiro: Tipo primitivo base da matriz SALA : vetor [1..4, 1..4] de inteiro;

Sintaxe no VisualG Exemplo: Para declarar uma matriz 3x2 de inteiro algoritmo “exemplo_matriz” var exMatriz: vetor [1..3, 1..2] de inteiro inicio ... Linhas: o índice das linhas varia de 1 até 3 Colunas: o índice das colunas varia de 1 até 2

Sintaxe no VisualG Preenchendo e acessando uma matriz As posições das matrizes são identificados pelos índices das linhas e colunas Atribuição direta: Atribuição pelo teclado: <nome_variavel> [<linha>, <coluna>] <- <valor> leia(<nome_variavel> [<linha>, <coluna>])

Sintaxe no VisualG Exemplo: 1 2 1 2 3 exMatriz algoritmo “exemplo_matriz” var inicio exMatriz[1,1] <- 10 leia(exMatriz[1,2]) exMatriz[3,1] <- 4 fimalgoritmo exMatriz: vetor [1..3, 1..2] de inteiro 1 2 1 2 3 exMatriz

Sintaxe no VisualG Exemplo: 10 1 2 1 2 3 exMatriz algoritmo “exemplo_matriz” var exMatriz: vetor [1..3, 1..2] de inteiro inicio exMatriz[1,1] <- 10 leia(exMatriz[1,2]) exMatriz[3,1] <- 4 fimalgoritmo 1 2 1 2 3 10 exMatriz

Sintaxe no VisualG Exemplo: 1 2 1 2 3 10 7 exMatriz algoritmo “exemplo_matriz” var exMatriz: vetor [1..3, 1..2] de inteiro inicio exMatriz[1,1] <- 10 leia(exMatriz[1,2]) exMatriz[3,1] <- 4 fimalgoritmo 1 2 1 2 3 10 7 exMatriz

Sintaxe no VisualG Exemplo: 1 2 1 2 3 10 7 4 exMatriz algoritmo “exemplo_matriz” var exMatriz: vetor [1..3, 1..2] de inteiro inicio exMatriz[1,1] <- 10 leia(exMatriz[1,2]) exMatriz[3,1] <- 4 fimalgoritmo 1 2 1 2 3 10 7 4 exMatriz

Matrizes - Manipulação VAR SALA : vetor [1..4, 1..4] de inteiro; A, B : inteiro; Início SALA 1 2 3 4 7 12 1 SALA [ 2, 3 ] ¬ 5; 10 5 2 SALA [ 3, 2 ] ¬ 6; 6 11 SALA [ 1, 2 ] ¬ 7; 3 A ¬ 4; B ¬ 3; 9 8 4 SALA [ A, B ] ¬ 8; SALA [ A, B-2 ] ¬ 9; SALA [ A-2, B-2 ] ¬ 10; SALA [ B, A ] ¬ 11; SALA [ B-2, A ] ¬ 12;

Sintaxe no VisualG Preenchendo uma matriz Se quisermos atribuir valores a todas as posições da matriz, podemos fazer: algoritmo “preencher_matrizes” var numeros: vetor[1..3, 1..2] de inteiro i: inteiro inicio para i de 1 ate 3 faca //fazer o laço para as linhas a posicao ", i, ", escreva("Digite leia(numeros[i, escreva("Digite leia(numeros[i, valor para 1]) 2]) 1:") a posicao ", i, ", 2:") fimpara fimalgoritmo

Sintaxe no VisualG Preenchendo uma matriz Se quisermos atribuir valores a todas as posições da matriz, podemos fazer:

Sintaxe no VisualG Preenchendo uma matriz Entretanto, à medida que a quantidade de elementos da matriz aumenta, fica complicado fazermos manualmente para todas as posições. O melhor caminho é utilizar laços de repetição!

Sintaxe no VisualG Preenchendo uma matriz Podemos criar um laço de repetição para variar pelas linhas, por exemplo:

Sintaxe no VisualG Preenchendo uma matriz E podemos ainda incluir um laço de repetição para variar pelas colunas também, por exemplo:

Sintaxe no VisualG Preenchendo uma matriz Saída:

Sintaxe no VisualG Exibindo o conteúdo de uma matriz: ... escreva(“O valor que está na posição [1,1] é: ”, numeros[1,1]) [1,2] numeros[1,2]) [2,1] numeros[2,1]) [2,2] numeros[2,2]) [3,1] numeros[3,1]) [3,2] numeros[3,2]) fimalgoritmo

Sintaxe no VisualG Exibindo o conteúdo de uma matriz Exemplo: Ou podemos utilizar um laço de repetição para facilitar a exibição dos valores de uma matriz Criando um laço para percorrer as linhas: Exemplo:

Sintaxe no VisualG Exibindo o conteúdo de uma matriz E podemos ainda incluir um laço de repetição para variar pelas colunas também, por exemplo:

Matrizes

Matrizes Exemplo: Cartão da Loteria Esportiva Jg Coluna 1 Ept Coluna 2 Santos Corinthians 2 Flamengo Fluminense 3 Palmeiras São Paulo 4 Vasco Botafogo 5 Portuguesa XV de jaú 6 São Caetano XV de Piracicaba 7 Grêmio Internacional 8 Havaí Figueirense 9 Coritiba Atlético-PR 10 Paysandú Juventude 11 Atlético-MG Cruzeiro 12 Brasiliense Ponte Preta 13 Fortaleza Goiás 14 Esportivo Londrina

Matrizes Algoritmo 4.3 – Loteria Esportiva, jogo mais marcado var loteria : vetor [1..14, 1..3] de caractere; I,J,maisMar,nJogo,marLin : inteiro; inicio maisMar <- 0; para I de 1 ate 14 faca marLin <- 0; para J de 1 ate 3 faca se loteria[ I, J] = “x” entao marLin <- marLin + 1; fimse; fimpara; se marLin > maisMar entao maisMar <- marLin; nJogo <- I; escreva (“Jogo mais marcado: “, nJogo, “com “, maisMar) fimalgoritmo

Matrizes Algoritmo 4.4 – Loteria Esportiva, coluna mais marcada var loteria : vetor [1..14, 1..3] de caractere; I,J,maisMar,nColuna,marCol : inteiro; inicio maisMar <- 0; para J de 1 ate 3 faca marCol <- 0; para I de 1 ate 14 faca se loteria[ I, J] = “x”; então marCol <- marCol + 1; fimse; fimpara; se marCol > maisMar entao maisMar <- marCol; nColuna <- J; escreva (“Coluna mais marcada: “, nColuna, “ com “, maisMar) fimalgoritmo