Você está na página 1de 27

Agregados Homogêneos

Vetores e Matrizes
ALGORITMOS E ESTRUTURA DE DADOS
Prof. Ricardo Ferreira - ferreira.jose@estacio.br - (91) 98194-7745
ALGORITMOS E ESTRUTURA DE DADOS

Ao final da aula o(a) aluno(a) deverá


conhecer:


os mecanismos de armazenamento de dados em
Estruturas de Dados Homogêneas (Vetores e
Matrizes)
ALGORITMOS E ESTRUTURA DE DADOS

VETORES E MATRIZES:

Estrutura de Dados: A disciplina de "Estrutura de


Dados" estuda as possíveis alternativas que um
programador pode ter na hora de escolher a
estrutura de dados adequada para determinada
necessidade, considerando um melhor
gerenciamento de memória e o acesso mais rápido
à informação.

Trata do armazenamento e manipulação de dados


em memória principal.
ALGORITMOS E ESTRUTURA DE DADOS

VETORES E MATRIZES:

Algoritmos: Sequência de instruções


organizadas e sistematizadas utilizadas
para resolver um problema.
Um algoritmo não representa,
necessariamente, um programa de
computador, e sim os passos necessários
para realizar uma tarefa (problema).
ALGORITMOS E ESTRUTURA DE DADOS

VETORES E MATRIZES:

Programa de Computador:
Programa = Algoritmo + Estruturas de Dados
Implementação concreta de algoritmos
abstratos em uma determinada linguagem de
programação com a utilização de estruturas
de dados compatíveis ao problema.
ALGORITMOS E ESTRUTURA DE DADOS

VETORES E MATRIZES:

Estruturas de Dados:

Uma estrutura de dados retrata as relações lógicas


existente entre os dados.

Forma de organização dada às informações de


maneira a permitir o acesso a elas por um
algoritmo durante as operações de manipulação
que ocorrem na resolução de um
Problema.
ALGORITMOS E ESTRUTURA DE DADOS

VETORES E MATRIZES:

Estruturas de Dados:

Ao escolher uma estrutura de dados devemos


considerar alguns elementos importantes:
 De que forma essa estrutura de dados será
utilizada?
 Que métodos de manipulação essas estruturas
nos oferecem?
 Que tipo de alocação de memória ela utiliza?
ALGORITMOS E ESTRUTURA DE DADOS

VETORES E MATRIZES:

Tipos de Dados x Estruturas de Dados:


Tipo de dado = conjunto de valores (domínio)
que uma variável pode assumir e conjunto de
operações que podem ser aplicadas sobre
ele:
 Tipos de dados básicos (tipos primitivos)

Inteiro, Real e Alfanumérico.
ALGORITMOS E ESTRUTURA DE DADOS

VETORES E MATRIZES:

Tipos de Dados x Estruturas de Dados:


Tipo de dado = conjunto de valores (domínio)
que uma variável pode assumir e conjunto de
operações que podem ser aplicadas sobre
ele:
 Tipos de dados Derivados

Data, Hora, Blob.
ALGORITMOS E ESTRUTURA DE DADOS

VETORES E MATRIZES:

Tipos de Dados x Estruturas de Dados:


Tipo de dado = conjunto de valores (domínio)
que uma variável pode assumir e conjunto de
operações que podem ser aplicadas sobre
ele:
 Tipos de dados estruturados

Vetores, matrizes, registros ...
ALGORITMOS E ESTRUTURA DE DADOS

VETORES E MATRIZES:

Tipos de Dados x Estruturas de Dados:

Tipos Abstratos de Dados:


 Especificam conceitualmente os dados (sua
organização física e lógica);
 Definem operações para manipulação da
estrutura;
 Geralmente não são fornecidos diretamente
pela linguagem de programação;
 Exemplos: Fila, Lista, Pilha, Árvore, etc.
ALGORITMOS E ESTRUTURA DE DADOS

VETORES E MATRIZES:

Vetores e Matrizes:
Uma matriz é uma coleção de variáveis de
mesmo tipo, acessíveis com um único nome e
armazenados contiguamente na memória.
A individualização de cada variável de uma
matriz é feita através do uso de índices.
Vetores são casos especiais de matriz com
uma dimensão.
ALGORITMOS E ESTRUTURA DE DADOS

VETORES E MATRIZES:

Declaração de Matrizes:

int Vetor[5]; // declara um vetor de 5 posições

int Matriz[5][3]; // declara a matriz de 5 linhas e 3 colunas


ALGORITMOS E ESTRUTURA DE DADOS

VETORES E MATRIZES:

Acesso aos elementos do vetor:

Usa-se índices para acessar os elementos de um vetor. O


índice define a posição da variável dentro do vetor.

