Você está na página 1de 6

1

Lgica de Programao
Tipos de Dados Avanados
Tpicos Abordados
Vetores
Matrizes
Tipos de Dados Customizados
Declarao e manipulao de valores nestas
estruturas
Vetores
Um vetor (ou array) agrupa variveis com o
mesmo tipo de dado
Tem um tamanho pr-determinado
4 3 10 9 8 Array de 5 inteiros
2
Declarao de Vetores
Para declarar uma varivel como vetor,
duas informaes precisam ser fornecidas
Tipo de dado armazenado em cada posio
Tamanho do vetor
inteiro: v[5];
Tipo de dado
Nome da varivel
Os colchetes
determinam que
um vetor
Tamanho do vetor
ndices de um Vetor
Cada elemento ocupa uma posio dentro
do vetor
Esta posio numerada
Inicia em 0 e vai at o tamanho do vetor - 1
4 3 10 9 8
00 11 22 33 44
Cada elemento ocupa
uma posio
Tamanho 5
Atribuio de Valores
Como um vetor indexado, um valor deve
ser sempre colocado em uma posio
A posio acessada por [ e ]
inteiro: v[5];
00 11 22 33 44
v[2] = 7;
77
3
Atribuio de Valores
Quando um vetor criado, cada posio
inicializada com um valor padro
O valor depende do tipo de dados do vetor
Tipo de Dado Valor Inicial
inteiro 0
real 0
lgico FALSO
caractere "" (texto vazio)
Leitura de Valores
Para extrair um valor de um vetor, preciso
identificar a posio onde ele se encontra
6 3 8 4 2
00 11 22 33 44
inteiro: x;
x = v[3];
v
x recebe 4
Matrizes
Uma matriz um vetor composto por mais
de uma dimenso
00 11 22 33 44
00 11 22 33 44
00
11
22
33
Vetor (1 dimenso) Matriz (2 dimenses)
4
Matrizes
Matrizes podem ter n dimenses
O mais comum no passar de 3
Matriz (3 dimenses)
00 11 22 33 44
00
11
22
33
00
11
22
Declarao de Matrizes
Matrizes so declaradas da mesma forma
que vetores
inteiro: m[2][5];
Tipo de dado
Nome da varivel
A quantidade de
colchetes determina as
dimenses
Tamanho da
dimenso
Atribuio de Valores
necessrio fornecer a posio na matriz
A posio depende do nmero de dimenses
inteiro: m[2][5];
m[1][3] = 7;
00 11 22 33 44
00
11 77
5
Leitura de Valores
Para extrair um valor de uma matriz,
preciso identificar a posio onde ele se
encontra
inteiro: x;
x = m[1][2];
m
x recebe 3
0 4 3 8 6
00 11 22 33 44
7 2 3 5 9
00
11
Tipos de Dados Customizados
Alm dos tipos primitivos, novos tipos de
dados podem ser criados
Eles podem ser compostos por tipos
primitivos e at por outros tipos
customizados
tipo produto {
caractere: nome;
real: preco;
boolean: vendido;
}
produto: p;
p.nome = "Feijo";
p.preco = 3.50;
p.vendido = FALSO;
Declara uma varivel
p, do tipo produto
O '.' utilizado para
acessar os dados
Tipos de Dados Customizados
Um tipo de dado customizado pode ser
utilizado dentro de outro
tipo cliente {
caractere: nome;
caractere: cpf;
}
tipo conta {
inteiro: agencia;
inteiro: num_conta;
cliente: titular;
}
conta: c;
c.agencia = 234;
c.num_conta = 4354;
c.titular.nome = "Jos";
c.titular.cpf = "342.342.342-34";
6
Vetores e Matrizes
Tipos de dados customizados podem conter
vetores ou matrizes
tipo agenda {
caractere: nomes[10];
}
agenda: a;
a.nomes[0] = "Jos";
a.nomes[1] = "Joana";
...
possvel criar vetores e matrizes de
tipos customizados
caneta: canetas[5];
canetas[0].marca = "Bic";
canetas[1].marca = "Parker";
tipo caneta {
caractere: marca;
}