Departamento de Engenharia Rural Centro de Ciências Agrárias. Programação I

Tamanho: px
Começar a partir da página:

Download "Departamento de Engenharia Rural Centro de Ciências Agrárias. Programação I"

Transcrição

1 Departamento de Engenharia Rural Centro de Ciências Agrárias Programação I

2 Armazenamento de dados

3 Armazenamento de dados Você adquiriu muitas habilidades de programação. Os programas cresceram em tamanho e complexidade, mas você sempre descobriu uma forma interessante de lidar com estes desafios. Entretanto, na maioria das situações de uso dos seus programas, os dados precisam ser recalculados ou fornecidos como entrada a cada execução. O computador não consegue lembrar dos dados que foram processados ou fornecidos em execuções anteriores.

4 Armazenamento de dados Isto acontece porque até agora, tudo que você inseriu ou processou no computador, foi armazenado na memória volátil do sistema (RAM). Toda vez que seu programa encerra, ou o computador é desligado, os dados nesse tipo de memória são descartados. Esse tipo de memória não foi projetada para reter os dados.

5 Armazenamento de dados Quando os dados precisarem persistir no sistema, você deve enviá-los para um tipo de memória capaz de armazená-los pelo tempo que for necessário.

6 Arquivos Um conjunto de informações relacionadas mantido nesse tipo de memória recebe o nome de arquivo. A ideia é manter os dados disponíveis no sistema, sem que seja necessário obtê-los novamente por um processo mais lento e/ou propício a falhas (como a entrada humana, por exemplo)

7 Arquivos A memória em que os arquivos são armazenados é conhecida como memória secundária. unidades de disco rígido

8 Arquivos A unidade de processamento (CPU) não endereça diretamente dados que estão nos arquivos em memória secundária. Destinatário: Dados no arquivo Endereço:?

9 Arquivos Cada programa lê as informações gravadas no arquivo para locais na memória PRINCIPAL e assim, cada um poderá processá-las conforme a sua funcionalidade. Alternativamente, um programa pode transferir informações da memória PRINCIPAL para o arquivo. Ler do arquivo Escrever no arquivo

10 Buffers do arquivo X Arquivos Para realizar estas ações (leitura/gravação), os dados eventualmente são copiados para regiões temporárias de memória denominadas Buffers. Estas regiões funcionam como uma área intermediária entre o arquivo e a memória principal. Leitura: As informações do arquivo são copiada para um buffer, uma determinada quantidade de bytes de cada vez, estando, portanto, disponível ao programa para manipulação. Escrita: as informações são primeiramente acumuladas no buffer. Quando o buffer está cheio, seu conteúdo é escrito no arquivo. Buffer de leitura Buffer de escrita Ler do arquivo Escrever no arquivo

11 Buffers do arquivo X Arquivos Uma das formas de se obter/enviar informações dos/para os buffers é através das variáveis e expressões do seu programa: As linguagems de programação oferecem comandos de entrada e saída que permitem o intercâmbio de informações entre variáveis, expressões e os buffers. Y 12 msg Hi! Buffer de leitura Buffer de escrita Ler do arquivo Escrever no arquivo

12 Arquivos Um arquivo tem a propriedade de ser independente dos programas: É separado de qualquer programa e pode ser acessado e usado por muitos programas diferentes. Na maioria dos casos, usa-se um único programa para introduzir as informações no arquivo de dados e gravá-lo na memória secundária.

13 Arquivos Suponha que você tenha necessidade de criar um arquivo de dados, para guardar os nomes, endereços e telefones de seus amigos. Inicialmente, você precisará de um programa para introduzir as informações no arquivo e adicionar novos dados ao mesmo. Um outro programa poderá ser criado para listar as informações do arquivo. Outro permitirá você selecionar um número de telefone do arquivo usando o nome do amigo como critério de seleção. Você pode criar outro programa para mudar os endereços e os telefones. Outro para imprimir etiquetas contendo as informações do arquivo. As possibilidades continuam...

14 Arquivos O Turbo Pascal admite três tipos de arquivos: Arquivo typed (arquivo tipificado): pode conter praticamente todos os tipos de dados, menos o tipo FILE. Arquivo text (arquivo texto): pertence a um tipo predefinido do Pascal denominado text. Arquivo untyped (sem tipo): pode ser associado a qualquer arquivo, sendo que o tamanho do registro é de 128 bytes.

15 Arquivos Tipificados Pode armazenar um conjunto de reais, arrays, records, etc; Não se pode criar um arquivo de arquivo. Cada item de informação no arquivo, denominado registro, armazenará um valor do tipo declarado. Neste tipo de arquivo, os registros podem ser acessados diretamente quando se sabe sua posição entre os demais registros. Isto é feito informando-se o número do registro que se deseja acessar. Esse tipo de acesso é denominado randômico ou direto. Um arquivo tipificado é um arquivo randômico.

16 Arquivos Texto Os arquivos texto são armazenados em memória secundária como linhas de caracteres ASCII e só podem ser acessados de forma sequencial, isto é, só podem ser lidos ou escritos do início para o fim do arquivo. Em outras palavras, não existe uma forma de pular diretamente de um determinado registro para outro num ponto qualquer do arquivo.

17 Arquivos Texto Por essa razão, os arquivos sequenciais são melhor usados em aplicativos que executam tarefas sobre todo um conjunto de dados em vez de executá-las sobre um determinado registro.

18 Arquivos Sem Tipo As operações de entrada e saída usando um arquivo sem tipo transferem dados diretamente de um arquivo em memória secundária para uma variável de memória e vice-versa, sem passar pelo buffer, o que, além de economizar espaço na memória, também torna a operação mais rápida. Entretanto, seu uso é limitado. Quando um arquivo é aberto apenas para uma operação de remoção ou troca de nome, duplicação do arquivo, é aconselhável usar um arquivo sem tipo.

19 Manipulação de arquivos em Pascal Os procedimentos para manipulação de qualquer arquivo são: Também chamado de manipulador de arquivo Definir um identificador de arquivo (que é uma espécie de apelido que você usa para se referir ao arquivo) Associar o manipulador de arquivo ao nome do arquivo na memória secundária. Abrir o arquivo, para leitura ou para escrita (ou para ambos). Fechar o arquivo quando o processo terminar.

20 Manipulação de arquivos em Pascal O Pascal usa como padrão a palavra reservada text para a declaração de manipuladores de arquivos de texto: var arq_alunos: text; Os arquivos-texto são definidos inicialmente com memória temporária (buffer) de 128 bytes. Isto quer dizer que o Pascal trabalha com 128 bytes de informações de cada vez para esse tipo de arquivo.

21 Manipulação de arquivos em Pascal Para estabelecer o tamanho do buffer, basta colocar o número de bytes desejado entre colchetes depois da palavra text, na declaração um manipulador de arquivo: var arq_alunos: text; arq_func: text[512];

22 Manipulação de arquivos em Pascal Declarar só o manipulador do arquivo pode não ser suficiente. Seu programa ainda precisa de variáveis: os dados estão na memória e o jeito mais prático de manipulá-los é através das boas e velhas variáveis. Para ler uma informação de um arquivo, você deverá escolher uma variável para guardá-la. Muitas vezes você terá que indicar a variável que possui a informação a ser gravada no arquivo. Além disso, o manipulador do arquivo carrega consigo os dados extraídos do arquivo. Ele é utilizado quando se deseja fazer uma leitura, escrita ou consulta da situação em um determinado arquivo.

23 Manipulação de arquivos Antes de abrir um arquivo para leitura ou para escrita, você precisa associar o nome do arquivo na memória secundária a um manipulador de arquivo no seu código. Só será possível manipular os dados do arquivo após esta ação, também denominada assinalamento. A função predefinida que executa esta tarefa é assign. Não deve ser usada em arquivos que já estejam em uso.

24 Manipulação de arquivos em Pascal Utilize o comando Assign: assign(arq_alunos, alunos.dat ); A partir desse comando, toda referência a arq_alunos no programa será dirigida ao arquivo em memória secundária chamado alunos.dat. Caso um programa tenha mais de um manipulador de arquivo, teremos que assinalar individualmente cada variável, isto é, teremos tantos assign quanto forem as variáveis de arquivo.

