Upload
arlanric
View
213
Download
0
Embed Size (px)
DESCRIPTION
Registros
Citation preview
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