18
 Algoritmos e Programação L ing ua g em Pasca l Registros Yuri Morais Bezerra www.yurimorais.com [email protected] Slides originais da professora Ludmila de Almeida Pedrosa

14 Pascal Registros

Embed Size (px)

Citation preview

Algoritmos e ProgramaoLinguagem PascalRegistros

Yuri Morais Bezerrawww.yurimorais.com [email protected]

Slides originais da professora Ludmila de Almeida Pedrosa

Registros O que so Registros? So conjunto de dados logicamente relacionados, mas de tipos diferentes (inteiro, real, string, etc.). Cada informao contida num registro chamada de campo. Desta maneira, os programadores podem gerar novos tipos de dados, no se limitando apenas utilizao dos dados primitivos fornecidos pela linguagem de programao. O conceito de registro visa facilitar o agrupamento de variveis que no so do mesmo tipo, mas que guardam estreita relao lgica.

Exemplo: Numa aplicao, pode-se ter os seguintes dados sobre os funcionrios de uma empresa: Nome, Endereo, Idade e Salrio.

Cada conjunto de informaes, composto pelos dados de um funcionrio, poderia ser chamado por um mesmo nome, por exemplo, FICHA.

Pascal: Registros Registros em Pascal: Em Pascal possvel definir novos tipos de dados, ou seja, tipos de dados derivados. Esses novos tipos de dados podem ser o resultado da composio de campos de vrios tipos, formando os registros: record.

Um dado do tipo registro (record) tambm pode ser composto por outro campo derivado do tipo registro.

Sintaxe de Definio:TYPE Nome_Novo_Tipo = RECORDNome_Campo1: tipo_do_campo1; Nome_Campo2: tipo_do_campo2; ..... Nome_CampoN: tipo_do_campoN;

Aqui pode ter vrios campos.

END;

Pascal: Registros Definindo o tipo de registro FICHA:

possvel determinar um record contendo outro record. Neste caso: TFicha contm um campo do tipo TEndereco.

Pascal: Registros Declarando uma varivel do Tipo Registro: Segue a sintaxe de declarao de variveis.

A varivel Funcionrio do tipo TFicha, portanto ter espao para armazenar : Nome, Endereo (Rua, Numero, Complem, Bairro, Cidade, Estado), Idade e Salrio. A varivel Lista_de_Funcionrio um array de 20 posies do tipo TFicha.

Pascal: Registros Acesso aos campos de um registro: Considerando que uma varivel do tipo registro tem vrios campos, temos que acessar cada campo individualmente. A referncia ao contedo de um campo de um registro ser indicada pela notao: Nome_da_Variavel_Tipo_Registro.Nome_do_Campo Ou seja, devemos indicar o nome da varivel que desejamos acessar e tambm o nome do campo desejado, separados por um ponto.

Pascal: Registros Exemplo - Vamos atribuir ao registro Funcionrio, do exemploanterior, os valores a seguir: Nome: Luiz Dutra Endereo: Rua: Av. das Amricas Nmero: 200 Complemento: Apto 1204 Bairro: Barra Cidade: Rio de Janeiro Estado: RJ

Idade: 30 Salrio: R$ 7.500,00

Pascal: Registros

Pascal: RegistrosExemplo com Array

Solicita os dados dos dois funcionrios que sero armazenados no array Lista_de_Funcionarios.

Pascal: Registros Exemplo 1 - Escreva um programa em Pascal para: Ler o nome e a idade de 10 pessoas. Calcular a mdia das idades lidas. Exibir o nome e a idade das pessoas com idade acima da mdia.

Pascal: Registros

Pascal: Registros Exemplo 2 - Escreva um programa em Pascal para: Ler o nome e a idade de 10 pessoas. Exibir o nome e a idade da pessoa mais velha.

Pascal: Registros

Os dados (Nome e Idade) so copiados para os respectivos campos de Pessoa_Mais_Velha, equivale a:Pessoa_Mais_Velha.Nome := Lista_Pessoas[i].Nome; Pessoa_Mais_Velha.Idade := Lista_Pessoas[i].Idade;

Pascal: Registros Comando WITH: Permite abreviar as referncias para os campos registros (record), ou seja, permite referenciar o campo sem a necessidade de escrever o nome completo da varivel.

Sintaxe:WITH Nome_da_Variavel_Tipo_Registro DO begin Comandos (apenas com Nome_do_Campo) end;

Pascal: Registros Exemplo 3 Considerando que o registro de um produto de uma loja contenha as seguintes informaes: cdigo, nome, preo e qtde. em estoque. Escreva um programa em Pascal para: Ler e armazenar os dados de 50 produtos. Permitir que sejam realizadas buscas pelo cdigo de uma mercadoria e exibir os dados do produto: nome, preo e quantidade em estoque.

As buscas podem ser realizadas quantas vezes o usurio desejar. Ao final de cada busca, o programa dever perguntar se o usurio deseja fazer uma nova busca (S / N)

Pascal: Registros

Pascal: Registros Exemplo 3 Continuao...

Pascal: Manipulando Strings

Prxima Aula:Exerccios Pascal Registros