25 Manipulação de arquivos em Pascal Assinalar uma variável a um arquivo é criar um buffer específico para aquela variável. O default (padrão) de arquivos que podem ser abertos simultaneamente no Pascal é 16.

26 Manipulação de arquivos em Pascal O Pascal fornece três funções diferentes para abertura de um arquivo: rewrite append reset

27 Manipulação de arquivos em Pascal Rewrite Objetivo e características: Cria o arquivo em memória secundária com o nome associado através do comando assign. Caso já exista um arquivo de mesmo nome no local associado, ele será sobrescrito com um novo arquivo vazio (atenção ao utilizar este comando!). Após o comando rewrite, o arquivo estará aberto e poderá ser usado: Arquivos de texto: apenas para gravação com os comandos write e writeln; Arquivos tipificados: para gravação com o comando write e para leitura com o comando read.

28 Manipulação de arquivos em Pascal Rewrite Sintaxe: rewrite(manipulador de arquivo); Exemplo: rewrite(arq01);

29 Manipulação de arquivos em Pascal Reset Objetivo e características: Abre um arquivo já existente e o disponibiliza: Arquivos de texto: apenas para leitura com os comandos read e readln; Arquivos tipificados: para leitura com o comando read e para gravação com o comando write.

30 Manipulação de arquivos em Pascal Reset Sintaxe: reset(manipulador de arquivo); Exemplo: reset(arq01);

31 Manipulação de arquivos em Pascal Append (somente arquivos texto) Objetivo e características: Abre um arquivo-texto já existente, e o disponibiliza para adicionar novos dados a partir do fim do arquivo através dos comandos write ou writeln. Ocorre um erro de I/O (entrada e saída) se o arquivo não existir na memória secundária.

32 Manipulação de arquivos em Pascal Append Sintaxe: append(manipulador de arquivo); Exemplo: append(arq01);

33 Manipulação de arquivos em Pascal Um determinado arquivo-texto pode ser aberto para leitura ou gravação, mas não para ambas operações ao mesmo tempo.

34 Manipulação de arquivos em Pascal CLOSE é um comando muito importante, pois é usado para manter a integridade e exatidão dos arquivos de dados. Este comando força a transferência do conteúdo do buffer para o arquivo, mesmo que o buffer não esteja cheio. O comando write/writeln não garante que os dados foram gravados na memória secundária!! Logo, antes de finalizar o uso de um arquivo (ou encerrar a execução do programa) é de extrema importância executar este comando. Caso o arquivo não seja fechado, pode haver perda de dados.

35 Manipulação de arquivos em Pascal Você agora deve escrever um programa capaz de gravar informações em um arquivo texto e outro programa para exibir cada linha desse arquivo na tela.

36 Manipulação de arquivos em Pascal Você precisa declarar o manipulador do arquivo e (opcionalmente) uma variável cujo valor será gravado no arquivo. Program Ola_Mundo_arquivo; var F: Text; frase: String;

37 Manipulação de arquivos em Pascal O manipulador do arquivo deve ser associado ao nome real do arquivo na memória secundária. Program Ola_Mundo_arquivo; var F: Text; frase: String; begin assign(f, 'meuarq.txt'); Coloque aqui o nome real de seu arquivo. O manipulador do arquivo é como um apelido que você usará para fazer qualquer referência ao verdadeiro arquivo. meuarq.txt Agora, também conhecido por F.

38 Manipulação de arquivos em Pascal O segundo parâmetro do comando assign (que é o verdadeiro nome do arquivo) é na realidade uma string qualquer, que deve indicar um caminho completo (local + nome do arquivo) em uma unidade de memória secundária ou apenas o nome do arquivo. Quando apenas o nome é indicado, o programa tentará abrir o arquivo no diretório corrente (onde se dá a execução do programa). Caso queira oferecer a possibilidade do usuário escolher o local e o nome do arquivo, você pode passar ao comando assign uma varável como o segundo parâmetro em vez da string constante.

39 Manipulação de arquivos em Pascal Exemplo: O usuário poderá digitar um endereço completo para o arquivo. Ex.: c:\textos\meudoc.txt Torça para este caminho existir (c:\textos\) Ou apenas um nome válido. Ex.: meudoc.txt Var F: Text; local_e_nome: String; begin readln(local_e_nome); assign(f, local_e_nome); Sem apóstrofes, isto não é uma constante string, mas uma variável. Arquivo? Agora, também conhecido por F.

40 Manipulação de arquivos em Pascal O comando rewrite cria um NOVO arquivo vazio e o deixa pronto para receber dados. Para criar um novo arquivo e abrí-lo para gravação, use o comando rewrite. O arquivo é conhecido em seu programa pelo apelido dele. (o manipulador do arquivo) Program Ola_Mundo_arquivo; var F: Text; frase: String; begin assign(f, 'meuarq.txt'); rewrite(f); IMPORTANTE Use o comando REWRITE somente para gravar (CRIAR) um NOVO arquivo. Caso o verdadeiro nome de arquivo já exista no local em que seu programa está sendo executado, um novo arquivo VAZIO substituirá o arquivo EXISTENTE. Um arquivo vazio foi criado com o nome meuarq.txt

41 Manipulação de arquivos em Pascal Tendo a informação disponível em algum local, grave-a no arquivo usando os comandos write ou writeln: Em arquivos texto, o comando write grava as informações uma após a outra, sempre que é executado sem necessariamente inserir o caractere de nova linha. Já o comando writeln, escreve a informação no arquivo e pula de linha. (A próxima escrita será feita na próxima linha do arquivo). Após obter alguma informação através da variável frase, você quer gravá-la no arquivo. Program Ola_Mundo_arquivo; var F: Text; frase: String; begin assign(f, 'meuarq.txt'); rewrite(f); readln(frase); writeln(f, frase); O comando de escrita enviará os dados para o buffer do arquivo F. Coloque aqui a informação a ser gravada no arquivo.

42 Manipulação de arquivos em Pascal Quando não for mais necessário utilizar o arquivo, feche-o com o comando Close. Feche o arquivo antes de sair. Program Ola_Mundo_arquivo; var F: Text; frase: String; begin end. assign(f, 'meuarq.txt'); rewrite(f); readln(frase); writeln(f, frase); close(f); Assim você solicita que toda informação no buffer de escrita ainda não enviada para o arquivo seja gravada. Esquecer de usar adequadamente o comando CLOSE antes de encerrar o programa pode (em alguns casos) ocasionar perda de dados (E se isto acontecer não há como recuperá-los facilmente na RAM). Fique atento: o comando não garante obrigatoriamente que tudo foi gravado. outras falhas do sistema (arquivo excluído por outro programa, falta de espaço em disco, etc...) também podem gerar erros de gravação no arquivo.

43 Manipulação de arquivos em Pascal Mas este programa só grava uma frase no arquivo! Utilize iterações para gravar várias informações. Enquanto a frase digitada não for igual a fim, grave-a em uma linha separada do arquivo. Program Ola_Mundo_arquivo; var F: Text; frase: String; assign(f, 'meuarq.txt'); rewrite(f); readln(frase); while frase <>'fim' do begin writeln(f, frase); readln(frase); {leia a próxima frase} end; close(f); end.

44 Manipulação de arquivos em Pascal O que esta modificação faz a seu arquivo?? Alguém modificou o comando de escrita! Program Ola_Mundo_arquivo; var F: Text; frase: String; assign(f, 'meuarq.txt'); rewrite(f); readln(frase); while frase <>'fim' do begin write(f, frase + '+': '+':)'); readln(frase); {leia a próxima frase} end; close(f); end.

45 Manipulação de arquivos em Pascal Para o programa que exibe as linhas do arquivo, você precisa declarar o manipulador do arquivo e uma variável que receberá a informação de cada linha. Program Ola_Mundo_arquivo; var F: Text; linha: String;

46 Manipulação de arquivos em Pascal Realize o assinalamento e abertura do arquivo. Program Ola_Mundo_arquivo; var F: Text; linha: String; begin assign(f, 'meuarq.txt'); reset(f); O arquivo será associado ao manipulador de arquivo chamado F

