Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
Algoritmos eEstruturas de DadosAula 5 e Aula 604 e 11/09/2012Profª Ms. Engª Elaine Cecília GattoUnidade 5: Variáveis Compo...
Registros• Registros são variáveis compostas heterogêneas;• Conjunto em que os elementos não são do mesmo tipo;• Conjunto ...
Registros• Exemplo: passagem de ônibus:•   Número da passagem•   Data•   Origem•   Destino•   Horário•   Poltrona•   Plata...
Registro//definição do tipo de registroTipo regEmbarque = registro       inteiro: numPass, numPol, Idade;       caracter: ...
Registros//lendo todos os campos do registroleia(Embarque);//escrevendo todos os camps do registroescreva(Embarque);//lend...
Registros//acesso genérico ao registro//ler todos os campos do registro;leia(Embarque);//acesso específico a um campo do r...
Registros• Registros também podem conter vetores e matrizes em sua  composição. Exemplo: registro de estoque•   Nome do pr...
Registros//definição do tipo vetortipo vDias = vetor [1..6] de inteiros;//definição do tipo registrotipo regProduto = regi...
Registros• Monte o registro para o seguinte formulário:•   Nome do Produto•   Código do Produto•   Preço do Produto•   Bai...
Registrostipo matDias = matriz [1..4, 1..6] de inteiros;tipo regProduto = registro         inteiro: Cod;         caracter:...
Registros• Acesso aos elementos de um registro com matriz• Exemplo 1: acessar quanto foi vendido do produto no terceiro  d...
Registros• Exemplo 3: totalize por dia de semana todos os dias do mêspara j de 1 até 6 faça   aux  0;   para i de 1 até 4...
Registros• Matrizes de Registros.• Exemplo: suponha que queremos manter um registro de  informações relativas a todos os p...
Registros 1 2       Número da passagem   Assim, primeiro                            devemos definir a 3     Data          ...
Registros//definindo o tipo registrotipo regEmbarque = registro                        inteiro: numPas, NumPol, Idade;    ...
Registros• Exemplo: declare um conjunto de registros que comporte as  informações de estoque, mas que desta vez permita ar...
Registros• Qual é a baixa do décimo produto, da terceira semana do mês e do quarto dia  da semana? Resposta: Produto[10].B...
Registros• Mostre quantos são e o nome de todos os passageiros que possuem menos  de 18 anosQM  0;para i de 1 até 44 faça...
Exercícios1. Defina um registro para um cheque bancário.2. Mostre a média de idade dos passageiros e o nome    daqueles qu...
registrosa. Construa um algoritmo que declare tal estrutura e reúna   todas as informações de todas as obras em três vetor...
Upcoming SlideShare
Loading in …5
×

Aula 6 aed - registros

2,712 views

Published on

  • Be the first to comment

Aula 6 aed - registros

  1. 1. Algoritmos eEstruturas de DadosAula 5 e Aula 604 e 11/09/2012Profª Ms. Engª Elaine Cecília GattoUnidade 5: Variáveis CompostasCurso de Bacharelado em Engenharia de ComputaçãoUniversidade do Sagrado Coração – USCBauru/SP
  2. 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. 3. Registros• Exemplo: passagem de ônibus:• Número da passagem• Data• Origem• Destino• Horário• Poltrona• Plataforma• Idade• Nome do passageiro
  4. 4. Registro//definição do tipo de registroTipo regEmbarque = registro inteiro: numPass, numPol, Idade; caracter: nome, data, origem, destino, hor;fimregistro;//declaração da variável composta do tipo registro definidoregEmbarque: Embarque;
  5. 5. Registros//lendo todos os campos do registroleia(Embarque);//escrevendo todos os camps do registroescreva(Embarque);//lendo/escrevendo um campo especifico do registroleia(Embarque.numPoltrona);escreva(Embarque.Data);
  6. 6. Registros//acesso genérico ao registro//ler todos os campos do registro;leia(Embarque);//acesso específico a um campo do registroescreva(Embarque.Idade);Se (Embarque.Idade < 18) então escreva(Embarque.Nome, “ é menor”);fimse;
  7. 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. 8. Registros//definição do tipo vetortipo vDias = vetor [1..6] de inteiros;//definição do tipo registrotipo regProduto = registro inteiro: Cod; caracter: Nome; real: Preço; vDias: Baixa; //vetor definido antesfimregistro;//declaração da variável composta do tipo registroregProduto: Produto;
  9. 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. 10. Registrostipo matDias = matriz [1..4, 1..6] de inteiros;tipo regProduto = registro inteiro: Cod; caracter: Nome; real: Preço; matDias: Baixa;fimregistro;regProduto: Produto;
  11. 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. 12. Registros• Exemplo 3: totalize por dia de semana todos os dias do mêspara 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. 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. 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 . .4344
  15. 15. Registros//definindo o tipo registrotipo regEmbarque = registro inteiro: numPas, NumPol, Idade; caracter: Nome, Data, Origem, Destino, Hor;fimregistro;//definindo o tipo vetortipo vetEmbarque = vetor [1..44] de regEmbarque;//definindo a variável compostavetEmbarque: Onibus;
  16. 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. 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. 18. Registros• Mostre quantos são e o nome de todos os passageiros que possuem menos de 18 anosQM  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. 19. Exercícios1. 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. 20. registrosa. 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 áreab. 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.

×