SlideShare uma empresa Scribd logo
1 de 20
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

Lista de exercicios algoritmos com pseudocodigo
Lista de exercicios   algoritmos com pseudocodigoLista de exercicios   algoritmos com pseudocodigo
Lista de exercicios algoritmos com pseudocodigoMauro Pereira
 
Alguns algoritmos resolvidos
Alguns algoritmos resolvidosAlguns algoritmos resolvidos
Alguns algoritmos resolvidosjaoozinhoqi123
 
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çãorodfernandes
 
Banco de dados exercícios resolvidos
Banco de dados exercícios resolvidosBanco de dados exercícios resolvidos
Banco de dados exercícios resolvidosGleydson Sousa
 
10 Java Script - Exemplos práticos
10 Java Script - Exemplos práticos10 Java Script - Exemplos práticos
10 Java Script - Exemplos práticosCentro Paula Souza
 
Logica Algoritmo 02 Algoritmo
Logica Algoritmo 02 AlgoritmoLogica Algoritmo 02 Algoritmo
Logica Algoritmo 02 AlgoritmoRegis Magalhães
 
Aula 1 introdução a algoritmos
Aula 1   introdução a algoritmosAula 1   introdução a algoritmos
Aula 1 introdução a algoritmosAdilio Tavares
 
Estrutura de Dados - Aula 02
Estrutura de Dados - Aula 02Estrutura de Dados - Aula 02
Estrutura de Dados - Aula 02thomasdacosta
 
Aula 02 - Tipos de dados, Variáveis, Constantes e Operadores Aritméticos
Aula 02 - Tipos de dados, Variáveis, Constantes e Operadores AritméticosAula 02 - Tipos de dados, Variáveis, Constantes e Operadores Aritméticos
Aula 02 - Tipos de dados, Variáveis, Constantes e Operadores AritméticosMessias Batista
 
Lista de exercícios resolvidos
Lista de exercícios resolvidosLista de exercícios resolvidos
Lista de exercícios resolvidosCrishna Irion
 
Estrutura de Dados - Aula 06 - Pilhas Estáticas
Estrutura de Dados - Aula 06 - Pilhas EstáticasEstrutura de Dados - Aula 06 - Pilhas Estáticas
Estrutura de Dados - Aula 06 - Pilhas EstáticasLeinylson Fontinele
 
Algoritmo e lógica de programação - Aula 1
Algoritmo e lógica de programação - Aula 1Algoritmo e lógica de programação - Aula 1
Algoritmo e lógica de programação - Aula 1engenhariadecomputacao
 
Lista de exercício resposta
Lista de exercício   respostaLista de exercício   resposta
Lista de exercício respostaHercules Santhus
 
Caderno de exercicios algoritmos-v.1.3
Caderno de exercicios   algoritmos-v.1.3Caderno de exercicios   algoritmos-v.1.3
Caderno de exercicios algoritmos-v.1.3Débora Inocêncio
 
Descritiva Narrativa (Lógica de Programação)
Descritiva Narrativa (Lógica de Programação)Descritiva Narrativa (Lógica de Programação)
Descritiva Narrativa (Lógica de Programação)Gercélia Ramos
 
Estrutura de Dados - Aula 01 - Apresentação
Estrutura de Dados - Aula 01 - ApresentaçãoEstrutura de Dados - Aula 01 - Apresentação
Estrutura de Dados - Aula 01 - ApresentaçãoLeinylson Fontinele
 

Mais procurados (20)

Lista de exercicios algoritmos com pseudocodigo
Lista de exercicios   algoritmos com pseudocodigoLista de exercicios   algoritmos com pseudocodigo
Lista de exercicios algoritmos com pseudocodigo
 
Alguns algoritmos resolvidos
Alguns algoritmos resolvidosAlguns algoritmos resolvidos
Alguns algoritmos resolvidos
 
Apresentação slides - TCC
Apresentação slides - TCCApresentação slides - TCC
Apresentação slides - TCC
 
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
 
Banco de dados exercícios resolvidos
Banco de dados exercícios resolvidosBanco de dados exercícios resolvidos
Banco de dados exercícios resolvidos
 
10 Java Script - Exemplos práticos
10 Java Script - Exemplos práticos10 Java Script - Exemplos práticos
10 Java Script - Exemplos práticos
 