47 Manipulação de arquivos em Pascal O comando de leitura a partir de arquivos, é o read/readln. Como você precisa ler várias linhas (uma de cada vez), utilize o comando readln dentro de uma repetição. Ele funcionará como um cortador de papel, recortando uma linha inteira de seu arquivo cada vez que for chamado. O arquivo inteiro deve ser enviado ao cortador... Cortador de papel while...do Observação: diferente de um cortador real, o comando de leitura de linha (readln) não destruirá os dados do seu arquivo. Ele apena extrai linhas. Para recortar as linhas uma a uma, você precisará executar o comando várias vezes até atingir a última linha do arquivo.

48 Manipulação de arquivos em Pascal Mas quando o seu cortador de papel deverá parar de puxar o papel? (como saber se a última linha foi alcançada?) Para evitar uma tentativa de leitura de dados além do fim de um arquivo pode-se utilizar a função EOF antes de se executar qualquer comando de leitura: Esta função retorna o valor lógico TRUE quando a posição de acesso atual for o fim do arquivo. Neste caso, apenas gravação de novos dados seria coerente. Retornando FALSE, espera-se que ainda existam dados (registros) além da posição atual no arquivo.

49 Manipulação de arquivos em Pascal A função EOF é uma das estratégias mais simples de controlar a leitura de dados em um arquivo texto, já que a linguagem Pascal não dispõe de recursos predefinidos de localização para este tipo de arquivo. Para repetir até o fim do arquivo, use o comando while verificando a situação da função EOF (seu arquivo)

50 Manipulação de arquivos em Pascal Acrescentando o cortador while not(eof(f)) do ao seu código: Recorte e exiba as linhas até atingir o fim do arquivo. Program Ola_Mundo_arquivo; var F: Text; linha: String; begin assign(f, 'meuarq.txt'); reset(f); while not (EOF(F)) do begin readln(f,linha); writeln(linha); end;

51 Manipulação de arquivos em Pascal Por fim, o comando close garante que nenhuma operação entre os buffers e seu arquivo ficou pendente. Feche o arquivo antes de sair. Program Ola_Mundo_arquivo; var F: Text; linha: String; begin assign(f, 'meuarq.txt'); reset(f); while not (EOF(F)) do begin readln(f,linha); writeln(linha); end; close(f); end.

52 Arquivos tipificados Os arquivos tipificados permitem guardar informações nos arquivos de forma mais prática, quando não se deseja apenas gravar informação textual.

53 Arquivos tipificados Os juízes da maratona de surf de Alegre resolveram armazenar em um arquivo os resultados de todos os participantes.

54 Arquivos tipificados Você pode gravar as informações em um arquivo texto. Porém, quando for recuperá-las para uso, terá mais trabalho para separar as notas dos nomes. Além disso, toda informação lida a partir de um arquivo texto será lida como uma string de caracteres. Consequentemente, além de do trabalho de separar os nomes e as notas em variáveis strings diferentes, mais um comando será necessário, para converter as strings nas variáveis que contém as notas em valores numéricos.

55 Arquivos tipificados Os arquivos tipificados permitem que a gravação e leitura de dados em arquivo, usando diferentes tipos para cada fração de informação. Assim, no caso da maratona de surf, você poderá gravar o nome como uma string e as notas como valores numéricos. Cada participante terá seu nome e nota em um registro separado no arquivo. E quando for ler do arquivo, nenhuma conversão de dado será necessária.

56 Arquivos tipificados A forma mais simples de declarar um arquivo para esta tarefa é definir um tipo para os registros do arquivo. Você irá declarar manipuladores de arquivo e quantas variáveis forem necessárias como sendo do tipo registro que você criou. Type meu_tipo = registro fim Var arq_tipo: FILE of meu_tipo; v1,v2: meu_tipo;

57 Arquivos tipificados Definindo o tipo registro para a o programa da maratona de surf. Program surf_alegre; Type T_Reg_Surf = record nome: string; nota: real; end; Var F: File of T_Reg_Surf; reg: T_Reg_Surf; Para facilitar sua vida, defina um TIPO para os registros do arquivo. Cada registro possuirá um nome e uma nota (os participantes possuirão estas informações) Declare o manipulador do arquivo e uma variável para poder usar os dados (leitura/gravação)

58 Arquivos tipificados Faça o assinalamento entre o arquivo o manipulador do arquivo e crie um novo arquivo abrindo-o para gravar os novos registros. Program surf_alegre; Type T_Reg_Surf = record nome: string; nota: real; end; var F: file of T_Reg_Surf; reg: T_Reg_Surf; begin assign(f, 'results.dat'); rewrite(f); Nome Nota results.dat

59 Arquivos tipificados Grave registro por registro até que o usuário informe a condição de parada (para este exemplo, utilize nome = fim ). Program surf_alegre; Type T_Reg_Surf = record nome: string; nota: real; end; var F: file of T_Reg_Surf; reg: T_Reg_Surf; begin assign(f, 'results.dat'); rewrite(f); readln(reg.nome); while (reg.nome<>'fim') do begin readln(reg.nota); write(f,reg); readln(reg.nome); end; Nome Nota Johnny 8.65 Juan 9.12 Joseph results.dat

60 Arquivos tipificados Feche o arquivo quando terminar. Program surf_alegre; Type T_Reg_Surf = record nome: string; nota: real; end; var F: file of T_Reg_Surf; reg: T_Reg_Surf; begin assign(f, 'results.dat'); rewrite(f); readln(reg.nome); while (reg.nome<>'fim') do begin readln(reg.nota); write(f,reg); readln(reg.nome); end; close(f) end. Nome Nota Johnny 8.65 Juan 9.12 Joseph results.dat

61 Arquivos tipificados Para abrir um arquivo e exibir os registros, o processo é similar ao que foi feito com o arquivo texto. Basta utilizar a função EOF para saber que não há mais registros a serem acessados. Entretanto, os arquivos tipificados, quando abertos com o comando reset, permitem a gravação de novos dados em qualquer posição existente do arquivo. Isto facilita operações de alteração e inclusão de novos registros. Para eliminar um registro de um arquivo tipificado, o arquivo deve ser copiado em um novo arquivo sem o registro a ser excluído. (não há como excluir diretamente um registro, diminuindo o tamanho do arquivo) Nome Nota Johnny 8.65 Juan 9.12 Joseph results.dat

62 Posição de acesso em um arquivo Os arquivos são sequências de bytes. O primeiro byte está na posição 0, o segundo na posição 1, etc. Todo arquivo usado no programa tem um "cursor" interno que indica a posição do próximo byte a ser lido ou gravado com os comandos read, write, etc. Este cursor que indica a posição corrente no arquivo costuma ser chamado de ponteiro do arquivo.

63 Posição de acesso em um arquivo Quando abrimos um arquivo, o ponteiro vai normalmente para posição 0. A cada comando de leitura ou gravação, o cursor avança o número de bytes correspondentes ao que foi gravado (ou lido).

64 Posição de acesso em um arquivo Representação gráfica da ideia de ponteiro (cursor) para um arquivo de texto: O presente arquivo de texto contem as informações aqui registradas na forma de uma sequencia de bytes codificados de acordo com o padrão ASCII... No exemplo acima, o cursor do arquivo está no 23º caractere (ou byte) da linha atual, que é onde ocorre a o caractere t da palavra texto. O número de linha não pode ser definido sem o uso de técnicas que verificam a ocorrência de caracteres especiais no arquivo texto.

65 Posição de acesso em um arquivo No Windows, uma linha em um arquivo texto é simplesmente uma sequencia de 0 ou mais caracteres que ocorrem até a posição onde ocorrem dois caracteres especiais (2 bytes) que encerram uma linha: Um CR (Carriage Return, ou retorno de carro, valor 0x0D, ou 13) seguido de um LF (Line Feed, ou "avanço de linha", valor 0x0A ou 10). Esta é a primeira linha Passamos para a segunda linha Aí vem a terceira... Neste exemplo, o fim da linha ocorre logo após o 23º byte (ou a letra a da palavra linha )

