INTRODUÇÃO THOBER CORADI DETOFENO, MSC. Aula 02 JOINVILLE 2015 Universidade do Estado de Santa Catarina – CCT/UDESC.

Slides:



Advertisements
Apresentações semelhantes
Programação em Java Prof. Maurício Braga
Advertisements

Técnicas para operações E/S
Organização e Gerência de Arquivos
TECNOLOGIA EM REDES DE COMPUTADORES Algoritmos e programação de computadores Aula /08/2011 Professor Leomir J. Borba-
Programação II Estruturas de Dados
Programação II Estruturas de Dados Aula 01
Prof. Luis Otavio Alvares
Linguagem C LPG-I – Variáveis Estruturadas – Vetores
LPG - I: Alocação Dinâmica de Memória - Ponteiros
Disciplina: AAM Profa. Ana Watanabe 03/13 vol.2
Algoritmos Escher.
Ponteiros em C.
LPG - I: Ponteiros e Vetores/Matrizes UDESC - SBS
Prof.: Sergio Pacheco Linguagem PHP Prof.: Sergio Pacheco 1.
Estruturas de Dados I Prof.: Sergio Pacheco Prof.: Sergio Pacheco 1 1.
Estruturas de Dados II Prof.: Sergio Pacheco Prof.: Sergio Pacheco 1 1.
Universidade Federal do Espírito Santo Programação II Professora: Norminda Luiza.
LINGUAGEM C Centro Federal de Educação Tecnológica da Paraíba Coordenação de Informática Professor: Lafayette B. Melo.
Linguagem C Strings.
Slides Prof. Jean SIMÃO Revisão: Prof. João FABRO
Fundamentos de Programação 1
Revisão da Linguagem C.
APRESENTAÇÃO: GIANCARLO DE GUSMÃO GONÇALVES CURSO DE C AULA 08: Tipos Estruturados.
INTRODUÇÃ A COMPUTAÇÃO ENG. CIVIL
Aula prática 9 Alocação Dinâmica Monitoria de Introdução à Programação
Aula prática 6 Vetores e Matrizes
PROGRAMAÇÃO ESTRUTURADA II
Linguagem de Programação II Parte VII
Linguagem de Programação II Parte IX
Ordenação e Pesquisa de Dados Marco Antonio Montebello Júnior
CADEIA DE CARACTERES (Strings)
Introdução a Linguagem de Programação C
Gerenciamento de Dados
UNIDADE 5 ESTRUTURAS DE DADOS HOMOGÊNEAS
Aula 3 Vetores e Listas. Arrays (vetores) Array – sequência de elementos do mesmo tipo. Tamanho do Array – seu número de elementos (número fixo) Consequência:
Aula 10 - Armazenamento de Dados em Registros
Aula 13 - Armazenamento de Dados em Arquivos
Educação Profissional Técnica de Nível Médio Curso Técnico de Informática Disciplina: Estrutura de Dados Professor: Cheli dos S. Mendes da Costa Arquivo.
Linguagem de programação I A Carlos Oberdan Rolim Ciência da Computação Sistemas de Informação.
Educação Profissional Técnica de Nível Médio Curso Técnico de Informática
Sistemas Operacionais
SISTEMAS OPERACIONAIS I Gerenciamento de Arquivos
Algoritmos - Profa. Alciléia1 Profa. Maria Alciléia Alves Rocha Funções em C 2011.
Capítulo V – Comandos de Entrada e Saída 5.1 – Equipamentos de entrada e saída 5.2 – Saída no vídeo-texto 5.3 – Entrada pelo teclado 5.4 – Entrada e saída.
Estruturas de Dados Aula 7: Tipos Estruturados 23/04/2014.
Algoritmos e Estrutura de Dados I Jean Carlo Mendes
Vetores Bidimensionais – Debug - Ponteiros – Listas Encadeadas Simples
Silberschatz, Galvin and Gagne ©2009 Operating System Concepts – 8 th Edition Capítulo 10: Interface de Sistemas de Arquivos.
Sistemas Operacionais
Tipos de dados inteiro caracter real logico
Prof. Alessandro Gonçalves
Programação de Computadores I – Arquivos
Linguagens de Programação
Linguagem de programação I A Carlos Oberdan Rolim Ciência da Computação Sistemas de Informação Versão: _01.
Organização de Arquivos
Programação Computacional Aula 8: Entrada e Saída pelo Console Prof a. Madeleine Medrano
1 Programação em C Aula Considere que um banco armazena em arquivo as seguintes informações de seus clientes: número da conta (int), nome do cliente.
Sistemas de Arquivos Sistemas Operacionais Profa. Priscila Facciolli
Estrutura de Dados Aula 3 - Listas
Sistemas de Arquivos. Alocação em memória – Problemas Quantidade Limitada de Informações Perda de informações quando o processo é terminado Vários processos.
Algoritmos e Programação MC102 Prof. Paulo Miranda IC-UNICAMP Aula 15 Funções.
POLINÔMIOS, MATRIZES, VETORES E LISTAS THOBER CORADI DETOFENO, MSC. Aula 03 JOINVILLE Universidade do Estado de Santa Catarina – CCT/UDESC.
INTRODUÇÃO THOBER CORADI DETOFENO, MSC. Aula 01 JOINVILLE 2015 Universidade do Estado de Santa Catarina – CCT/UDESC.
Linguagem de Programação
COMPILADORES 07 Prof. Marcos.
Programação de Computadores I – Arquivos Profa. Mercedes Gonzales Márquez.
Fundamentos de Programação 1 Slides 19 Prof. SIMÃO Jean Marcelo SIMÃO Linguagem C “Arquivos Binários”.
Estrutura de Dados STRUCTS Dilvan Moreira. Objetivos  Entender o que são e como usar:  Estrutura de Dados para a Linguagem C  Structs (Registros)
Introdução a Programação Aula 03 Jackson Eduardo
Fundamentos de Programação 1 Slides 18 Prof. SIMÃO Jean Marcelo SIMÃO Linguagem C “Arquivos Seqüências ou de Texto ”. 1.
Transcrição da apresentação:

INTRODUÇÃO THOBER CORADI DETOFENO, MSC. Aula 02 JOINVILLE 2015 Universidade do Estado de Santa Catarina – CCT/UDESC

Organização de Arquivos Informações em arquivos são, em geral, organizadas logicamente em campos e registros; Entretanto, campos e registros são conceitos lógicos, que não necessariamente correspondem a uma organização física; Dependendo de como a informação é mantida no arquivo, campos lógicos sequer podem ser recuperados.

Sequência de bytes (stream) Exemplo: Suponha que desejamos armazenar em um arquivo os nomes e endereços de várias pessoas; Suponha que decidimos representar os dados como uma sequência de bytes (sem delimitadores, contadores, etc.); AmesJohn123 MapleStillwaterOK74075MasonAlan90 EastgateAdaOK74820

Sequência de bytes (stream) Uma vez escritas as informações, não existe como recuperar porções individuais (nome ou endereço); Desta forma, perde-se a integridade das unidades fundamentais de organização dos dados: Os dados são agregados de caracteres com significado próprio; Tais agregados são chamados campos (fields).

Organização em campos Campo: menor unidade lógica de informação em um arquivo; uma noção lógica (ferramenta conceitual), não corresponde necessariamente a um conceito físico; Existem várias maneiras de organizar um arquivo mantendo a identidade dos campos A organização anterior não proporciona isso...

Métodos para organização em campos a)Comprimento fixo; b)Indicador de comprimento; c)Delimitadores; d)Uso de tags;

Campos com tamanho fixo Cada campo tem tamanho pré-determinado Recuperação facilitada Espaço alocado e não usado = desperdício Ruim para campos de dados com tamanho variável Razoável quando comprimento fixo ou com pouca variação

Campos com indicador de comprimento Tamanho de cada campo antes do dado Se tamanho do campo < 256 bytes um único byte para indicar o comprimento

Campos separados por delimitadores Caracteres especiais inseridos ao final de cada campo; Ex.: /, tab, #, etc... Espaços em branco geralmente não servem como delimitadores;

Uso de uma tag do tipo "keyword=value" Vantagem: informação (semântica) Facilidade de identificação de conteúdo do arquivo Facilidade de identificação de campos perdidos Possibilidade de padronização (html, XML,...) Desvantagem: keywords ocupam espaço

Organização em Registros Registro: conjunto de campos agrupado; Nível de organização do arquivo é mais alto; Também é uma ferramenta lógica, não física;

Métodos para organização em registros Tamanho fixo; Número fixo de campos; Indicador de tamanho; Uso de índice; Utilizar delimitadores;

Registros de tamanho fixo Todos os registros têm o mesmo número de bytes Muito comum Possível registros de tamanho fixo com campos de tamanho variável

Registros com número fixo de campos Ao invés de números fixo de bytes, número fixo de campos O tamanho do registro é variável Campos separados por delimitadores

Registros de tamanho variável

Indicador de tamanho para registros O indicador que precede o registro fornece o seu tamanho total, em bytes Os campos são separados internamente por delimitadores Boa solução para registros de tamanho variável

Utilizar um índice Um índice externo poderia indicar o deslocamento de cada registro relativo ao início do arquivo Pode ser utilizado também para calcular o tamanho dos registros Os campos seriam separados por delimitadores...

Utilizar delimitadores Separar os registros com delimitadores análogos aos de fim de campo O delimitador de campos é mantido, sendo que o método combina os dois delimitadores Note que delimitar fim de campo é diferente de delimitar fim de registro

Exercício Desenvolver um exemplo de banco de dados, onde tenha leitura e gravação em modo de registro. O programa tomará os dados de até 50 livros e os colocará numa matriz de estruturas na memória do computador. Uma simples escolha do usuário fará com que a matriz toda seja gravada num arquivo em disco. A interação com o usuário lhe permitirá ainda ler a matriz do arquivo novamente para a memória do computador.

Exercício /* livros.c */ /* Manutenção da lista de livros do arquivo */ #include #define TRUE 1 struct livro{ char titulo[30]; int regnum; double preco; }; struct livro livros[50]; int n = 0; char numstr[40]; main(){ char ch; while (TRUE){ printf("\n Digite a para adicionar um livro\n"); printf("\n i para imprimir todos os livros \n"); printf("\n g para gravar arquivo \n"); printf("\n l para ler arquivo \n"); printf("\n s para Sair \n"); ch = getche(); switch(ch){ case 'a': printf("novonome");break; case 'i': printf("listatudo");break; case 'g': printf("gravaarquivo");break; case 'l': printf("lerarquivo");break; case 's': return;break; default: printf("\nDigite somente opcao valida.");break; }