SlideShare uma empresa Scribd logo
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
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.
Registros
• Exemplo: passagem de ônibus:

•   Número da passagem
•   Data
•   Origem
•   Destino
•   Horário
•   Poltrona
•   Plataforma
•   Idade
•   Nome do passageiro
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;
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);
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;
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
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;
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
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;
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;
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;
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.
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
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;
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;
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;
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);
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
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.

Mais conteúdo relacionado

Mais procurados

Modelação de Dados
Modelação de DadosModelação de Dados
Modelação de Dados
Alberto Simões
 
Exercicios resolvidos visuAlg
Exercicios resolvidos visuAlgExercicios resolvidos visuAlg
Exercicios resolvidos visuAlg
Willians Miyabara
 
Modelagem de dados
Modelagem de dados Modelagem de dados
Modelagem de dados
Fábio Ferreira
 
Material de Apoio de Algoritmo e Lógica de Programação
Material de Apoio de Algoritmo e Lógica de ProgramaçãoMaterial de Apoio de Algoritmo e Lógica de Programação
Material de Apoio de Algoritmo e Lógica de Programação
rodfernandes
 
Metodologia orientado a objetos
Metodologia orientado a objetosMetodologia orientado a objetos
Metodologia orientado a objetos
Gabriel Faustino
 
Sql com sql server básico - Bóson treinamentos
Sql com sql server básico - Bóson treinamentosSql com sql server básico - Bóson treinamentos
Sql com sql server básico - Bóson treinamentos
Fábio dos Reis
 
Aula 6 - SAM - Imagens
Aula 6 - SAM - ImagensAula 6 - SAM - Imagens
Aula 6 - SAM - Imagens
Guilherme Nonino Rosa
 
Lógica de programação { para iniciantes }
Lógica de programação { para iniciantes }Lógica de programação { para iniciantes }
Lógica de programação { para iniciantes }
Mariana Camargo
 
Estrutura de Dados - Aula 01
Estrutura de Dados - Aula 01Estrutura de Dados - Aula 01
Estrutura de Dados - Aula 01
thomasdacosta
 
Aula 4 - Diagrama Entidade Relacionamento (com exercício no final)
Aula 4  - Diagrama Entidade Relacionamento (com exercício no final)Aula 4  - Diagrama Entidade Relacionamento (com exercício no final)
Aula 4 - Diagrama Entidade Relacionamento (com exercício no final)
Janynne Gomes
 
Aula 9 banco de dados
Aula 9   banco de dadosAula 9   banco de dados
Aula 9 banco de dados
Jorge Ávila Miranda
 
Apresentando a Linguagem de Programação Python
Apresentando a Linguagem de Programação PythonApresentando a Linguagem de Programação Python
Apresentando a Linguagem de Programação Python
Priscila Mayumi
 
Psi m14
Psi m14Psi m14
Psi m14
Luis Ferreira
 
Pseudocódigo ou Portugol (Lógica de Programação)
Pseudocódigo ou Portugol (Lógica de Programação)Pseudocódigo ou Portugol (Lógica de Programação)
Pseudocódigo ou Portugol (Lógica de Programação)
Gercélia Ramos
 
Python - Introdução
Python - IntroduçãoPython - Introdução
Python - Introdução
fabiocerqueira
 
01 banco de dados-basico
01 banco de dados-basico01 banco de dados-basico
01 banco de dados-basico
Amadeo Santos
 
Arrays (vetores) em Java
Arrays (vetores) em JavaArrays (vetores) em Java
Arrays (vetores) em Java
Daniel Brandão
 
Guia prático para criar algoritmos
Guia prático para criar algoritmosGuia prático para criar algoritmos
Guia prático para criar algoritmos
Mauro Pereira
 
Lista de exercicios algoritmos com pseudocodigo
Lista de exercicios   algoritmos com pseudocodigoLista de exercicios   algoritmos com pseudocodigo
Lista de exercicios algoritmos com pseudocodigo
Mauro Pereira
 
Estrutura de Dados - Aula 02 - Estrutura de Dados e TAD
Estrutura de Dados - Aula 02 - Estrutura de Dados e TADEstrutura de Dados - Aula 02 - Estrutura de Dados e TAD
Estrutura de Dados - Aula 02 - Estrutura de Dados e TAD
Leinylson Fontinele
 