66 Posição de acesso em um arquivo Em arquivos texto, não é difícil realizar leituras de porções de comprimento variáveis de dados. Em arquivos tipificados, o acesso padrão é feito em porções de tamanho fixo de dados (os registros geralmente são estruturas de tamanho fixo). Como exemplos, em um arquivo texto poder-seia ter as seguintes situações: Caso seja feita uma leitura dos 5 primeiros caracteres em uma linha, o próximo acesso se dará do sexto caractere em diante na mesma linha, caso existirem. Caso seja lida uma linha inteira, o próximo acesso será no início da próxima linha;

67 Posição de acesso em um arquivo Em arquivos tipificados, o pascal permite o acesso direto a qualquer registro, além do acesso sequencial. Isto é feito com uma função específica, na qual indica-se a posição relativa do registro, que é um número inteiro entre 0 e n-1, sendo n o número total de registros do arquivo. De modo geral, em um arquivo tipificado ocorre o seguinte: Uma leitura/gravação no registro de índice n, acarreta que o próximo acesso (leitura/gravação) será realizado em um registro de índice n+1.

68 Manipulação de arquivos em Pascal Representação gráfica da ideia de ponteiro para um arquivo de tipificado: Nº do Registro Valor 0 Fulano 1 Beltrano de Jacoiba 2 Ciclano de jatobá No exemplo acima, a posição atual de acesso (ou ponteiro do arquivo), representada pela seta azul, é o registro de posição 1.

69 Vale lembrar Acessos de leitura além da posição final de um arquivo fazem seu programa terminar com uma mensagem de erro.

70 Manipulação de arquivos em Pascal Nos arquivos tipificados além da função EOF existem outras funções que podem facilitar o acesso aos dados de maneira correta.

71 Manipulação de arquivos em Pascal Funções para manipulação de arquivos tipificados: filepos(manipulador de arquivo) Retorna um valor Longint (inteiro longo) que é a posição corrente do ponteiro do arquivo (o número de registro atual); filesize(manipulador de arquivo) Retorna um valor Longint (inteiro longo) que o número total de registros contidos no arquivo; Seek(manipulador de arquivo, pos) Posiciona o ponteiro do arquivo na posição indicada pelo parâmetro pos (um valor Longint);

72 Manipulação de arquivos em Pascal Dado um arquivo tipificado, não vazio, identificado pelo manipulador de arquivo meuarq, qual o efeito da execução da seguinte instrução: seek(meuarq,filesize(meuarq)-1);?

73 Manipulação de arquivos em Pascal As tarefas com arquivos podem ser modularizadas. Exemplo, elaborar um programa para gerenciar um arquivo com os dados do problema do placar da maratona de surf. O programa deve oferecer as seguintes funções ao usuário: Criar um novo arquivo em branco; Cadastrar novos registros; Realizar busca por nome e Sair do programa.

74 Referências FARRER, H.; BECKER, C. G.; FARIA, E. C.; MATOS, H. F.; et al. Algoritmos estruturados. 3ed, Ed. LTC, ISBN: GUIMARÃES, A. M.; LAGES, N. A. C.; Algoritmos e estruturas de dados. 1ed, Ed. LTC, ISBN: FARRER, H.; BECKER, C. G.; FARIA, E. C.; MATOS, H. F.; et al. Pascal estruturado. 3ed, Ed. LTC, ISBN: Velloso, F. C.; Informática: Conceitos Básicos. 7ed, Ed. Campus, ISBN: MAURI, G. R.; Notas de aula de Programação I Ajuda do Turbo Pascal 7.0

ESTRUTURA DE DADOS -ARQUIVOS. Prof. Angelo Augusto Frozza, M.Sc.

ESTRUTURA DE DADOS -ARQUIVOS. Prof. Angelo Augusto Frozza, M.Sc. ESTRUTURA DE DADOS -ARQUIVOS Prof. Angelo Augusto Frozza, M.Sc. frozza@ifc-camboriu.edu.br DEFINIÇÃO DO ARQUIVO Opção 1 type = [text] [file [of ]]; = ; Opção 2

Leia mais

Lista de Comandos: Arquivo texto e Binário

Lista de Comandos: Arquivo texto e Binário Lista de Comandos: Arquivo texto e Declaração de arquivo do tipo binário program sequencial; type endereco = record end; rua : string[40]; numero : integer; CEP : real; cadastro = record end; nome : string[30];

Leia mais

Pascal. -Cabeçalho do programa. - label - const - type - var - procedure - function. - integer - real - byte - boolean - char - string

Pascal. -Cabeçalho do programa. - label - const - type - var - procedure - function. - integer - real - byte - boolean - char - string Pascal -Cabeçalho do programa Áreas do programa -Área de declarações -Corpo do programa - label - const - type - var - procedure - function - integer - real - byte - boolean - char - string Program

Leia mais

9/24/2014. Prof. André Backes

9/24/2014. Prof. André Backes Prof. André Backes 1 Arquivos Por que usar arquivos? Permitem armazenar grande quantidade de informação; Persistência dos dados (disco); Acesso aos dados poder ser não sequencial; Acesso concorrente aos

Leia mais

Arquivos O QUE É, COMO LER E MANIPULAR

Arquivos O QUE É, COMO LER E MANIPULAR Arquivos O QUE É, COMO LER E MANIPULAR Arquivos Variáveis oferecem armazenamento de dados temporariamente Os dados são perdidos quando o escopo da variável é finalizado ou quando o programa termina Arquivos

Leia mais

UNIVERSIDADE ESTADUAL PAULISTA. Apostila Pascal Ed. 2006. Prof. Dr. Galeno José de Sena DMA/FEG CAPÍTULO 8

UNIVERSIDADE ESTADUAL PAULISTA. Apostila Pascal Ed. 2006. Prof. Dr. Galeno José de Sena DMA/FEG CAPÍTULO 8 unesp UNIVERSIDADE ESTADUAL PAULISTA Apostila Pascal Ed 2006 Prof Dr Galeno José de Sena DMA/FEG CAPÍTULO 8 ARQUIVOS DE DADOS EM PASCAL: ARQUIVOS SEQUENCIAIS - UMA INTRODUÇÃO 81 ARQUIVOS SEQUENCIAL E DIRETO

Leia mais

Arquivos em C. Material da Prof. Ana Eliza

Arquivos 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 mais

Computação Eletrônica. Arquivo

Computação Eletrônica. Arquivo Computação Eletrônica Arquivo Memória RAM (1 Giga Byte) Processador (Intel Pentium) Disco ou (100 Giga Bytes) Por que temos 2 memórias? : permanente (pode desligar o computador), barato e lento O é representado

Leia mais

Departamento de Engenharia Rural Centro de Ciências Agrárias. Programação I

Departamento de Engenharia Rural Centro de Ciências Agrárias. Programação I Departamento de Engenharia Rural Centro de Ciências Agrárias Programação I Exercícios Variáveis compostas homogêneas Multidimensionais (matrizes e outras abstrações) Manipulação de Strings e caracteres

Leia mais

Computaçã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. 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 mais

Departamento de Engenharia Rural Centro de Ciências Agrárias. Programação I

Departamento de Engenharia Rural Centro de Ciências Agrárias. Programação I Departamento de Engenharia Rural Centro de Ciências Agrárias Programação I Tipos definidos pelo programador Variáveis compostas heterogêneas Tipos definidos pelo usuário Os tipos integer, real, boolean,

Leia mais

LINGUAGEM C: ARQUIVOS

LINGUAGEM 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 mais

Departamento de Engenharia Rural Centro de Ciências Agrárias. Programação I

Departamento de Engenharia Rural Centro de Ciências Agrárias. Programação I Departamento de Engenharia Rural Centro de Ciências Agrárias Programação I Variáveis compostas heterogêneas Conjunto de registros Conjunto de registros Muitas vezes você precisará armazenar várias informações

Leia mais

Este capítulo apresenta as técnicas de manipulação de arquivos texto, binários e suas principais funções de I/O.

