Algoritmos e Estruturas de Dados I – Registros

Slides:



Advertisements
Apresentações semelhantes
Programação em Java Prof. Maurício Braga
Advertisements

UNIVERSIDADE FEDERAL DE UBERLÂNDIA ENGENHARIA CIVIL INTRODUÇÃO À ALGORITMOS Professora: Fabíola Gonçalves.
TÉCNICAS DE PROGRAMAÇÃO I
Estruturas de Repetição
Linguagem de Programação VI Tipos de Dados Compostos - structs
Programação II Estruturas, uniões e enumerações
Algoritmos Escher.
Estruturas de Dados II Prof.: Sergio Pacheco Prof.: Sergio Pacheco 1 1.
Universidade Federal do Espírito Santo Programação II Professora: Norminda Luiza.
Universidade Federal do Espírito Santo Programação II Estruturas Professora: Norminda Luiza.
Curso de Programação em C++
Professor Victor Sotero
Vetores, Matrizes e Funções
O Portal do Estudante de Computação
APRESENTAÇÃO: GIANCARLO DE GUSMÃO GONÇALVES CURSO DE C AULA 08: Tipos Estruturados.
Algoritmos e Estruturas de Dados I – Estruturas de Dados
Estruturas de Controle
Algoritmos e Estruturas de Dados I – Estruturas de Controle de Fluxo
Variáveis, Tipos de Dados e Constantes
Estruturas de Dados Algoritmos – Aula 04.
Registros.
Comandos de Repetição Comando Para-Faça
Aula prática 8 Ponteiros Monitoria de Introdução à Programação
Capítulo 3 Estruturas de Controle
Linguagem de Programação II Parte VII
Linguagem de Programação II Parte V
Linguagem de Programação II Parte IX
UNIVERSIDADE FEDERAL DE UBERLÂNDIA ENGENHARIA CIVIL INTRODUÇÃO À ALGORITMOS Professora: Fabíola Gonçalves.
Análise Estruturada.
Universidade Federal de Alagoas – UFAL Centro de Tecnologia – CTEC
Algoritmos e Estruturas de Dados I – Registros
Vetores Imagine que você tem que receber o nome e a nota de 50 alunos de uma escola, e depois listar o nome de cada um e a média final de cada aluno e.
Estrutura de dados - Vetores
Aula 10 - Armazenamento de Dados em Registros
Algoritmos e Estruturas de Dados I – Recursão
Algoritmos e Estruturas de Dados I – Ponteiros
Algoritmos e Estruturas de Dados I – Recursão
Algoritmos e Estruturas de Dados I – Registros
Estruturas de Dados Algoritmos – Aula 04.
Algoritmos e Estruturas de Dados I – Estrutura Condicional
Oficinas de Desenvolvimento de Software
Algoritmos - Profa. Alciléia1 Profa. Maria Alciléia Alves Rocha Funções em C 2011.
Algoritmos e Estruturas de Dados I – Estruturas de Dados
VARIÁVEIS COMPOSTAS HOMOGÊNEAS UNIDIMENSIONAIS (VETORES)
Algoritmos e Estruturas de Dados I – Estruturas de Controle de Fluxo
FACULDADE DE CIÊNCIAS SOCIAIS E TECNOLÓGICAS Tecnologia em Redes de Computadores Algoritmos e linguagens de programação 1 (aula 11) Prof. Alessandro Bernardo.
Algoritmos e Estruturas de Dados I – Arquivos
Algoritmos e Estruturas de Dados I – Estrutura Condicional
Algoritmos e Estruturas de Dados I – Estrutura de Repetição
Algoritmos e Estruturas de Dados I – Estruturas de Dados
PCI- Registros Profa. Mercedes Gonzales Márquez. Conceito Variáveis compostas heterogêneas (não homogêneas) Estruturas: variáveis que podem conter uma.
Algoritmos e Estruturas de Dados I – Estruturas de Dados
Profa. Mercedes Gonzales Márquez
Linguagem de Programação II Parte VI Professora: Flávia Balbino da Costa.
Algoritmos e Estruturas de Dados I – Estrutura Condicional Profa. Mercedes Gonzales Márquez.
Professor: André L. R. Didier Autor: Francisco Airton
Algoritmos e Estruturas de Dados I – Estruturas de Dados
AULA 09 PROGRAMAÇÃO I. Estruturas de Dados Heterogêneas 10/08/2010 Programação I 2 Objetivo: Estudar os tipos de dados heterogêneos:  Registros;  Arrays.
Linguagem de Programação II
Estrutura de Dados Revisão Professor Luiz José Hoffmann Filho
VETORES Roteiro da aula Referência ao Programa: Estrutura de Dados.  Variáveis Compostas homogenias Objetivo: apresentar VETOR.
1Unidade 06 - Matriz Algoritmos e Linguagens de Programação Matriz Prof.: Guilherme Baião S. Silva Adaptações Prof. Edwar Saliba Júnior Março de 2007.
Lógica de Programação Germano Marcos. Tipos de dados Na manipulação de computadores o usuário depara-se com inúmeras funcionalidades como mensagens, equações,
Fundamentos de Programação 1 Slides 6 – ‘Exercícios Gerais’ Prof. SIMÃO Jean Marcelo SIMÃO Estrutura de Dados Homogêneas “Exercícios””
Computação – Informática Aula N. 05 Prof. SIMÃO Jean Marcelo SIMÃO Linguagem C “Matrizes em C”
Arquivos Capítulo 5 Lógica de Programação
Lógica de Programação – Forbellone / Eberspacher Lógica de Programação Capítulo 4 Estruturas de Dados.
V ETORES E M ATRIZES Disciplina: Informática Aplicada Professor: Modesto Chaves.
Transcrição da apresentação:

