Parte 3: Estruturas de dados para pesquisa em memória secundária
|
|
- Maria de Lourdes da Conceição
- 4 Há anos
- Visualizações:
Transcrição
1 Parte 3: Estruturas de dados para pesquisa em memória secundária GA-024 Antônio Tadeu A. Gomes, D.Sc. Sala 2-01
2 Estruturas de dados para pesquisa em memória secundária Tratamento de arquivos em Acesso sequencial indexado Árvores B
3 Tratamento de arquivos em (I) usto para acessar diretamente um registro em disco (seek) é algumas ordens de grandeza maior do que o custo de acesso a posições da memória primária usto computacional das operações de acesso/leitura/ escrita é proporcional ao no. de transferências entre disco e memória primária - Sistemas operacionais (SOs) geralmente implementam serviços que tentam mitigar lentidão no acesso a registros em disco Bufferização
4 Tratamento de arquivos em (II) Serviços oferecidos pelos SOs/primitivas em (stdio.h): - Abertura de arquivo fopen(): SO encontra arquivo e prepara buffer na memória - eitura do arquivo fscanf(), fgetc(),...: SO recupera o trecho solicitado do arquivo SO obtém os dados, na sua totalidade ou em parte, do buffer - Escrita no arquivo fprintf(), fputc(),...: SO acrescenta ou altera o conteúdo do arquivo SO altera dados no buffer para posteriormente transferi-los para disco - Fechamento de arquivo fclose(): SO transfere todos os dados do buffer para disco SO libera área do buffer
5 Tratamento de arquivos em (III) FIE* fopen (char* file, char* mode); - Retorno: U se arquivo não puder ser aberto - mode: Podem ser combinados com demais t tipo texto (text) b tipo binário (binary) r leitura (read) - Retorna U se não existir a acréscimo ao final do arquivo (append) w escrita (write) - Arquivo é destruído se já existe, e um novo inicialmente vazio é criado r+ leitura e escrita num arquivo já existente w+ leitura e escrita num novo arquivo Arquivo é criado se não existe int fclose (FIE* fp); - Retorno: 0 se sucesso, ou EOF (End-Of-File) se erro
6 Tratamento de arquivos em (IV) Exemplo: - Solicita abertura de entrada.txt para leitura em modo texto - Testa se a abertura do arquivo foi realizada com sucesso - Fecha arquivo... FIE* fp; fp = fopen("entrada.txt","rt"); if (fp == U) { fprintf(stderr, "Erro na abertura do arquivo!\n"); exit(1); }... fclose(fp);...
7 Tratamento de arquivos em (V) Arquivos em modo texto: - ada arquivo possui um cursor indicando a posição corrente - Quando o arquivo é aberto para leitura, o cursor é posicionado no início do arquivo - A cada leitura: o dado lido é sempre aquele apontado pelo cursor do arquivo o cursor avança e passa a apontar para a posição imediatamente após o dado lido
8 Tratamento de arquivos em (VI) int fscanf (FIE* fp, char* format,...); - Retorno: número de dados lidos com sucesso (similar a scanf()) - omportamento: avança cursor p/ próx. dado int fgetc (FIE* fp); - Retorno: código do caractere lido ou EOF se fim de arquivo alcançado - omportamento: avança cursor p/ próx. caractere char* fgets (char* s, int n, FIE* fp); - Retorno: ponteiro da própria cadeia de caracteres passada como parâmetro, ou U se erro - omportamento: lê uma sequência de caracteres até que um caractere '\n' seja encontrado ou que o máximo de caracteres especificado no parâmetro n seja alcançado
9 Tratamento de arquivos em (VII) int fprintf(fie* fp, char* format,...); - Retorno: número de bytes escritos no arquivo - omportamento: similar a printf(), escrevendo a partir da posição atual do cursor int fputc(int c, FIE* fp); - Retorno: o próprio caractere escrito ou EOF se ocorrer um erro na escrita - omportamento: caractere escrito a partir da posição atual do cursor
10 Tratamento de arquivos em (VIII) Exemplos: /* Acesso caractere a caractere */ #include <stdio.h> int main (void) { int c; int nlinhas = 0; FIE *fp = fopen("entrada.txt","rt"); if (fp==u) return 1; while ((c = fgetc(fp))!= EOF) if (c == '\n') nlinhas++; fclose(fp); printf("o. de linhas = %d\n", nlinhas); return 0; } /* Acesso linha a linha */ #include <stdio.h> #include <string.h> int main (void) { int n = 0; int achou = 0; char subcadeia[] = ; char linha[121]; FIE* fp = fopen( entrada.txt,"rt"); if (fp == U) return 1; while (fgets(linha,121,fp)!= U) { n++; if (strstr(linha,subcadeia)!= U) { achou = 1; break; } } fclose(fp); if (achou) printf("achou na linha %d.\n", n); else printf("ao achou."); return 0; }
11 Tratamento de arquivos em (IX) Arquivos em modo binário: - Mapeamento entre bytes da memória e do arquivo int fread/fwrite(void* p, int size, int nelem, FIE* fp); - size: tamanho de um elemento - nelem: número de elementos - Retorno: número de elementos lidos/escritos int fseek(fie* fp, long offset, int whence); - offset: quantidade de bytes a avançar - whence: SEEK_UR (posição corrente), SEEK_SET (início do arquivo), SEEK_ED (final do arquivo) - Retorno: 0 se sucesso,!= 0 se erro - Uso em modo texto é possível, mas demanda tratamento especial (ftell(), fgetpos(), fsetpos())
12 Tratamento de arquivos em (X) Exemplo: armazenamento de pontos 3D struct point { float x, y, z; }; typedef struct point Point; int point_flush(char* file, int n, Point* vet) { FIE* fp = fopen(file,"wb"); if (fp==u) return 0; int nwrote = fwrite(vet, sizeof(point), n, fp); fclose(fp); return nwrote; } Point point_read(fie* fp, int i) { Point p; fseek(fp, i*sizeof(point), SEEK_SET); fread(&p, sizeof(point), 1, fp); return p; } int point_load (char* file, int n, Point* vet) { FIE* fp = fopen(file,"rb"); if (fp==u) return 0; int nread = fread(vet, sizeof(point), n, fp); fclose(fp); return nread; }
13 Tratamento de arquivos em (XI) o exemplo de pontos 3D, assume-se que os elementos (registros) têm tamanho fixo - Abordagem adotada apresenta problemas para campos de tamanho variável Ex.: strings Há alternativas de estrutura interna de arquivos quando não se pode assumir registros de tam. fixo: - omeçar cada registro (e eventualmente cada campo do mesmo) com um indicador de comprimento - Demarcar o fim de cada registro com um delimitador especial
14 Tratamento de arquivos em (XII) A organização de um arquivo deve envolver, além da definição de sua estrutura interna em si, considerações acerca: - do tamanho do arquivo ompressão iberação de espaço relativo a registros removidos - ompactação periódica, listas de disponibilidade (avail lists) - do desempenho da busca Para registros de tamanho fixo, abordagens como busca binária são eficientes, mas às custas de manter o arquivo sempre ordenado
15 Acesso sequencial indexado (I) Índice: arquivo auxiliar que mantém a posição (referência) do primeiro byte de cada registro no arquivo de dados - Índice mantém par <chave, referência> - Um mesmo arquivo de dados pode ter diferentes índices, correspondendo a diferentes tipos de chave Índice pode estar (e em geral está) ordenado, mas o arquivo de dados, não necessariamente - Índice pode manter informações adicionais, como tamanho de cada registro
16 Acesso sequencial indexado (II) Premissa para bom desempenho: - índice deve ser pequeno o suficiente para ser mantido totalmente em memória primária - onsiderações sobre adições, remoções e atualizações de registros em arquivos de dados e de pares <chave,referência> em índices Problema: - Inconsistência entre índice e arquivo de dados Ex.: devido a falha durante atualização do arquivo de índice Solução: - Mecanismo que indique que arquivo de índice está desatualizado - Mecanismo para reconstrução do índice a partir do arquivo de dados
17 Acesso sequencial indexado (III) Quando índices são muito grandes, surgem problemas semelhantes aos de busca em memória primária Árvores AV poderiam ser usadas na constituição do índice, mas ainda assim dependeriam de sua manutenção completa em memória primária para busca ser eficiente - Se índice for extremamente grande, somente algumas entradas do índice podem ser transferidas da memória secundária para a memória primária em um dado instante, para evitar estouro de memória no SO Estrutura da árvore AV não reduz significativamente o número de vezes que o SO faz acesso direto (seek) ao disco, pois cada nó da árvore armazena o par <chave,referência> de um único registro
18 Árvores B (I) Premissa: em um SO que faz bufferização, o tempo gasto em um acesso direto ao disco (p.ex. via fseek()) não é desperdiçado para a leitura (p.ex. via fread()) somente da informação específica desejada pela aplicação em um certo momento, mas sim de todo um bloco de informações contíguas no disco - Tamanho do bloco é dependente do SO Árvores-índice: cada nó da árvore armazena uma grande quantidade de chaves (tipicamente, o equivalente a um bloco inteiro de leitura no SO) - ada nó pode ter uma grande quantidade de subárvores Árvores-índice tem altura mas baixa que árvores binárias equivalentes, demandando menos acessos diretos a disco
19 Árvores B (II) Árvores de pesquisa multicaminho de ordem M - ada nó tem no máximo M subárvores Se nó tem X <= M subárvores, então armazena X-1 itens - Itens de um nó são armazenados em ordem - Primeira subárvore de um nó (1) armazena chaves menores que a primeira chave do nó - Última subárvore de um nó (X) armazena chaves maiores que a última chave do nó - Para todo 1 < n < X, n-ésima subárvore de um nó armazena chaves maiores que (n-1)-ésima chave do nó e chaves menores que n-ésima chave do nó
20 Árvores B (III) Ex. de árvore multicaminho (M=4):
21 Árvores B (IV) Duas abordagens de implementação: - ada item armazena chave e registro de dados - ada item armazena par <chave,referência> Ideal para grandes arquivos de dados - Ex. (item armazena chave inteira e registro, M=4): struct registry { int key;... /* outras info */ }; typedef struct registry Registry; struct node { int count; Registry reg[3]; long branch[4]; }; typedef struct node ode;
22 Árvores B (V) Uma árvore B de ordem M é uma árvore de pesquisa multicaminho: - ujas folhas estão sempre no mesmo (último) nível e (exceto, talvez, pela raiz) têm pelo menos ceil(m/2)-1 chaves - ujos nós internos (exceto, talvez, pela raiz) têm pelo menos ceil(m/2) filhos - Obs: ceil(3) = 3, ceil(3.35) = 4, ceil(1.98) = 2,... Trabalho de Bayer e Mcreight (1972) - uriosidade: origem do nome (Bayer?, Boeing?) é desconhecida...
23 Árvores B (VI) Ex. de árvore B (M=5): - Obs: na prática, árvores B apresentam ordens muito maiores (tipicamente, o equivalente ao tamanho de um bloco no disco, p.ex. M=513)
24 Árvores B (VII) Inserção de novo item: - Procure pela chave correspondente - Se chave não for encontrada, busca termina em uma folha: Se houver espaço nessa folha, insira o novo item na mesma Senão, a folha deve ser repartida (split): - Metade superior das chaves é movida para novo nó à direita dessa folha - have mediana é movida para o nó pai ote que split pode ser recursivo!!! - Se processo de split for necessário na raiz, a chave mediana é movida para um novo nó raiz, aumentando assim a altura da árvore B
25 Ex. (árvore B de ordem 5 inicialmente vazia) - Inserção de,, G, A Árvores B (VIII) - Inserção de E, K, Q - Inserção de H - Inserção de M
26 Árvores B (IX) Ex. (cont.): - Inserção de F, W,, T - Inserção de Z
27 Árvores B (X) Ex. (cont.): - Inserção de D (e P, R, X, Y) - Inserção de S
28 Árvores B (XI) Remoção de item: - Procure pela chave K correspondente - Se chave K for encontrada no nó : Se for nó interno, o item correspondente deve ser primeiro trocado de posição com o item contendo a chave antecessora (necessariamente um nó folha), similar ao que é feito com árvores binárias - OBS1: poderia ser também o item contendo a chave sucessora Se o nó folha onde está o item a ser removido tem mais que o mínimo de chaves (> ceil(m/2)-1), remova o item desse nó - OBS2: índices dos níveis superiores podem precisar ser atualizados Se o nó folha tem o mínimo de chaves (== ceil(m/2)-1): - E um dos irmãos vizinhos desse nó (à esquerda ou à direita) tem mais que o mínimo de chaves, esse nó toma itens emprestados desse vizinho (balanceando os dois nós), passando esses itens pelo nó pai Idem OBS E um dos irmãos vizinhos desse nó também tem o mínimo de chaves, una esse nós (merge) tomando emprestado da página pai o item do meio ote que o merge pode ser recursivo!!! Se processo de merge se propagar até a raiz, ela é eliminada, causando redução na altura da árvore
29 Árvores B (XII) Ex. (cont. do exemplo de inserção): - Remoção de H
30 Árvores B (XIII) Ex. (cont.): - Remoção de T (note troca com sucessor!)
31 Árvores B (XIV) Ex. (cont.): - Remoção de R
32 Árvores B (XV) Ex. (cont.): - Remoção de E
33 Árvores B (XVI) Ex. (cont.): - Remoção de E (cont.)
34 Árvores B (XVII) Estrutura interna típica de uma árvore B em um arquivo de índice separado do arquivo de dados: - Implementação em ++: [Kruse e Ryba, 1999] um odes RootRef um odes ount Branch Ref1 <Key,Ref> 1 Branch Ref2... <Key,Ref> 2... <Key,Ref> M-1 Branch RefM Kruse, R..; Ryba, A.J.,. (1999) Data Structures and Program Design in ++, Third Edition, Prentice-Hall.
35 Árvores B (XVIII) Variações: - Árvore B+: Registros (ou referências a eles) só são armazenados em nós folhas - ós internos só armazenam chaves Folhas são ligadas como em uma lista encadeada - Simplifica varredura sequencial em ordem - Árvore B*: Mínimo de chaves por nó é ceil((2m-1)/3) Split ocorre de 2 p/ 3
Estruturas de Dados. Módulo 15 - Arquivos. 2/6/2005 (c) Dept. Informática - PUC-Rio 1
Estruturas de Dados Módulo 15 - Arquivos 2/6/2005 (c) Dept. Informática - PUC-Rio 1 Referências Waldemar Celes, Renato Cerqueira, José Lucas Rangel, Introdução a Estruturas de Dados, Editora Campus (2004)
Leia maisComputadores Digitais 2. Prof. Rodrigo de Souza Couto
Computadores Digitais 2 Linguagens de Programação DEL-Poli/UFRJ Prof. Miguel Campista Aula de Hoje Arquivos Funções para abrir e fechar arquivos Arquivos em modo texto Arquivos em modo binário ATENÇÃO
Leia maisMétodos Computacionais. Arquivos
Métodos Computacionais Arquivos Arquivos Um arquivo representa um elemento de informação armazenado em memória secundária (disco) Características: Informações são persistidas Atribui-se nomes aos elementos
Leia maisComputação Eletrônica. Aula 12 Arquivos Texto e Binário. Prof: Luciano Barbosa. CIn.ufpe.br
Computação Eletrônica Aula 12 Arquivos Texto e Binário Prof: Luciano Barbosa Relembrando a Arquitetura Básica de um Computador Até agora, toda a informação armazenada por nossos programas estava na memória
Leia maisIntrodução a Programação. Manipulando Arquivos em Modo Texto
Introdução a Programação Manipulando Arquivos em Modo Texto Tópicos da Aula Hoje aprenderemos funções de manipulação de arquivos texto Funções de leitura em modo texto Funções de escrita em modo texto
Leia maisIntrodução a Programação. Arquivos
Introdução a Programação Arquivos Tópicos da Aula Hoje aprenderemos a persistir dados Conceito de arquivos Importância de persistência Modos de acesso de arquivos em C Operações em arquivos Funções de
Leia maisLaboratório de Introdução à Ciência da Computação I
Laboratório de Introdução à Ciência da Computação I Aula 13 Arquivos Professores: Jó Ueyama 10/06/10 1 Stream de texto Arquivo: tipo texto Um arquivo texto é uma sequência de linhas, onde cada linha contém
Leia maisAula 14 Oficina de Programação Tópicos Especiais em C: Arquivos. Profa. Elaine Faria UFU
Aula 14 Oficina de Programação Tópicos Especiais em C: Arquivos Profa. Elaine Faria UFU - 2017 Uso da Memória Secundária Em muitos casos necessitamos da memória secundária (auxiliar), para armazenar informações
Leia maisINF 1620 P4-01/07/08 Questão 1 Nome:
INF 1620 P4-01/07/08 Questão 1 Escreva uma função em C que receba duas strings, cujos caracteres estão ordenados em ordem crescente, e retorne uma nova string alocada dinamicamente, que contém todos os
Leia maisComputação 2. Aula 8. Profª. Fabiany Arquivos
Computação 2 Aula 8 Arquivos Profª. Fabiany fabianyl@utfpr.edu.br E/S com Arquivos A linguagem C não possui nenhum comando de E/S. Todas as operações de E/S ocorrem mediante chamadas a funções de biblioteca
Leia maisArquivos em C. Material da Prof. Ana Eliza
em C Material da Prof. Ana Eliza Definição Um arquivo é uma estrutura de dados linear ( lista ) que é mantida fora da memória principal, em um dispositivo de armazenamento (memória secundária). Um arquivo
Leia maisArquivos. Programação de Computadores I. Natália Batista.
Arquivos Programação de Computadores I Natália Batista nataliabatista@decom.cefetmg.br 1. Arquivos Estruturas de dados armazenadas fora da memória principal do computador, por exemplo em discos. Usados
Leia maisCAP. IX - MANIPULAÇÃO DE ARQUIVOS Generalidades sobre Arquivos. 9.2 Abertura e Fechamento de Arquivos. Operações com arquivos:
CAP. IX - MANIPULAÇÃO DE ARQUIVOS 9.1 Generalidades sobre arquivos 9.2 Abertura e fechamento de arquivos 9.3 Arquivos textos e arquivos binários 9.4 Leitura e escrita em arquivos binários 9.5 Procura direta
Leia maisINF 1620 P2-23/10/04 Questão 1 Nome:
INF 1620 P2-23/10/04 Questão 1 Considere um tipo abstrato de dados para representar uma disciplina da PUC-Rio, com as seguintes informações: Nome da disciplina: com até 50 caracteres Código da disciplina:
Leia maisINF 1620 P3-25/11/05 Questão 1 Nome:
INF 1620 P3-25/11/05 Questão 1 Dizemos que uma matriz quadrada é um quadrado mágico se a soma dos elementos de cada linha, a soma dos elementos de cada coluna e a soma dos elementos de sua diagonal principal
Leia maisINF 1620 P4 11/12/06 Questão 1 Nome:
INF 1620 P4 11/12/06 Questão 1 Considere que o cálculo da multa para o pagamento de um determinado imposto varia de acordo com a tabela a seguir: Valor do Imposto Original Multa por mês de atraso até R$
Leia maisOutline. 33. Manipulação de arquivos DIM
Outline 33. Manipulação de arquivos DIM031 015.1 Leitura e escrita 3 s DIM031 33. Manipulação de arquivos 015.1 1 / 4 DIM031 33. Manipulação de arquivos 015.1 / 4 Arquivo = entidade de armazenamento de
Leia maisINF 1620 P3-02/07/02 Questão 1 Nome:
INF 1620 P3-02/07/02 Questão 1 Considere um arquivo texto que contém os nomes e as notas dos alunos de uma disciplina. As informações de cada aluno ocupam duas linhas do arquivo: a primeira linha contém
Leia mais1/24 FICHEIROS DE TEXTO
1/24 FICHEIROS DE TEXTO Hardware de entrada/saída 2/24 Hardware de entrada/saída Grande variedade de dispositivos de E/S (Input/Output) - de memória: disco interno e externo, DVD, pen, CD,... - de transmissão:
Leia maisAlgoritmos e Estruturas de Dados II IEC013
Algoritmos e Estruturas de Dados II IEC013 Linguagem C - Arquivos - Prof. César Melo cavmelo@dcc.ufam.edu.br Slides preparados pelo Prof. Leandro Galvão galvao@dcc.ufam.edu.br Conceitos iniciais Um arquivo
Leia mais14. Arquivos. W. Celes e J. L. Rangel. Estruturas de Dados PUC-Rio 13-1
14. Arquivos W. Celes e J. L. Rangel Neste capítulo, apresentaremos alguns conceitos básicos sobre arquivos, e alguns detalhes da forma de tratamento de arquivos em disco na linguagem C. A finalidade desta
Leia maisComputação 2. Aula 9. Diego Addan Arquivos
Computação 2 Aula 9 Arquivos Diego Addan diegoaddan@gmail.com E/S com Arquivos A linguagem C não possui nenhum comando de E/S. Todas as operações de E/S ocorrem mediante chamadas a funções de biblioteca
Leia maisINF 1620 P4-27/06/02 Questão 1 Nome:
INF 1620 P4-27/06/02 Questão 1 Considere o tipo que representa uma grandeza vetorial (com três componentes) dado por: struct vetor { float x; float y; float z; }; typedef vetor Vetor; Pede-se: (a) Escreva
Leia maisProgramação II. Arquivos - Conceito. Arquivos
Programação II Arquivos Jocélio Passos joceliodpassos@bol.com.br C Comp Total, Cap 9 Espaço para armazenar dados em memória auxiliar (não volátil) Arquivos em C podem ser também terminais ou impressoras
Leia maisDepartamento de Informática - PUC-Rio INF 1007 Programação 2 P4 07/12/2010
Departamento de Informática - PUC-Rio INF 1007 Programação 2 P4 07/12/2010 Aluno: Matrícula: Turma: Instruções: 1) Escreva seu nome completo, matrícula e turma; 2) A prova deve ser completamente resolvida
Leia maisFundamentos de Programação
Fundamentos de Programação CP41F Operações de abertura, leitura e finalização de arquivos. Aula 32 Prof. Daniel Cavalcanti Jeronymo Universidade Tecnológica Federal do Paraná (UTFPR) Engenharia de Computação
Leia maisTÉCNICAS DE PROGRAMAÇÃO
TÉCNICAS DE PROGRAMAÇÃO Arquivo Conceitos Arquivo Fluxo de bytes stream Linguagem C Estrutura do tipo FILE FILE contém informações do arquivo Tamanho Ponteiro para buffer dados Atual operação sobre o arquivo
Leia maisSSC304 Introdução à Programação Para Engenharias. Arquivos. GE4 Bio
Universidade de São Paulo Instituto de Ciências Matemáticas e de Computação Departamento de Sistemas de Computação Introdução à Para Engenharias Arquivos GE4 Bio GE4Bio Grupo de Estudos em Sinais Biológicos
Leia maisProgramação para Computação 13ª Aula
Programação para Computação 13ª Aula Arquivos em C O sistema de E/S da linguagem C utiliza o conceito de streams e arquivos, como um nível de abstração entre o programador e o dispositivo utilizado. Uma
Leia mais13a. Aula Manipulação de arquivos
13a. Aula Manipulação de arquivos 2013.2 O sistema de entrada e saída do ANSI C é composto por uma série de funções (fopen, fprintf, fgets, fclose) cujos protótipos estão reunidos em stdio.h Todas estas
Leia maisAula: ARQUIVOS. Introdução à Ciência da Computação I Simone Senger Souza. ICMC/USP São Carlos
Aula: ARQUIVOS Introdução à Ciência da Computação I Simone Senger Souza ICMC/USP São Carlos Introdução As estruturas vistas anteriormente armazenam as informações na memória principal do computador. Nem
Leia maisDepartamento de Sistemas de Computação Universidade de São Paulo Introdução a Ciência de Computação I. Aula 13 Arquivos
Departamento de Sistemas de Computação Universidade de São Paulo Introdução a Ciência de Computação I Aula 13 Arquivos Responsável Seiji Isotani, Rafaela V. Rocha sisotani@icmc.usp.br rafaela.vilela@gmail.com
Leia maisExiste uma quantidade de informação que pode ser armazenada para resolver o problema.
Arquivos Introdução As estruturas vistas anteriormente armazenam as informações na memória principal do computador. Nem sempre é conveniente. Problemas: A informação é perdida; As estruturas de dados são
Leia maisINF 1620 P3-29/06/04 Questão 1 Nome:
INF 1620 P3-29/06/04 Questão 1 Considere um arquivo texto que descreve um conjunto de retângulos e círculos. Cada linha do arquivo contém a descrição de uma figura. O primeiro caractere da linha indica
Leia maisINF 1620 P3-27/11/04 Questão 1 Nome:
INF 1620 P3-27/11/04 Questão 1 Considere um arquivo texto com as notas dos alunos de uma disciplina. Os dados de cada aluno são armazenados em duas linhas do arquivo: uma com o seu nome (cadeia com até
Leia maisUniversidade Federal de Uberlândia Faculdade de Computação. Linguagem C: Manipulação de arquivos
Universidade Federal de Uberlândia Faculdade de Computação Linguagem C: Manipulação de arquivos Prof. Renato Pimentel 1 Introdução Até o momento, trabalhamos com programas que utilizam apenas a memória
Leia maisINF P3-23/06/07 Questão 1 Nome:
INF 1620 - P3-23/06/07 Questão 1 Considere a implementação de listas encadeadas para armazenar inteiros dada pelo tipo abaixo: struct lista { int info; struct lista* prox; typedef struct lista Lista; Escreva
Leia maisINF 1620 P3-21/06/08 Questão 1 Nome:
INF 1620 P3-21/06/08 Questão 1 Dada uma lista encadeada de números inteiros cujo tipo que representa um nó da lista é dado por: struct lista { int info; struct lista *prox; typedef struct lista Lista;
Leia maisINF 1620 P4-09/07/03 Questão 1 Nome:
INF 1620 P4-09/07/03 Questão 1 Um ponto geométrico no espaço 2D é representado pelas coordenadas reais x e y. Considere uma aplicação que precisa manipular pontos, através da implementação de duas funções.
Leia maisDepartamento de Informática - PUC-Rio INF 1007 Programação 2 P3 23/06/2010
Departamento de Informática - PUC-Rio INF 1007 Programação 2 P3 23/06/2010 Aluno: Instruções: 1) Escreva seu nome completo, matrícula e turma em todas as folhas desta prova; 2) A prova deve ser completamente
Leia maisAluno: Valor Nota Q1 3.0 Q2 2.5 Q3 2.5 Q4 2.0 Total 10.0
P4 Programação II 2012.2 Departamento de Informática/PUC- Rio Aluno: Matrícula: Turma: 1. A prova é sem consulta e sem perguntas. A interpretação do enunciado faz parte da prova. 2. A prova deve ser completamente
Leia maisAula 16: Manipulação de Arquivos em C
Aula 16: Manipulação de Arquivos em C Fernanda Passos Universidade Federal Fluminense Programação de Computadores IV Fernanda Passos (UFF) Manipulação de Arquivos Programação de Computadores IV 1 / 33
Leia maisINF 1620 P4 30/06/07 Questão 1 Nome:
INF 1620 P4 30/06/07 Questão 1 O maior divisor comum (MDC) de dois números inteiros é o maior número inteiro que faz uma divisão exata (com resto zero) desses dois números. Por exemplo, o MDC de 32 e 40
Leia maisListas (cont.) K&R: Capitulo 6. Lista Simplesmente Ligada IAED, 2012/2013. Conjunto de nós. Cada nó contém. head NULL. typedef struct node {
Listas (cont.) K&R: Capitulo 6 Lista Simplesmente Ligada Conjunto de nós head NULL Cada nó contém Informação útil Ponteiro para o próimo nó typedef struct node Item item; struct node *net; *link; Item
Leia maisAula 26: Arquivos de texto
Aula 26: Arquivos de texto Introdução a Programação Túlio Toffolo & Puca Huachi http://www.toffolo.com.br BCC201 2019/1 Departamento de Computação UFOP Aulas anteriores Estruturas heterogêneas Alocação
Leia maisDisciplina de Introdução à Ciência da Computação ICC 1 - Teoria
USP - ICMC - SSC SSC 0501-1o. Semestre 2015 Disciplina de Introdução à Ciência da Computação ICC 1 - Teoria Prof. Fernando Santos Osório Email: fosorio [at] icmc. usp. br, gmail. com Página Pessoal: http://www.icmc.usp.br/~fosorio/
Leia maisObjetivo. Compreender a definição e dominar a implementação de ponteiros em C. Dominar a manipulação de arquivos
Objetivo Compreender a definição e dominar a implementação de ponteiros em C. Dominar a manipulação de arquivos Motivação para a utilização de ponteiros O que precisamos para fazer para que uma função
Leia maisLINGUAGEM C: ARQUIVOS
LINGUAGEM C: ARQUIVOS Prof. André Backes ARQUIVOS Por que usar arquivos? Permitem armazenar grande quantidade de informação; Persistência dos dados (disco); Acesso aos dados poder ser não seqüencial; Acesso
Leia maisLINGUAGEM C: ARQUIVOS
LINGUAGEM C: ARQUIVOS Prof. André Backes Arquivos 2 Por que usar arquivos? Permitem armazenar grande quantidade de informação; Persistência dos dados (disco); Acesso aos dados poder ser não seqüencial;
Leia maisINSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA RIO GRANDE DO NORTE
INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA RIO GRANDE DO NORTE Algoritmos ANSI C - Arquivos Copyright 2014 IFRN Agenda Conceito Tipos de arquivos Texto Binário Stream Principais funções Exemplos
Leia maisUSP - ICMC - SSC SSC o. Semestre Disciplina de Introdução à Ciência da Computação ICC 1 - Teoria
USP - ICMC - SSC SSC 0501-1o. Semestre 2011 Disciplina de Introdução à Ciência da Computação ICC 1 - Teoria Prof. Fernando Santos Osório Email: fosorio [at] icmc. usp. br, gmail. com Página Pessoal: http://www.icmc.usp.br/~fosorio/
Leia maisIntrodução à Programação
Introdução à Programação Aula 09 Arquivos Edirlei Soares de Lima Funções de Entrada e Saída em Arquivos Até agora nós desenvolvemos somente programas que capturam dados de entrada
Leia maisSumário. Ficheiros. Ficheiros
Sumário Ficheiros Motivação Operações Ficheiros de texto e binários Manipulação de ficheiros de texto Abertura Encerramento Descritores de ficheiros: stdin, stdout, stderr Escrita Leitura Outras funções
Leia maisLinguagem C. Armazenamento de Dados em Arquivos - Continuação
Linguagem C Armazenamento de Dados em Arquivos - Continuação Arquivos Binários Comandos para gravação e leitura de arquivos (revisão): FILE *arquivo; arquivo = fopen( nome, modo ); fwrite (&variavel, sizeof
Leia maisINF 1620 P4-06/12/02 Questão 1 Nome:
INF 1620 P4-06/12/02 Questão 1 (a) Escreva uma função em C que receba como parâmetro um número inteiro não negativo e retorne, como resultado da função, o valor do seu fatorial. O cabeçalho desta função
Leia maisPesquisa Externa. Pesquisa Externa. Sistema de Paginação. Sistema de Paginação
Pesquisa Externa Pesquisa Externa Estrutura de Dados II Prof. Guilherme Tavares de Assis Universidade Federal de Ouro Preto UFOP Instituto de Ciências Exatas e Biológicas ICEB Departamento de Computação
Leia maisDepartamento de Informática - PUC-Rio INF 1007 Programação 2 P3 26/11/2010
Departamento de Informática - PUC-Rio INF 1007 Programação 2 P3 26/11/2010 Aluno: Matrícula: Turma: Instruções: 1) Escreva seu nome completo, matrícula e turma em todas as folhas desta prova; 2) A prova
Leia maisC Arquivos. Adriano Cruz 21 de julho de Instituto de Matemática Departamento de Ciência da Computação UFRJ
C Arquivos Adriano Cruz 21 de julho de 2017 Instituto de Matemática Departamento de Ciência da Computação UFRJ 1 Resumo da Seção Introdução Fluxos de Dados Arquivos Funções de Entrada e Saída Abrindo um
Leia maisINF 1620 P3-06/12/03 Questão 1 Nome:
INF 1620 P3-06/12/03 Questão 1 Considere um cadastro com as médias por disciplina dos alunos de uma universidade. Esse cadastro é originalmente armazenado em um arquivo texto que contém, para cada disciplina,
Leia maisFundamentos de Arquivos
Fundamentos de Arquivos Leandro C. Cintra M.C.F. de Oliveira Rosane Minghim 2004-2010 Fonte: Folk & Zoelick, File Structures 2 Arquivos Informação mantida em memória secundária HD Fitas magnéticas CD DVD
Leia maisOperações em Arquivos. MC102 Felipe Bergo
Operações em Arquivos MC102 Felipe Bergo Arquivos O sistema de arquivos é uma abstração para as memórias secundárias do computador: discos, fitas, CDs. Há uma hierarquia de diretórios e cada diretório
Leia maisSequência de informações binárias armazenadas num dispositivo de armazenamento permanente. Em geral os bits são agrupados em grupos de 8 (1 byte)
Arquivos Apesar da organização física sequencial dos bytes no arquivo, podemos em cima desta organização básica implementar outros tipos de estruturação para uma arquivo Arquivo Sequência de informações
Leia maisUniversidade de São Paulo São Carlos Instituto de Ciências Matemáticas e de Computação. Arquivos em C
Universidade de São Paulo São Carlos Instituto de Ciências Matemáticas e de Computação Arquivos em C 1 Material preparado pela profa Silvana Maria Affonso de Lara 2º semestre de 2010 ROTEIRO DA AULA Arquivos
Leia maisManipulação de Arquivos
Manipulação de Arquivos Estrutura de Dados II Prof. Guilherme Tavares de Assis Universidade Federal de Ouro Preto UFOP Instituto de Ciências Exatas e Biológicas ICEB Departamento de Computação DECOM Tipo
Leia maisArquivos em C Parte 2
Universidade de São Paulo São Carlos Instituto de Ciências Matemáticas e de Computação Arquivos em C Parte 2 Profa Rosana Braga Material preparado pela profa Silvana Maria Affonso de Lara 1º semestre de
Leia maisFundamentos de Programação 1
Fundamentos de Programação 1 Linguagem C Arquivos Seqüências ou de Texto. Slides 18 Prof. SIMÃO Jean Marcelo SIMÃO 1 Arquivo de Escrita 1 fopen ( nome.txt", "w" ); fputc ( caracter, arquivo); 2 #include
Leia maisArquivos em C. Notas de Aula. Prof. Francisco Rapchan
Arquivos em C Notas de Aula Prof. Francisco Rapchan www.geocities.com/chicorapchan Há várias definições para arquivos em computação. Uma das mais usadas é a de que um arquivo é um conjunto de registros
Leia maisProgramação. MEAer e LEE. Manipulação de ficheiros de texto. Bertinho Andrade da Costa. Instituto Superior Técnico. 2010/2011 1º Semestre
Programação MEAer e LEE Bertinho Andrade da Costa 2010/2011 1º Semestre Instituto Superior Técnico Manipulação de ficheiros de texto Programação 2010/2011 IST-DEEC Manipulação de Ficheiros 1 Sumário Ficheiros
Leia maisArquivos. Fundamentos de Arquivos. Discos X Memória Principal. Memória Secundária x Principal. Informação mantida em memória secundária (externa)
Algoritmos e Estruturas de Dados II Prof. Ricardo J. G. B. Campello Fundamentos de Arquivos Adaptado dos Originais de: Leandro C. Cintra Maria Cristina F. de Oliveira Arquivos Informação mantida em memória
Leia maisLinguagem C arquivos. IF61A/IF71A - Computação 1 Prof. Leonelo Almeida. Universidade Tecnológica Federal do Paraná
Linguagem C arquivos IF61A/IF71A - Computação 1 Prof. Leonelo Almeida Universidade Tecnológica Federal do Paraná Até agora... Introdução à linguagem C... Vetores Matrizes Funções Recursão Registros Ponteiros
Leia maisARQUIVOS. Vanessa Braganholo Estruturas de Dados e Seus Algoritmos
ARQUIVOS Vanessa Braganholo Estruturas de Dados e Seus Algoritmos ARQUIVO Arquivo é um conjunto de dados, dispostos de forma sequencial Arquivo Programa INSTITUTO DE COMPUTAÇÃO - UFF 2 STREAM Leitura e
Leia maisAlocação Dinâmica de Memória - Exercício
Alocação Dinâmica de Memória - Exercício Construa um programa que leia da entrada padrão o número de linhas e de colunas de uma matriz de floats, aloque espaço dinamicamente para esta e a inicialize, com
Leia maisINF 1005 Programação I - Prof. Hélio Lopes 24/04/2012
Vetores (Arrays) IF1005 Programação I Prof. Hélio Lopes lopes@inf.puc-rio.br sala 408 RDC 1 vetores tópicos definição declaração e inicialização vetores locais a funções passagem de vetores como parâmetros
Leia maisUSP - ICMC - SSC SSC o. Semestre Disciplina de Introdução à Computação para Engenharia Ambiental
USP - ICMC - SSC SSC 0301-2o. Semestre 2013 Disciplina de Introdução à Computação para Engenharia Ambiental 1 Prof. Dr. Fernando Santos Osório / Prof. Artur Lovato Cunha LRM - Laboratório de Robótica Móvel
Leia mais1 Escrita de Arquivos Binário
Computação para Informática - Prof. Adriano Joaquim de Oliveira Cruz Aula prática sobre arquivos binários 1 Escrita de Arquivos Binário Esta aula será sobre escrita e leitura de arquivos binários. Nesta
Leia maisE/S em Arquivo. Para ler ou escrever arquivos é preciso usar ponteiros de arquivo. Um ponteiro de arquivo é uma variável ponteiro do tipo FILE:
E/S em Arquivo A linguagem C não contém nenhum comando de E/S. O sistema de E/S de C provê um nível de abstração entre o programador e o dispositivo utilizado. Abstração stream Dispositivo real arquivo
Leia maisStructs, Ponteiros e Arquivos. Prof. Maurício Dias
Structs, Ponteiros e Arquivos Prof. Maurício Dias Registros e structs Um registro (= record) é uma coleção de várias variáveis, possivelmente de tipos diferentes. Na linguagem C, registros são conhecidos
Leia maisIntrodução. Manipulação de arquivos em C. Estrutura de Dados II Prof Jairo Francisco de Souza
Introdução Manipulação de arquivos em C Estrutura de Dados II Prof Jairo Francisco de Souza Manipulação de Arquivo em C Existem dois tipos possíveis de acesso a arquivos na linguagem C : sequencial (lendo
Leia maisINF 1620 P2-14/10/05 Questão 1 Nome:
INF 1620 P2-14/10/05 Questão 1 Considere um cadastro de produtos de um estoque, com as seguintes informações para cada produto: Código de identificação do produto: representado por um valor inteiro Nome
Leia maisComputadores Digitais 2. Prof. Rodrigo de Souza Couto
Computadores Digitais 2 Linguagens de Programação DEL-Poli/UFRJ Prof. Miguel Campista Tópicos Listas Encadeadas Introdução às listas encadeadas Manipulação de elementos Implementações recursivas Listas
Leia maisP3 Programação II Departamento de Informática/PUC-Rio 27 de junho de 2013
P3 Programação II 2013.1 Departamento de Informática/PUC-Rio 27 de junho de 2013 Aluno: Matrícula: Turma: Declaro ter lido as instruções abaixo e estar ciente das normas da aplicação da Prova. Assinatura:
Leia maisINF 1620 P1-16/09/06 Questão 1 Nome:
INF 1620 P1-16/09/06 Questão 1 Considerando a fórmula para o cálculo da distância entre dois pontos (x 1, y 1 ) e (x 2, y 2 ) apresentada a seguir: d = (x 2 " x 1 ) 2 + (y 2 " y 1 ) 2 (a) Escreva uma função
Leia maisDisciplina de Linguagem de Programação e Aplicações [ Eng. Elétrica / Automação ]
USP - ICMC - SSC SSC 0300-2o. Semestre 2013 Disciplina de [ Eng. Elétrica / Automação ] Prof. Dr. Fernando Santos Osório / PAE: Rafael Klaser (LRM / ICMC) LRM - Laboratório de Robótica Móvel do ICMC /
Leia maisAula 16. Ficheiros de texto
Aula 16 Aprender Empreender 1 Ficheiros de texto Ficheiros de texto Nos ficheiros de texto a informação é guardada sob a forma de linhas de texto, separadas por um carácter terminador de linha, '\n' (
Leia maisUSP - ICMC - SSC SSC o. Semestre Disciplina de Linguagem de Programação e Aplicações [ Eng. Elétrica / Automação ]
USP - ICMC - SSC SSC 0300-2o. Semestre 2013 Disciplina de [ Eng. Elétrica / Automação ] Prof. Dr. Fernando Santos Osório / PAE: Rafael Klaser (LRM / ICMC) LRM - Laboratório de Robótica Móvel do ICMC /
Leia maisCapítulo 06: Arquivos
Capítulo 06: Arquivos INF1004 e INF1005 Programação 1 Pontifícia Universidade Católica Departamento de Informática Funções de entrada e saída em arquivos Motivação: quando um programa precisa processar
Leia maisArquivos Binários UFOP 1/25
BCC 201 - Introdução à Programação I Arquivos Binários Guillermo Cámara-Chávez UFOP 1/25 Arquivos Binários: typedef, structs em Arquivos I t y p e d e f s t r u c t Dados { i n t dia, mes, ano ; d o u
Leia maisLeitura de Arquivos. Prof. Fabrício Olivetti de França
Leitura de Arquivos Prof. Fabrício Olivetti de França Leitura de Arquivos Na linguagem C temos um tipo especial chamado FILE para trabalhar com arquivos. Abrindo e fechando um arquivo Para abrir um arquivo
Leia maisUNIVERSIDADE DA BEIRA INTERIOR
UNIVERSIDADE DA BEIRA INTERIOR Programação II 2º Semestre Exame Época Norma (15 val) Resolução 22/06/2018 1 [1,00 val + 1,00 val] - Memória Dinâmica Considere as seguintes declarações de variáveis: int
Leia maisProgramação de Computadores I Arquivos na Linguagem C PROFESSORA CINTIA CAETANO
Programação de Computadores I Arquivos na Linguagem C PROFESSORA CINTIA CAETANO Introdução As informações que os programas utilizam são perdidas quando eles são finalizados ou quando o computador é desligado.
Leia maisLinguagem de Programação C. Arquivos
Arquivos Cristiano Lehrer Introdução Em C um arquivo é apenas um conjunto de bytes colocados uns após os outros de forma sequencial: Utilização de arquivos: Fonte de dados para o programa: Trata-se de
Leia maisMétodos Computacionais. Listas Encadeadas
Métodos Computacionais Listas Encadeadas Vetores Declaração de vetor implica na especificação de seu tamanho Não se pode aumentar ou diminuir tamanho Outra alternativa no uso de vetores é alocar dinamicamente
Leia maisLinguagem de Programação
Linguagem de Programação Funções para Manipulação de Arquivos Gil Eduardo de Andrade Introdução Na última aula foram apresentados e definidos: o conceito de arquivo e seus modos de abertura, o ponteiro
Leia maisLinguagem C Ficheiros Compilação Separada
Linguagem C Ficheiros Compilação Separada typedef definição de tipos Apontadores para estruturas Ficheiros na bibiloteca standard do C Compilação Separada Definição de novos tipos em C É possível definir
Leia maisManipulação de Arquivos
394 Podemos escrever e ler blocos de dados em um determinado arquivo. Para tanto, a linguagem C, disponibiliza as funções fread() e fwrite(). - fread Manipulação de Arquivos O protótipo de fread() é: unsigned
Leia maisCarlos Eduardo Batista. Centro de Informática - UFPB
Estrutura de Dados Carlos Eduardo Batista Centro de Informática - UFPB bidu@ci.ufpb.br Aritmética de ponteiros em C (continuação) O que acontece na memória? Ponteiro para ponteiro etc. Métodos de pesquisa
Leia maisArrays, Criação de Funções, Estruturas e Manipulação de Arquivos.
Faculdade de Engenharia da Computação Disciplina: Lógica de Programação Arrays, Criação de Funções, Estruturas e Manipulação de Arquivos. Site : http://www1.univap.br/~wagner/ec.html Prof. Responsáveis
Leia maisAula 26 - Arquivos. Prof. Laura Silva de Assis. Engenharia da Computação. CEFET/RJ - Centro Federal de Educação Tecnológica Celso Suckow da Fonseca
Programação I Aula 26 - Prof. Laura Silva de Assis Engenharia da Computação 2 o Período CEFET/RJ - Centro Federal de Educação Tecnológica Celso Suckow da Fonseca UnED Petrópolis 2 o semestre - 2015 1 Sumário
Leia maisINF1005: Programação 1. Arquivos. 02/05/10 (c) Paula Rodrigues 1
INF1005: Programação 1 Arquivos 02/05/10 (c) Paula Rodrigues 1 Tópicos Principais Motivação Abertura e fechamento de arquivos Leitura com fscanf Escrita com fprintf 08/03/10 (c) Paula Rodrigues 2 Motivação
Leia mais