Buscar

Aula 3 - Arquivos Parte III

Prévia do material em texto

Laboratório de 
Programação
Operações com arquivos - Parte III
Pascal
Prof. Daniel Vecchiato
daniel@ic.ufmt.br
terça-feira, 12 de março de 2013
Conteúdo Abordado
• Tipo de dados;
• Algoritmos em C e Pascal;
• Estruturas de controle;
• Estruturas de repetição;
• Variáveis compostas homogêneas;
• Variáveis compostas heterogêneas;
• Modularização: Blocos e Subprogramas;
• Parâmetros e formas de passagem;
• Recursividade.
terça-feira, 12 de março de 2013
Conteúdo a ser 
abordado
• Operações com arquivos;
• Variáveis dinâmicas;
• Estruturas de dados dinâmicas: listas 
lineares;
• Métodos simples de ordenação e pesquisa 
de dados.
terça-feira, 12 de março de 2013
Agenda
• Revisão;
• Manipulação de arquivos em Pascal;
• Exercícios;
• Resumo.
terça-feira, 12 de março de 2013
Revisão
• Quais funções são utilizadas para ler/
escrever em um arquivo texto em C?
• Quais funções são utilizadas para ler/
escrever em um arquivo binário em C?
• Qual função é utilizada para acesso não 
sequencial em C?
terça-feira, 12 de março de 2013
Revisão
Arquivos Textos em C
• Crie um ponteiro para o arquivo: FILE *parq;
• Abra o arquivo de modo apropriado associando-o a um ponteiro:
• parq = fopen(“nomeArquivo”, “modo”);
• Leia dados do arquivo na memória usando fscanf:
• fscanf(parq, string-tipo-variavel, &variavel);
• Dados podem ser lidos até EOF.
• Altere dados se necessário e escreva-o novamente em arquivo:
• fprintf(parq, string-tipo-variavel, variavel);
• Todo arquivo deve ser fechado:
• fclose(parq);
terça-feira, 12 de março de 2013
Revisão
Arquivos Binários em C
• Crie um ponteiro para o arquivo: FILE *parq;
• Abra o arquivo de modo apropriado associando-o a um ponteiro:
• parq = fopen(“nomeArquivo”, “modo”);
• Leia dados do arquivo na memória usando fread:
• fread(*pt-mem, tamanho, qtde, *arquivo);
• Escreva dados no arquivo usando fwrite:
• fwrite(*pt-mem, tamanho, qtde, *arquivo);
• Todo arquivo deve ser fechado:
• fclose(parq).
terça-feira, 12 de março de 2013
Revisão
Arquivos Binários em C
• Para acesso não sequencial use fseek:
• fseek(*arquivo, num_bytes, origem);
• O deslocamento pode ser relativo ao:
• inicio do arquivo (SEEK_SET);
• ponto atual (SEEK_CUR);
• final do arquivo (SEEK_END).
terça-feira, 12 de março de 2013
Declaração de Arquivos
• Para trabalhar com arquivos em pascal é 
necessário criar novos tipos de dados:
terça-feira, 12 de março de 2013
Exemplo de Declaração 
de Arquivos
terça-feira, 12 de março de 2013
Exemplo de Declaração 
de Arquivos
terça-feira, 12 de março de 2013
Associando váriaveis a 
arquivos
• Para associar variáveis e arquivos físicos 
utiliza-se o comando ASSIGN
• Exemplos:
terça-feira, 12 de março de 2013
Criando arquivos
• Para criar um novo arquivo utiliza-se a 
função REWRITE.
• Sintaxe:
• Exemplo:
*Se o arquivo existir todos os seus dados serão apagados
terça-feira, 12 de março de 2013
Abrindo arquivos 
existentes
• Para abrir um arquivo utiliza-se o comando 
RESET.
• Sintaxe:
• Exemplo:
terça-feira, 12 de março de 2013
Abrindo arquivos 
existentes
• Existe uma diretiva de compilação para 
verificação de erros de entrada e/ou saida:
{$I}
• Esta diretiva retorna um código de erro em 
uma função chamada IOResult.
terça-feira, 12 de março de 2013
Exemplo de Abertura 
de Arquivo
terça-feira, 12 de março de 2013
Fechando arquivos
• Para fechar um arquivo aberto por RESET 
utiliza-se o comando CLOSE.
• Sintaxe:
• Exemplo:
terça-feira, 12 de março de 2013
Removendo arquivos
• Para remover um arquivo utiliza-se a função 
ERASE.
• Sintaxe:
• Exemplo:
terça-feira, 12 de março de 2013
Renomeando Arquivos
• Para renomear um arquivo utiliza-se o 
comando RENAME.
• Sintaxe:
• Exemplo:
terça-feira, 12 de março de 2013
Exercício
• X - Faça um programa para criar um 
arquivo chamados ALUNOS.DAT, no qual 
cada registro será composto pelos 
seguintes campos: número, nome, curso, 
nota1 e nota2.
terça-feira, 12 de março de 2013
Lendo arquivos
• Para ler arquivos utiliza-se o comando 
READ.
• Sintaxe:
• Exemplo:
terça-feira, 12 de março de 2013
Escrevendo em 
arquivos
• Para escrever em arquivos, utiliza-se o 
comando WRITE.
• Sintaxe:
• Exemplo:
terça-feira, 12 de março de 2013
Obtendo número de 
registros de um Arquivo
• Para obter o número de registros de um 
arquivo, utiliza-se a função FILESIZE.
• Sintaxe:
• Exemplo:
terça-feira, 12 de março de 2013
Exercício
• XI - Faça um programa para incluir alunos 
no arquivo criado no Exercício X, 
lembrando que não pode existir dois 
alunos com o mesmo número.
terça-feira, 12 de março de 2013
Movimentando 
ponteiro de arquivo
• Para movimentar o ponteiro de arquivo 
utiliza-se o comando SEEK.
• Sintaxe:
• Exemplo:
terça-feira, 12 de março de 2013
Exercício
• XII - Faça um programa para consultar o 
nome de todos os alunos cadastrados no 
arquivo pelo arquivo gerado no exercício 
X.
terça-feira, 12 de março de 2013
Obtendo posição do 
ponteiro em um Arquivo
• Para obter a posição do ponteiro em um 
Arquivo, utiliza-se a função FILEPOS.
• Sintaxe:
• Exemplo:
terça-feira, 12 de março de 2013
Verificando o final do 
arquivo
• Para verificar se o ponteiro do arquivo 
chegou ao fim, utiliza-se o comando EOF.
• Sintaxe:
• Exemplo:
terça-feira, 12 de março de 2013
Exercício
• XIII - Faça um programa para imprimir o 
nome de todos os alunos de um 
determinado curso.
terça-feira, 12 de março de 2013
Resumo
Nome Uso
ASSIGN Vincular arquivo à variável.
REWRITE Criar arquivo. Caso o arquivo exista seus dados serão apagados.
RESET Abrir arquivo.
CLOSE Fechar arquivo. Efetua a gravação dos dados.
ERASE Apaga o arquivo
RENAME Renomeia o arquivo.
READ Ler de arquivo.
WRITE Escrever em arquivo.
SEEK Movimentar ponteiro do arquivo.
FILESIZE Obter número de registros de um arquivo.
FILEPOS Obter a posição do ponteiro do arquivo.
EOF Verifica final do arquivo
terça-feira, 12 de março de 2013
Arquivo Texto
• Pascal também aceita escrita e leitura de 
arquivos texto através das funções 
writeln e readln.
terça-feira, 12 de março de 2013
Escrita de arquivo texto
terça-feira, 12 de março de 2013
Leitura de arquivo 
texto
terça-feira, 12 de março de 2013
Exercícios
• XIV - Faça um programa para criar um 
arquivo chamado VENDAS.DAT, em que cada 
registro será composto por 
codigo_vendedor, nome_vendedor, 
valor_venda e mes.
• XV - Faça um programa para cadastrar 
vendedor no arquivo VENDAS.DAT, lembre-
se que não pode existir vendedores com o 
mesmo código e o mesmo mes de venda.
terça-feira, 12 de março de 2013
Exercícios
• XVI - Faça um programa para alterar o 
valor de uma venda cadastrada no exercício 
anterior.
• XVII - Faça um programa para consultar o 
valor de uma venda de um vendedor em 
um dado certo mes.
terça-feira, 12 de março de 2013

Outros materiais

Materiais relacionados

Perguntas relacionadas

Perguntas Recentes