Algoritmos e Estruturas de Dados I – Registros Profa. Mercedes Gonzales Márquez

Registros Variáveis Compostas Heterogêneas: Variáveis compostas homogêneas consistem de conjuntos de dados do mesmo tipo (inteiros, reais, literais ou lógicos). Quando temos dados de diferentes tipos (heterogêneos) logicamente agrupados, nós usamos variáveis compostas heterogêneas chamadas registros.

Registros Registros são conjuntos de dados logicamente relacionados,mas de tipos diferentes. Exemplo: uma passagem de ônibus formada por um conjunto de dados logicamente relacionados de tipos diferentes, tais como número da passagem (inteiro), origem e destino (literal), data (literal), horário (literal), poltrona (inteiro), distância (real), que são subdivisões do registro (elementos do conjunto), também chamadas de campos.

Registros Definição do tipo construído registro: Tipo <identificador> : registro <tipo do campo>: <campo 1> <tipo do campo>: <campo 2> ... <tipo do campo>:<campo n> Fim_Registro Exemplo: Tipo Passagem: registro inteiro:numero literal:origem,destino,data,horario inteiro:poltrona real:distancia

Registros Exemplo: Tipo Ficha_academia: registro inteiro:matricula literal:Nome real:Peso real:Altura literal:Instrutor Fim_Registro

Registros Declaração de variável composta do tipo registro definido Tipo-registro : nome_variável Exemplo: Ficha_academia:aluno

Registros O registro Ficha_academia agrupa as informações referentes a um aluno da academia. Os registros não podem ser acessados sem especificação individual dos campos. Especifica-se o nome do registro e o nome do campo que se deseja utilizar separado pelo caractere “.” (ponto). Tal ponto estabelece separação entre o nome do registro e o nome do campo. Exemplo; Leia (aluno); errado Escreva (aluno); errado Leia (aluno.matrícula); correto Escreva (aluno.nome); correto aluno.peso ← 80.2 correto

Registros Vejamos em seguida um algoritmo para armazenar os dados de um recém nascido Algoritmo <Registro_criança> Tipo Ficha_criança:Registro inteiro:número_vivo literal:nome inteiro:dia inteiro:mês inteiro:ano literal:pai literal:mãe literal:sexo inteiro:ddd inteiro:fone Fim_Registro Ficha_criança:criança Início criança.número_vivo ←1233 criança.nome ← “Andre Schmitt Medina” criança.dia ← 24 criança.mês ← 12 criança.ano ← 2003 criança.pai ←“Aurélio Medina” criança.mãe ←“Cristina Schmitt” criança.sexo ←“M” criança.ddd ← 44 criança.fone ← 2525005 Fim

Registros Os registros vistos até agora possuíam em seus campos apenas informações de tipos primitivos, entretanto, podemos dispor também de campos que são compostos, ou seja, formados por outros tipos construídos. Uma outra forma de armazenar os dados visando facilitar a leitura e interpretação do algoritmo anterior seria:

Registros Início criança.número_vivo ←1233 Algoritmo <Registro_criança> Tipo data : Registro inteiro:dia inteiro:mês inteiro:ano Fim_Registro Tipo telefone : registro inteiro:ddd inteiro:fone Fim-registro Tipo Ficha_criança:Registro inteiro:número_vivo literal:nome data:data_nasc literal:pai literal:mãe literal:sexo telefone: telef Ficha_criança:criança Início criança.número_vivo ←1233 criança.nome ← “Andre Schmitt Medina” criança.data_nasc.dia ← 24 criança.data_nasc.mês ← 12 criança.data_nasc.ano ← 2003 criança.pai ←“Aurélio Medina” criança.mãe ←“Cristina Schmitt” criança.sexo ←“M” criança.telef.ddd ← 44 criança.telef.fone ← 2525005 Fim

