1 / 25

Tipos Estruturados de Dados

Universidade Federal de Uberlândia Engenharia Civil. Tipos Estruturados de Dados. Professora: Fabíola Gonçalves. Agenda. Estrutura de Dados Heterogênea Sintaxe Acesso as variáveis Atribuição de Valores Array de Estruturas Atribuição entre Estruturas. Estrutura de Dados Heterogênea.

wang-jensen
Download Presentation

Tipos Estruturados de Dados

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Universidade Federal de UberlândiaEngenharia Civil Tipos Estruturados de Dados Professora: Fabíola Gonçalves.

  2. Agenda • Estrutura de Dados Heterogênea • Sintaxe • Acesso as variáveis • Atribuição de Valores • Array de Estruturas • Atribuição entre Estruturas

  3. Estrutura de Dados Heterogênea • As variáveis vistas até agora eram: • Simples: definidas por tipo int, real e char; • Compostas homogêneas: definidas por array; • É possível que se criem novas estruturas a partir dos tipos básicos.

  4. Estrutura de Dados Heterogênea • Estrutura: • Estrutura suporta K variáveis, cada qual com um tipo de dado próprio; • Sintaxe: estrutura nomestruct{ tipo1 campo1; tipo2 campo2; ... tipon campon; };

  5. Estrutura de Dados Heterogênea • Estrutura • Ex.: estrutura cadastro { char nome[100]; int idade; char rua[50]; int numero; } ; cadastro

  6. Estrutura de Dados HeterogêneaEstrutura - Declaração • Uma vez definida a estrutura, uma variável pode ser declarada de modo similar aos tipos já existente: • estrutura cadastro c; • Obs: por ser um tipo definido pelo programador, usa-se a palavra estrutura antes do tipo da nova variável. Palavra reservada Estrutura Já definida Nome variável

  7. Estrutura de Dados HeterogêneaEstrutura • O uso de estruturas facilita na manipulação dos dados do programa; • Imagine ter que declarar 4 cadastros, para 4 diferentes pessoas: char nome1[100], nome2[100], nome3[100], nome4[100]; int idade1, idade2, idade3, idade4; char rua1[50], rua2[50], rua3[50], rua4[50]; int numero1, numero2, numero3, numero4;

  8. Estrutura de Dados HeterogêneaEstrutura • Utilizando uma estrutura, o mesmo pode ser feito da seguinte maneira: • estrutura cadastro p1, p2, p3, p4, p5;

  9. Estrutura de Dados HeterogêneaEstrutura • Exercício: • Declare uma estrutura capaz de armazenar o número de um aluno e 3 notas para um dado aluno.

  10. Estrutura de Dados HeterogêneaEstrutura • Exercício: • Declare uma estrutura capaz de armazenar o número e 3 notas para um dado aluno. estrutura aluno { int num_aluno; int nota1, nota2, nota3; };

  11. Estrutura de Dados HeterogêneaEstrutura – Acesso às Variáveis • Como é feito o acesso às variáveis da estrutura? • Cada variável da estrutura pode ser acessada com o operador “.”. • Sintaxe: nomeEstrutura.nomeVariavel • Ex.: copiar(c.nome,"João"); c.idade = 18; copiar(c.rua,"Avenida Brasil"); c.numero = 1082;

  12. Estrutura de Dados HeterogêneaEstrutura – Acesso às Variáveis • Como nos arrays, uma estrutura pode ser previamente inicializada: estrutura ponto { int x; int y; }; estrutura ponto p1 = { 220, 110 }; Permite inicializar as variáveis da estrutura.

  13. Estrutura de Dados HeterogêneaEstrutura – Acesso às Variáveis • E se quiséssemos ler os valores das variáveis da estrutura do teclado? • Resposta: basta ler cada variável independentemente, respeitando seus tipos. EX: leia(c.nome); escreva(c.idade); leia(c.rua); escreva(c.numero);

  14. Estrutura de Dados HeterogêneaEstrutura – Acesso às Variáveis • Note que cada variável dentro da estrutura pode ser acessada como se apenas ela existisse, não sofrendo nenhuma interferência das outras. • Assim: • Uma estrutura pode ser vista como um simples agrupamento de dados.

  15. Estrutura de Dados HeterogêneaEstrutura • Voltando ao exemplo anterior, se, ao invés de 5 cadastros, quisermos fazer n cadastros?

  16. Estrutura de Dados HeterogêneaArray de Estrutura • SOLUÇÃO: criar um array de estruturas; • Sua declaração é similar a declaração de uma array de um tipo básico: • estrutura cadastro c[100]; • Desse modo, declara-se um array de 100 cadastros.

  17. Estrutura de Dados HeterogêneaArray de Estrutura • Lembrando: • estrutura: define um “conjunto” de variáveis que podem ser de tipos diferentes; • array: é uma “lista” de elementos de mesmo tipo. • Como assim?

  18. Estrutura de Dados HeterogêneaArray de Estrutura • Exercício: • Utilizando a estrutura do exercício anterior, faça um programa para ler o número e as 3 notas de 10 alunos.

  19. Estrutura de Dados HeterogêneaArray de Estrutura • Exercício: • Utilizando a estrutura do exercício anterior, faça um programa para ler o número e as 3 notas de 10 alunos. estrutura aluno { intnum_aluno; int nota1, nota2, nota3; }; estrutura aluno a[10]; int i; para i de 1 até 10 faça leia(a[i].num_aluno); leia(a[i].nota1); leia(a[i].nota2); leia(a[i].nota3); fim para

  20. Estrutura de Dados HeterogêneaAtribuição entre Estruturas • Atribuições entre estruturas só podem ser feitas quando os campos são IGUAIS! • Ex.: • estrutura cadastro c1,c2; • c1 = c2; //CORRETO • Ex: • estrutura cadastro c1; • estrutura ficha c2; • c1 = c2; //ERRADO!! TIPOS DIFERENTES

  21. Estrutura de Dados HeterogêneaAtribuição entre Estruturas • No caso de estarmos trabalhando com arrays, a atribuição entre diferentes elementos do array também é válida; • Ex: • estrutura cadastro c[10]; • c[1] = c[2]; //CORRETO • Note que nesse caso, os tipos dos diferentes elementos do array são sempre IGUAIS.

  22. Estrutura de Dados HeterogêneaEstrutura de Estruturas • Sendo uma estrutura um tipo de dado, podemos declarar uma estrutura que utilize outra estrutura previamente definida: estrutura endereco{ char rua[50] int numero; }; estrutura cadastro{ char nome[50]; int idade; estrutura enderecoender; };

  23. Estrutura de Dados HeterogêneaEstrutura de Estruturas • Nesse caso, o acesso aos dados do endereço do cadastro é feito utilizando novamente o operador “.”; estrutura cadastro c; copia(c.nome,"João"); c.idade = 18; copia(c.ender.rua,"Avenida Brasil"); c.ender.numero = 1082;

  24. Estrutura de Dados HeterogêneaEstrutura de Estruturas • Inicialização de uma estrutura de estruturas: estrutura ponto { int x, y; }; estrutura reta { estrutura ponto inicio, fim; }; estrutura reta r = {{10,20},{30,40}};

  25. Referências • Adaptada da apresentação de André Backes; • Martins, L. G. A., Silva, A. J. Introdução à Algoritmos. Apostila da FACOM-UFU.

More Related