Buscar

PowerPoint Presentation2015-08-12 07-57-22839

Prévia do material em texto

Estruturas de Dados
Introdução
Antonio Cesar de Barros Munari 2
Tipos de dados
• Um tipo de dados é um conjunto de valores e uma 
coleção de operações sobre esses valores
• Os tipos de dados de uma linguagem podem ser 
classificados em dois grupos principais
– Tipos de dados primitivos
– Tipos de dados construídos
Tipos de dados primitivos
• São os tipos pré-definidos na linguagem e 
que, por esse motivo, são reconhecidos 
diretamente pelo compilador
• Exemplos
– Linguagem C: char, float, double, unsigned long
int, etc
– Pascal: Byte, Word, Longint, Single, etc
– .NET: Int16, Int64, UInt32, Double, etc
Antonio Cesar de Barros Munari 3
Tipos de dados construídos
• São tipos especificados pelo programador, 
combinando, por meio de mecanismos 
especiais, tanto os tipos de dados primitivos 
da linguagem como também outros tipos já 
construídos anteriormente
Antonio Cesar de Barros Munari 4
Mecanismos de construção de tipos
• Permitem especificar e implementar tipos 
de dados complexos
• Vários mecanismos são possíveis
– Arrays
– Registros
– Uniões
– Enumerações
– Ponteiros
Antonio Cesar de Barros Munari 5
Arrays
• São estruturas de dados homogêneas
– Permitem vários itens de dados, chamados 
elementos
– Todos os elementos são de mesmo tipo
– São alocados na memória por contiguidade
– Cada elemento é identificado por um índice
Antonio Cesar de Barros Munari 6
Arrays: exemplos em C
• Declaração
float valores[25];
char palavra[16];
int medidas[10][5];
• Manipulação
valores[0] = 4.235;
if( strcmp( palavra, “FIM” ) == 0 )
(...)
scanf( “%d”, &medidas[4][2] );
Antonio Cesar de Barros Munari 7
Registros
• São estruturas de dados heterogêneas
– Registros são chamados de structs em C/C++
– Permitem vários itens de dados, que em C/C++ são 
chamados de membros
– Os membros de uma struct não precisam ser todos do 
mesmo tipo
– Os membros de uma struct são alocados na memória por 
contiguidade
– Cada membro de uma struct é identificado por um nome
Antonio Cesar de Barros Munari 8
Registros: exemplos em C
• Definição
struct data { int dia, mes, ano; };
struct regAluno { int RA;
char nome[41];
char sexo;
struct data dataNasc;
};
• Declaração e manipulação de variável
struct regAluno vAluno;
vAluno.sexo = ‘M’;
Antonio Cesar de Barros Munari 9
Uniões
• São estruturas de dados que permitem que 
uma mesma região de memória possa ser 
utilizada com tipos de dados distintos
Antonio Cesar de Barros Munari 10
Uniões: exemplos em C
• Definição
union UNum { int inum;
float fnum;
char snum[4];
};
• Declaração e manipulação de variável
union UNum valor;
valor.inum = 3;
(...)
valor.fnum = 8.32;
Antonio Cesar de Barros Munari 11
Enumerações
• São listas de valores permitidos para um 
item de dado
Antonio Cesar de Barros Munari 12
Enumerações: exemplos em C
• Definição
enum bool { false, true };
enum dias { dom=1, seg, ter, qua, qui, sex, sab
};
• Declaração e manipulação de variável
enum bool resposta;
enum dias vDia;
vDia = seg;
if( resposta == false ) (...)
Antonio Cesar de Barros Munari 13
Enumerações
Antonio Cesar de Barros Munari 14
textBox1.BorderStyle = Fixed3D
Tipo Abstrato de Dados
• Um Tipo Abstrato de Dados (TDA) é um 
tipo de dados que é acessado somente 
através de uma interface. Chamamos o 
programa que usa um TDA de “cliente” e 
ao programa que especifica o tipo de dados 
damos o nome de “implementação”
Antonio Cesar de Barros Munari 15

Mais conteúdos dessa disciplina