Você está na página 1de 6

25/07/2011

Lógica de Programação Tipos de Dados Avançados
Lógica de Programação
Tipos de Dados Avançados
Tópicos Abordados • Vetores • Matrizes • Tipos de Dados Customizados • Declaração e manipulação de
Tópicos Abordados
• Vetores
• Matrizes
• Tipos de Dados Customizados
• Declaração e manipulação de valores nestas
estruturas
Vetores • Um vetor (ou array) agrupa variáveis com o mesmo tipo de dado • Tem
Vetores
• Um vetor (ou array) agrupa variáveis com o
mesmo tipo de dado
• Tem um tamanho pré-determinado
Array de 5 inteiros
4
3
10
9
8

25/07/2011

Declaração de Vetores • Para declarar uma variável como vetor, duas informações precisam ser fornecidas •
Declaração de Vetores
• Para declarar uma variável como vetor, duas
informações precisam ser fornecidas
• Tipo de dado armazenado em cada posição
• Tamanho do vetor
Tipo de dado
Os colchetes
determinam que é
um vetor
inteiro: v[5];
Nome da variável
Tamanho do vetor
Índices de um Vetor • Cada elemento ocupa uma posição dentro do vetor • Esta posição
Índices de um Vetor
• Cada elemento ocupa uma posição dentro do
vetor
• Esta posição é numerada
Inicia em 0 e vai até o tamanho do vetor - 1
4
3
10
9
8
00
11
22
33
44
Tamanho 5
Cada elemento ocupa
uma posição
Atribuição de Valores • Como um vetor é indexado, um valor deve ser sempre colocado em
Atribuição de Valores
• Como um vetor é indexado, um valor deve ser
sempre colocado em uma posição
A posição é acessada por [ e ]
inteiro: v[5];
v[2] = 7;
77
00
11
22
33
44

25/07/2011

Atribuição de Valores • Quando um vetor é criado, cada posição é inicializada com um valor
Atribuição de Valores
Quando um vetor é criado, cada posição é
inicializada com um valor padrão
• O valor depende do tipo de dados do vetor
Tipo de Dado
Valor Inicial
inteiro
0
real
0
lógico
caractere
FALSO
"" (texto vazio)
Leitura de Valores • Para extrair um valor de um vetor, é preciso identificar a posição
Leitura de Valores
• Para extrair um valor de um vetor, é preciso
identificar a posição onde ele se encontra
v
6
3
8
4
2
00
11
22
33
44
inteiro: x;
x = v[3];
x recebe 4
Matrizes • Uma matriz é um vetor composto por mais de uma dimensão Vetor (1 dimensão)
Matrizes
• Uma matriz é um vetor composto por mais de
uma dimensão
Vetor (1 dimensão)
Matriz (2 dimensões)
00
11
22
33
44
00
11
00
11
22
33
44
22
33

25/07/2011

Matrizes • • Matrizes podem ter n dimensões O mais comum é não passar de 3
Matrizes
• Matrizes podem ter n dimensões
O mais comum é não passar de 3
Matriz (3 dimensões)
00
11
22
22
33
11
00
00
11
22
33
44
Declaração de Matrizes • Matrizes são declaradas da mesma forma que vetores A quantidade de colchetes
Declaração de Matrizes
• Matrizes são declaradas da mesma forma que
vetores
A quantidade de
colchetes determina as
dimensões
Tipo de dado
inteiro: m[2][5];
Nome da variável
Tamanho da
dimensão
Atribuição de Valores • É necessário fornecer a posição na matriz • A posição depende do
Atribuição de Valores
• É necessário fornecer a posição na matriz
• A posição depende do número de dimensões
inteiro: m[2][5];
00
11
22
33
44
00
77
11
m[1][3] = 7;

25/07/2011

Leitura de Valores • Para extrair um valor de uma matriz, é preciso identificar a posição
Leitura de Valores
• Para extrair um valor de uma matriz, é preciso
identificar a posição onde ele se encontra
00
11
22
33
44
m
4
3
0
8
6
00
7
2
3
5
9
11
inteiro: x;
x = m[1][2];
x recebe 3
Tipos de Dados Customizados • Além dos tipos primitivos, novos tipos de dados podem ser criados
Tipos de Dados Customizados
• Além 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;
Declara uma variável
p, do tipo produto
}
produto: p;
p.nome = "Feijão";
p.preco = 3.50;
p.vendido = FALSO;
O '.' é utilizado para
acessar os dados
Tipos de Dados Customizados • Um tipo de dado customizado pode ser utilizado dentro de outro
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";

25/07/2011

Vetores e Matrizes • Tipos de dados customizados podem conter vetores ou matrizes tipo agenda {
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";
...
• É possível criar vetores e matrizes de tipos
customizados
tipo caneta {
caractere: marca;
}
caneta: canetas[5];
canetas[0].marca = "Bic";
canetas[1].marca = "Parker";
Colocando em Prática ... Agora que você já aprendeu a teoria, acesse as vídeo-aulas práticas e
Colocando em Prática ...
Agora que você já
aprendeu a teoria,
acesse as vídeo-aulas
práticas e pratique os
assuntos abordados
neste módulo!
Clique aqui para acessar as vídeo-aulas práticas