Mais procurados (20)

Modelação de Dados
Modelação de DadosModelação de Dados
Modelação de Dados
 
Exercicios resolvidos visuAlg
Exercicios resolvidos visuAlgExercicios resolvidos visuAlg
Exercicios resolvidos visuAlg
 
Modelagem de dados
Modelagem de dados Modelagem de dados
Modelagem de dados
 
Material de Apoio de Algoritmo e Lógica de Programação
Material de Apoio de Algoritmo e Lógica de ProgramaçãoMaterial de Apoio de Algoritmo e Lógica de Programação
Material de Apoio de Algoritmo e Lógica de Programação
 
Metodologia orientado a objetos
Metodologia orientado a objetosMetodologia orientado a objetos
Metodologia orientado a objetos
 
Sql com sql server básico - Bóson treinamentos
Sql com sql server básico - Bóson treinamentosSql com sql server básico - Bóson treinamentos
Sql com sql server básico - Bóson treinamentos
 
Aula 6 - SAM - Imagens
Aula 6 - SAM - ImagensAula 6 - SAM - Imagens
Aula 6 - SAM - Imagens
 
Lógica de programação { para iniciantes }
Lógica de programação { para iniciantes }Lógica de programação { para iniciantes }
Lógica de programação { para iniciantes }
 
Estrutura de Dados - Aula 01
Estrutura de Dados - Aula 01Estrutura de Dados - Aula 01
Estrutura de Dados - Aula 01
 
Aula 4 - Diagrama Entidade Relacionamento (com exercício no final)
Aula 4  - Diagrama Entidade Relacionamento (com exercício no final)Aula 4  - Diagrama Entidade Relacionamento (com exercício no final)
Aula 4 - Diagrama Entidade Relacionamento (com exercício no final)
 
Aula 9 banco de dados
Aula 9   banco de dadosAula 9   banco de dados
Aula 9 banco de dados
 
Apresentando a Linguagem de Programação Python
Apresentando a Linguagem de Programação PythonApresentando a Linguagem de Programação Python
Apresentando a Linguagem de Programação Python
 
Psi m14
Psi m14Psi m14
Psi m14
 
Pseudocódigo ou Portugol (Lógica de Programação)
Pseudocódigo ou Portugol (Lógica de Programação)Pseudocódigo ou Portugol (Lógica de Programação)
Pseudocódigo ou Portugol (Lógica de Programação)
 
Python - Introdução
Python - IntroduçãoPython - Introdução
Python - Introdução
 
01 banco de dados-basico
01 banco de dados-basico01 banco de dados-basico
01 banco de dados-basico
 
Arrays (vetores) em Java
Arrays (vetores) em JavaArrays (vetores) em Java
Arrays (vetores) em Java
 
Guia prático para criar algoritmos
Guia prático para criar algoritmosGuia prático para criar algoritmos
Guia prático para criar algoritmos
 
Lista de exercicios algoritmos com pseudocodigo
Lista de exercicios   algoritmos com pseudocodigoLista de exercicios   algoritmos com pseudocodigo
Lista de exercicios algoritmos com pseudocodigo
 
Estrutura de Dados - Aula 02 - Estrutura de Dados e TAD
Estrutura de Dados - Aula 02 - Estrutura de Dados e TADEstrutura de Dados - Aula 02 - Estrutura de Dados e TAD
Estrutura de Dados - Aula 02 - Estrutura de Dados e TAD
 

Semelhante a Aula 6 aed - registros

aula 11 de logica de programacao
aula 11 de logica de programacaoaula 11 de logica de programacao
aula 11 de logica de programacao
Aislan Rafael
 
Linguagem C - Structs [exercícios]
Linguagem C - Structs [exercícios]Linguagem C - Structs [exercícios]
Linguagem C - Structs [exercícios]
Matheus Alves
 
Java Básico :: Introdução
Java Básico :: IntroduçãoJava Básico :: Introdução
Java Básico :: Introdução
Wesley R. Bezerra
 
Aula Algoritmo e Programação - cap2
Aula Algoritmo e Programação - cap2Aula Algoritmo e Programação - cap2
Aula Algoritmo e Programação - cap2
Cloves da Rocha
 
Criação de log de ações através do banco
Criação de log de ações através do bancoCriação de log de ações através do banco
Criação de log de ações através do banco
Marcos Thomaz
 