Este capítulo apresenta as técnicas de manipulação de arquivos texto, binários e suas principais funções de I/O. TRABALHANDO COM ARQUIVOS E DIRETÓRIOS Capítulo 9 Este capítulo apresenta as técnicas de manipulação de arquivos texto, binários e suas principais funções de I/O. ARQUIVOS TEXTO (File of Text) Os Arquivos

Leia mais

Departamento de Engenharia Rural Centro de Ciências Agrárias. Programação I

Departamento de Engenharia Rural Centro de Ciências Agrárias. Programação I Departamento de Engenharia Rural Centro de Ciências Agrárias Programação I Variáveis compostas homogêneas Multidimensionais (o uso de arrays para a representação de matrizes e outras abstrações) Matrizes

Leia mais

Introdução à programação em PASCAL. Aula de 22/10/2001. Nota: Conjunto de slides baseados nas transparências utilizadas em PEDA em anos anteriores

Introdução à programação em PASCAL. Aula de 22/10/2001. Nota: Conjunto de slides baseados nas transparências utilizadas em PEDA em anos anteriores Introdução à programação em PASCAL Aula de 22/10/2001 Nota: Conjunto de slides baseados nas transparências utilizadas em PEDA em anos anteriores Conteúdo Conceito de linguagem de programação O processo

Leia mais

Armazenamento de Dados. Prof. Antonio Almeida de Barros Junior

Armazenamento de Dados. Prof. Antonio Almeida de Barros Junior Armazenamento de Dados Prof. Antonio Almeida de Barros Junior 1 Armazenamento de Dados Todos os dados que utilizamos até o momento, ficavam armazenados apenas na memória. Ao final da execução dos programas,

Leia mais

Métodos de Programação I (2005/2006) 1. Ficheiro (file)

Métodos de Programação I (2005/2006) 1. Ficheiro (file) Métodos de Programação I (2005/2006) 1 Ficheiro (file) O tipo estruturado file representa, em Pascal, uma estrutura de dados capaz de armazenar dados ou resultados de qualquer outro tipo É uma estrutura

Leia mais

Algoritmos e Técnicas de Programação

Algoritmos e Técnicas de Programação Algoritmos e Técnicas de Programação Estrutura, Visualg e Variáveis filipe.raulino@ifrn.edu.br Programação Estruturada A programação estruturada (Top-Down) estabelece uma disciplina de desenvolvimento

Leia mais

Algoritmos e Programação

Algoritmos e Programação Algoritmos e Programação Aula 7 Vetores Profa. Marina Gomes marinagomes@unipampa.edu.br 19/05/2017 Engenharia de Computação - Unipampa 1 Motivação Problema: Leia as notas de uma turma de cinco estudantes

Leia mais

LINGUAGEM C: FUNÇÕES FUNÇÃO 08/01/2018. Funções são blocos de código que podem ser nomeados e chamados de dentro de um programa.

LINGUAGEM C: FUNÇÕES FUNÇÃO 08/01/2018. Funções são blocos de código que podem ser nomeados e chamados de dentro de um programa. LINGUAGEM C: FUNÇÕES Prof. André Backes FUNÇÃO Funções são blocos de código que podem ser nomeados e chamados de dentro de um programa. printf(): função que escreve na tela scanf(): função que lê o teclado

Leia mais

Unidade 4: Introdução à Lógica de Programação - Parte II

Unidade 4: Introdução à Lógica de Programação - Parte II Lógica de Programação para Engenharia 1 Unidade 4: Introdução à Lógica de Programação - Parte II Português Estruturado Prof. Daniel Caetano Objetivo: Explicitar os elementos básicos envolvidos na programação

Leia mais

Estrutura de Dados Básica

Estrutura de Dados Básica Estrutura de Dados Básica Professor: Osvaldo Kotaro Takai. Aula 5: Registros O objetivo desta aula é apresentar os tipos de dados definidos pelo programador, bem como exibir usos comuns desses tipos de

Leia mais

UNISINOS - UNIVERSIDADE DO VALE DO RIO DOS SINOS CENTRO DE CIÊNCIAS EXATAS E TECNOLÓGICAS (C6/6) Curso: Informática

UNISINOS - UNIVERSIDADE DO VALE DO RIO DOS SINOS CENTRO DE CIÊNCIAS EXATAS E TECNOLÓGICAS (C6/6) Curso: Informática Programação 1 Prof. Osório Aula 10 Pag.: 1 UNISINOS - UNIVERSIDADE DO VALE DO RIO DOS SINOS CENTRO DE CIÊNCIAS EXATAS E TECNOLÓGICAS (C6/6) Curso: Informática PROGRAMAÇÃO I AULA 10 Disciplina: Linguagem

Leia mais

PROGRAMAÇÃO de COMPUTADORES: LINGUAGEM FORTRAN 90/95

PROGRAMAÇÃO de COMPUTADORES: LINGUAGEM FORTRAN 90/95 PROGRAMAÇÃO de COMPUTADORES: LINGUAGEM FORTRAN 90/95 Exercícios de revisão Lista 01: a) Monte um mapa conceitual indicando as relações entre os seguintes conceitos, no contexto do assunto visto em aula:

Leia mais

LINGUAGEM C: FUNÇÕES FUNÇÃO 04/07/2017. Funções são blocos de código que podem ser nomeados e chamados de dentro de um programa.

LINGUAGEM C: FUNÇÕES FUNÇÃO 04/07/2017. Funções são blocos de código que podem ser nomeados e chamados de dentro de um programa. LINGUAGEM C: FUNÇÕES Prof. André Backes FUNÇÃO Funções são blocos de código que podem ser nomeados e chamados de dentro de um programa. printf(): função que escreve na tela scanf(): função que lê o teclado

Leia mais

Construção de Algoritmos II Aula 04

Construção de Algoritmos II Aula 04 exatasfepi.com.br Construção de Algoritmos II Aula 04 André Luís Duarte Porque mil anos são aos teus olhos como o dia de ontem que passou, e como a vigília da noite. Salmos 90:4 Arquivos Declaração de

Leia mais

Algoritmos e Estruturas de Dados I Linguagem C

Algoritmos e Estruturas de Dados I Linguagem C Algoritmos e Estruturas de Dados I (DCC/003) Algoritmos e Estruturas de Dados I Linguagem C Aula Tópico 10 Armazenamento Secundário: Arquivos 1 Problema 32 Considere que um arquivo de dados contém os valores

Leia mais

Arquivos. Introdução à Programação SI1

Arquivos. Introdução à Programação SI1 Arquivos Introdução à Programação SI1 1 Conteúdo Arquivos Conceitos Operações Métodos Exercícios 2 Arquivos Entrada e saída são operações de comunicação de um programa com o mundo externo Essa comunicação

Leia mais

Introdução à Programação

Introdução à Programação Programação de Computadores Introdução à Programação Prof. Helton Fábio de Matos hfmatos@dcc.ufmg.br Agenda Algoritmo & Programa Variáveis Declaração de tipos Comando de entrada ou de leitura Comando de

Leia mais

UNISINOS - UNIVERSIDADE DO VALE DO RIO DOS SINOS CENTRO DE CIÊNCIAS EXATAS E TECNOLÓGICAS (C6/6) Curso: Informática

UNISINOS - UNIVERSIDADE DO VALE DO RIO DOS SINOS CENTRO DE CIÊNCIAS EXATAS E TECNOLÓGICAS (C6/6) Curso: Informática Programação 1 Prof. Osório Aula 05 Pag.: 1 UNISINOS - UNIVERSIDADE DO VALE DO RIO DOS SINOS CENTRO DE CIÊNCIAS EXATAS E TECNOLÓGICAS (C6/6) Curso: Informática PROGRAMAÇÃO I AULA 05 Disciplina: Linguagem

Leia mais

ENGENHARIA DE PRODUÇÃO ICC 1 TÉCNICAS DE PROGRAMAÇÃO

ENGENHARIA DE PRODUÇÃO ICC 1 TÉCNICAS DE PROGRAMAÇÃO ENGENHARIA DE PRODUÇÃO ICC 1 TÉCNICAS DE PROGRAMAÇÃO 1. INTRODUÇÃO O que é um programa? Programa constitui uma seqüência lógica de passos para solução de um problema. Um programa pode ser codificado em

