Buscar

Variáveis Compostas Heterogêneas (Structs)

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ê também pode ser Premium ajudando estudantes

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ê também pode ser Premium ajudando estudantes

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ê também pode ser Premium ajudando estudantes
Você viu 3, do total de 18 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

Você também pode ser Premium ajudando estudantes

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ê também pode ser Premium ajudando estudantes

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ê também pode ser Premium ajudando estudantes
Você viu 6, do total de 18 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

Você também pode ser Premium ajudando estudantes

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ê também pode ser Premium ajudando estudantes

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ê também pode ser Premium ajudando estudantes
Você viu 9, do total de 18 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

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

1
C++
Variáveis Compostas 
Heterogêneas
Osmar de Oliveira Braz Junior
2
Objetivos
◼ Assuntos a serem abordados nesta 
apresentação
Variáveis Compotas Heterogêneas(TAD)
Declaração
Vetores de TAD
Leitura
Atribuição
3
Variáveis Compotas Heterogêneas
◼ Os tipos de dados que são mais comumente usados e que 
foram vistos com maior ênfase são: 
 Inteiro
 Real
 Literal
 Lógico
◼ Uma outra forma de definir uma variável é através do tipo 
Struct conhecido como Registro. 
◼ Esse tipo é diferente das demais formas de definir variáveis, 
porque permite que uma variável armazene valores de 
diversos tipos diferentes. 
◼ Ao contrario dos vetores e matrizes onde todas as posições 
de memória são de um mesmo tipo de dado.
4
Variáveis Compotas Heterogêneas
◼ Com este novo tipo de declaração você pode
criar variáveis compostas heterogêneas
definindo novos tipos de dados.
◼ Exemplo: Imagine que fosse desejado
armazenar informações de uma pessoa, tais
como: Nome, Idade, Altura e Peso.
◼ Na forma tradicional, seria necessário definir uma variável 
para cada tipo de informação, ou seja: 
5
#include <iostream>
#include <cstdlib>
using namespace std;
int main(int argc, char *argv[]){
//Declaração de variáveis
char nome[20];
int idade;
float altura;
float peso;
//Realiza o processamento e saída dos dados
return EXIT_SUCCESS;
}
Variáveis Compotas Heterogêneas
◼ Utilizando o tipo struct, a definição seria a seguinte: 
6
#include <iostream>
#include <cstdlib>
using namespace std;
struct Pessoa {
char nome[20];
int idade;
float altura;
float peso;
};
int main(int argc, char *argv[]){
//Declaração de variáveis
Pessoa p;
return EXIT_SUCCESS;
}
Variáveis Compotas Heterogêneas
7
Variáveis Compotas Heterogêneas
◼ Ao definir uma variável como sendo do tipo Struct,
devemos definir, também quais serão as partes
componentes desta variável (nome, idade, altura,
sexo, numerodependente e profissão), junto com o
seu tipo(da mesma forma que outras variáveis).
◼ Componentes de mesmo tipo são separados por
vírgulas (,). Componentes de tipos diferentes são
separadas por ponto e vírgula (;).
8
Variáveis Compotas Heterogêneas
◼ Quando estamos trabalhando com struct, as
partes componentes do mesmo recebem um Nome
próprio, o qual é conhecido como “campo” ou
“membro”.
9
Variáveis Compotas Heterogêneas
◼ Desta forma, um variável Struct pode ter campos de qualquer tipo
válido, sendo permitido inclusive que um Struct seja definido dentro do
outro, ou como parte de um Vetor ou Matriz.
10
Variáveis Compotas Heterogêneas
TAD
◼ Com este novo recurso você pode abstrair dados 
complexos como Sensor, Pessoa, Cliente, 
Fornecedor, Automóvel, Figura Geométrica, e 
assim por diante.
◼ Todas as entidades são compostas por diversos 
tipos de dados que precisam ser manuseados 
juntos durante a execução de um algoritmo. 
◼ Estes tipos de dados complexos são chamados de 
Tipo de Abstrato de Dados ou simplesmente 
TAD.
11
Variáveis Compotas Heterogêneas
Declaração
#include <iostream>
#include <cstdlib>
using namespace std;
int main(int argc, char *argv[]){
//Declaração de variáveis
char nome[20][10];
int idade[10]
float altura[10];
float peso[10];
//Realiza o processamento e saída dos dados
return EXIT_SUCCESS;
}
12
Variáveis Compotas Heterogêneas
Declaração
#include <iostream>
#include <cstdlib>
using namespace std;
struct Pessoa {
char nome[20];
int idade;
float altura;
float peso;
};
int main(int argc, char *argv[]){
//Declaração de variáveis
Pessoa pessoas[10];
Pessoa joao;
//Realiza o processamento e saída dos dados
return EXIT_SUCCESS;
}
13
Variáveis Compotas Heterogêneas
Atribuição
#include <iostream>
#include <cstdlib>
using namespace std;
struct Pessoa {
char nome[20];
int idade;
float altura;
float peso;
};
int main(int argc, char *argv[]){
//Declaração de variáveis
Pessoa pessoas[10];
Pessoa joao;
pessoas[0].idade = 20;
joao.idade = 19;
return EXIT_SUCCESS; 
}
14
Variáveis Compotas Heterogêneas
◼ O uso do “.” indica que esta variável possui 
campos, e que “Idade” é um deles. 
◼ É importante lembrar que as operações realizadas 
sobre uma variável struct, são as mesmas de uma 
variável “comum”, a única diferença que devemos 
indicar o Nome da variável, seguido de um 
ponto(.), seguido do Nome do campo.
◼ É possível atribuir o conteúdo de uma variável 
struct para outra variável, de mesmo tipo, da 
mesma forma que é feito como as outras variáveis.
15
Variáveis Compotas Heterogêneas 
Copiando
int main(int argc, char *argv[]){
//Declaração de variáveis
Pessoa A, B; 
strcpy(A.nome,"Joao");
A.idade = 19; 
//Copia A para B
B = A;
cout << "A.nome:" << A.nome << " A.idade:" << A.idade << endl;
cout << "B.nome:" << B.nome << " B.altura:" << B.idade;
return EXIT_SUCCESS;
}
#include <iostream>
#include <cstdlib>
#include <cstring>
using namespace std;
struct Pessoa {
char nome[20];
int idade;
float altura;
float peso; 
};
16
Conclusão
◼ Tipos Abstratos de Dados ou TAD que são 
implementados em C através de struct são 
importantes para abstrair e agrupar dados de um 
problema ser resolvido pois permitem nomear 
estas abstrações.
◼ Simplificam os programas pois permitem manusear 
os dados de forma agrupada, desde a declaração 
até a sua manipulação.
17
Bibliografia/Referências
◼ Stroustrup, Bjarne. The C++ Programming 
Language. 2019. Disponível em: 
“http://www.stroustrup.com/C++.html” 
18
Fim

Continue navegando