Buscar

Estruturas de Dados Homogêneas: Matrizes e Vetores

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você viu 3, do total de 25 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você viu 6, do total de 25 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você viu 9, do total de 25 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Prévia do material em texto

ALGORITMOS
PROFESSORA: Gellars Tavares
2013
ESTRUTURAS DE DADOS 
HOMOGÊNEA 
Gellars Tavares - 2013
VETORES
Gellars Tavares - 2013
MATRIZ UNIDIMENSIONAL (VETOR):
As estruturas de dados homogêneas permitem agrupar
diversas informações dentro de uma mesma variável.
Este agrupamento ocorrerá obedecendo sempre ao
mesmo tipo de dado, e por esta razão que estas
estruturas são chamadas homogêneas.
A utilização deste tipo de estrutura de dados recebe
diversos nomes, como: variáveis indexadas, variáveis
compostas, variáveis subscrita, arranjos, vetores,
matrizes, tabelas em memória ou arrays. Os nomes
mais usados e que utilizaremos para estruturas
homogêneas são: matrizes (genérico) e vetores (matriz
de uma linha e várias colunas).
Gellars Tavares - 2013
DECLARAÇÃO DE UM VETOR:
Este tipo de estrutura em particular é também denominado por profissionais
da área como matrizes unidimensionais. Sua utilização mais comum está
vinculada à criação de tabelas. Caracteriza-se por ser definida uma única
variável vinculada dimensionada com um determinado tamanho. A
dimensão de uma matriz é constituída por constantes inteiras e positivas.
Os nomes dados às matrizes seguem as mesmas regras de nomes
utilizados para indicar as variáveis simples.
A sintaxe do comando de definição de vetores é a seguinte:
<tipo do elemento> <nome da variável> <quantidade de posições>
Algoritmo C++
real NOTA[10]; float NOTA[10];
Gellars Tavares - 2013
ATRIBUIÇÃO DE VALORES EM 
VETORES:
Para atribuir valor a uma posição de um vetor,
utilizamos o mesmo comando de atribuição de valor visto
anteriormente. A diferença é que necessitamos explicitar
em qual índice (posição) do vetor desejamos atribuir o
valor. Observe o exemplo:
Algoritmo C++
NOTA [4]← 5.8; NOTA [4] = 5.8;
Gellars Tavares - 2013
Esse comando armazena o valor 4,5 no índice 4 do vetor.
Observe que o valor é armazenado no índice 4. Quando observamos
o vetor, a posição utilizada é a quinta posição, pois a contagem dos
índices começa no valor zero.
0 1 2 3 4 5 6 7 8 9
5.8
NOTA
ATRIBUIÇÃO DE VALORES EM VETORES:
Gellars Tavares - 2013
índice
Na atribuição de valores para um vetor,
podemos utilizar qualquer detalhe que
observamos até aqui, isto é, podemos
atribuir um valor diretamente, podemos
atribuir o valor de uma variável ou podemos
atribuir o resultado de uma operação
(aritmética).
ATRIBUIÇÃO DE VALORES EM VETORES:
Gellars Tavares - 2013
LEITURA DE DADOS EM VETORES: 
A leitura de um vetor é feita passo a passo, um de seus
componentes por vez, usando a mesma sintaxe da
instrução primitiva da entrada de dados, onde além do
nome da variável, deve ser explicitada a posição do
componente lido:
Algoritmo C++
leia NOTA [4]; cin>>NOTA [4];
Gellars Tavares - 2013
ESCRITA DE DADOS EM VETORES:
A escrita de um vetor obedece à mesma sintaxe da
instrução primitiva de saída de dados e também vale
lembrar que, além do nome do vetor, deve-se também
especificar por meio do índice o componente a ser
escrito:
Algoritmo C++
escreva NOTA [4]; cout<<NOTA [4];
Gellars Tavares - 2013
Uma observação importante a ser feita é a utilização
da estrutura de repetição PARA a fim de efetuar a
operação de leitura ou escrita repetidas vezes, em cada
uma delas lendo ou escrevendo um determinado
componente do vetor. Esta construção é bastante comum
quando se trabalha com vetores, devido à necessidade de
se realizar uma mesma operação com os diversos
componentes dos mesmos. Na verdade, são raras as
situações que se deseja operar isoladamente com um
único componente do vetor.
ESCRITA DE DADOS EM VETORES:
Gellars Tavares - 2013
Exemplo utilizando a estrutura de repetição para entrada e saída de 
dados com vetor:
Algoritmo C++
algoritmo exemplo
real NOTA [10];
inteiro CONT;
inicio
para (CONT de 0 até 9 passo 1) faça
escreva (“Digite valor: “);
leia (NOTA [CONT]);
fim_para
para (CONT de 0 até 9 passo 1) faça
escreva (NOTA [CONT]);
fim_para
fim
#include<iostream>
using namespace std;
int main()
{
float NOTA [10];
int CONT;
for (CONT=0;CONT<=9;CONT++)
{
cout<<”Digite valor: “;
cin>>NOTA[CONT];
}
for (CONT=0;CONT<=9;CONT++)
{
cout<<NOTA [CONT];
}
system(“pause”);
return 0;
}
Gellars Tavares - 2013
MATRIZ
Gellars Tavares - 2013
MATRIZ BIDIMENSIONAL (MATRIZ):
Este tipo de estrutura também tem sua principal utilização à criação de
tabelas. Caracteriza-se por ser definida uma única variável vinculada
dimensionada com um determinado tamanho. A dimensão de uma matriz é
constituída por constantes inteira e positivas. Os nomes dados à matrizes
seguem as mesmas regras de nomes utilizados para indicar as variáveis
simples.
A matriz comporta-se como um vetor, com a diferença que ela utiliza o
conceito de linhas e colunas para armazenar dados.
Uma matriz também é uma variável que permite o armazenamento de
diversos dados sob um mesmo nome, apresentando posições diferentes
identificadas por índices. A diferença em relação ao vetor é que necessitamos
explicitar o índice da linha e o índice da coluna, para identificar a posição
desejada na matriz.
Gellars Tavares - 2013
DECLARAÇÃO DE UMA MATRIZ:
É necessário explicitar a quantidade de linhas e a
quantidade de colunas que a matriz terá (exatamente
nessa ordem).
Algoritmo C++
real NOTAS[10][5]; float NOTAS[10][5];
Gellars Tavares - 2013
O exemplo
declara uma matriz
do tipo real, com 10
linhas e cinco
colunas para
armazenamento de
dados. Dessa forma,
graficamente, ela
teria a aparência
exata de uma matriz
utilizada na
Matemática:
0 1 2 3 4
0
1
2
3
4
5
6
7
8
9
NOTAS
DECLARAÇÃO DE UMA MATRIZ:
Gellars Tavares - 2013
ATRIBUIÇÃO DE VALORES EM MATRIZES:
A atribuição segue o mesmo conceito apresentado
para os vetores. A diferença é que necessitamos explicitar
os índices de linha e coluna, da posição na qual
desejamos atribuir o valor. Observe o exemplo:
Algoritmo C++
NOTAS [4][2] ← 4.5; NOTAS [4][2] = 4.5;
Gellars Tavares - 2013
Esse comando
armazena o valor
4.5 no índice de
linha 4 e no índice
de coluna 2 da
matriz. A posição
encontra-se no
cruzamento dos
índices utilizados
no comando.
0 1 2 3 4
0
1
2
3
4 4.5
5
6
7
8
9
NOTAS
ATRIBUIÇÃO DE VALORES EM MATRIZES:
Gellars Tavares - 2013
LEITURA DE DADOS EM MATRIZES:
A leitura de uma matriz é feita passo a passo, um de
seus componentes por vez, usando a mesma sintaxe da
instrução primitiva da entrada de dados, onde além do
nome da variável, deve ser explicitada a posição do
componente lido:
Algoritmo C++
leia NOTAS [4][2]; cin>>NOTAS[4][2];
Gellars Tavares - 2013
ESCRITA DE DADOS EM MATRIZES:
A escrita de uma matriz obedece à mesma sintaxe da
instrução primitiva de saída de dados e também vale
lembrar que, além do nome do vetor, deve-se também
especificar por meio do índice o componente a ser
escrito:
Algoritmo C++
escreva NOTAS [4][2]; cout<<NOTAS [4][2];
Gellars Tavares - 2013
Da mesma forma que utilizamos a estrutura
de repetição PARA a fim de efetuar a operação
de leitura ou escrita repetidas vezes, em cada
uma delas lendo ou escrevendo um
determinado componente do vetor, utilizaremos
na matriz também.
ESCRITA DE DADOS EM MATRIZES:
Gellars Tavares - 2013
Exemplo utilizando a estrutura de repetição 
para entrada e saída de dados com matriz:
Algoritmo C++
algoritmo exemplo
real NOTAS [4][2];
inteiro C1,C2;
inicio
para (C1 de 0 até 3 passo 1) faça
para (C2 de 0 até 1 passo 1) faça
escreva (“Digite valor: “);
leia (NOTAS [C1][C2]);
fim_para
fim_para
para (C1 de 0 até 3 passo 1) faça
para (C2 de 0 até 1 passo 1) faça
escreva (NOTAS [C1][C2]);
fim_para
fim_para
fim
#include<iostream>
usingnamespace std;
int main()
{
float NOTAS [4][2];
int C1, C2;
for (C1=0;C1<=3;C1++) 
{
for (C2=0;C2<=1;C2++) 
{
cout<<”Digite valor: “;
cin>>NOTAS[C1][C2];
}
}
for (C1=0;C1<=9;C1++) 
{ 
for (C2=0;C2<=1;C2++)
{
cout<<NOTAS [C1][C2];
}
}
system(“pause”);
return 0;
} Gellars Tavares - 2013
O algoritmo possui dois pares de comandos de repetição
(comando para). O primeiro para serve para ler os dados e
armazenar o valor na matriz; o segundo, para apresentar todos os
valores armazenados na matriz;
Em cada par de comandos para, utilizamos o primeiro comando
para manipular os índices das linhas, e o segundo para manipular os
índices das colunas;
Como o algoritmo utiliza uma matriz que possui quantidades
diferentes para linhas e colunas, utilizamos a variável C1, para ser o
contador da quantidade de linhas, e a variável C2, para ser contador
da quantidade de colunas.
Gellars Tavares - 2013
REFERÊNCIAS BIBLIOGRAFICAS
1. FORBELLONE, André Luiz Villar; EBERSPACHER,
Henri. Lógica de programação. 3. ed. São Paulo: Makron Books,
2005.
2. ASCENCIO, Ana Fernanda Gomes; CAMPOS, Edilene
Aparecida Veneruchi. Fundamentos da programação de
computadores: Algoritmos, Pascal, C/C++ e Java. 2. ed. São
Paulo: Pearson Education, 2012.
Gellars Tavares - 2013
Perguntas
Gellars Tavares - 2013

Outros materiais