Criação de log de ações através do banco - PostgreSQL
Criação de log de ações através do banco - PostgreSQLCriação de log de ações através do banco - PostgreSQL
Criação de log de ações através do banco - PostgreSQL
Marcos Thomaz
 
Introdução a JavaScript
Introdução a JavaScriptIntrodução a JavaScript
Introdução a JavaScript
Bruno Catão
 
Pascal Registros
Pascal RegistrosPascal Registros
Pascal Registros
Regis Magalhães
 
Java Básico
Java BásicoJava Básico
Java Básico
Wesley R. Bezerra
 
Aula02
Aula02Aula02
02 - Introdução a lógica de programação parte 2 - v1.2
02 - Introdução a lógica de programação parte 2 - v1.202 - Introdução a lógica de programação parte 2 - v1.2
02 - Introdução a lógica de programação parte 2 - v1.2
César Augusto Pessôa
 
Introdução à MEAN Stack
Introdução à MEAN StackIntrodução à MEAN Stack
Introdução à MEAN Stack
Bruno Catão
 
Microsoft S2B - C# ASP.NET
Microsoft S2B - C# ASP.NETMicrosoft S2B - C# ASP.NET
Microsoft S2B - C# ASP.NET
philipsoares
 
Programação aula002
Programação aula002Programação aula002
Programação aula002
Cláudio Amaral
 
Curso de OO com C# - Parte 02 - Introdução ao C#
Curso de OO com C# - Parte 02 - Introdução ao C#Curso de OO com C# - Parte 02 - Introdução ao C#
Curso de OO com C# - Parte 02 - Introdução ao C#
Leonardo Melo Santos
 
Banco de dados exercícios resolvidos
Banco de dados exercícios resolvidosBanco de dados exercícios resolvidos
Banco de dados exercícios resolvidos
Gleydson Sousa
 
Construcao de Algoritmos - Aula 03
Construcao de Algoritmos - Aula 03Construcao de Algoritmos - Aula 03
Estrutura de Dados em Java (Introdução à Programação Orientada a Objetos)
Estrutura de Dados em Java (Introdução à Programação Orientada a Objetos)Estrutura de Dados em Java (Introdução à Programação Orientada a Objetos)
Estrutura de Dados em Java (Introdução à Programação Orientada a Objetos)
Adriano Teixeira de Souza
 
02 arquivos
02 arquivos02 arquivos
02 arquivos
Marcelo Oliveira
 
Valores e referências
Valores e referênciasValores e referências
Valores e referências
Daniel Araújo
 

Semelhante a Aula 6 aed - registros (20)

aula 11 de logica de programacao
aula 11 de logica de programacaoaula 11 de logica de programacao
aula 11 de logica de programacao
 
Linguagem C - Structs [exercícios]
Linguagem C - Structs [exercícios]Linguagem C - Structs [exercícios]
Linguagem C - Structs [exercícios]
 
Java Básico :: Introdução
Java Básico :: IntroduçãoJava Básico :: Introdução
Java Básico :: Introdução
 
Aula Algoritmo e Programação - cap2
Aula Algoritmo e Programação - cap2Aula Algoritmo e Programação - cap2
Aula Algoritmo e Programação - cap2
 
Criação de log de ações através do banco
Criação de log de ações através do bancoCriação de log de ações através do banco
Criação de log de ações através do banco
 
Criação de log de ações através do banco - PostgreSQL
Criação de log de ações através do banco - PostgreSQLCriação de log de ações através do banco - PostgreSQL
Criação de log de ações através do banco - PostgreSQL
 
Introdução a JavaScript
Introdução a JavaScriptIntrodução a JavaScript
Introdução a JavaScript
 
Pascal Registros
Pascal RegistrosPascal Registros
Pascal Registros
 
Java Básico
Java BásicoJava Básico
Java Básico
 
Aula02
Aula02Aula02
Aula02
 
02 - Introdução a lógica de programação parte 2 - v1.2
02 - Introdução a lógica de programação parte 2 - v1.202 - Introdução a lógica de programação parte 2 - v1.2
02 - Introdução a lógica de programação parte 2 - v1.2
 
Introdução à MEAN Stack
Introdução à MEAN StackIntrodução à MEAN Stack
Introdução à MEAN Stack
 
