Docsity
Docsity

Prepare-se para as provas
Prepare-se para as provas

Estude fácil! Tem muito documento disponível na Docsity


Ganhe pontos para baixar
Ganhe pontos para baixar

Ganhe pontos ajudando outros esrudantes ou compre um plano Premium


Guias e Dicas
Guias e Dicas


Registros: Agrupamento e Acesso a Informações em Registros e Vetores, Notas de aula de Informática

Este documento aborda o conceito de registros e vetores na computação, explicando como agrupar informações comuns em uma única estrutura, como registros, e como resolver problemas mais complexos combinando-os com vetores. O texto também discute a importância da chave para identificar registros únicos e a possibilidade de campos de registros serem vetores. Além disso, são apresentados exemplos de declaração e acesso a vetores de registros.

Tipologia: Notas de aula

Antes de 2010

Compartilhado em 01/03/2010

ygor-dos-santos-luz-3
ygor-dos-santos-luz-3 🇧🇷

4.7

(3)

55 documentos

1 / 8

Toggle sidebar

Esta página não é visível na pré-visualização

Não perca as partes importantes!

bg1
1
Algoritmos e Estruturas de Dados
Prof. Patrick Pedreira
Registros
Registros
Registros
Registros
Os vetores, lidam com conjuntos de dados sempre do
mesmo tipo.
Todos os elementos de um vetor são inteiros, caracteres, reais
ou booleanos, mas sempre são do mesmo tipo.
Porém, há outras situações que não podem ser
representadas por meio de estruturas homogêneas
podemos desejar trabalhar com um objeto mais complexo que
necessite agregar informações que são naturalmente atreladas
ao elemento
Por exemplo, em uma videolocadora, academia de ginástica,
clube de natação ou mesmo em uma consulta médica,
geralmente nos solicitam uma série de informações, como:
nome, RG, CPF, endereço, etc. Todas essas informações podem
ser representadas por variáveis primitivas separadamente. Mas
isso não seria o ideal...
Registros
Registros
uma maneira mais interessante de representar
uma maneira mais interessante de representar
esse tipo de informa
esse tipo de informaç
ção seria o agrupamento
ão seria o agrupamento
desses valores de origem comum em uma
desses valores de origem comum em uma ú
única
nica
estrutura
estrutura
h
há
áas vari
as variá
áveis compostas heterogêneas ou
veis compostas heterogêneas ou
registros, podem armazenar tais informa
registros, podem armazenar tais informaç
ções
ões
dentro de algoritmos.
dentro de algoritmos.
Registros
Registros
Sintaxe
Sintaxe
Exemplo (
Exemplo (Cada campo funciona
Cada campo funciona
como uma vari
como uma variá
ável primitiva, mas
vel primitiva, mas
todos os campos estão agrupados no
todos os campos estão agrupados no
registro
registro)
)
Portanto, a vari
Portanto, a variá
ável
vel Ficha_Academia
Ficha_Academia
agrupa as informa
agrupa as informaç
ções referentes a
ões referentes a
um aluno da academia
um aluno da academia
Please purchase 'e-PDF Converter and Creator' on http://www.e-pdfconverter.com to remove this message.
pf3
pf4
pf5
pf8

Pré-visualização parcial do texto

Baixe Registros: Agrupamento e Acesso a Informações em Registros e Vetores e outras Notas de aula em PDF para Informática, somente na Docsity!

Algoritmos e Estruturas de Dados

Prof. Patrick Pedreira

Registros

Registros

Registros

Registros

 Os vetores, lidam com conjuntos de dados sempre do

mesmo tipo.

 Todos os elementos de um vetor são inteiros, caracteres, reais

ou booleanos, mas sempre são do mesmo tipo.

 Porém, há outras situações que não podem ser

representadas por meio de estruturas homogêneas

 podemos desejar trabalhar com um objeto mais complexo que

necessite agregar informações que são naturalmente atreladas

ao elemento

 Por exemplo, em uma videolocadora, academia de ginástica,

clube de natação ou mesmo em uma consulta médica,

geralmente nos solicitam uma série de informações, como:

nome, RG, CPF, endereço, etc. Todas essas informações podem

ser representadas por variáveis primitivas separadamente. Mas

isso não seria o ideal...

Registros

Registros

 uma maneira mais interessante de representaruma maneira mais interessante de representar

esse tipo de informa esse tipo de informaçção seria o agrupamentoão seria o agrupamento

desses valores de origem comum em uma desses valores de origem comum em uma úúnicanica

estrutura estrutura

h

h

á

á

as vari

as vari

á

á

veis compostas heterogêneas ou

veis compostas heterogêneas ou

registros, podem armazenar tais informa

registros, podem armazenar tais informa

ç

ç

ões

ões

dentro de algoritmos.

dentro de algoritmos.

Registros

Registros

 SintaxeSintaxe

 Exemplo (Exemplo (Cada campo funcionaCada campo funciona

como uma vari como uma variáável primitiva, masvel primitiva, mas

todos os campos estão agrupados no todos os campos estão agrupados no

registro registro))

