Buscar

CCT0826_2_agregados_heterogeneos_structs

Prévia do material em texto

ESTRUTURA DE DADOS - CCT0826
Semana Aula: 2
Agregados Heterogêneos + Structs
Tema
Agregados Heterogêneos + Structs
Palavras-chave
agregados heterogêneos, structs, operador ponto
Objetivos
Possibilitar ao aluno:
 - Reconhecer os conceitos relacionados aos Agregados Heterogêneos
 - Identificar como os agregados heterogêneos são representados em C++
- Elaborar códigos utilizando Structs e o operador ponto
- Desenvolver, no laboratório de informática, os conceitos sobre Structs e o operador 
ponto por meio de exercícios guiados
Estrutura de Conteúdo
CONTEÚDOS:
 
- Agregados Heterogêneos
 - Fundamentos
 - Aplicação em C++: Structs
 - Operador ponto
RESUMO DE CONCEITOS:
Conceito de Struct
 Coleção de variáveis referenciada por um único nome
 Maneira conveniente de se ter informações relacionadas agrupadas
 A definição de uma estrutura forma um modelo para criação de várias estruturas 
com a forma definida
struct <nome_estrutura>
{
 <tipo> nome_variavel;
 <tipo> nome_variavel;
 //...
 //...
} <var1>, ..., <varn>;
Exemplo 1 - sintaxe para definição de estruturas
 Toda declaração de estruturas deve começar com a palavra reservada struct 
seguida por um identificador, um nome que identifique a estrutura sendo 
declarada. Todas as variáveis que comporão os elementos da estrutura devem 
estar declaradas entre os operadores de escopo "{" e "}". Opcionalmente, após o 
delimitador de escopo, uma ou mais variáveis do tipo definido pela estrutura 
podem ser declaradas. É importante notar que a sintaxe de estruturas requer que 
um delimitador de comandos ";" seja colocado ao final da declaração.
 struct endereco
{
 char nome[30];
 char rua[40];
 char cidade[20];
 char estado[2];
 unsigned int numero;
 char CEP[8];
};
Exemplo 2 - definição de uma estrutura.
 O exemplo acima demonstra a declaração de uma estrutura que acomoda as 
informações requeridas por uma entrada num banco de endereços.
 Adicionalmente, podemos declarar quantas variáveis quisermos utilizando a 
estrutura definida.
 struct endereco end_info;
 Exemplo 3 - declaração de variáveis do tipo estrutura
 Referenciando Elementos de Estruturas (Operador Ponto)
 Podemos acessar os elementos de uma estrutura via o operador de referência ".".
end_info.nome = "Misato Katsuragi"; 
cout << end_info.cidade;
Exemplo 4 - acesso a elementos de uma estrutura usando o operador ".".
 
Atribuição de Estruturas
 Similarmente ao que ocorre com relação a variáveis atômicas, podemos atribuir 
uma variável tipo estrutura a outra.
struct endereco end1, end2;
end1 = end2;
Exemplo 5 - atribuição de estruturas.
 Ao atribuirmos uma estrutura a outra, todos os valores dos elementos da estrutura 
serão copiados.
#include <iostream>
using namespace std;
int main()
{
 struct
 {
 int a,b;
 } x, y;
 
 x.a = 10;
 y = x;
 cout << y.a;
 
 return 0;
}
Exemplo 6 - atribuição de estruturas
 
Arrays e Estruturas
 Podemos criar arrays de estruturas.
struct endereco end_info[1000];
cout << end_info[979].numero;
cout << end_info[178].nome;
Exemplo 7
Estratégias de Aprendizagem
Especificamente, é interessante que o aluno perceba a importância que a linguagem de 
programação que está sendo trabalhada possui no mundo do desenvolvimento.
Tal fato pode ser visualizado no Índice TIOBE 
(http://www.tiobe.com/index.php/content/paperinfo/tpci/index.html)
É importante que o aluno verifique como os conceitos que estão sendo trabalhados em 
sala de aula se diferenciam nas outras linguagens. 
Indicação de Leitura Específica
Aplicação: articulação teoria e prática
SUGESTÃO DE EXERCÍCIOS PARA SEMANA 02
 
TEÓRICOS
1. Ano: 2012 / Banca: CESGRANRIO / Órgão: PETROQUÍMICA SUAPE / Prova: 
Analista de Infraestrutura Pleno
 
A estrutura a seguir é usada para guardar os dados cadastrais dos alunos de uma 
turma.
 
typedef struct aluno 
{ 
 int matric; 
 char nome [31]; 
 float media;
} Aluno;
 
Considere que um determinado sistema de informação necessite de uma função 
que realize uma busca em um vetor de alunos que esteja ordenado 
descendentemente pelo campo nome da estrutura anterior (variável nome). Dado 
que o vetor se encontra ordenado, a função em questão deverá implementar o 
algoritmo de busca binária. O cabeçalho dessa função deverá ser o seguinte:
 
int busca(Aluno la[],char nm,int ini, int fin);
 
A função irá receber o vetor ordenado de alunos (variável la) e o nome de um 
aluno qualquer (variável nm). Caso exista no vetor um aluno com o nome passado 
como parâmetro (variável nm), a função deverá retornar a sua posição no vetor de 
alunos, caso contrário a função deverá retornar o inteiro -1. 
Qual implementação atinge os objetivos descritos acima?
 
http://www.tiobe.com/index.php/content/paperinfo/tpci/index.html
a)
 
b)
c)
 
d)
 
e)
 
 
PRÁTICOS
1. Defina uma estrutura que irá representar bandas de música. Essa estrutura deve ter 
o nome da banda, que tipo de música ela toca, o número de integrantes e em que 
posição do ranking essa banda está dentre as suas 5 bandas favoritas.
2. Construa uma declaração de struct em C++ que possa acomodar dados 
provenientes de uma tabela conforme o exemplo a seguir:
 
 
Considerações Adicionais

Continue navegando

Outros materiais