Leia mais

Lógica de Programação e Algoritmos

Lógica de Programação e Algoritmos Lógica de Programação e Algoritmos com exemplos na linguagem JAVA Cap. 4 Estruturas de Dados Homogêneas Vetores e Matrizes Conteúdo: 4.1 Variáveis compostas homogêneas... 55 4.2 Vetores... 56 Exercícios

Leia mais

Ambiente de Programação, rastreamento e entrada de dados. MCG114 Programação de Computadores I. Interpretador de Comandos. Interpretador de Comandos

Ambiente de Programação, rastreamento e entrada de dados. MCG114 Programação de Computadores I. Interpretador de Comandos. Interpretador de Comandos MCG114 Programação de Computadores I Profa. Ambiente de Programação, rastreamento e entrada de dados 1 2 Ambiente Python para Programação Ambiente Python para Programação Até agora... Comandos e funções

Leia mais

Departamento de Engenharia Rural Centro de Ciências Agrárias. Programação I

Departamento de Engenharia Rural Centro de Ciências Agrárias. Programação I Departamento de Engenharia Rural Centro de Ciências Agrárias Programação I Variáveis compostas Os arrays também são conhecidos como variáveis compostas. Variáveis compostas Correspondem a um certo número

Leia mais

Fundamentos de Arquivos

Fundamentos 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 mais

MC-102 Aula 24 Arquivos em C e Parâmetros do Programa

MC-102 Aula 24 Arquivos em C e Parâmetros do Programa MC-102 Aula 24 Arquivos em C e Parâmetros do Programa Instituto de Computação Unicamp 3 de Novembro de 2016 Roteiro 1 Arquivos Introdução a Arquivos em C Nomes e Extensões Tipos de Arquivos Caminhos Absolutos

Leia mais

Programação de Computadores I Estrutura de um Programa Procedimentos de Entrada e Saída PROFESSORA CINTIA CAETANO

Programação de Computadores I Estrutura de um Programa Procedimentos de Entrada e Saída PROFESSORA CINTIA CAETANO Programação de Computadores I Estrutura de um Programa Procedimentos de Entrada e Saída PROFESSORA CINTIA CAETANO Estrutura de um programa Todo programa é subdividido em três áreas distintas: cabeçalho

Leia mais

Sumário. Ficheiros. Ficheiros

Sumá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 mais

Arquivos. Arquivos correspondem a unidades de armazenamento, tipicamente gravados em unidades de memória secundária.

Arquivos. Arquivos correspondem a unidades de armazenamento, tipicamente gravados em unidades de memória secundária. Arquivos Arquivos correspondem a unidades de armazenamento, tipicamente gravados em unidades de memória secundária. Sistemas operacionais, como Linux ou Windows, permitem que arquivos sejam criados e recuperados

Leia mais

Programaçã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. 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 mais

1/24 FICHEIROS DE TEXTO

1/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 mais

Tutorial de Turbo Pascal

Tutorial de Turbo Pascal Página 1 de 7 Este tutorial foi completamente escrito por Rodrigo Brambilla pode ser distribuído livremente sem nenhuma modificação. Agradecimentos: Leomar Pacheco Rocha, Rodrigo Hoffmann dos Santos, Paulo

Leia mais

Arquitetura Von Neumann Dados e instruções são obtidos da mesma forma, simplificando o desenho do microprocessador;

Arquitetura Von Neumann Dados e instruções são obtidos da mesma forma, simplificando o desenho do microprocessador; 1 Microprocessador Um microprocessador é um circuito eletrônico capaz de realizar diversas tarefas conforme os comandos específicos. Para isso ele deve ler esses comandos da memória de programa (ROM) e

Leia mais

Trabalhando com Arquivos

Trabalhando com Arquivos Trabalhando com Arquivos Dados de um Programa Durante sua execução, um programa típico processa um ou mais conjuntos de dados. dados de entrada (usados pelo programa) e dados de saída (gerados pelo programa)

Leia mais

Disciplina de Algoritmos e Programação