Microsoft S2B - C# ASP.NET
Microsoft S2B - C# ASP.NETMicrosoft S2B - C# ASP.NET
Microsoft S2B - C# ASP.NET
 
Programação aula002
Programação aula002Programação aula002
Programação aula002
 
Curso de OO com C# - Parte 02 - Introdução ao C#
Curso de OO com C# - Parte 02 - Introdução ao C#Curso de OO com C# - Parte 02 - Introdução ao C#
Curso de OO com C# - Parte 02 - Introdução ao C#
 
Banco de dados exercícios resolvidos
Banco de dados exercícios resolvidosBanco de dados exercícios resolvidos
Banco de dados exercícios resolvidos
 
Construcao de Algoritmos - Aula 03
Construcao de Algoritmos - Aula 03Construcao de Algoritmos - Aula 03
Construcao de Algoritmos - Aula 03
 
Estrutura de Dados em Java (Introdução à Programação Orientada a Objetos)
Estrutura de Dados em Java (Introdução à Programação Orientada a Objetos)Estrutura de Dados em Java (Introdução à Programação Orientada a Objetos)
Estrutura de Dados em Java (Introdução à Programação Orientada a Objetos)
 
02 arquivos
02 arquivos02 arquivos
02 arquivos
 
Valores e referências
Valores e referênciasValores e referências
Valores e referências
 

Mais de Elaine Cecília Gatto

A influência da Tecnologia em cada faixa etaria
A influência da Tecnologia em cada faixa etariaA influência da Tecnologia em cada faixa etaria
A influência da Tecnologia em cada faixa etaria
Elaine Cecília Gatto
 
Inteligência Artificial Aplicada à Medicina
Inteligência Artificial Aplicada à MedicinaInteligência Artificial Aplicada à Medicina
Inteligência Artificial Aplicada à Medicina
Elaine Cecília Gatto
 
Além do Aprendizado Local e Global: Particionando o espaço de classes em prob...
Além do Aprendizado Local e Global: Particionando o espaço de classes em prob...Além do Aprendizado Local e Global: Particionando o espaço de classes em prob...
Além do Aprendizado Local e Global: Particionando o espaço de classes em prob...
Elaine Cecília Gatto
 
Apresentação da minha tese de doutorado no EPPC
Apresentação da minha tese de doutorado no EPPCApresentação da minha tese de doutorado no EPPC
Apresentação da minha tese de doutorado no EPPC
Elaine Cecília Gatto
 
entrevista r7.pdf
entrevista r7.pdfentrevista r7.pdf
entrevista r7.pdf
Elaine Cecília Gatto
 
Como a pesquisa científica impacta o mundo real.pptx
Como a pesquisa científica impacta o mundo real.pptxComo a pesquisa científica impacta o mundo real.pptx
Como a pesquisa científica impacta o mundo real.pptx
Elaine Cecília Gatto
 
Empoderamento Feminino
Empoderamento FemininoEmpoderamento Feminino
Empoderamento Feminino
Elaine Cecília Gatto
 
Explorando correlações entre rótulos para o particionamento do espaço de rótu...
Explorando correlações entre rótulos para o particionamento do espaço de rótu...Explorando correlações entre rótulos para o particionamento do espaço de rótu...
Explorando correlações entre rótulos para o particionamento do espaço de rótu...
Elaine Cecília Gatto
 
Community Detection for Multi-Label Classification - Seminários UFSCar
Community Detection for Multi-Label Classification - Seminários UFSCarCommunity Detection for Multi-Label Classification - Seminários UFSCar
Community Detection for Multi-Label Classification - Seminários UFSCar
Elaine Cecília Gatto
 
Classificação Multirrótulo: Aprendizado de Correlações
Classificação Multirrótulo: Aprendizado de CorrelaçõesClassificação Multirrótulo: Aprendizado de Correlações
Classificação Multirrótulo: Aprendizado de Correlações
Elaine Cecília Gatto
 
EXPLORANDO CORRELAÇÕES PARA O PARTICIONAMENTO DO ESPAÇO DE RÓTULOS EM PROBLEM...
EXPLORANDO CORRELAÇÕES PARA O PARTICIONAMENTO DO ESPAÇO DE RÓTULOS EM PROBLEM...EXPLORANDO CORRELAÇÕES PARA O PARTICIONAMENTO DO ESPAÇO DE RÓTULOS EM PROBLEM...
EXPLORANDO CORRELAÇÕES PARA O PARTICIONAMENTO DO ESPAÇO DE RÓTULOS EM PROBLEM...
Elaine Cecília Gatto
 
