t ipos e struturados de d ados professora: fabíola gonçalves. universidade federal de uberlÂndia...
TRANSCRIPT
![Page 1: T IPOS E STRUTURADOS DE D ADOS Professora: Fabíola Gonçalves. UNIVERSIDADE FEDERAL DE UBERLÂNDIA ENGENHARIA CIVIL](https://reader035.vdocuments.mx/reader035/viewer/2022062312/552fc13c497959413d8dc146/html5/thumbnails/1.jpg)
TIPOS ESTRUTURADOS DE DADOS
Professora: Fabíola Gonçalves.
UNIVERSIDADE FEDERAL DE UBERLÂNDIA
ENGENHARIA CIVIL
![Page 2: T IPOS E STRUTURADOS DE D ADOS Professora: Fabíola Gonçalves. UNIVERSIDADE FEDERAL DE UBERLÂNDIA ENGENHARIA CIVIL](https://reader035.vdocuments.mx/reader035/viewer/2022062312/552fc13c497959413d8dc146/html5/thumbnails/2.jpg)
AGENDA
Estrutura de Dados Heterogênea Sintaxe Acesso as variáveis Atribuição de Valores Array de Estruturas Atribuição entre Estruturas
2
![Page 3: T IPOS E STRUTURADOS DE D ADOS Professora: Fabíola Gonçalves. UNIVERSIDADE FEDERAL DE UBERLÂNDIA ENGENHARIA CIVIL](https://reader035.vdocuments.mx/reader035/viewer/2022062312/552fc13c497959413d8dc146/html5/thumbnails/3.jpg)
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.
3
![Page 4: T IPOS E STRUTURADOS DE D ADOS Professora: Fabíola Gonçalves. UNIVERSIDADE FEDERAL DE UBERLÂNDIA ENGENHARIA CIVIL](https://reader035.vdocuments.mx/reader035/viewer/2022062312/552fc13c497959413d8dc146/html5/thumbnails/4.jpg)
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;
};
4
![Page 5: T IPOS E STRUTURADOS DE D ADOS Professora: Fabíola Gonçalves. UNIVERSIDADE FEDERAL DE UBERLÂNDIA ENGENHARIA CIVIL](https://reader035.vdocuments.mx/reader035/viewer/2022062312/552fc13c497959413d8dc146/html5/thumbnails/5.jpg)
ESTRUTURA DE DADOS HETEROGÊNEA
Estrutura
Ex.: estrutura cadastro {
char nome[100];int idade;char rua[50];int numero;
} ; cadastro
5
char nome[100];
int idade;
char rua[50];
int numero;
![Page 6: T IPOS E STRUTURADOS DE D ADOS Professora: Fabíola Gonçalves. UNIVERSIDADE FEDERAL DE UBERLÂNDIA ENGENHARIA CIVIL](https://reader035.vdocuments.mx/reader035/viewer/2022062312/552fc13c497959413d8dc146/html5/thumbnails/6.jpg)
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.
6
Palavrareservada
EstruturaJá definida
Nome variável
![Page 7: T IPOS E STRUTURADOS DE D ADOS Professora: Fabíola Gonçalves. UNIVERSIDADE FEDERAL DE UBERLÂNDIA ENGENHARIA CIVIL](https://reader035.vdocuments.mx/reader035/viewer/2022062312/552fc13c497959413d8dc146/html5/thumbnails/7.jpg)
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;
7
![Page 8: T IPOS E STRUTURADOS DE D ADOS Professora: Fabíola Gonçalves. UNIVERSIDADE FEDERAL DE UBERLÂNDIA ENGENHARIA CIVIL](https://reader035.vdocuments.mx/reader035/viewer/2022062312/552fc13c497959413d8dc146/html5/thumbnails/8.jpg)
ESTRUTURA DE DADOS HETEROGÊNEAESTRUTURA
Utilizando uma estrutura, o mesmo pode ser feito da seguinte maneira:
estrutura cadastro p1, p2, p3, p4, p5;
8
![Page 9: T IPOS E STRUTURADOS DE D ADOS Professora: Fabíola Gonçalves. UNIVERSIDADE FEDERAL DE UBERLÂNDIA ENGENHARIA CIVIL](https://reader035.vdocuments.mx/reader035/viewer/2022062312/552fc13c497959413d8dc146/html5/thumbnails/9.jpg)
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.
9
![Page 10: T IPOS E STRUTURADOS DE D ADOS Professora: Fabíola Gonçalves. UNIVERSIDADE FEDERAL DE UBERLÂNDIA ENGENHARIA CIVIL](https://reader035.vdocuments.mx/reader035/viewer/2022062312/552fc13c497959413d8dc146/html5/thumbnails/10.jpg)
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;
};
10
![Page 11: T IPOS E STRUTURADOS DE D ADOS Professora: Fabíola Gonçalves. UNIVERSIDADE FEDERAL DE UBERLÂNDIA ENGENHARIA CIVIL](https://reader035.vdocuments.mx/reader035/viewer/2022062312/552fc13c497959413d8dc146/html5/thumbnails/11.jpg)
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;
11
![Page 12: T IPOS E STRUTURADOS DE D ADOS Professora: Fabíola Gonçalves. UNIVERSIDADE FEDERAL DE UBERLÂNDIA ENGENHARIA CIVIL](https://reader035.vdocuments.mx/reader035/viewer/2022062312/552fc13c497959413d8dc146/html5/thumbnails/12.jpg)
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.
12
![Page 13: T IPOS E STRUTURADOS DE D ADOS Professora: Fabíola Gonçalves. UNIVERSIDADE FEDERAL DE UBERLÂNDIA ENGENHARIA CIVIL](https://reader035.vdocuments.mx/reader035/viewer/2022062312/552fc13c497959413d8dc146/html5/thumbnails/13.jpg)
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);
13
![Page 14: T IPOS E STRUTURADOS DE D ADOS Professora: Fabíola Gonçalves. UNIVERSIDADE FEDERAL DE UBERLÂNDIA ENGENHARIA CIVIL](https://reader035.vdocuments.mx/reader035/viewer/2022062312/552fc13c497959413d8dc146/html5/thumbnails/14.jpg)
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.
14
![Page 15: T IPOS E STRUTURADOS DE D ADOS Professora: Fabíola Gonçalves. UNIVERSIDADE FEDERAL DE UBERLÂNDIA ENGENHARIA CIVIL](https://reader035.vdocuments.mx/reader035/viewer/2022062312/552fc13c497959413d8dc146/html5/thumbnails/15.jpg)
ESTRUTURA DE DADOS HETEROGÊNEAESTRUTURA
Voltando ao exemplo anterior, se, ao invés de 5 cadastros, quisermos fazer n cadastros?
15
![Page 16: T IPOS E STRUTURADOS DE D ADOS Professora: Fabíola Gonçalves. UNIVERSIDADE FEDERAL DE UBERLÂNDIA ENGENHARIA CIVIL](https://reader035.vdocuments.mx/reader035/viewer/2022062312/552fc13c497959413d8dc146/html5/thumbnails/16.jpg)
ESTRUTURA DE DADOS HETEROGÊNEA
ARRAY 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.
16
![Page 17: T IPOS E STRUTURADOS DE D ADOS Professora: Fabíola Gonçalves. UNIVERSIDADE FEDERAL DE UBERLÂNDIA ENGENHARIA CIVIL](https://reader035.vdocuments.mx/reader035/viewer/2022062312/552fc13c497959413d8dc146/html5/thumbnails/17.jpg)
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?
17
![Page 18: T IPOS E STRUTURADOS DE D ADOS Professora: Fabíola Gonçalves. UNIVERSIDADE FEDERAL DE UBERLÂNDIA ENGENHARIA CIVIL](https://reader035.vdocuments.mx/reader035/viewer/2022062312/552fc13c497959413d8dc146/html5/thumbnails/18.jpg)
ESTRUTURA DE DADOS HETEROGÊNEA
ARRAY 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.
18
![Page 19: T IPOS E STRUTURADOS DE D ADOS Professora: Fabíola Gonçalves. UNIVERSIDADE FEDERAL DE UBERLÂNDIA ENGENHARIA CIVIL](https://reader035.vdocuments.mx/reader035/viewer/2022062312/552fc13c497959413d8dc146/html5/thumbnails/19.jpg)
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 {int num_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
19
![Page 20: T IPOS E STRUTURADOS DE D ADOS Professora: Fabíola Gonçalves. UNIVERSIDADE FEDERAL DE UBERLÂNDIA ENGENHARIA CIVIL](https://reader035.vdocuments.mx/reader035/viewer/2022062312/552fc13c497959413d8dc146/html5/thumbnails/20.jpg)
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
20
![Page 21: T IPOS E STRUTURADOS DE D ADOS Professora: Fabíola Gonçalves. UNIVERSIDADE FEDERAL DE UBERLÂNDIA ENGENHARIA CIVIL](https://reader035.vdocuments.mx/reader035/viewer/2022062312/552fc13c497959413d8dc146/html5/thumbnails/21.jpg)
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.
21
![Page 22: T IPOS E STRUTURADOS DE D ADOS Professora: Fabíola Gonçalves. UNIVERSIDADE FEDERAL DE UBERLÂNDIA ENGENHARIA CIVIL](https://reader035.vdocuments.mx/reader035/viewer/2022062312/552fc13c497959413d8dc146/html5/thumbnails/22.jpg)
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 endereco ender;};
22
![Page 23: T IPOS E STRUTURADOS DE D ADOS Professora: Fabíola Gonçalves. UNIVERSIDADE FEDERAL DE UBERLÂNDIA ENGENHARIA CIVIL](https://reader035.vdocuments.mx/reader035/viewer/2022062312/552fc13c497959413d8dc146/html5/thumbnails/23.jpg)
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;
23
![Page 24: T IPOS E STRUTURADOS DE D ADOS Professora: Fabíola Gonçalves. UNIVERSIDADE FEDERAL DE UBERLÂNDIA ENGENHARIA CIVIL](https://reader035.vdocuments.mx/reader035/viewer/2022062312/552fc13c497959413d8dc146/html5/thumbnails/24.jpg)
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}};
24
![Page 25: T IPOS E STRUTURADOS DE D ADOS Professora: Fabíola Gonçalves. UNIVERSIDADE FEDERAL DE UBERLÂNDIA ENGENHARIA CIVIL](https://reader035.vdocuments.mx/reader035/viewer/2022062312/552fc13c497959413d8dc146/html5/thumbnails/25.jpg)
REFERÊNCIAS
Adaptada da apresentação de André Backes;
Martins, L. G. A., Silva, A. J. Introdução à Algoritmos. Apostila da FACOM-UFU.
25