Portanto, a vari

Portanto, a vari á

á vel

vel Ficha_Academia

Ficha_Academia

agrupa as informa agrupa as informaçções referentes aões referentes a

um aluno da academia um aluno da academia

Registros

Acesso aos dadosAcesso aos dados

 Para se acessar esse tipo de variPara se acessar esse tipo de variáável,vel, éé necessnecessááriorio

especificar o registro nominando o campo que se especificar o registro nominando o campo que se

deseja utilizar. Os registros não podem ser acessados deseja utilizar. Os registros não podem ser acessados

sem a especifica sem a especificaçção individual dos campos, ou seja,ão individual dos campos, ou seja,

opera operaçções como as seguintes são invões como as seguintes são inváálidaslidas::

O correto seria acessar cada campo individualmente

O correto seria acessar cada campo individualmente

Registros

Podemos declarar um tipo especPodemos declarar um tipo especíífico para afico para a

declaradeclaraçção de registros. Isso facilita a utilizaão de registros. Isso facilita a utilizaççãoão

dessas estruturas e melhora a legibilidade.dessas estruturas e melhora a legibilidade.

Registros

Registros

Problema

Problema

Registro de uma crian

Registro de uma crian

ç

ç

a nascida

a nascida

Considere que uma crian

Considere que uma crian

ç

ç

a nasceu em 24 de

a nasceu em 24 de

dezembro de 2003 e a sua carteira de sa dezembro de 2003 e a sua carteira de saúúdede

ser seráá feitafeita.. Essa carteira terEssa carteira teráá, na primeira, na primeira

p páágina, os dados dela. Tais dados incluem ogina, os dados dela. Tais dados incluem o

nome, a data de nascimento, o nome do pai e nome, a data de nascimento, o nome do pai e

da mãe, o sexo, o endere da mãe, o sexo, o endereçço (rua, no (rua, núúmero,mero,

complemento, bairro, CEP, cidade, estado, complemento, bairro, CEP, cidade, estado,

pa paíís), telefone (DDD e ns), telefone (DDD e núúmero) e nmero) e núúmero demero de

declara declaraçção de nascido vivo.ão de nascido vivo.

Crie um algoritmo que defina um tipo registro Crie um algoritmo que defina um tipo registro

para armazenar tais dados e fa

para armazenar tais dados e fa

ç

ç

a a atribui

a a atribui

ç

ç

ão

ão

dos dados da crian

dos dados da crian

ç

ç

a nascida.

a nascida.

Registros

Registros

Registros

 Compondo registros e vetoresCompondo registros e vetores

  Registros e vetores podem ser compostos a fim deRegistros e vetores podem ser compostos a fim de

resolver problemas mais complexos.resolver problemas mais complexos.

Considerando que um vetor

Considerando que um vetor

é

é

um conjunto de

um conjunto de

elementos do mesmo tipo,elementos do mesmo tipo, éé natural que, quandonatural que, quando

precisarmos agrupar v

precisarmos agrupar v

á

á

rios registros, utilizaremos

rios registros, utilizaremos

vetores (conjuntos de registros).vetores (conjuntos de registros).

  Por outro lado, eventualmente podemos necessitarPor outro lado, eventualmente podemos necessitar

que um registro tenha como um de seus campos umque um registro tenha como um de seus campos um

vetor.vetor.

Registros

Vetores de registrosVetores de registros

 Os vetores de registros visam a armazenar conjuntosOs vetores de registros visam a armazenar conjuntos

de elementos complexos. Por exemplo, em vez dede elementos complexos. Por exemplo, em vez de

armazenar apenas as notas dos alunos de umaarmazenar apenas as notas dos alunos de uma

turma, os vetores de registros podem armazenar asturma, os vetores de registros podem armazenar as

informainformaçções cadastrais de todos os alunos da turma,ões cadastrais de todos os alunos da turma,

como matrcomo matríícula, nome, disciplina, semestre, etc.cula, nome, disciplina, semestre, etc.

Um vetor de registro

Um vetor de registro

é

é

declarado da seguinte forma:

declarado da seguinte forma:

Registros

Registros

Exemplo

Exemplo

  A estrutura acima poderia armazenar informaA estrutura acima poderia armazenar informaçções de todos osões de todos os

alunos, de todas as disciplinas cursadas em todos semestres/anos alunos, de todas as disciplinas cursadas em todos semestres/anos

Registros

Registros

Para acessar os elementos do vetor, deve

Para acessar os elementos do vetor, deve

se

se

acessar a posi

acessar a posi

ç

ç

ão do vetor, especificando o

ão do vetor, especificando o

campo do registro, jcampo do registro, jáá que cada elemento doque cada elemento do

vetorvetor éé um registro:um registro:

Registros

 Importante perceber que certas informaImportante perceber que certas informaçções são necessões são necessáárias para identificar umrias para identificar um

registro, ou seja, tornar um registro diferente de todos os outr

registro, ou seja, tornar um registro diferente de todos os outr os pertencentes ao

os pertencentes ao

vetor.vetor.

 Essa parte do registroEssa parte do registro éé chamada de chave (analogiachamada de chave (analogia ààs chaves prims chaves primáárias em bancosrias em bancos

de dados). A chave de um registro pode ser natural, quando campo

de dados). A chave de um registro pode ser natural, quando campo s do registro

s do registro

podem identificar unicamente o registro (podem identificar unicamente o registro (exeploexeplo CPF), ou artificial quandoCPF), ou artificial quando éé inseridoinserido

um campo somente para identificar o registro (ex. um cum campo somente para identificar o registro (ex. um cóódigo).digo).

Registros

 Problema - Cadastrar dados de um aluno, calcular médias e indicar o status

 Considere uma Faculdade com um curso (de Ciência da Computação) em que todas

as médias dos alunos em todas as disciplinas serão cadastradas. Além disso, essa

Faculdade necessita identificar as médias aritméticas de todas as disciplinas que um

determinado aluno tirou em um determinado ano/semestre. Por último, também é

necessário identificar a média, o período, o status (reprovado/aprovado) e o nome

de um determinado aluno, em um semestre/ano, em uma determinada disciplina.

Portanto:

 a) Faça um módulo de cadastro das informações de todos os alunos. Considere que serão

inseridos dados até que seja colocada a matrícula -1 ou até que o número de elementos

supere o tamanho do vetor.

 b) Faça um módulo que escreva todas as disciplinas, médias, status, período e nome

completo de um determinado aluno nas disciplinas cursadas por ele em um determinado

semestre/ano.

 c) Faça um módulo que retorne um registro do vetor a partir da chave.

Registros

Registros

  A resoluA resoluçção do primeiro item consiste na leitura e atribuião do primeiro item consiste na leitura e atribuiçção dosão dos

dados do aluno/ disciplina aos registros do vetor dados do aluno/ disciplina aos registros do vetor

Registros

Registros

Registros

 Como ficaria a nova implementaComo ficaria a nova implementaççãoão

Registros

PoderPoderííamos fazer operaamos fazer operaçções em um registroões em um registro

desse tipodesse tipo

Registros

Registros

Registro com um campo vetor

Registro com um campo vetor

Registros

Registros

Problema

Problema

- Ler notas, calcular médias e exibir o

status de um aluno

Considerando a estruturaConsiderando a estrutura

Registro_Aluno_DisciplinaRegistro_Aluno_Disciplina, fa, façça um algoritmoa um algoritmo

que leia os dados de umque leia os dados de um úúnico aluno: leia asnico aluno: leia as

notas e os pesos dessas notas (mnotas e os pesos dessas notas (mááximo de 10ximo de 10

notas), calcule anotas), calcule am méédiadia aritmaritméética e registre setica e registre se

o aluno foi aprovado (mo aluno foi aprovado (méédia superior adia superior a 5).5). AlAléémm

disso, leia todos os outros dados do registro. Asdisso, leia todos os outros dados do registro. As

notas são encerradas quando o usunotas são encerradas quando o usuáário entrario entra

com o valorcom o valor - -1.1.

Registros

Registros

 Vetores com registros de vetoresVetores com registros de vetores

 Se um registro pode conter campos que são vetores e seSe um registro pode conter campos que são vetores e se

vetores podem

vetores podem ser compostos de registros,

de registros, é

é natural que seja

natural que seja

posspossíível a combinavel a combinaçção dessas estruturas quantas vezes se fizerão dessas estruturas quantas vezes se fizer

necessnecessáária.ria.

Para acessarmos os campos de um registro que compõe um

Para acessarmos os campos de um registro que compõe um

vetor, fazemos:vetor, fazemos:

 NesteNeste caso, caso, [i][i] éé um registro, jum registro, jáá que o vetorque o vetor éé

composto de registros.composto de registros.

Para acessarmos um elemento de um vetor que seja um campoPara acessarmos um elemento de um vetor que seja um campo

de registro, fazemos da seguinte forma:de registro, fazemos da seguinte forma:

 Se tivermos um vetor de registros, cujos registros tenham comoSe tivermos um vetor de registros, cujos registros tenham como

campo outro vetor, teremos que acesscampo outro vetor, teremos que acessáá--lo da seguinte forma:lo da seguinte forma:

Registros

Registros

  ProblemaProblema - - Exibir dados dos alunos reprovados em um

determinado ano/semestre.

 Considere um vetor de 1.500 elementos com todos os

dados (Matrícula, Disciplina, Semestre, Ano, Período,

Aluno (nome), Média, Status, Notas e seus pesos) de

todos os alunos de um curso de Ciência da Computação

de uma certa Faculdade.

 Faça um módulo que escreva o nome do aluno, a

disciplina, as médias e todas as notas com seus pesos,

dos alunos que reprovaram em um determinado

semestre/ano. Considere que as notas são no máximo

10, e, caso haja menos notas, será armazenado no

vetor o valor -1. Utilize o tipo Registro_Aluno_Disciplina

definido anteriormente.

Registros

Registros