Introdução a Programação COM 100

Slides:



Advertisements
Apresentações semelhantes
Estruturação de Linguagens (Pascal e C++)
Advertisements

TRATAMENTO DE ARQUIVOS EM C
Python: Entrada e Saída
Programação em Java Prof. Maurício Braga
Linguagem de Programação I
Programação em Java Prof. Maurício Braga
Ludwig Krippahl, 2008 Programação para as Ciências Experimentais 2007/8 Teórica 4.
Software Básico Silvio Fernandes Universidade Federal Rural do Semi-Árido Departamento de Ciências Exatas e Naturais Ciência da Computação Aula.
Software Básico Silvio Fernandes
Arquivos Seqüenciais Inhaúma Neves Ferraz
Prof. Luis Otavio Alvares
Capítulo 6 Sistemas de Arquivos 6.1 Arquivos 6.2 Diretórios
Linguagem de Programação 1
Linguagem PHP Prof.: Sergio Pacheco Prof.: Sergio Pacheco 1 1.
Algoritmos e Estruturas de Dados II
Aula 4 Nomes, Vinculações, Tipos e Escopos
Arquivos. 2 Namespace System.IO Toda as classes relacionadas com dispositivos de entrada e saída encontram-se em System.IO Incluir no início do programa:
Sincronização e Comunicação entre Processos
Robson Godoi / Sandra Siebra
Tratamento de Ficheiros
Classes e objetos Arrays e Sobrecarga
Classes e objetos P. O. O. Prof. Grace.
Tópicos Tipos de Dados Variáveis por Valor Variáveis por Referência
Algoritmos e Programação Thyago Maia Tavares de Farias Aula 25.
O Portal do Estudante de Computação
O Portal do Estudante de Computação
Instalação e Configuração
Python Persistência de Dados
João Lucas de Oliveira Torres
Variáveis, Tipos de Dados e Constantes
MÉTODO JACOBI.
Aula 4 Prof. Naércio Filho Técnico em Informática
Prof. Natalia Castro Fernandes Mestrado em Telecomunicações – UFF 2º semestre/2012.
PROGRAMAÇÃO ESTRUTURADA II
1 António Arnaut Duarte. 2 Sumário: primeiros passos;primeiros passos formatar fundo;formatar fundo configurar apresentação;configurar apresentação animação.
Ordenação e Pesquisa de Dados Marco Antonio Montebello Júnior
Funções Universidade Federal de Ouro Preto - UFOP
DAVID ANDERSON CARDOSO DANTAS
Entradas e Saídas Comando PRINT Direciona um dado não formatado para a saída padrão (exemplo: tela) PRINT,,,... Comando READ Lê um dado não formatado da.
Semana 03 Comandos de desvio de fluxo. Expressões lógicas.
Aula Prática 12 Operações com Arquivos Monitoria
Computação Eletrônica
1 2 Observa ilustração. Cria um texto. Observa ilustração.
Agenda - Aula 2 Introdução (Computador Digital) Processadores
Aula 13 - Armazenamento de Dados em Arquivos
23/08/2004 Centro de Informática - UFPE Projeto 2 de PLP Equipe: Daniel Leitão (dal) Dante Torres (dgt) Pablo Sampaio (pas) Linguagem Imperativa 2 com.
Aula 6 - Estruturas de Controle
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.
Computação Eletrônica
Capítulo III Modularização Procedimentos e Funções Universidade Federal de São Carlos Departamento de Computação Aluna: Luanna Lopes Lobato
Linguagem PASCAL1 Módulo 3 Estrutura de Dados.. Linguagem PASCAL2 Arrays (“Variáveis compostas homogêneas”) n Arrays unidimensionais: identificador: array.
Linguagem de programação I A Carlos Oberdan Rolim Ciência da Computação Sistemas de Informação.
FORMATANDO O TRABALHO NO WORD 2007
BC-0502 Metodologia e Algoritmos Computacionais Santo André, Abril de Arquivos em Java.
Stream – Fluxo I/O Manipulação de arquivos texto
ARQUIVOS.
Módulo Compras Relatórios e Relações 1. Objetivo 2 Conhecer os relatórios e as relações do sistema disponibilizadas no módulo Compras.
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.
Aula 11 – 24/05/2014 Arquivos textos. Manipulação de arquivos texto O armazenamento de dados em arquivos é muito utilizado em aplicações pois os dados.
Aula Prática 11 Operações com Arquivos Monitoria
Algoritmos e Estruturas de Dados
Operações com Arquivos Monitoria A estrutura FILE  É como um tipo de dado, mas não é um tipo propriamente dito  Definido no arquivo cabeçalho.
Aula Prática 11 Operações com Arquivos Monitoria
Estruturas de Dados + Algoritmos = Programas
Arquivos. Motivação Imagine dar entrada (digitar), a cada execução do programa, em todos os dados de um sistema. por exemplo, todos os registro de livros.
Registros. Definição (por comparação) Tipo de dados estruturado como array Diferente de arrays – Elementos armazenados em um registro podem ser distintos.
Introdução à Programação
Programação Computacional Aula 8: Entrada e Saída pelo Console Prof a. Madeleine Medrano
AULA 09 PROGRAMAÇÃO I. Estruturas de Dados Heterogêneas 10/08/2010 Programação I 2 Objetivo: Estudar os tipos de dados heterogêneos:  Registros;  Arrays.
Arquivos textos (text)
Transcrição da apresentação:

Introdução a Programação COM 100 REGISTROS e ARQUIVOS Aula 09

Registros • tipo de estrutura de dados heterogêneo • é uma estrutura definida pelo usuário que representa uma diversidade de valores distintos • os elementos de um record são denominados campos, onde cada campo de um determinado record possui um nome e um tipo definido. • utiliza-se o Var ou Type para definir-se um record

Exemplo: Type TipoRegistro = Record Nome : String[20]; CPF : String[14]; Tel : String[10]; Cidade : String[20]; Estado : String[10]; End; {fim do registro} Var X : TipoRegistro;

Begin X.Nome := ‘Axl Rose’; Readln(X.CPF); Readln(X.Tel); X.Cidade := ‘Maryanna’; X.Estado := ‘Imprevisível’; Writeln(X.Nome); Writeln(X.CPF); Writeln(X.Tel); Writeln(X.Estado) End.

Begin X.Nome := ‘Axl Rose’; Readln(X.CPF); Readln(X.Tel); X.Cidade := ‘Maryanna’; X.Estado := ‘Imprevisível’; With X Do Writeln(Nome); Writeln(Estado); Writeln(Tel) End.

Observação: Quando se escreve um procedimento ou função que recebe um array como argumento, o tipo do array deve estar predefinido num comando TYPE. Exemplo: Type TipoVetor ; Array[1..10] of Byte; ... Procedure Inchalah( V : TipoVetor );

Comandos - Arquivo ASSIGN: associa a variável do tipo arquivo a um nome de arquivo específico o disco ASSIGN(VarArquivo, “NomeDisco.txt”);

Comandos - Arquivo REWRITE: cria um novo arquivo e o abre para operações de gravação (escrita). Alternativamente, o comando APPEND abre um arquivo já existente, de modo que você possa adicionar um novo texto no fim do arquivo. Utiliza-se os procedimentos WRITE E WRITELN.

Comandos - Arquivo RESET: abre um arquivo existente, de modo que você pode usar o READ e READLN para ler os valores de dados e linhas de texto de um arquivo. OBS. Um arquivo texto pode ser aberto somente para uma operação por vez: gravação, junção ou leitura.

Diretivas {$I-} e {$I+}  Desligam ou ligam a verificação de erros de I/O.  Especificamente, você pode desligar a verificação de erros ara evitar um erro em tempo de execução, que ocorreria se você tenteasse abrir um arquivo inexistente para leitura ou junção.  A função IORESULT informa se ocorreu ou não algum erro

Comandos - Arquivo  A função EOF retorna com um valor do tipo BOOLEAN, que indica se o programa chegou ou não ao fim de um arquivo, durante uma operação de leitura.  O comando CLOSE fecha o arquivo que foi aberto para leitura ou escrita.

Variável de Arquivo-Texto Exemplo: Var VarDeArquivo : TEXT;  uma variável do tipo TEXT pode ser definida local ou globalmente, mas diferentemente das outras estruturas, o comprimento de uma variável de arquivo não é especificado.

Variável de Arquivo-Texto Const NomeArqDisco = `AgendaRed.txt` Var Agenda : TEXT; BEGIN Assign(Agenda, NomeArqDisco); END.

BEGIN. Assign(Agenda, NomeArqDisco); BEGIN Assign(Agenda, NomeArqDisco); Rewrite(Agenda); {cria um novo arquivo para operação de escrita} Append(Agenda); {bre um arquivo existente para escrever um novo texto no final do mesmo} Reset(Agenda); {abre um arquivo existente para a leitura} END.

OBS.: se um nome de arquivo já existir no disco, o comando Rewrite escreverá por cima dele, logo a versão antiga será perdida. Os comandos Append e Reset necessitam que um arquivo exista no disco. Para evitar erros em tempo de execução:

{$I-}. Reset(Agenda) {$I+} If IORESULT = 0 Then. {Lê o arquivo} Else {$I-} Reset(Agenda) {$I+} If IORESULT = 0 Then {Lê o arquivo} Else {Ocorreu um erro de I/O}

Escrevendo Dados: Write(Agenda, ‘Esta string vai ser escrita’); Writeln(Agenda, ‘Outra string !!!!’); OBS.: caracteres de retorno de carro e nova linha o final.

Lendo Dados: Read(Agenda, <lista de variáveis>); OBS Lendo Dados: Read(Agenda, <lista de variáveis>); OBS.: lê um ou mais valores de dados de um arquivo aberto e deixa o ponteiro de arquivo na linha atual; assim os comandos subseqüentes poderão ler informações adicionais na mesma linha.