V[2] = 7; // Elemento de índice 2 recebe o valor 7.


ALGORITMOS E ESTRUTURA DE DADOS

VETORES E MATRIZES:

Acesso aos elementos do vetor:

Índices de vetor, em Linguagem C, iniciam na posição 0


(zero).
Assim, se tomarmos "K" como sendo o tamanho do vetor a
última posição é a de índice "K-1".

Vetor[0] = 4; // Coloca 4 na primeira posição de "Vetor"


Vetor[4] = 8; // Coloca 8 na quinta posição de "Vetor"
ALGORITMOS E ESTRUTURA DE DADOS

VETORES E MATRIZES:

Exemplos com Vetores:

int Vetor[5]; // declara um vetor de 5 posições


int Matriz[5][3]; // declara a matriz de 5 linhas e 3 colunas
Vetor[0] = 9; // atribui 9 para primeira posição do vetor
Vetor[4] = 30; // atribui 30 para última posição do vetor
Matriz[0][1] = 15; // atribui 15 para célula que está na
primeira linha e na segunda coluna da matriz
ALGORITMOS E ESTRUTURA DE DADOS

VETORES E MATRIZES:

Preenchimento de um vetor com um dado:

for(i=0; i<5; i++)


Vetor[i] = 30;
ALGORITMOS E ESTRUTURA DE DADOS

VETORES E MATRIZES:

Colocar os números de 1 a 5 em Vetor:

for(i=0; i<5; i++)


Vetor[i] = i+1;

Colocar os números de 5 a 1 em Vetor:

for(i=5; i>0; i--)


Vetor[5-i] = i;
ALGORITMOS E ESTRUTURA DE DADOS

VETORES E MATRIZES:

Uso de Constantes para definir o tamanho de um vetor:

#define TAM_MAX 10
double VetReais[TAM_MAX];
for(i=0; i<TAM_MAX; i++)
VetReais[i] = TAM_MAX - i; //coloca 5,4,3,2,1 no vetor
ALGORITMOS E ESTRUTURA DE DADOS

VETORES E MATRIZES:

Copiar os dados de um vetor para outro:

#define TAM_MAX 10
double VetReais[TAM_MAX], Copia[TAM_MAX];
for(i=0; i<TAM_MAX; i++)
VetCopia[i] = VetReais[i]; //Copia os dados de um
// vetor para outro
ALGORITMOS E ESTRUTURA DE DADOS

VETORES E MATRIZES:
Copiar os dados de um VET1 para as primeiras 5 posições
de COPIA e VET2 para as outras 5:

#define TAM_MAX 10
//Note que o vetor "Cópia" cria o dobro de posições
double Vet1[TAM_MAX], Vet2[TAM_MAX],
Copia[TAM_MAX*2];
for(i=0; i<TAM_MAX; i++)
VetCopia[i] = Vet1[i]; //Copia os dados do primeiro
for(i=0; i<TAM_MAX; i++)
VetCopia[i+TAM_MAX] = Vet2[i]; // Copia o segundo
ALGORITMOS E ESTRUTURA DE DADOS

VETORES E MATRIZES:

Leitura dos dados de um um vetor:

#define TAM_MAX 10
double Vet1[TAM_MAX];
for(i=0; i<TAM_MAX; i++)
cin >> Vet1[i];
ALGORITMOS E ESTRUTURA DE DADOS

VETORES E MATRIZES:

Somar um número a uma linha/coluna de uma matriz:

#define NLIN 10
int Coluna = 0;
for(i=0; i < NLIN; i++) // para cada linha de 'Coluna' 0
Matriz[i][Coluna] = Matriz[i][Coluna] + 30;
ALGORITMOS E ESTRUTURA DE DADOS

Encontrar o maior valor dentro de um vetor:

#define TAM_MAX 10
double Vet1[TAM_MAX];
double Maior;
for(i=0; i<TAM_MAX; i++)
cin >> Vet1[i];// lê os dados
Maior = Vet1[0]; // assume que o primeiro é o maior
for(i=0; i<TAM_MAX; i++)
if Vet1[i] > Maior
Maior = Vet1[i];
cout << "O maior elemento é: " << Maior << endl;
ALGORITMOS E ESTRUTURA DE DADOS

VETORES E MATRIZES:

Exemplos com Matrizes:

#define NLIN 10
#define NCOL 10
int Matriz[NLIN][NCOL];
ALGORITMOS E ESTRUTURA DE DADOS

VETORES E MATRIZES:

Preencher uma matriz com um dado:

for(i=0; i < NLIN; i++)


for(j=0; j < NCOL; j++)
Matriz[i][j] = 30;
Prof. Ricardo Ferreira
ferreira.jose@estacio.br
(91) 98194-7745

Você também pode gostar