Community Detection Method for Multi-Label Classification
Community Detection Method for Multi-Label ClassificationCommunity Detection Method for Multi-Label Classification
Community Detection Method for Multi-Label Classification
Elaine Cecília Gatto
 
Mulheres na Campus Party assumir o feminismo ou não – Blogueiras Feministas.pdf
Mulheres na Campus Party assumir o feminismo ou não – Blogueiras Feministas.pdfMulheres na Campus Party assumir o feminismo ou não – Blogueiras Feministas.pdf
Mulheres na Campus Party assumir o feminismo ou não – Blogueiras Feministas.pdf
Elaine Cecília Gatto
 
Curtinhas de sábado.pdf
Curtinhas de sábado.pdfCurtinhas de sábado.pdf
Curtinhas de sábado.pdf
Elaine Cecília Gatto
 
Explorando Correlações entre Rótulos usando Métodos de Detecção de Comu...
Explorando Correlações entre Rótulos usando Métodos de Detecção de Comu...Explorando Correlações entre Rótulos usando Métodos de Detecção de Comu...
Explorando Correlações entre Rótulos usando Métodos de Detecção de Comu...
Elaine Cecília Gatto
 
EXPLORANDO CORRELAÇÕES PARA O PARTICIONAMENTO DO ESPAÇO DE RÓTULOS EM PROBLEM...
EXPLORANDO CORRELAÇÕES PARA O PARTICIONAMENTO DO ESPAÇO DE RÓTULOS EM PROBLEM...EXPLORANDO CORRELAÇÕES PARA O PARTICIONAMENTO DO ESPAÇO DE RÓTULOS EM PROBLEM...
EXPLORANDO CORRELAÇÕES PARA O PARTICIONAMENTO DO ESPAÇO DE RÓTULOS EM PROBLEM...
Elaine Cecília Gatto
 
Pipeline desdobramento escalonamento
Pipeline desdobramento escalonamentoPipeline desdobramento escalonamento
Pipeline desdobramento escalonamento
Elaine Cecília Gatto
 
Cheat sheet Mips 32 bits
Cheat sheet Mips 32 bitsCheat sheet Mips 32 bits
Cheat sheet Mips 32 bits
Elaine Cecília Gatto
 
Resumo das Instruções de Desvio Incondicionais MIPS 32 bits
Resumo das Instruções de Desvio Incondicionais MIPS 32 bitsResumo das Instruções de Desvio Incondicionais MIPS 32 bits
Resumo das Instruções de Desvio Incondicionais MIPS 32 bits
Elaine Cecília Gatto
 
Como descobrir e classificar coisas usando machine learning sem compilcação
Como descobrir e classificar coisas usando machine learning sem compilcaçãoComo descobrir e classificar coisas usando machine learning sem compilcação
Como descobrir e classificar coisas usando machine learning sem compilcação
Elaine Cecília Gatto
 

Mais de Elaine Cecília Gatto (20)

A influência da Tecnologia em cada faixa etaria
A influência da Tecnologia em cada faixa etariaA influência da Tecnologia em cada faixa etaria
A influência da Tecnologia em cada faixa etaria
 
Inteligência Artificial Aplicada à Medicina
Inteligência Artificial Aplicada à MedicinaInteligência Artificial Aplicada à Medicina
Inteligência Artificial Aplicada à Medicina
 
Além do Aprendizado Local e Global: Particionando o espaço de classes em prob...
Além do Aprendizado Local e Global: Particionando o espaço de classes em prob...Além do Aprendizado Local e Global: Particionando o espaço de classes em prob...
Além do Aprendizado Local e Global: Particionando o espaço de classes em prob...
 
Apresentação da minha tese de doutorado no EPPC
Apresentação da minha tese de doutorado no EPPCApresentação da minha tese de doutorado no EPPC
Apresentação da minha tese de doutorado no EPPC
 
entrevista r7.pdf
entrevista r7.pdfentrevista r7.pdf
entrevista r7.pdf
 