Lendo Dados: Readln(Agenda, <lista de variáveis>); OBS Lendo Dados: Readln(Agenda, <lista de variáveis>); OBS.: lê um ou mais valores de dados, de um arquivo aberto, na linha atual e depois pula par ao início da próxima linha do arquivo.nformações adicionais na mesma linha.

Embora um arquivo do tipo texto contenha somente caracteres ASCII, um comando Read ou Readln pode ler apropriadamente os valores de dados para ambas as variáveis, numéricas ou string.

Var. Total : Real;. Arq : Text;. Produto : String[20]; Begin Var Total : Real; Arq : Text; Produto : String[20]; Begin Assign(Arq, ‘ESTOQUE.TXT’); Reset(Arq); ... Readln(Arq, Total, Produto); ....

Os caracteres a seguir, servem como delimitadores entre um e outro valor dentro de um arquivo texto: a) um caractere de espaço b) um caractere de tabulação c) um caractere de return Quando na leitura de uma seqüência de valores numéricos de um arquivo texto, a procedure READ reconhece esses caracteres como separadores entre um valor e outro.

 Entretanto, uma tentativa de ler uma string de caracteres não-numéricos pra uma variável numérica resulta em erro em tempo de execução, exatamente como aconteceria com uma operação de entrada pelo teclado.  Tipicamente, um programa usa uma estrutura de loop para ler os dados armazenados em um arquivo seqüencial.

 Cada iteração do loop pode ler um item de dado, ou uma linha de itens de dados.  Se você tiver certeza do número de itens ou linhas que estão armazenadas no arquivo, pderá usar um loop FOR para ler os dados.  Entretanto, uma abordagem mais típica é usar a função EOF (end of file).

While not EOF(Agenda) Do Begin Readln(Arq, Total, Produto); ... End; OBS.: o programa deve fechar o arquivo quando a operação de leitura ou escrita terminar.

FECHANDO UM ARQUIVO Close(Agenda);  esse comando fecha o arquivo externo em disco, mas não termina a associação entre a variável de arquivo o nome do arquivo.  o programa pode usar novamente um comando RESET, REWRITE, ou APPEND, para reabrir o mesmo arquivo (sem fazer um novo ASSIGN).

Program Tabajara; Const. MaxAlunos = 30; Type. RegAluno : Record Program Tabajara; Const MaxAlunos = 30; Type RegAluno : Record Nome : String[20]; Nota : Real End; Var Classe : Array[1 .. MaxAlunos] of RegAluno ArqClasse : Text;

BEGIN. {lendo os dados}. For i := 1 To MaxAlunos Do. Begin BEGIN {lendo os dados} For i := 1 To MaxAlunos Do Begin Read(Classe[ i ].Nome); Read(Classe[ i ].Nota) End; {escrevendo os dados} Assign(ArqClasse, “Classe.txt”); Rewrite(ArqClasse);

For i := 1 To MaxAlunos Do Begin Write(ArqClasse, Classe[ i ] For i := 1 To MaxAlunos Do Begin Write(ArqClasse, Classe[ i ].Nome); Writeln(ArqClasse, Classe[ i ].Nota) End; {fechando o arquivo} Close(ArqClasse);

{abrindo o arquivo para leitura} Reset(ArqClasse); i := 1; While not EOF(ArqClasse) Do Begin Readln(Classe[ i ].Nome, Classe[ i ].Nota); Inc(i); End; ... END.

ARQUIVOS TIPADOS  Um arquivo tipado contém uma seqüência de componentes individuais acessíveis, todos pertencendo ao mesmo tipo de dado ou estrutrua de dados. Var VariavelARq : FILE OF TipoArquivo; TipoArquivo: padrão, definido pelo usuário, exceto outro tipo FILE.

ARQUIVOS TIPADOS X TEXTO  um arquivo tipado aberto está disponível para ambas operações, leitura e escrita, ao mesmo tempo.  o Turbo Pascal usa os seus próprios formatos internos de dados para armazenar os componentes de um arquivo tipado no disco. (não é armazenado o formato de linha a linha de texto em ASCII).

ARQUIVOS TIPADOS X TEXTO  um programa que funciona com um arquivo tipado usa a procedure SEEK, embutida no Turbo Pascal, para acessar um determinado registro em qualquer posição especificada dentro do arquivo. O programa pode ler o registro para a memória ou escrever um novo registro na mesma posição.

 o comando SEEK é utilizado na programação de arquivos com acesso randômico. PASSOS BÁSICOS 1) defina o tipo do componente do arquivo e declare a variável de arquivo como uma estrutura do tipo FILE (as declarações TYPE e VAR).

2) estabeleça uma associação entre a variável de arquivo e um nome de arquivo no disco (a procedure Assign). 3) abra um novo arquivo ou um arquivo existente no disco (a procedure Reset ou Rewrite). Em ambos os casos, o arquivo está aberto tanto para a leitura como para a escrita ao mesmo tempo.

4) especifique uma determinada posição de registro no arquivo, como o alvo de uma operação subseqüente de leitura ou escrita (SEEK). Leia o registro para a memória (READ), ou escreva um novo registro para a posição de arquivo selecionada (WRITE). 5) feche os arquivos no final das operações (CLOSE).