Disciplina de Algoritmos e Programação Disciplina de Algoritmos e Programação Aula Passada Prática com declaração e inicialização de variáveis Capacidade de representação (estouro de representação) Tamanho ocupado pela variável na memória (comando

Leia mais

Unidade 4: Introdução à Lógica de Programação - Parte II Português Estruturado - Versão Estácio Prof. Daniel Caetano

Unidade 4: Introdução à Lógica de Programação - Parte II Português Estruturado - Versão Estácio Prof. Daniel Caetano Lógica de Programação para Engenharia 1 Unidade 4: Introdução à Lógica de Programação - Parte II Português Estruturado - Versão Estácio Prof. Daniel Caetano Objetivo: Explicitar os elementos básicos envolvidos

Leia mais

Programação: Vetores

Programação: Vetores Programação de Computadores I Aula 09 Programação: Vetores José Romildo Malaquias Departamento de Computação Universidade Federal de Ouro Preto 2011-1 1/62 Motivação Problema Faça um programa que leia

Leia mais

CURSO BÁSICO DE PROGRAMAÇÃO AULA 17. Manipulação de arquivos binários.

CURSO BÁSICO DE PROGRAMAÇÃO AULA 17. Manipulação de arquivos binários. CURSO BÁSICO DE PROGRAMAÇÃO AULA 17 Manipulação de arquivos binários. Revisão Abrindo arquivos de texto em C FILE *arquivo = fopen(, ); FILE: Tipo do objeto de arquivo. fopen: Função

Leia mais

UNISINOS - UNIVERSIDADE DO VALE DO RIO DOS SINOS CENTRO DE CIÊNCIAS EXATAS E TECNOLÓGICAS (C6/6) Curso: Informática

UNISINOS - UNIVERSIDADE DO VALE DO RIO DOS SINOS CENTRO DE CIÊNCIAS EXATAS E TECNOLÓGICAS (C6/6) Curso: Informática Programação 1 Prof. Osório Aula 07 Pag.: 1 UNISINOS - UNIVERSIDADE DO VALE DO RIO DOS SINOS CENTRO DE CIÊNCIAS EXATAS E TECNOLÓGICAS (C6/6) Curso: Informática PROGRAMAÇÃO I AULA 07 Disciplina: Linguagem

Leia mais

Algoritmos e Programação

Algoritmos e Programação Algoritmos e Programação Aula 2 Elementos fundamentais de Algoritmos, Conceitos de Variáveis Profa. Marina Gomes marinagomes@unipampa.edu.br 21/03/2017 Engenharia de Computação - Unipampa 1 Aula de Hoje

Leia mais

INTRODUÇÃO À LINGUAGEM PASCAL PREFÁCIO

INTRODUÇÃO À LINGUAGEM PASCAL PREFÁCIO INTRODUÇÃO À LINGUAGEM PASCAL CESAR BEZERRA TEIXEIRA,MSC PREFÁCIO A linguagem Pascal foi criada pelo Prof Niklaus Wirth na universidade de Zurich, com o propósito de ensinar os conceitos de uma linguagem

Leia mais

Faculdade de Computação

Faculdade de Computação Faculdade de Computação Programação Procedimental 13 Laboratório de Programação - Algoritmos Prof. Cláudio C. Rodrigues Prof. Fabíola Gonçalves I. Introdução a Arquivos A motivação para utilizar arquivos

Leia mais

Engenharia Civil e Engenharia Básica Programação de Computadores Wedson Quintanilha da Silva

Engenharia Civil e Engenharia Básica Programação de Computadores Wedson Quintanilha da Silva Página 1 de 10 APOSTILA DE PASCAL MAPEAMENTO DE ALGORITMOS PARA PASCAL Algoritmo Exercicio1 Program Exercicio1; declare nome : caracter; nome : string; aux : inteiro; aux : integer; salario : real; salario

Leia mais

Algoritmos. Algoritmos e Linguagem de Programação - Prof Carlos Vetorazzi

Algoritmos. Algoritmos e Linguagem de Programação - Prof Carlos Vetorazzi Algoritmos Algoritmos e Linguagem de Programação - Prof Carlos Vetorazzi Conceitos Linhas de Código de um Algoritmo ou Programa escrita do programa linha a linha, ou seja, a sintaxe do programa, podendo-se

Leia mais

Algoritmos e Programação

Algoritmos e Programação Universidade Federal do Pampa Campus-Bagé Algoritmos e Programação Aula 2 - Elementos fundamentais de Algoritmos, Conceitos de Varíaveis Prof. Julio Saraçol juliodomingues@unipampa.edu.br Slide1 Aula de

Leia mais

Algoritmos e Estrutura de Dados I Conceitos de Algoritmos. Prof. Elyssandro Piffer

Algoritmos e Estrutura de Dados I Conceitos de Algoritmos. Prof. Elyssandro Piffer Algoritmos e Estrutura de Dados I Conceitos de Algoritmos Prof. Elyssandro Piffer CONCEITO DE ALGORITMO O computador pode auxiliar em muitas tarefas, contudo ele não possui independência, não é inteligente,

Leia mais

Programação I Funções. Prof. Carlos Alberto

Programação I Funções. Prof. Carlos Alberto Programação I Funções Prof. Carlos Alberto carlos.batista@facape.br carlos36_batista@yahoo.com.br Funções Funções são blocos de códigos que podem ser nomeados e chamados de dentro de um programa; Funções

Leia mais

<identificador>[<tamanho>]: <tipo>;

<identificador>[<tamanho>]: <tipo>; Vetores e Constantes Imagine uma situação na qual fosse necessário armazenar 100 valores para processamento. Por exemplo, pode ser necessário armazenar as notas de 100 provas de uma turma de alunos. Uma

Leia mais

FACCAT Sistemas de Informação. Estruturas de Dados

FACCAT Sistemas de Informação. Estruturas de Dados FACCAT Sistemas de Informação Estruturas de Dados Aula 1 http://professores.faccat.br/azambuja (Estrutura de Dados) Definição de variáveis Podemos imaginar uma variável como o local onde se pode colocar

Leia mais

Introdução aos Algoritmos

Introdução aos Algoritmos Introdução aos Algoritmos Aula 05 Diogo Pinheiro Fernandes Pedrosa http://www2.ufersa.edu.br/portal/professor/diogopedrosa diogopedrosa@ufersa.edu.br Universidade Federal Rural do Semiárido Bacharelado

Leia mais

Algoritmos e Estruturas de Dados II IEC013

Algoritmos 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 mais

Algoritmos Lógica e Programação Prof. Me. Adelson Felipe Dias Nogueira

Algoritmos Lógica e Programação Prof. Me. Adelson Felipe Dias Nogueira Algoritmos Lógica e Programação 2016-2 Prof. Me. Adelson Felipe Dias Nogueira E-mail: adelson.nogueira@pitagoras.com.br PORTUGUES ESTRUTURADO o o o o Para que o algoritmo possa ser executado por uma máquina

Leia mais

Projeto de Algoritmos

Projeto de Algoritmos Projeto de Algoritmos Introdução aos Sistemas Computacionais Prof. Ernani Viriato de Melo / Reginaldo Costa http://www.ernani.eti.br http://reginaldofazu.blogspot.com 2º Semestre - 2008 Conceitos Básicos

Leia mais

Linguagem Pascal. Prof. Antonio Almeida de Barros Junior

Linguagem Pascal. Prof. Antonio Almeida de Barros Junior Linguagem Pascal Prof. Antonio Almeida de Barros Junior 1 Linguagem Pascal Criada para ser uma ferramenta educacional (Década de 70); Prof. Niklaus Wirth (Universidade de Zurique); Blaise Pascal (Matemático

Leia mais

Linguagem Pascal. Prof. Sérgio Rodrigues. É a descrição, de forma lógica, dos passos a serem executados no cumprimento de determinada tarefa;

Linguagem Pascal. Prof. Sérgio Rodrigues. É a descrição, de forma lógica, dos passos a serem executados no cumprimento de determinada tarefa; Linguagem Pascal Prof. Sérgio Rodrigues Introdução Algoritmo É a descrição, de forma lógica, dos passos a serem executados no cumprimento de determinada tarefa; Programa é a formalização de um algoritmo

Leia mais

Estruturas de Repetição

Estruturas de Repetição Algoritmos e Estruturas de Dados I (DCC/003) Estruturas de Repetição Aula Tópico 4 (while, for) 1 Problema 10 Suponha que soma (+) e subtração (-) são as únicas operações disponíveis em C. Dados dois números

Leia mais

Aula Anterior. Decomposição algorítmica (continuação)

Aula Anterior. Decomposição algorítmica (continuação) Aula Anterior Decomposição algorítmica (continuação) Degenerescência da decomposição básica da solução em três etapas Método de decomposição modificado à entrada Associação de diferentes valores de entrada

Leia mais

Sistemas Operacionais

Sistemas Operacionais Introdução Inst tituto de Info ormátic ca - UF FRGS Sistemas Operacionais i Sistema de Arquivos Introdução Aula 16 Armazenamento permanente de grande volume de informações Memória primária (RAM) é volátil

Leia mais

Departamento de Engenharia Rural Centro de Ciências Agrárias. Programação I

Departamento de Engenharia Rural Centro de Ciências Agrárias. Programação I Departamento de Engenharia Rural Centro de Ciências Agrárias Programação I Técnicas de verificação de algoritmos Um tipo de teste de algoritmo, denominado Teste de Mesa (ou Teste Exaustivo) pode ser feito

Leia mais

Caracteres e Cadeias de Caracteres

Caracteres e Cadeias de Caracteres Caracteres e Cadeias de Caracteres INF1005 Programação I Prof. Hélio Lopes lopes@inf.puc-rio.br sala 408 RDC 1 caracteres e cadeias de caracteres tópicos caracteres cadeias de caracteres (strings) vetor

Leia mais

Prática de Programação. Prof. Tiago A. E. Ferreira Aula 9 Estruturas, Uniões, Enumerações e Tipos Definidos pelo Usuário

Prática de Programação. Prof. Tiago A. E. Ferreira Aula 9 Estruturas, Uniões, Enumerações e Tipos Definidos pelo Usuário Prática de Programação Prof. Tiago A. E. Ferreira Aula 9 Estruturas, Uniões, Enumerações e Tipos Definidos pelo Usuário Introdução A linguagem C/C++ permite criar tipos de dados definidos pelo usuário

Leia mais

Programação Computacional Aula 17: Manipulação de arquivos

Programação Computacional Aula 17: Manipulação de arquivos Programação Computacional Aula 17: Manipulação de arquivos Profa. Madeleine Medrano madeleine@icte.uftm.edu.br Arquivos de registros Os dados manipulados pelos nossos programas (dados de entrada, dados

Leia mais

Introdução aos Algoritmos

Introdução aos Algoritmos Introdução aos Algoritmos Aula 05 Diogo Pinheiro Fernandes Pedrosa http://www2.ufersa.edu.br/portal/professor/diogopedrosa diogopedrosa@ufersa.edu.br Universidade Federal Rural do Semiárido Bacharelado

Leia mais

Sistemas Operacionais

Sistemas Operacionais Arquitetura do sistema de arquivos em camadas Inst tituto de Info ormátic ca - UF FRGS Sistemas Operacionais i Sistema de Arquivos Introdução Aula 17 Estrutura de diretórios Alocação e gerenciamento de

Leia mais

Português Estruturado

Português Estruturado Português Estruturado Português Estruturado Para que o algoritmo possa ser executado por uma máquina é importante que as instruções sejam corretas e sem ambigüidades. O português estruturado é, na verdade,

Leia mais

Aula: 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 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 mais

CURSO BÁSICO DE PROGRAMAÇÃO AULA 11. Revisão Aula Anterior Vetores Cadeia de Caracteres

CURSO BÁSICO DE PROGRAMAÇÃO AULA 11. Revisão Aula Anterior Vetores Cadeia de Caracteres CURSO BÁSICO DE PROGRAMAÇÃO AULA 11 Revisão Aula Anterior Vetores Cadeia de Caracteres Introdução a Linguagem C Laços de Repetição While Do-While For while() { } do { }while();

Leia mais

Universidade Federal de Uberlândia Faculdade de Computação. Conceitos básicos de algoritmos Prof. Renato Pimentel. Computação

Universidade Federal de Uberlândia Faculdade de Computação. Conceitos básicos de algoritmos Prof. Renato Pimentel. Computação Universidade Federal de Uberlândia Faculdade de Computação Conceitos básicos de algoritmos Prof. Renato Pimentel 1 Computação Dados Informações vindas de usuários ou de outras máquinas; Processamento transformação

Leia mais

Capítulo 6: Arquivos

Capítulo 6: Arquivos Capítulo 6: Arquivos Waldemar Celes e Roberto Ierusalimschy 29 de Fevereiro de 2012 1 Funções de entrada e saída em arquivos Nos capítulos anteriores, desenvolvemos programas que capturam seus dados de

Leia mais

Prof. Natalia Castro Fernandes Mestrado em Telecomunicações UFF 2º semestre/2012

Prof. Natalia Castro Fernandes Mestrado em Telecomunicações UFF 2º semestre/2012 Prof. Natalia Castro Fernandes Mestrado em Telecomunicações UFF 2º semestre/2012 Introdução Arquivos são usados para fazer operações de entrada e saída Disco, monitor, teclado, impressora Representação

Leia mais

Sistema de entrada e saída (E/S)- Módulos de E/S; tipos de operações de E/S

Sistema de entrada e saída (E/S)- Módulos de E/S; tipos de operações de E/S Sistema de entrada e saída (E/S)- Módulos de E/S; tipos de operações de E/S Explicitar aos alunos os modelos de entrada e saída em um computador e quais barramentos se aplicam a cada componente: memória,

Leia mais

LINGUAGEM C: ARQUIVOS

LINGUAGEM 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 mais

Exercícios: Arquivos

Exercícios: Arquivos Universidade Federal de Uberlândia - UFU Faculdade de Computação - FACOM Lista de exercícios de programação em linguagem C Exercícios: Arquivos 1. Codifique, compile e execute um programa que: (a) crie/abra

Leia mais

Memória Volátil Em um computador, contrário a memória não volátil, é aquela cuja informação se perde ao se interromper o fluxo de corrente elétrica.

Memória Volátil Em um computador, contrário a memória não volátil, é aquela cuja informação se perde ao se interromper o fluxo de corrente elétrica. 6. Arquivos de Dados Todos dados manipulados até o momento, encontram-se em memória volátil, ou seja, após a execução do programa, os dados se perdem. Para resolver este problema, pode-se trabalhar com

Leia mais

Algoritmos e Programação

Algoritmos e Programação Algoritmos e Programação Aula 9 Subalgoritmos, funções e passagem de parâmetros Profa. Marina Gomes marinagomes@unipampa.edu.br 22/06/2017 Engenharia de Computação - Unipampa 1 Modularização Facilita a

Leia mais

Operações com Arquivos

Operações com Arquivos Operações com Arquivos Programação de Computadores I Emiliana Mara Lopes Simões simoes.eml@gmail.com Universidade Federal de Ouro Preto dezembro 2009 Arquivos Os arquivos são utilizados para armazenamento

Leia mais

Linguagem Computacional

Linguagem Computacional Informática II Linguagem Computacional Algoritmos e Programação Parte 2 Prof. Dr. Adriano Cansian Prof. Dr. Leandro Alves Neves 1 Sumário Tipos de Dados Variáveis Modelo esquemático Características e Regras

Leia mais

Simulação de Caixa Automático

Simulação de Caixa Automático Programação Funcional UFOP DECOM 2014.1 Trabalho 1 Simulação de Caixa Automático Sumário Resumo Com esta atividade pretende-se explorar a construção de programas interativos usando ações de entrada e saída

Leia mais

Unidade II FUNDAMENTOS DE SISTEMAS OPERACIONAIS. Prof. Victor Halla

Unidade II FUNDAMENTOS DE SISTEMAS OPERACIONAIS. Prof. Victor Halla Unidade II FUNDAMENTOS DE SISTEMAS OPERACIONAIS Prof. Victor Halla Conteúdo Sistema de Arquivos Introdução Sistemas de Diretórios Gerenciamento de Entrada e Saída; Problemas de alocação em memória Perda

Leia mais

TÉCNICAS DE PROGRAMAÇÃO. Estrutura de dados

TÉCNICAS DE PROGRAMAÇÃO. Estrutura de dados TÉCNICAS DE PROGRAMAÇÃO Estrutura de dados O que são estrutura de dados? É a forma como os armazenamos tipos de dados, vistos dia a dia, ou seja, nada mais são do que a transformação de uma forma de armazenamento

Leia mais

3.1 - Funções para manipular dados de entrada e saída padrão

3.1 - Funções para manipular dados de entrada e saída padrão 1616161616161616161616161616161616161616161616161616 3- ENTRADA E SAÍDA EM C Os principais meios para executar operações de entrada e saída (E/S) são: Entrada e saída pelo console (ou padrão): teclado

Leia mais

Aula 01 Algoritmos e lógica de programação e introdução ao C++

Aula 01 Algoritmos e lógica de programação e introdução ao C++ Aula 01 Algoritmos e lógica de programação e introdução ao C++ Autor: Max Rodrigues Marques Carga Horária: 2h 21 de julho de 2015 1 Algoritmo e lógica de programação Ementa do curso 1. Definições de algoritmo

Leia mais

Linguagem C: Introdução

Linguagem C: Introdução Linguagem C: Introdução Linguagem C É uma Linguagem de programação genérica que é utilizada para a criação de programas diversos como: Processadores de texto Planilhas eletrônicas Sistemas operacionais

Leia mais

Métodos de Programação I Ana Maria de Almeida

Métodos de Programação I Ana Maria de Almeida Métodos de Programação I 2. 13 type naipe = ( ouros, copas, paus, espadas ); var trunfo : naipe; Claro que são apenas identificadores e não existirá a mesma escolha de operadores e funções sobre eles que

Leia mais

Curso Básico de Programação Aula 11. Revisão Aula Anterior Laços de Repetição While; Do-While; For.

Curso Básico de Programação Aula 11. Revisão Aula Anterior Laços de Repetição While; Do-While; For. Curso Básico de Programação Aula 11 Revisão Aula Anterior Laços de Repetição While; Do-While; For. Introdução à Linguagem C Laços de Repetição While Do-While For while () { } do {

Leia mais

Lógica e Linguagem de Programação Aula 04 - Estruturas de Repetição Repetição com Teste no Final - Repita Até - GABARITO Professor: Danilo Giacobo

Lógica e Linguagem de Programação Aula 04 - Estruturas de Repetição Repetição com Teste no Final - Repita Até - GABARITO Professor: Danilo Giacobo Lógica e Linguagem de Programação Aula 04 - Estruturas de Repetição Repetição com Teste no Final - Repita Até - GABARITO Professor: Danilo Giacobo Este guia irá lhe ajudar a entender o laço de repetição

Leia mais

Computação Eletrônica. Strings. Prof: Luciano Barbosa. CIn.ufpe.br

Computação Eletrônica. Strings. Prof: Luciano Barbosa. CIn.ufpe.br Computação Eletrônica Strings Prof: Luciano Barbosa Recapitulando: Vetores Representar uma coleção de variáveis de um mesmo tipo em uma dimensão Ex: float notas[5]; ou float notas[5] = {2.5,3.2,1.9,4.1,2.0};

Leia mais

Considere uma máquina que utiliza uma palavra de 10 bits. Suponha o seguinte padrão de bits:

Considere uma máquina que utiliza uma palavra de 10 bits. Suponha o seguinte padrão de bits: PROVA DE CONHECIMENTOS ESPECÍFICOS 1 a QUESTÃO: (1, ponto) Representação binária Considere uma máquina que utiliza uma palavra de 1 bits. Suponha o seguinte padrão de bits: 1111. a) Indique o valor em

Leia mais