Logica Algoritmo 02 Algoritmo
Logica Algoritmo 02 AlgoritmoLogica Algoritmo 02 Algoritmo
Logica Algoritmo 02 Algoritmo
 
Aula 1 introdução a algoritmos
Aula 1   introdução a algoritmosAula 1   introdução a algoritmos
Aula 1 introdução a algoritmos
 
Ficheiros em JAVA
Ficheiros em JAVAFicheiros em JAVA
Ficheiros em JAVA
 
Estrutura de Dados - Aula 02
Estrutura de Dados - Aula 02Estrutura de Dados - Aula 02
Estrutura de Dados - Aula 02
 
Aula 02 - Tipos de dados, Variáveis, Constantes e Operadores Aritméticos
Aula 02 - Tipos de dados, Variáveis, Constantes e Operadores AritméticosAula 02 - Tipos de dados, Variáveis, Constantes e Operadores Aritméticos
Aula 02 - Tipos de dados, Variáveis, Constantes e Operadores Aritméticos
 
Lista de exercícios resolvidos
Lista de exercícios resolvidosLista de exercícios resolvidos
Lista de exercícios resolvidos
 
Linguagem C - Ponteiros
Linguagem C - PonteirosLinguagem C - Ponteiros
Linguagem C - Ponteiros
 
Estrutura de Dados - Aula 06 - Pilhas Estáticas
Estrutura de Dados - Aula 06 - Pilhas EstáticasEstrutura de Dados - Aula 06 - Pilhas Estáticas
Estrutura de Dados - Aula 06 - Pilhas Estáticas
 
Algoritmo e lógica de programação - Aula 1
Algoritmo e lógica de programação - Aula 1Algoritmo e lógica de programação - Aula 1
Algoritmo e lógica de programação - Aula 1
 
Lista de exercício resposta
Lista de exercício   respostaLista de exercício   resposta
Lista de exercício resposta
 
Caderno de exercicios algoritmos-v.1.3
Caderno de exercicios   algoritmos-v.1.3Caderno de exercicios   algoritmos-v.1.3
Caderno de exercicios algoritmos-v.1.3
 
Descritiva Narrativa (Lógica de Programação)
Descritiva Narrativa (Lógica de Programação)Descritiva Narrativa (Lógica de Programação)
Descritiva Narrativa (Lógica de Programação)
 
Introdução ao SQL
Introdução ao SQLIntrodução ao SQL
Introdução ao SQL
 
Estrutura de Dados - Aula 01 - Apresentação
Estrutura de Dados - Aula 01 - ApresentaçãoEstrutura de Dados - Aula 01 - Apresentação
Estrutura de Dados - Aula 01 - Apresentação
 

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 programacaoAislan 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çãoWesley R. Bezerra
 
Aula Algoritmo e Programação - cap2
Aula Algoritmo e Programação - cap2Aula Algoritmo e Programação - cap2
Aula Algoritmo e Programação - cap2Cloves da Rocha
 
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 - PostgreSQLMarcos Thomaz
 
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 bancoMarcos Thomaz
 
Introdução a JavaScript
Introdução a JavaScriptIntrodução a JavaScript
Introdução a JavaScriptBruno Catão
 
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.2César Augusto Pessôa
 
Introdução à MEAN Stack
Introdução à MEAN StackIntrodução à MEAN Stack
Introdução à MEAN StackBruno Catão
 
Microsoft S2B - C# ASP.NET
Microsoft S2B - C# ASP.NETMicrosoft S2B - C# ASP.NET
Microsoft S2B - C# ASP.NETphilipsoares
 
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
 
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
 
Valores e referências
Valores e referênciasValores e referências
Valores e referênciasDaniel Araújo
 

Semelhante a Aula 6 aed - registros (20)

6 estruturas de dados heterogêneas
6  estruturas de dados heterogêneas6  estruturas de dados heterogêneas
6 estruturas de dados heterogêneas
 
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 - 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
 
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
 
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#
 
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 etariaElaine Cecília Gatto
 
Inteligência Artificial Aplicada à Medicina
Inteligência Artificial Aplicada à MedicinaInteligência Artificial Aplicada à Medicina
Inteligência Artificial Aplicada à MedicinaElaine 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 EPPCElaine 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.pptxElaine 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 UFSCarElaine 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çõesElaine 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 ClassificationElaine 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.pdfElaine 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 escalonamentoElaine 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 bitsElaine 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çãoElaine 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.