Como a pesquisa científica impacta o mundo real.pptx
Como a pesquisa científica impacta o mundo real.pptxComo a pesquisa científica impacta o mundo real.pptx
Como a pesquisa científica impacta o mundo real.pptx
 
Empoderamento Feminino
Empoderamento FemininoEmpoderamento Feminino
Empoderamento Feminino
 
Explorando correlações entre rótulos para o particionamento do espaço de rótu...
Explorando correlações entre rótulos para o particionamento do espaço de rótu...Explorando correlações entre rótulos para o particionamento do espaço de rótu...
Explorando correlações entre rótulos para o particionamento do espaço de rótu...
 
Community Detection for Multi-Label Classification - Seminários UFSCar
Community Detection for Multi-Label Classification - Seminários UFSCarCommunity Detection for Multi-Label Classification - Seminários UFSCar
Community Detection for Multi-Label Classification - Seminários UFSCar
 
Classificação Multirrótulo: Aprendizado de Correlações
Classificação Multirrótulo: Aprendizado de CorrelaçõesClassificação Multirrótulo: Aprendizado de Correlações
Classificação Multirrótulo: Aprendizado de Correlações
 
EXPLORANDO CORRELAÇÕES PARA O PARTICIONAMENTO DO ESPAÇO DE RÓTULOS EM PROBLEM...
EXPLORANDO CORRELAÇÕES PARA O PARTICIONAMENTO DO ESPAÇO DE RÓTULOS EM PROBLEM...EXPLORANDO CORRELAÇÕES PARA O PARTICIONAMENTO DO ESPAÇO DE RÓTULOS EM PROBLEM...
EXPLORANDO CORRELAÇÕES PARA O PARTICIONAMENTO DO ESPAÇO DE RÓTULOS EM PROBLEM...
 
Community Detection Method for Multi-Label Classification
Community Detection Method for Multi-Label ClassificationCommunity Detection Method for Multi-Label Classification
Community Detection Method for Multi-Label Classification
 
Mulheres na Campus Party assumir o feminismo ou não – Blogueiras Feministas.pdf
Mulheres na Campus Party assumir o feminismo ou não – Blogueiras Feministas.pdfMulheres na Campus Party assumir o feminismo ou não – Blogueiras Feministas.pdf
Mulheres na Campus Party assumir o feminismo ou não – Blogueiras Feministas.pdf
 
Curtinhas de sábado.pdf
Curtinhas de sábado.pdfCurtinhas de sábado.pdf
Curtinhas de sábado.pdf
 
Explorando Correlações entre Rótulos usando Métodos de Detecção de Comu...
Explorando Correlações entre Rótulos usando Métodos de Detecção de Comu...Explorando Correlações entre Rótulos usando Métodos de Detecção de Comu...
Explorando Correlações entre Rótulos usando Métodos de Detecção de Comu...
 
EXPLORANDO CORRELAÇÕES PARA O PARTICIONAMENTO DO ESPAÇO DE RÓTULOS EM PROBLEM...
EXPLORANDO CORRELAÇÕES PARA O PARTICIONAMENTO DO ESPAÇO DE RÓTULOS EM PROBLEM...EXPLORANDO CORRELAÇÕES PARA O PARTICIONAMENTO DO ESPAÇO DE RÓTULOS EM PROBLEM...
EXPLORANDO CORRELAÇÕES PARA O PARTICIONAMENTO DO ESPAÇO DE RÓTULOS EM PROBLEM...
 
Pipeline desdobramento escalonamento
Pipeline desdobramento escalonamentoPipeline desdobramento escalonamento
Pipeline desdobramento escalonamento
 
Cheat sheet Mips 32 bits
Cheat sheet Mips 32 bitsCheat sheet Mips 32 bits
Cheat sheet Mips 32 bits
 
Resumo das Instruções de Desvio Incondicionais MIPS 32 bits
Resumo das Instruções de Desvio Incondicionais MIPS 32 bitsResumo das Instruções de Desvio Incondicionais MIPS 32 bits
Resumo das Instruções de Desvio Incondicionais MIPS 32 bits
 
Como descobrir e classificar coisas usando machine learning sem compilcação
Como descobrir e classificar coisas usando machine learning sem compilcaçãoComo descobrir e classificar coisas usando machine learning sem compilcação
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.