Registros de conjuntos Podemos também ter registros com campos vetor ou matriz. Exemplo de Registro com campo de tipo vetor: Registro estoque com as baixas de uma semana Nome: _________________________________ Código: ______________________Preço:_____ 1 2 3 4 5 6 Baixa: Tipo Estoque : Registro literal:nome inteiro:código real:preço inteiro:Baixa[6] Fim_Registro Estoque: produto Definição do tipo registro Declaração da variável

Registros de conjuntos Exemplo de Registro com campo de tipo matriz : Registro estoque com as baixas de 4 semanas Nome: _________________________________ Código: ______________________Preço:_____ 1 2 3 4 5 6 1 2 3 4 Baixas: Tipo Estoque2: Registro literal:nome inteiro:código real:preço inteiro:Baixa[4][6] Fim_Registro Estoque2: produto2 Definição do tipo registro Declaração da variável

Registros de conjuntos Manipulação A manipulação de um registro de conjunto deve obedecer às manipulações próprias de cada estrutura de dados anteriormente definida. Exemplo: a) Para acessar o quanto foi vendido do produto no terceiro dia da quarta semana, teríamos: produto2.baixa[4][3]

Registros de conjuntos b) Construir o trecho de algoritmo que, usando a definição de produto2, escreva o nome do produto, o código, o preço e as baixas da segunda semana. … escreva (produto2.nome); escreva (produto2.codigo); escreva (produto2.preço); para j de 1 até 6 repita escreva (produto.Baixa[2][j]); fim para;

Registros de conjuntos c) Construa o trecho do algoritmo que totalize por dia da semana todos os dias do mês. … para j de 1 até 6 repita aux ← 0; para i de 1 até 4 repita aux ← aux + produto2.Baixa[i][j] fim para escreva (j, ´totalizou ´, aux, ´ baixas´)

Conjunto de Registros Nas estruturas compostas homogêneas (vetores e matrizes) utilizamos somente tipos de dados primitivos. Agora utilizaremos não apenas um tipo primitivo, mas sim os tipos construídos (registros). Exemplo: Suponha que queremos informações relativas à passagens rodoviárias dos 44 lugares de um ônibus. Criamos um vetor no qual cada posição é um elemento de tipo registro (passagem).

Conjunto de Registros Tipo Passagem: registro inteiro:numero literal:origem,destino,data,horario inteiro:poltrona real:distancia Fim_Registro Passagem:onibus[44]

Conjunto de Registros Ex. Declare um conjunto de registros que comporte as informações de estoque de 500 produtos. Tipo Estoque2: Registro literal:nome inteiro:código real:preço inteiro:Baixa[4][6] Fim_Registro Estoque2: produtos[500]

Conjunto de Registros Exemplo: a) Se quisermos saber a baixa do décimo produto, da terceira semana do mês e do quarto dia da semana, escreveríamos: produtos[10].Baixa[3][4]

Conjunto de Registros b) Elabore o trecho de um algoritmo que imprima o total de movimentação do estoque para cada um dos 500 produtos: ... para N de 1 até 500 repita ACM ← 0; para i de 1 até 4 repita para j de 1 até 6 repita ACM ← ACM + produtos[N].Baixa[i][j] fim para; fim para escreva (produtos[N].nome, ACM);

Conjunto de Registros c) Usando o registro de estoque definido nos exemplos, elabore: a) um algoritmo que imprima o produto de maior saída; b) um algoritmo que imprima a diferença percentual entre a maior e a menor saída; c) um relatório com a semana de maior saída de cada produto.

Registros (4) Dada a tabela a seguir: Faça um algoritmo que usando a tabela de profissões acima, escreva o nome da profissão correspondente após a leitura do código de profissão (500 códigos devem ser lidos).

Registros Início para i de 1 até 100 repita leia (tabela[i].codigo)‏ leia (tabela[i].nome)‏ fim para k←1 Repita leia (coddessej)‏ k←k+1 i ←0 repita i ←i+1 até que (tabela[i].codigo= coddessej ou i>100)‏ se (tabela[i].codigo=coddessej) então escreva (tabela[i].nome)‏ senão escreva(“Código Inválido”)‏ fim se até que (k>500) Fim Registros Algoritmo <profissões> Tipo profissão : Registro inteiro:codigo literal:nome Fim_Registro profissao:tabela[100] inteiro:i,k,coddessej