Como descobrir e classificar coisas usando machine learning sem compilcação
Aula 6 aed - registros
1. Algoritmos e
Estruturas de Dados
Aula 5 e Aula 6
04 e 11/09/2012
Profª Ms. Engª Elaine Cecília Gatto
Unidade 5: Variáveis Compostas
Curso de Bacharelado em Engenharia de Computação
Universidade do Sagrado Coração – USC
Bauru/SP
2. Registros
• Registros são variáveis compostas heterogêneas;
• Conjunto em que os elementos não são do mesmo tipo;
• Conjunto heterogêneo de dados;
• Exemplo: formulário de inscrição em um evento. O formulário
é composto por vários campos que você deve preencher. Esses
campos são de tipos diferentes. Alguns são numéricos outros
são textos e, assim por diante.
• Um registro é composto por campos que são partes que
especificam cada uma das informações que o compõe.
• Uma variável do tipo registro é uma variável composta, pois
engloba um conjunto de dados, e é heterogenea, pois cada
campo pode ser de um tipo primitivo diferente.
3. Registros
• Exemplo: passagem de ônibus:
• Número da passagem
• Data
• Origem
• Destino
• Horário
• Poltrona
• Plataforma
• Idade
• Nome do passageiro
4. Registro
//definição do tipo de registro
Tipo regEmbarque = registro
inteiro: numPass, numPol, Idade;
caracter: nome, data, origem, destino, hor;
fimregistro;
//declaração da variável composta do tipo registro definido
regEmbarque: Embarque;
5. Registros
//lendo todos os campos do registro
leia(Embarque);
//escrevendo todos os camps do registro
escreva(Embarque);
//lendo/escrevendo um campo especifico do registro
leia(Embarque.numPoltrona);
escreva(Embarque.Data);
6. Registros
//acesso genérico ao registro
//ler todos os campos do registro;
leia(Embarque);
//acesso específico a um campo do registro
escreva(Embarque.Idade);
Se (Embarque.Idade < 18)
então escreva(Embarque.Nome, “ é menor”);
fimse;
7. Registros
• Registros também podem conter vetores e matrizes em sua
composição. Exemplo: registro de estoque
• Nome do produto
• Código do produto
• Preço do produto
• Baixa: 1 ( ) 2 ( ) 3 ( ) 4 ( ) 5 ( ) 6 ( )
• Sempre antes será necessário declarar o vetor/matrizes para
somente depois declarar o registro
8. Registros
//definição do tipo vetor
tipo vDias = vetor [1..6] de inteiros;
//definição do tipo registro
tipo regProduto = registro
inteiro: Cod;
caracter: Nome;
real: Preço;
vDias: Baixa; //vetor definido antes
fimregistro;
//declaração da variável composta do tipo registro
regProduto: Produto;
9. Registros
• Monte o registro para o seguinte formulário:
• Nome do Produto
• Código do Produto
• Preço do Produto
• Baixas:
1 2 3 4 5 6
1
2
3
4
10. Registros
tipo matDias = matriz [1..4, 1..6] de inteiros;
tipo regProduto = registro
inteiro: Cod;
caracter: Nome;
real: Preço;
matDias: Baixa;
fimregistro;
regProduto: Produto;
11. Registros
• Acesso aos elementos de um registro com matriz
• Exemplo 1: acessar quanto foi vendido do produto no terceiro
dia da quarta semana: Produto.Baixa[4,3]
• Exemplo 2: escreva o nome do produto, o código, o preço e as
baixas da segunda semana:
escreva(Produto.Nome);
escreva(Produto.Código);
escreva(Produto.Preço);
para J de 1 até 6 faça
escreva(Produto.Baixa[2,J]);
fimpara;
12. Registros
• Exemplo 3: totalize por dia de semana todos os dias do mês
para j de 1 até 6 faça
aux 0;
para i de 1 até 4 faça
aux aux + Produto.Baixa[i,j]
fimpara;
escreva(j, “ totalizou ” , aux, “ baixas”);
fimpara;
13. Registros
• Matrizes de Registros.
• Exemplo: suponha que queremos manter um registro de
informações relativas a todos os passageiros que embarcam
em um onibus. Um registro é usado para identificar cada
passageiro e, para agrupar todos eles, usamos o conjunto
desses registros, ou seja, uma matriz de registros. Suponha
que temos 44 lugares no onibus, numerados em sequencia de
1 a 44. Para unir esses registros criamos um vetor em que
cada posição é um elemento do tipo registro.
14. Registros
1
2
Número da passagem Assim, primeiro
devemos definir a
3 Data estrutura dos registros,
4 Origem no momento da
declaração. Somente
5 Destino
depois definimos o
6 Horário vetor.
7 Poltrona
8 Plataforma
9 Idade
.
Nome do passageiro
.
.
43
44
15. Registros
//definindo o tipo registro
tipo regEmbarque = registro
inteiro: numPas, NumPol, Idade;
caracter: Nome, Data, Origem, Destino, Hor;
fimregistro;
//definindo o tipo vetor
tipo vetEmbarque = vetor [1..44] de regEmbarque;
//definindo a variável composta
vetEmbarque: Onibus;
16. Registros
• Exemplo: declare um conjunto de registros que comporte as
informações de estoque, mas que desta vez permita armazenar 500
produtos diferentes em um vetor.
tipo matDias = matriz [1..4,1..6] de inteiros;
tipo regProduto = registro
inteiro: Cod;
caracter: Nome;
real: Preço;
matDias: Baixa;
fimregistro;
tipo vetEstoque = vetor [1..500] de regProduto;
vetEstoque: Produto;
17. Registros
• Qual é a baixa do décimo produto, da terceira semana do mês e do quarto dia
da semana? Resposta: Produto[10].Baixa[3,4]
• Imprima o total de movimentação do estoque para cada um dos 500 produtos:
para n de 1 até 500 faça
acm 0;
para i de 1 até 4 faça
para j de 1 até 6 faça
acm acm + Produto[n].Baixa[i,j];
fimpara;
fimpara;
escreva(Produto[n].Nome, acm);
fimpara;
18. Registros
• Mostre quantos são e o nome de todos os passageiros que possuem menos
de 18 anos
QM 0;
para i de 1 até 44 faça
se(Onibus[i].Idade < 18)
então início
escreva(Onibus[i].Nome);
QM QM +1;
fim;
fimse;
fimpara;
escreva(“Total de menores de idade no onibus: ”, QM);
19. Exercícios
1. Defina um registro para um cheque bancário.
2. Mostre a média de idade dos passageiros e o nome
daqueles que estejam acima desta média.
3. Uma biblioteca possui obras de ciências exatas, humanas e
biomédicas, totalizando 1500 volumes, 500 de cada área. O
proprietário resolveu informatizá-la e, para tal, agrupou as
informações sobre cada livro do seguinte modo:
• Código de catalogação
• Nome da obra
• Nome do autor
• Doação
• Editora
• Número de páginas
20. registros
a. Construa um algoritmo que declare tal estrutura e reúna
todas as informações de todas as obras em três vetores
distintos para cada área
b. Elabore um trecho de algoritmo que, utilizando como
premissa o que foi feito no item a, realize uma consulta às
informações. O usuário fornecerá código da obra e sua área;
existindo tal livro, informa seus campos; do contrário, envia
mensagen de aviso. A consulta repete-se até que o usuário
introduza código finalizador como valor -1.