Aula 08_Estruturas de Dados [Registros]
description
Transcript of Aula 08_Estruturas de Dados [Registros]
-
Estruturas de Dados
Varveis Compostas Heterogneas:
Registros
-
ESTRUTURAS DE DADOS
Inicialmente foi feita uma diviso imaginria (numrico,
caractere e lgico) com o objetivo de tornar mais simples a
classificao das informaes (dados) de um programa.
Em muitas situaes esses recursos so escassos. 2
Exemplo 01 Declarao de variveis
inteiro: a;
real: x;
caracter: s;
logico: l;
a = 5;
x = 8.34;
s = c;
l = VERDADEIRO;
-
ESTRUTURAS DE DADOS
As Estruturas de Dados so tipos de dados
(variveis) que podem ser construdos e organizados
a partir da composio dos tipos primitivos vistos
anteriormente e so classificados da seguinte forma:
Estrutura de Dados
Variveis Compostas Homogneas;
Unidimensionais (Vetores);
Multidimensionais (Matrizes).
Variveis Compostas Heterogneas
Registros
3
-
ESTRUTURAS DE DADOS
Variveis Compostas Homogneas;
Unidimensionais (Vetores);
Multidimensionais (Matrizes).
4
-
VARVEIS COMPOSTAS HETEROGNEAS
So variveis compostas por diferentes tipos
primitivos.
5
Heterognea (1, 2, Carro, Alagoas, 3.55)
-
EXEMPLO
Em um sistema de vendas de passagens de uma
empresa de nibus temos as seguintes informaes:
6 TIPO SADA CHEGADA KM POLTRONA VALOR TOTAL
Convencional 14/11/10 19/11/10 314 01-02 R$ 100,00 R$ 200,00
-
A PASSAGEM DE NIBUS PODE SER FORMADA POR UM CONJUNTO
DE INFORMAES LOGICAMENTE RELACIONADAS, MAS DE TIPOS
DIFERENTES.
Nmero da passagem (numrico);
Origem e Destino (caracteres);
Data (caracteres);
Horrio (numrico);
Poltrona (numrico);
Distncia (numrico);
Fumante (lgico: verdadeiro ou falso). 7
Como podemos
Armazenar estas
informaes em
um programa
Como podemos
Armazenar estas
informaes em
um programa
-
FREEMAT
No FreeMat as Variveis Compostas Heterogneas,
ou seja, as informaes logicamente relacionadas,
mas de tipos diferentes, podem ser armazenadas em
variveis do tipo registro.
8
-
Alguns detalhes que devem ser observados:
a) Varivel do tipo registro: passagem de nibus;
b) Cada campo do registro deve possuir um nome
associado a ele.
9
Nmero da passagem (numrico)
Origem e Destino (caracteres)
Data (caracteres)
Horrio (numrico)
Poltrona (numrico)
Distncia (numrico)
Fumante (lgico:)
Num
Origem/destino
Data
Horario
Poltrona
Dist
Fuma
-
REGISTRO: PASSAGEM DE NIBUS
10
-
11
Marca Marca
Modelo Modelo
Cor Cor
Ano Ano Placa Placa
EXEMPLO 1 - REGISTRO: CARRO
Quais so as
informaes
associadas ao carro?
-
12
-
EXEMPLO 02: FAZER UM PROGRAMA PARA LER INFORMAES ESCOLARES
DE UM ALUNO E ARMAZEN-LOS EM UM REGISTRO.
13
Nome Nome
Idade Idade
Serie Serie
Matricula Matricula
Quais so as
informaes
associadas ao aluno?
-
EXEMPLO 02: FAZER UM PROGRAMA PARA LER INFORMAES ESCOLARES
DE UM ALUNO E ARMAZEN-LOS EM UM REGISTRO.
14
Aluno = { };
Aluno.nome = input(Nome: , s);
Aluno.idade = input(Idade: );
Aluno.matri = input(Matricula: );
Aluno.serie = input(Serie: );
disp(Aluno);
-
15
E se ns desejarmos armazenar informaes sobre
vrios alunos?
Isso pode ser feito a partir da composio (combinao)
entre variveis compostas homogneas e heterogneas.
-
16
registro 1
registro 2
registro 3
registro 4
Variveis
Compostas
Homogneas
Variveis
Compostas
Homogneas
Variveis
Compostas
Heterogneas
Variveis
Compostas
Heterogneas
No to
complicado
quanto parece!
No to
complicado
quanto parece!
-
17
Exemplo 03:
for i = 1:1:4
aux = { };
aux.nome = input(Nome: ,s);
aux.idade = input(Idade: );
aux.matri = input(Matricula: );
aux.serie = input(Serie: );
aluno(i) = aux;
end
for i = 1:1:4
disp(aluno(i));
end
-
EXERCCIOS 03: FAZER UM PROGRAMA PARA LER E ARMAZENAR
INFORMAES SOBRE N ALUNOS. AS INFORMAES SO: NOME,
MDIA, APROVADO (S OU N) E SEXO (M OU F). PEDE-SE AINDA PARA IMPRIMIR O NMERO DE MULHERES APROVADAS.
18
Passos:
1 - Fazer leitura do nmero de alunos n; 2 - Fazer leitura das informaes dos alunos;
3 - Contabilizar o nmero de mulheres aprovadas;
4 - imprimir resultado na tela.
-
EXERCCIOS 03: FAZER UM PROGRAMA PARA LER E ARMAZENAR INFORMAES
SOBRE N ALUNOS. AS INFORMAES SO: NOME, MDIA, APROVADO (S OU N) E SEXO (M OU F). PEDE-SE AINDA PARA IMPRIMIR O NMERO DE MULHERES APROVADAS.
19
-
COLOCAR AS OPES ABAIXO NO
PROGRAMA DO EXEMPLO ANTERIOR
Armazenar as notas dos alunos;
Prova 1
Prova 2
Calcular a mdia dos alunos
Mdia = 0.3*(prova1) + 0.7*(prova2)
Imprimir a maior nota e o nome do aluno;
Imprimir listagem com o nome dos alunos
aprovados e suas notas;
20