Professional Documents
Culture Documents
Arquivos (File)
O tipo RECORD nos permitirá, como nos arranjos, armazenar grandes quantidades
de dados em memória, com a diferença de que os dados (campos) utilizados para definir a
estrutura de um RECORD podem ser de vários tipos.
Nome – String[10]
Idade - integer
Sexo - char
Altura - real
Até o momento a única forma de fazermos isso seria criarmos várias estruturas do
tipo “ARRAY” armazenando individualmente os dados (método trabalhoso e pouco
seguro).
Agora através da estrutura RECORD, poderemos armazenar numa única estrutura
de dados todos os campos desejados, conforme a seguir.
Podemos definir então RECORD como sendo uma coleção de atributos (campos)
compostos de diversos tipos.
Exemplo:
Ou ainda:
Onde temos:
Nome, idade, sexo Campos que farão parte deste registro, cada um podendo ser de
e altura um determinado tipo de dado;
End Record Finaliza a especificação dos atributos (campos) que fazem parte
do registro;
Exemplo:
Nome_do_registro.nome ‘Algoritmo’
Faça um algoritmo para ler a variável do tipo registro, os campos são os mencionados
acima, do teclado e em seguida escrever os dados.
Program teste_registro;
{Declaração de uma estrutura chamada Pessoas que é um registro}
Type pessoas = record
Nome: string[40]; {Campo do Registro}
Idade: integer; {Campo do Registro}
Sexo: char; {Campo do Registro}
Altura: real; {Campo do Registro}
End record; {Finaliza a declaração dos campos}
{Declaração da variável que terá a estrutura criada anteriormente}
Var p: pessoas
Begin
{A partir deste ponto estaremos lendo informações para os campos da variável registro e na
seqüência estamos escrevendo em tela o que foi digitado pelo usuário}
Write (‘Nome ............: ‘)
Read (p.nome)
Write (‘Idade ..............: ‘)
Read (p.idade)
Write (‘Sexo ..............: ‘)
Read (p.sexo)
Write (‘Altura.............: ‘)
Read (p.altura)
Exercícios:
1) Fazer um Algoritmo para ler os dados de 20 pessoas (Nome, endereço, sexo e altura) e
em seguida mostrar uma lista em ordem alfabética (pelo nome).
2) Fazer um Algoritmo para ler os dados de 20 pessoas ordenar pelo nome, em seguida,
através de pesquisa binária procure um nome lido do teclado e mostre todo o registro
referente ao nome procurado.
OBS: Nome, Endereço, Cidade, Estado.
Files
Declaração de um File
Semântica:
Sintáxe:
Var a:arq
Assign (var_arq, nom_arq) - Estabelece uma relação entre o nome lógico que será utilizado
dentro do algoritmo (var_arq) e o nome físico (em disco) do arquivo (nom_arq);
Rewrite (Var_arq) - é utilizado para criar um arquivo em disco deixando-o pronto para
leitura e ou gravação. Se o arquivo já existir, ele é apagado e um novo arquivo vazio é
criado.
Resset (Var_arq) - é utilizado para abrir um arquivo já existente em disco, para leitura e ou
gravação. Se o arquivo não existir em disco, ocorrerá um erro de arquivo não existente.
OBS: Todos os comandos acima que completa o ciclo das operações com arquivo só
e somente só referenciam o nome do arquivo lógico, da mesma forma serão alguns
comando que seguem para a manipulação do arquivo.
4) EOF (var_arq) - “Fim de Arquivo” - é uma função lógica que retorna Verdadeiro se o
apontador esta posicionado no final do arquivo em disco.
Exemplo:
Faça um algoritmo, gerar um arquivo em disco, ler números, e em seguida gravar estes
números em um arquivo em disco.
Pogram arquivo;
{Declara a variável lógica do arquivo}
Var arq : file of integer;
{Declara a variável que irá ser responsável por ler as informações e gera-las em disco}
n : integer;
Begin
{Faz a ligação entre o nome lógico “arq” com o nome físico em disco “números.arq”)
Assign (arq, ‘c:numeros.arq’);
{Cria o arquivo em disco}
Rewrite (arq);
{Exibe mensagem para o usuário}
Write (‘Digite um número para gravar em disco: ‘);
{Lê o primeiro número que o usuário quer gravar em disco}
Read(n);
{Condição para o usuário parar de entrar com informações}
While (n <> -1) do
Begin
{Grava em disco as informações representadas pela variável n}
Write (arq, n);
{Exibe mensagem para o usuário}
Write (‘Digite um número para gravar em disco: ‘);
{Lê outro valor para gerar em disco}
Read (n);
End;
{Executa o fechamento do arquivo}
Close (arq);
End.
Exercícios
1) Faça um pgm em pascal para gerar em disco o quadrado dos números de 0 a 100 e depois
permitir a consulta dos dados através de um número lido do teclado.
6. Bibliografia: