Ficheiros. IPC2 1999/2000 F. Nunes Ferreira

Save this PDF as:
 WORD  PNG  TXT  JPG

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

Download "Ficheiros. IPC2 1999/2000 F. Nunes Ferreira"

Transcrição

1 Ficheiros IPC2 1999/2000 F. Nunes Ferreira Acetatos baseados no livro C: How to Program (second edition) H. M. Deitel P. J. Deitel Prentice Hall, 1994

2 Ficheiros Introdução 2 Os ficheiros são utilizados para guardar dados (normalmente em grandes quantidades), mesmo depois de os programas terem terminado Em geral, são utilizados dispositivos de memória magnética (Ex: Discos) bit caracter (byte) campo de registo (membro de estrutura) registo (estrutura) Base de dados ficheiro (file)

3 3 Ficheiros stream Um ficheiro é visto como uma sequência (stream) de bytes... normalmente com uma marca que indica o fim do ficheiro, end-of-file A um ficheiro aberto estará associado um stream Três ficheiros são automaticamente abertos quando um programa é iniciado: standard input, standard output e standard error A abertura de um ficheito devolve um apontador para uma estrutura FILE. Para os ficheiros standard, acima indicados, os apontadores são: stdin, stdout, e stderr

4 4 Ficheiros Funções de acesso a considerar Ficheiros de texto e binários fopen (em vários modos "r", "w",...) e fclose feof e rewind Ficheiros de texto fscanf e fprintf (comparáveis, respectivamente, a scanf e a printf) fgetc e fputc (comparáveis, respectivamente, Ficheiros binários fread, fwrite e fseek a getchar e a putchar)

5 5 Ficheiros Modos de abertura de ficheiros de texto fopen() - Leitura ou escrita r abre ficheiro de texto para leitura. Se não existir, fopen( ) devolve NULL w cria ficheiro de texto para escrita. Caso já exista, esvazia-o previamente a abre ficheiro de texto, se já existe, ou cria ficheiro novo, se não existe, para escrita a partir do fim do ficheiro (append)

6 Ficheiros Modos de abertura de ficheiros de texto 6 fopen() - Leitura e escrita Acrescentando + aos modos anteriores, a abertura do ficheiros terá em vista a leitura e a escrita r+ abre ficheiro de texto para leitura e escrita. Se não existir, fopen( ) devolve NULL w+ cria ficheiro de texto para escrita e leitura. Caso já exista, esvazia-o previamente a+ abre ficheiro de texto, se já existe, ou cria ficheiro novo, se não existe, para leitura e escrita a partir do fim do ficheiro

7 Ficheiros Funções de acesso a ficheiros de texto fopen fclose 7 fscanf fprintf fgetc fputc para ficheiros de texto feof rewind

8 8 Ficheiros Criar um ficheiro sequencial FILE *fichptr;... if ((fichptr = fopen("cliente.dat", "w")) == NULL) else printf("o ficheiro nao foi aberto"); fprintf(fichptr, "%d %s %.2f\n", conta, nome, saldo);... fclose(fichptr); Tentou-se abrir o ficheiro cliente.dat A estrutura do ficheiro não é imposta pelo C, mas pelo programador na escrita do ficheiro...

9 9 Ficheiros Criar um ficheiro sequencial Exemplo Indique nome do ficheiro a criar: lixo.dat Indicar conta, nome, e valorconta. Entrar EOF para terminar? 100 nunes 34.56? 200 ferreira 567? 300 fernando ? <ctrl>z

10 ... /* Criar um ficheiro sequencial */ int conta; char nome[30], nomefi[20]; float vconta; FILE *ficptr; printf("indique nome do ficheiro a criar: "); scanf("%s", nomefi); if ((ficptr = fopen(nomefi, "w")) == NULL) printf("nao e' possivel abrir o ficheiro"); else { printf("indicar conta, nome, e valorconta.\n"); printf("entrar EOF para terminar.\n"); printf("? "); scanf("%d%s%f", &conta, nome, &vconta); while (!feof(stdin)) { fprintf(ficptr, "%d%s%.2f\n", conta, nome, vconta); printf("? "); scanf("%d%s%f", &conta, nome, &vconta); fclose(ficptr);

11 Ficheiros Ler um ficheiro sequencial 11 FILE *FichPtr;... if ((fichptr = fopen("cliente.dat", "r")) == NULL) printf("o ficheiro nao foi aberto"); else { fscanf(ficptr,"%d%s%.2f", &conta, nome, &vconta); while (!feof(ficptr)) {... /* feof fornece TRUE quando é pedida leitura e só já existe a marca de EOF */ fscanf(ficptr,"%d%s%f", &conta, nome, &vconta); fclose(fichptr);

12 ... /* Ler um ficheiro sequencial */ int conta; char nome[30], nomefi[20]; float vconta; FILE *ficptr; printf("indique nome do ficheiro a criar: "); scanf("%s", nomefi); if ((ficptr = fopen(nomefi, "r")) == NULL) printf("nao e' possivel abrir o ficheiro"); else { printf("-10s%-13s%s\n", "conta", "nome", "vconta"); fscanf(ficptr,"%d%s%.2f", &conta, nome, &vconta); while (!feof(ficptr)) { printf("-10d%-13s%7.2f\n", conta, nome, vconta); fscanf(ficptr,"%d%s%.2f", &conta, nome, &vconta); fclose(ficptr);

13 Ficheiros Outras funções de acesso a ficheiros de texto 13 Para ler um caracter de um ficheiro aberto fgetc(apontador FILE) Ex: fgetc(stdin) equivalente a getchar() Para escrever um caracter num ficheiro aberto fputc(caracter, apontador FILE) Ex: fputc('a', stdout) equivalente a putchar('a')

14 Ficheiros Ficheiros de acesso aleatório 14 Dificuldade em actualizar um ficheiro sequencial Seja 100 nunes um registo de um ficheiro sequencial. Se fosse necessário alterá-lo para 1000 nunes um espaço maior era requerido. O caracter 6 já iria cair sobre o registo seguinte... Os registos manipulados por fprintf e fscanf têm comprimento variável Para fazer a pequena alteração referida seria necessário criar outro ficheiro... copiando os registos que antecedem o registo a alterar,... Outra solução: Ficheiros de acesso aleatório

15 Ficheiros Ficheiros de acesso aleatório 15 Ficheiros de acesso aleatório apresentam registos de comprimento fixo Possibilidade de aceder um registo "saltando" os outros registos, pois é possível determinar a posição exacta de cada registo Possibilidade de alterar um registo sem interferir com os vizinhos Fases a considerar, na manipulação de ficheiros de acesso aleatório: Criar ficheiro Escrever (em qualquer parte do) ficheiro Ler ou Escrever (em qualquer parte do) ficheiro

16 16 Ficheiros Modos de abertura de ficheiros binários fopen() - Leitura ou escrita rb abre ficheiro binário para leitura. Se não existir, fopen( ) devolve NULL wb Cria ficheiro binário para escrita. Caso já exista, esvazia-o previamente ab abre ficheiro binário, se já existe, ou cria ficheiro novo, se não existe, para escrita a partir do fim do ficheiro (append)

17 Ficheiros Modos de abertura de ficheiros binários 17 fopen() - Leitura e escrita Acrescentando + aos modos anteriores, a abertura do ficheiros terá em vista a leitura e a escrita r+b abre ficheiro binário para leitura e escrita. Se não existir, fopen( ) devolve NULL w+b Cria ficheiro binário para escrita e leitura. Caso já exista, esvazia-o previamente a+b abre ficheiro binário, se já existe, ou cria ficheiro novo, se não existe, para leitura e escrita a partir do fim do ficheiro

18 18 Ficheiros Funções de acesso a ficheiros binários fopen fclose fread fwrite fseek para ficheiros binários feof e rewind

19 Ficheiros Criar um ficheiro de acesso aleatório 19 fprintf(fichptr, "%d", numero); fwrite(&dados, comp, num, fichptr); conteúdo do ficheiro legível (texto) conteúdo do fich. não legível (binário) Escreve no ficheiro apontado por fichptr, no máximo num elementos, de comprimento comp, situados a partir de &dados. Devolve o número de elementos escritos no ficheiro.

20 20... Ficheiros Criar um ficheiro de acesso aleatório struct cliente contabanco ={0, "", 0.0; FILE *fiptr;... if ((fiptr = fopen("cliente.dat", "wb")) == NULL) else { printf("o ficheiro nao foi aberto"); for( de acordo com o nº de registos do ficheiro){ fwrite(&contabanco, sizeof(struct cliente), 1, fiptr);... fclose(fiptr);

21 Ficheiros Criar um ficheiro de acesso aleatório 21 #include <stdio.h> struct cliente { int conta; char nome[15]; float saldo;; main() {...

22 ... int i, numreg; char nomefi[20]; struct cliente contabanco = {0, "", 0.0; FILE *fiptr; printf("indique o nome do ficheiro a criar\n" "e o numero de registos: "); Abre... scanf("%s %d", nomefi, &numreg); if ((fiptr = fopen(nomefi, "wb")) == NULL) printf("nao e' possivel abrir o ficheiro\n"); else { Cria... for (i = 1; i <= numreg; i++) fwrite(&contabanco, sizeof(struct cliente), 1, fiptr); fclose(fiptr); Fecha......

23 Ficheiros Escrever um ficheiro de acesso aleatório Posicionar apontador 23 fseek(fiptr, deslocamento-em-bytes, SEEK_SET); SEEK_SET - a partir do início do ficheiro SEEK_CUR - a partir da posição corrente do ficheiro SEEK_END - a partir do fim do ficheiro Escrever, a partir do apontador... fwrite(&contabanco, sizeof(struct cliente), 1, fiptr);

24 Ficheiros Escrever um ficheiro de acesso aleatório... struct cliente contabanco = {0, "", 0.0; 24 FILE *fiptr;... if ((fiptr = fopen(nomefi, "r+b")) == NULL) printf("nao e' possivel abrir o ficheiro\n"); else {... Para não apagar... fseek(fiptr, (contabanco.conta - 1) * sizeof(struct cliente), SEEK_SET); fwrite(&contabanco, sizeof(struct cliente), 1, fiptr);... fclose(fiptr);

25 ... /* Escrever um ficheiro aleatório */... printf("indique o nome do ficheiro a escrever: "); scanf("%s", nomefi); if ((fiptr = fopen(nomefi, "r+b")) == NULL) printf("nao e' possivel abrir o ficheiro\n"); else { printf("indicar numero de conta (0 termina): "); scanf("%d", &contabanco.conta); while(contabanco.conta!= 0) { printf("indicar nome e saldo: "); scanf("%s%f", contabanco.nome, &contabanco.saldo); fseek(fiptr, (contabanco.conta - 1) * sizeof(struct cliente), SEEK_SET); fwrite(&contabanco, sizeof(struct cliente), 1, fiptr); printf("indicar numero de conta (0 termina): "); scanf("%d", &contabanco.conta); fclose(fiptr);

26 26 Ficheiros Ler um ficheiro de acesso aleatório fread(&dados, comp, num, fiptr); lê do ficheiro apontado por fiptr, no máximo num elementos, de comprimento comp, colocando-os a partir de &dados. Devolve o número de elementos lidos do ficheiro. feof(fiptr); Devolve Verdadeiro, depois da tentativa de leitura do ficheiro, não havendo mais elementos para ler

27 Ficheiros Ler um ficheiro de acesso aleatório... struct cliente contabanco = {0, "", 0.0; FILE *fiptr;... if ((fiptr = fopen(nomefi, "rb")) == NULL) printf("nao e' possivel abrir o ficheiro\n"); else { fread(&contabanco, sizeof(struct cliente), 1, fiptr); while(!feof(fiptr)) {... fread(&contabanco, sizeof(struct cliente), 1, fiptr);...

28 ... /* Ler (sequencialmente) um ficheiro aleatório */ char nomefi[20]; struct cliente contabanco = {0, "", 0.0; FILE *fiptr; printf("indique o nome do ficheiro a ler: "); scanf("%s", nomefi); if ((fiptr = fopen(nomefi, "rb")) == NULL) printf("nao e' possivel abrir o ficheiro\n"); else { printf("%-14s%-17s%10s\n", "conta", "nome", "saldo"); fread(&contabanco, sizeof(struct cliente), 1, fiptr); while(!feof(fiptr)) { Detecta eof... if (contabanco.conta!= 0) printf("%-14d%-17s%10.2f\n", conta a 0... não inicializ. contabanco.conta, contabanco.nome, contabanco.saldo); fread(&contabanco, sizeof(struct cliente), 1, fiptr); fclose(fiptr); Continua a ler......

29 Ficheiros Erros mais comuns 29 Abrir um ficheiro em modo de escrita ("w"), quando apenas se pretendia actualizá-lo. Em modo de escrita o ficheiro é simplesmente esvaziado sem aviso Esquecer de abrir um ficheiro antes de o utilizar num programa Trocar o apontador de ficheiro com outro apontador Abrir um ficheiro não existente para leitura

30 Ficheiros Regras de boa programação 30 Fechar explicitamente um ficheiro aberto, logo que não seja mais necessário no programa. Esta acção libertará recursos para outros programas Abrir um ficheiro só em modo de leitura (e não actualização) se o conteúdo do ficheiro não é para ser alterado (exemplo de aplicação do princípio dos privilégios mínimos)

31 31 Exercícios Escrever um programa para o sistema informático de uma loja, utilizado para controlar o stock dos seus produtos. A cada produto será associado: número de referência, designação, quantidade existente e custo unitário. O programa, da 1ª vez, cria o ficheiro stock.doc que prevê, no máximo, 100 registos. É possível registar os dados de cada produto, listar os produtos em stock, apagar registos de produtos esgotados, e actualizar qualquer registo.

32 32 Exercícios Movimentação de uma tartaruga Este exercício é uma variante de um outro, apresentado no capítulo sobre Arrays. Utiliza-se um array 20 x 20, inicializado com zeros, que simula o tabuleiro em que se desloca uma tartaruga. Os comandos para movimentar a tartaruga são os seguintes: Comando Efeito 1 Põe a tartaruga no ar 2 Põe a tartaruga sobre o tabuleiro 3 Volta a tartaruga 90º à direita 4 Volta a tartaruga 90º à esquerda 5 d Desloca a tartaruga d posições em frente 6 Visualiza o array que simula o tabuleiro 7 Limpa o tabuleiro 9 Termina e guarda tabuleiro e tartaruga num ficheiro

33 33 Exercícios Movimentação de uma tartaruga (cont.) Neste exercício, prevê-se retomar a simulação da tartaruga a partir do conteúdo de um ficheiro, produzido no final de uma sessão. De facto, o comando 9, para além de terminar uma sessão, guarda num ficheiro, o tabuleiro e a tartaruga (posição desta no tabuleiro, orientação e situação no ar/sobre 0 tabuleiro). Algumas notas adicionais: Os movimentos da tartaruga no tabuleiro põem a 1 os elementos (do array) por onde passa. Os 1's são visualizados por O e 0's por -.

34 Exemplo de uma sessão Indicar o ficheiro de trabalho: tart1.txt Nao existe, vai ser criado... ; se existisse, o array ; seria inicializado com ; o conteúdo do ficheiro Comando: 2 Comando: 5 Numero de posicoes: 4 Comando: 3... Comando: Numero de posicoes: Comando: OOOOO Comando: O Numero de posicoes: O Comando: OOOOO Comando:9 ; guarda array no ficheiro, bem como as ; características da tartaruga (posição x, y, ; orientação e no ar/sobre o tabuleiro)

35 #include <stdio.h> Versão 0 typedef struct tart { int x; int y; int noar; /* 1- no ar; 0- no tabuleiro */ int orienta; /* 0- E, 1- N, 2- O, 3- S */ tartaruga; main(void) { FILE *fitrab; char tabu[20][20] = {0, nomefi[15]; int comando, ix, iy; tartaruga tar = {9, 9, 0; printf("indicar o ficheiro de trabalho: "); scanf("%s", nomefi); if ((fitrab = fopen(nomefi, "r+")) == NULL) { if ((fitrab = fopen(nomefi, "w")) == NULL) /* cria novo ficheiro...*/ printf("nao consegue abrir/criar o ficheiro...\n"); else

36 { Versão 0 /* Repoe a situacao a partir do ficheiro */ fscanf(fitrab, "%d%d%d%d", &tar.x, &tar.y, &noar, &tar.orienta); for(iy = 0; iy <= 19; iy++) for(ix = 0; ix <= 19; ix++) fscanf(fitrab, "%d", &tabu[iy][ix]); printf("comando: "); scanf("%d", &comando); while (comando!= 9){ switch(comando){ case 1: printf("case 1\n"); break; case 2: printf("case 2\n"); break; case 3: printf("case 3\n"); break; case 4: printf("case 4\n"); break;

37 case 5: printf("case 5\n"); break; case 6: printf("case 6\n"); break; case 7: printf("case 7\n"); break; default: printf("default\n"); break; printf("comando: "); scanf("%d", &comando); /* Vai actualizar o ficheiro e termina... */ printf("fim\n"); return 0; Versão 0

38 #include <stdio.h> Versão 1 typedef struct tart { int x; int y; int noar; /* 1- no ar; 0- no tabuleiro */ int orienta; /* 0- E, 1- N, 2- O, 3- S */ tartaruga; #define DIM 20 void avancar(char [][DIM], int, tartaruga *, int); void visutabu(char [][DIM], int); void limpartabu(char [][DIM], int); main(void) { FILE *fitrab; char tabu[dim][dim], nomefi[15]; int comando, numposi, ix, iy; tartaruga tar = {9, 9, 0, 0; limpartabu(tabu, DIM); printf("indicar o ficheiro de trabalho: "); scanf("%s", nomefi);

39 if ((fitrab = fopen(nomefi, "r+")) == NULL) { Versão 1 printf("nao existe, vai ser criado...\n"); if ((fitrab = fopen(nomefi, "w")) == NULL) /* cria novo ficheiro...*/ printf("nao consegue abrir/criar o ficheiro...\n"); else { /* Repoe o array a partir do ficheiro */ fscanf(fitrab, "%d%d%d%d", &tar.x, &tar.y, &tar.noar, &tar.orienta); fgetc(fitrab); /* avançar o '\n' do ultimo %d */ for(iy = 0; iy < DIM; iy++) for(ix = 0; ix < DIM; ix++) tabu[iy][ix] = fgetc(fitrab); printf("comando: "); scanf("%d", &comando); while (comando!= 9){ switch(comando){ case 1: tar.noar = 1; break;

40 case 2: Versão 1 tar.noar = 0; tabu[tar.y][tar.x] = '1'; break; case 3: tar.orienta = (tar.orienta == 0)? 3: tar.orienta - 1; break; case 4: tar.orienta = (tar.orienta == 3)? 0: tar.orienta + 1; break; case 5: printf("numero de posicoes: "); scanf("%d", &numposi); avancar(tabu, DIM, &tar, numposi); break; case 6: visutabu(tabu, DIM); break; case 7: limpartabu(tabu, DIM); break; default: printf("comando desconhecido!...\n"); break;

41 printf("comando: "); Versão 1 scanf("%d", &comando); /* Repoe o ficheiro a partir do array */ rewind(fitrab); fprintf(fitrab, "%d\n%d\n%d\n%d\n", tar.x, tar.y, tar.noar, tar.orienta); for(iy = 0; iy < DIM; iy++) for(ix = 0; ix < DIM; ix++) fputc(tabu[iy][ix], fitrab); fclose(fitrab); return 0; void avancar(char tabulei[][dim], int dim, tartaruga * tarta, int npos) { int i, ix = tarta->x, iy = tarta->y, ar = tarta->noar; switch (tarta->orienta){ case 0: for(i = 1; (i <= npos) && (ix < dim - 1); i++){ ++ix; if (!ar) tabulei[iy][ix] = '1';

42 tarta->x = ix; Versão 1 break; case 1: for(i = 1; (i <= npos) && (iy > 0); i++){ --iy; if (!ar) tabulei[iy][ix] = '1'; tarta->y = iy; break; case 2: for(i = 1; (i <= npos) && (ix > 0); i++){ --ix; if (!ar) tabulei[iy][ix] = '1'; tarta->x = ix; break; case 3: for(i = 1; (i <= npos) && (iy < dim - 1); i++){ ++iy; if (!ar) tabulei[iy][ix] = '1';

43 tarta->y = iy; Versão 1 break; void visutabu(char tabulei[][dim], int dim) { int y, x; putchar('\n'); for(y = 0; y < dim; y++){ for(x = 0; x < dim; x++) putchar((tabulei[y][x] == '1')? 'O' : '-'); putchar('\n'); void limpartabu(char tabulei[][dim], int dim) { int iy, ix; for(iy = 0; iy < dim; iy++) for(ix = 0; ix < dim; ix++) tabulei[iy][ix] = '0';

CAP. 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 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 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

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

Introduçã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 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 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

Structs, Ponteiros e Arquivos. Prof. Maurício Dias

Structs, 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 mais

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

Linguagem C Ficheiros Compilação Separada

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

Linguagem C. Armazenamento de Dados em Arquivos - Continuação

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

Sequê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)

Sequê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 mais

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

Arquivos em C Parte 2

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

Manipulação de Arquivos

Manipulaçã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 mais

Métodos Computacionais. Arquivos

Mé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 mais

1 Escrita de Arquivos Binário

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

Outline. 33. Manipulação de arquivos DIM

Outline. 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 mais

Aula 16. Ficheiros de texto

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

Estruturas de dados. IPC2 1999/2000 F. Nunes Ferreira

Estruturas de dados. IPC2 1999/2000 F. Nunes Ferreira Estruturas de dados IPC2 1999/2000 F. Nunes Ferreira Acetatos baseados no livro C: How to Program (second edition) H. M. Deitel P. J. Deitel Prentice Hall, 1994 Estruturas de dados Introdução 2 Arrays

Leia mais

Manipulação de Arquivos

Manipulação de Arquivos Lucas Ferrari de Oliveira Professor Adjunto Universidade Federal do Paraná Manipulação de Arquivos Linguagem de Programação Estruturado Sumário Introdução; E/S ANSI Versus E/S UNIX; E/S em C Versus E/S

Leia mais

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

Manipulação de arquivos

Manipulação de arquivos 246 Arquivo En4dade básica do sistema operacional (SO). Estrutura que armazena informação de forma não volá4l em disposi4vos de memória permanente. Após sua criação, podem ser acessados e modificados por

Leia mais

Manipulação de Arquivos

Manipulação de Arquivos Manipulação de Arquivos Devemos iniciar nossa explanação pelo conceito de arquivo: Arquivo é uma unidade lógica utilizada para armazenar dados em disco ou em qualquer outro dispositivo externo de armazenamento.

Leia mais

Linguagem de Programação C. Arquivos Binários

Linguagem de Programação C. Arquivos Binários Arquivos Binários Cristiano Lehrer Motivação Variáveis int e float tem tamanho fixo em memória: int 2 bytes. float 4 bytes. A representação em texto dos números precisa de uma quantidade variável de caracteres:

Leia mais

Leitura de Arquivos. Prof. Fabrício Olivetti de França

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

Introdução à Programação em C (II)

Introdução à Programação em C (II) Introdução à Programação em C (II) Resumo Streams de Texto Leitura e escrita de caracteres Caracteres como números inteiros Exemplos Cópia de Ficheiros Contagem de Caracteres Contagem de Linhas Contagem

Leia mais

Programação. Folha Prática 10. Lab. 10. Departamento de Informática Universidade da Beira Interior Portugal. Copyright 2010 All rights reserved.

Programação. Folha Prática 10. Lab. 10. Departamento de Informática Universidade da Beira Interior Portugal. Copyright 2010 All rights reserved. Programação Folha Prática 10 Lab. 10 Departamento de Informática Universidade da Beira Interior Portugal Copyright 2010 All rights reserved. 1. Revisão. 2. Objectivos. 3. Exercícios LAB. 10 10ª semana

Leia mais

Programação estruturada

Programação estruturada Programação estruturada IPC2 1999/2000 F. Nunes Ferreira Acetatos baseados no livro C: How to Program (second edition) H. M. Deitel P. J. Deitel Prentice Hall, 1994 2 Exercício Desenvolvimento de um programa

Leia mais

Introdução à Computação II AULA 08 BCC Noturno - EMA896115B

Introdução à Computação II AULA 08 BCC Noturno - EMA896115B Introdução à Computação II AULA 08 BCC Noturno - EMA896115B Prof. Rafael Oliveira olivrap@gmail.com Universidade Estadual Paulista Júlio de Mesquita Filho UNESP Rio Claro 2014 (Sem 2) O ambiente de execução

Leia mais

Arquivos em C. Notas de Aula. Prof. Francisco Rapchan

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

Arquivos Binários UFOP 1/25

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

Depuração e Teste de programas C C Depuração e teste de programas C

Depuração e Teste de programas C C Depuração e teste de programas C Universidade de São Paulo São Carlos Instituto de Ciências Matemáticas e de Computação Depuração e Teste de programas C C Depuração e teste de programas C Profa Rosana Braga (adaptado de material do prof.

Leia mais

Arquivos. Fundamentos de Arquivos. Discos X Memória Principal. Memória Secundária x Principal. Informação mantida em memória secundária (externa)

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

Arrays. IPC2 1999/2000 F. Nunes Ferreira. Acetatos baseados no livro C: How to Program (second edition) H. M. Deitel P. J. Deitel Prentice Hall, 1994

Arrays. IPC2 1999/2000 F. Nunes Ferreira. Acetatos baseados no livro C: How to Program (second edition) H. M. Deitel P. J. Deitel Prentice Hall, 1994 Arrays IPC2 1999/2000 F. Nunes Ferreira Acetatos baseados no livro C: How to Program (second edition) H. M. Deitel P. J. Deitel Prentice Hall, 1994 Arrays Introdução 2 Array é uma estrutura de dados, todos

Leia mais

Introdução à programação Computadores e programação I 2003

Introdução à programação Computadores e programação I 2003 Ficheiros sumário Introdução à programação Revisões sobre ponteiros brir e Fechar ficheiros leitura de caracteres de ficheiros Escrita de caracteres em ficheiros Leitura e Escrita formatada em ficheiros

Leia mais

Programação de Computadores I Arquivos na Linguagem C PROFESSORA CINTIA CAETANO

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

PROGRAMAÇÃO E ALGORITMOS (LEI) Universidade da Beira Interior, Departamento de Informática Hugo Pedro Proença, 2016/2017

PROGRAMAÇÃO E ALGORITMOS (LEI) Universidade da Beira Interior, Departamento de Informática Hugo Pedro Proença, 2016/2017 PROGRAMAÇÃO E ALGORITMOS (LEI) Universidade da Beira Interior, Departamento de Informática Hugo Pedro Proença, 2016/2017 Resumo Exercícios Gestão de Memória Leitura / Escrita de Ficheiros Tipos de Dados

Leia mais

Arquivos. Prof. Dr. Silvio do Lago Pereira. Departamento de Tecnologia da Informação Faculdade de Tecnologia de São Paulo

Arquivos. Prof. Dr. Silvio do Lago Pereira. Departamento de Tecnologia da Informação Faculdade de Tecnologia de São Paulo Arquivos Prof. Dr. Silvio do Lago Pereira Departamento de Tecnologia da Informação Faculdade de Tecnologia de São Paulo Arquivos Um arquivo é uma coleção homogênea de itens que reside em disco. teclado

Leia mais

Programação de Computadores I. Linguagem C Arquivos

Programação de Computadores I. Linguagem C Arquivos Linguagem C Arquivos Prof. Edwar Saliba Júnior Novembro de 2011 Unidade 12 Arquivos 1 Trabalhando com Arquivos Um arquivo em Linguagem C pode representar diversas coisas, como: arquivos em disco, uma impressora,

Leia mais

MC-102 Algoritmos e Programação de Computadores

MC-102 Algoritmos e Programação de Computadores MC-102 Algoritmos e Programação de Computadores Prof. Ariel Vargas Unicamp Arquivos Binários Arquivos Arquivos Texto Podem ser manipulados por um editor de texto comum Os dados são gravados como caracteres

Leia mais

Linguagens de Programação I

Linguagens de Programação I Linguagens de Programação I Tema # 4 Operadores em C Susana M Iglesias FUNÇÕES ENTRADA-SAÍDA I/O printf(), utilizada para enviar dados ao dispositivo de saída padrão (stdout), scanf(), utilizada para ler

Leia mais

14. Arquivos. W. Celes e J. L. Rangel. Estruturas de Dados PUC-Rio 13-1

14. 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 mais

Manipulação de Arquivos

Manipulaçã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 mais

1ª versão. #include <stdio.h> #include <string.h> #include <stdlib.h> #define maxdiscos 1000

1ª versão. #include <stdio.h> #include <string.h> #include <stdlib.h> #define maxdiscos 1000 #include #include #include #define maxdiscos 1000 typedef struct { char nomeautor[80]; char nomedisco[100]; int numdiscosvendidos; DISCO; 1ª versão int main() { DISCO listadiscos[maxdiscos];

Leia mais

Entrad Entrada / Saíd a / Saída

Entrad Entrada / Saíd a / Saída Entrada / Saída Entrada e Saída em C Entrada e saída pelo console Funções getchar e putchar Retorna ou escreve na saída padrão 1 caracter Função puts Escreve uma cadeia de caracteres na saída padrão (gets

Leia mais

Comunicação. O Modelo de Fluxo de Dados (Streams)

Comunicação. O Modelo de Fluxo de Dados (Streams) Comunicação O Modelo de Fluxo de Dados (Streams) Os programas escritos em C utilizam o conceito de fluxo de dados (em, inglês, eles são chamados de streams) para comunicarem-se com dispositivos do computador

Leia mais

Aula de Arquivos. Jesimar da Silva Arantes. Instituto de Ciências Matemáticas e de Computação Universidade de São Paulo - São Carlos, SP

Aula de Arquivos. Jesimar da Silva Arantes. Instituto de Ciências Matemáticas e de Computação Universidade de São Paulo - São Carlos, SP Aula de Arquivos Jesimar da Silva Arantes Instituto de Ciências Matemáticas e de Computação Universidade de São Paulo - São Carlos, SP Estagiário PAE: Jesimar da Silva Arantes Professor: Claudio Fabiano

Leia mais

Fundamentos de Arquivos. SCC203 Algoritmos e Estruturas de Dados II

Fundamentos de Arquivos. SCC203 Algoritmos e Estruturas de Dados II Fundamentos de Arquivos SCC203 Algoritmos e Estruturas de Dados II Arquivos Informação mantida em memória secundária HD Disquetes Fitas magnéticas CD DVD 2 Discos X Memória Principal Tempo de acesso HD:

Leia mais

Linguagem C: Arquivo-Texto

Linguagem C: Arquivo-Texto Prof. Paulo R. S. L. Coelho paulo@facom.ufu.br Faculdade de Computação Universidade Federal de Uberlândia GEQ007 Organização 1 Introdução em C 2 3 Organização Introdução em C 1 Introdução em C 2 3 Introdução

Leia mais

Manipulação de Arquivos. Técnicas de Programação

Manipulação de Arquivos. Técnicas de Programação Manipulação de Arquivos Técnicas de Programação Agenda do Dia Noções de Manipulação de Arquivos Ponteiros para Arquivos Abrindo Arquivos Fechando Arquivos Exercícios Lendo e Escrevendo em Arquivos Noções

Leia mais

A linguagem C (visão histórica)

A linguagem C (visão histórica) A linguagem C (visão histórica) A linguagem C é uma linguagem de programação desenvolvida no ínício dos anos 70 por Dennis Ritchie, que trabalhava nos laboratórios Bell e que também inciou em paralelo,

Leia mais

PIP/CA - Programa Interdisciplinar de Pós-Graduação em Computação Aplicada da UNISINOS ALGORITMOS & ESTRUTURAS DE DADOS

PIP/CA - Programa Interdisciplinar de Pós-Graduação em Computação Aplicada da UNISINOS ALGORITMOS & ESTRUTURAS DE DADOS PIP/CA - Programa Interdisciplinar de Pós-Graduação em Computação Aplicada da UNISINOS Disciplina de Nivelamento - 2000/1: ALGORITMOS & ESTRUTURAS DE DADOS Professor Responsável: Prof. Fernando Santos

Leia mais

Linguagem C (repetição)

Linguagem C (repetição) Linguagem C (repetição) André Tavares da Silva andre.silva@udesc.br Exercício Escrever um programa que conte (mostre na tela) os números de 1 a 100. Comandos aprendidos até o momento: printf, scanf, getchar,

Leia mais

ARQUIVOS DE DADOS EM C: UMA INTRODUÇÃO

ARQUIVOS DE DADOS EM C: UMA INTRODUÇÃO ARQUIVOS DE DADOS EM C: UMA INTRODUÇÃO 1 2 3 4 // Programa p32.c // com alocacao estatica #include #include int main(int args, char * arg[]) int i,j,nl,nc; int ma[10][10], mb[10][10],

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

Curso de C. Comunicação e Arquivos. 24/05/2010 Arnaldo V Moura, Daniel F. Ferber 1

Curso de C. Comunicação e Arquivos. 24/05/2010 Arnaldo V Moura, Daniel F. Ferber 1 Curso de C Comunicação e Arquivos 24/05/2010 18:40 @ Arnaldo V Moura, Daniel F. Ferber 1 Tipos Avançados de Dados Roteiro: Fluxos de Dados Arquivos Abrir/Fechar Ler/Escrever Outras operações Entrada/Saída

Leia mais

Introdução à Programação em C

Introdução à Programação em C Introdução à Programação em C Funções Resumo Aula Anterior Tabelas Strings (Tabelas de Caracteres) 2 1 Resumo Funções Definição Protótipo e implementação return e void Passagem por valor Exemplos 3 Funções

Leia mais

Escreva a função e_caracter que verifica se um determinado caracter é um numero ou não. Escreva um Programa de teste da função.

Escreva a função e_caracter que verifica se um determinado caracter é um numero ou não. Escreva um Programa de teste da função. Engenharia informatica Escreva a função e_caracter que verifica se um determinado caracter é um numero ou não. Escreva um Programa de teste da função. #include Int e_caracter (char c) { Return(

Leia mais

Computação para Informática - Prof. Adriano Joaquim de Oliveira Cruz Segunda Prova - 14 de junho de 2017

Computação para Informática - Prof. Adriano Joaquim de Oliveira Cruz Segunda Prova - 14 de junho de 2017 Computação para Informática - Prof. Adriano Joaquim de Oliveira Cruz Segunda Prova - 14 de junho de 2017 1. (30 Pontos) Bolas de futebol são muito fáceis de transportar, já que elas saem das fábricas vazias

Leia mais

Linguagem de Programação C. Arquivos

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

Linguagem C Controle do Fluxo de Execução. Lógica de Programação

Linguagem C Controle do Fluxo de Execução. Lógica de Programação Linguagem C Controle do Fluxo de Execução Lógica de Programação Caro(a) aluno(a), Aqui começaremos a escrever os nossos primeiros programas em uma Linguagem de Programação. Divirta-se!!! Estrutura Seqüencial

Leia mais

O pré-processador executa transformações controladas no arquivo fonte antes da compilação. Os comandos (sentenças) sempre são iniciados por #.

O pré-processador executa transformações controladas no arquivo fonte antes da compilação. Os comandos (sentenças) sempre são iniciados por #. O modificador static Se o modificador static for utilizado na declaração de uma variável local em uma função, essa variável não perderá seu valor entre chamadas à função. void rot1() { static int var1=0;

Leia mais

Alocação Dinâmica de Memória - Exercício Escreva um programa em C que manipule um vetor de inteiros não nulos alocado dinamicamente.

Alocação Dinâmica de Memória - Exercício Escreva um programa em C que manipule um vetor de inteiros não nulos alocado dinamicamente. 1 Alocação Dinâmica de Memória - Exercício Escreva um programa em C que manipule um vetor de inteiros não nulos alocado dinamicamente. O programa recebe inteiros, através da entrada padrão, e os insere

Leia mais

Funções de Entrada e Saída

Funções de Entrada e Saída inicio Escrita no ecrã (Saída de dados) Escrever( introduza o valor do raio ) Raio Leitura do valor do raio S Raio < 0 N O utilizador insere o valor do raio (Entrada de dados do teclado) Escrita no ecrã

Leia mais

INF1007: Programação 2. 0 Revisão. 06/08/2015 (c) Dept. de Informática - PUC-Rio 1

INF1007: Programação 2. 0 Revisão. 06/08/2015 (c) Dept. de Informática - PUC-Rio 1 INF1007: Programação 2 0 Revisão 06/08/2015 (c) Dept. de Informática - PUC-Rio 1 Tópicos Principais Variáveis e Constantes Operadores e Expressões Entrada e Saída Tomada de Decisão Construção com laços

Leia mais

Universidade Estadual de Mato Grosso do Sul Ciência da Computação Algoritmos e Estruturas de Dados I (AED-I) Prof. Nilton

Universidade Estadual de Mato Grosso do Sul Ciência da Computação Algoritmos e Estruturas de Dados I (AED-I) Prof. Nilton Universidade Estadual de Mato Grosso do Sul Ciência da Computação Algoritmos e Estruturas de Dados I (AED-I) Prof. Nilton nilton@comp.uems.br Introdução A linguagem C foi inventada por Dennis Ritchie e

Leia mais

5 - COMANDOS DE CONTROLE DE PROGRAMA Em C existem os comandos de decisões, os comandos de iteração (ou de laços) e os comandos de desvios.

5 - COMANDOS DE CONTROLE DE PROGRAMA Em C existem os comandos de decisões, os comandos de iteração (ou de laços) e os comandos de desvios. 3636363636363636363636363636363636363636363636363636 5 - COMANDOS DE CONTROLE DE PROGRAMA Em C existem os comandos de decisões, os comandos de iteração (ou de laços) e os comandos de desvios. 5.1 - Comandos

Leia mais

ponteiros INF Programação I Prof. Roberto Azevedo

ponteiros INF Programação I Prof. Roberto Azevedo ponteiros INF1005 -- Programação I -- 2016.1 Prof. Roberto Azevedo razevedo@inf.puc-rio.br ponteiros tópicos o que são ponteiros operadores usados com ponteiros passagem de ponteiros para funções referência

Leia mais

Estrutura da linguagem de programação C Prof. Tiago Eugenio de Melo

Estrutura da linguagem de programação C Prof. Tiago Eugenio de Melo Estrutura da linguagem de programação C Prof. Tiago Eugenio de Melo tiago@comunidadesol.org Breve Histórico A linguagem de programação C foi criada na década de 70, por Dennis Ritchie, que a implementou,

Leia mais

Capítulo 06: Arquivos

Capí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 mais

Programação 5374 : Engenharia Informática 6638 : Tecnologias e Sistemas de Informação. Cap. 12 Ficheiros (Files) e I/O. Ficheiros

Programação 5374 : Engenharia Informática 6638 : Tecnologias e Sistemas de Informação. Cap. 12 Ficheiros (Files) e I/O. Ficheiros Programação 5374 : Engenharia Informática 6638 : Tecnologias e Sistemas de Informação Cap. 12 Ficheiros (Files) e I/O Ficheiros Sumário: Hardware de entrada/saída: em revista Ficheiros e organização de

Leia mais

Arquivos. Estruturas de Dados II Vanessa Braganholo

Arquivos. Estruturas de Dados II Vanessa Braganholo Arquivos Estruturas de Dados II Vanessa Braganholo Entidades } Aplicações precisam armazenar dados sobre as mais diversas entidades, que podem ser concretas ou abstratas } Funcionário de uma empresa (concreto)

Leia mais

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

PROGRAMAÇÃO DE MICROPROCESSADORES 2007 / 2008

PROGRAMAÇÃO DE MICROPROCESSADORES 2007 / 2008 Departamento de Engenharia Electrotécnica PROGRAMAÇÃO DE MICROPROCESSADORES 2007 / 2008 Mestrado Integrado em Engenharia Electrotécnica e Computadores 1º ano 1º semestre Testes, condições e ciclos http://tele1.dee.fct.unl.pt

Leia mais

Cláudio C. Rodrigues Faculdade da Computação - UFU

Cláudio C. Rodrigues Faculdade da Computação - UFU Cláudio C. Rodrigues Faculdade da Computação - UFU LINGUAGEM C 07: ARQUIVOS Trabalhando com arquivos O sistema de entrada e saída do ANSI C é composto por uma série de funções cujos protótipos estão reunidos

Leia mais

Controlo do fluxo de execução

Controlo do fluxo de execução Controlo do fluxo de execução pseudo-código Controlo do fluxo de execução caso Instrução adequada para situações de selecção múltipla em que uma expressão determina as situações alternativas. Essa expressão

Leia mais

ESTRUTURAS CONDICIONAIS. Baseado nos slides de autoria de Rosely Sanches e Simone Senger de Souza

ESTRUTURAS CONDICIONAIS. Baseado nos slides de autoria de Rosely Sanches e Simone Senger de Souza ESTRUTURAS CONDICIONAIS Baseado nos slides de autoria de Rosely Sanches e Simone Senger de Souza Estruturas de Controle ESTRUTURA SEQUENCIAL ESTRUTURA CONDICIONAL ESTRUTURA DE REPETIÇÃO 2 Estruturas Condicionais

Leia mais

O que é um apontador em C (type pointer in C)?

O que é um apontador em C (type pointer in C)? O que é um apontador em C (type pointer in C)? Um apontador é uma variável que contém um endereço de outra variável. int x = 10;//variável inteira iniciada com o valor 10 int *px = &x;//variável apontadora

Leia mais

Controlo de Execução. K&R: Capitulo 3

Controlo de Execução. K&R: Capitulo 3 Controlo de Execução K&R: Capitulo 3 IAED, 2009/2010 Controlo de Execução Instruções e Blocos if else-if switch Ciclos: Instruçõeswhile e for Instruçãodo-while break e continue goto e labels 2 IAED, 2009/2010

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

4 MDP. void média e dp(int a[],int n,float em,float ed) 7. Variáveis auxiliares 7. Faça ed igual ao desvio padrão 6 }

4 MDP. void média e dp(int a[],int n,float em,float ed) 7. Variáveis auxiliares 7. Faça ed igual ao desvio padrão 6 } 1 MDP INTRODUCÃO 1 1. Introducão. Esta é uma demonstração do sistema CWEB (veja http://www.ime.usp.br/~pf/ CWEB/) de Knuth e Levy. Um programa CWEB, como este que você está lendo, é uma espécie de jogo

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 C foi desenvolvida no início da década de 70 por dois pesquisadores do Bell Laboratories, Brian Kernihgan e Dennis Ritchie,

Leia mais

Linguagem C. Prof.ª Márcia Jani Cícero

Linguagem C. Prof.ª Márcia Jani Cícero Linguagem C Prof.ª Márcia Jani Cícero A estrutura Básica de um Programa em C Consiste em uma ou várias funções ou programas. main( ) // primeira função a ser executada // inicia a função // termina a função

Leia mais

Linguagem C (estruturas condicionais)

Linguagem C (estruturas condicionais) Linguagem C (estruturas condicionais) André Tavares da Silva atavares@joinville.udesc.br Comandos de Controle de Fluxo Todos os comandos devem ser terminados com um ;. { e são usados para delimitar um

Leia mais

Caracteres e. cadeia de caracteres. IPC2 1999/2000 F. Nunes Ferreira

Caracteres e. cadeia de caracteres. IPC2 1999/2000 F. Nunes Ferreira Caracteres e cadeia de caracteres IPC2 1999/2000 F. Nunes Ferreira Acetatos baseados no livro C: How to Program (second edition) H. M. Deitel P. J. Deitel Prentice Hall, 1994 Caracteres e cadeia de caracteres

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

Programação de Computadores I Funções de Repetição da Linguagem C PROFESSORA CINTIA CAETANO

Programação de Computadores I Funções de Repetição da Linguagem C PROFESSORA CINTIA CAETANO Programação de Computadores I Funções de Repetição da Linguagem C PROFESSORA CINTIA CAETANO Comando WHILE O comando while executa um bloco de comandos enquanto a condição testada for verdadeira (diferente

Leia mais

Programação. MEAer e LEE. Bertinho Andrade da Costa. Instituto Superior Técnico. Argumentos da linha de comando Funções recursivas

Programação. MEAer e LEE. Bertinho Andrade da Costa. Instituto Superior Técnico. Argumentos da linha de comando Funções recursivas Programação MEAer e LEE Bertinho Andrade da Costa 2010/2011 1º Semestre Instituto Superior Técnico Argumentos da linha de comando Funções recursivas Programação 2010/2011 DEEC-IST Arg. da linha de comando;

Leia mais

1 Arquivos em C. CEFETES Serra - Programação II Mateus Costa Notas de Aula - Arquivos

1 Arquivos em C. CEFETES Serra - Programação II Mateus Costa Notas de Aula - Arquivos CEFETES Serra - Programação II Mateus Costa Notas de Aula - Arquivos 1 Arquivos em C O objetivo deste capítulo e permitir a construção de programas que armazenem dados de forma permanente em dispositivos

Leia mais

INF1005: Programação 1. Arquivos. 02/05/10 (c) Paula Rodrigues 1

INF1005: 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

Departamento de Informática - PUC-Rio INF 1007 Programação 2 P1 17/04/2010

Departamento de Informática - PUC-Rio INF 1007 Programação 2 P1 17/04/2010 Departamento de Informática - PUC-Rio INF 1007 Programação 2 P1 17/04/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 mais

Linguagem C. André Tavares da Silva.

Linguagem C. André Tavares da Silva. Linguagem C André Tavares da Silva dcc2ats@joinville.udesc.br Lógica de Programação O objetivo da lógica de programação é exercitar os métodos de raciocínio e elaborar soluções coerentes para determinados

Leia mais

Técnicas de Programação: Comandos de Controle de DEE UFPB

Técnicas de Programação: Comandos de Controle de DEE UFPB Técnicas de Programação: Comandos de Controle de Programa Prof. Protásio DEE UFPB 1 Comandos de Controle de Programa Comandos que direcionam o fluxo de execução de programa. Em C, tem se 3 categorias:

Leia mais

Linguagem de Programação C

Linguagem de Programação C ICMC USP Linguagem de Programação C Aula: Comandos em C Prof. Dr Alneu de Andrade Lopes O comando if Se condição verdadeira (1) executa comando ou sequencia de comandos. Forma geral: if (condição) { sequência_de_comandos_1;

Leia mais

Hello World. Linguagem C. Tipos de Dados. Palavras Reservadas. Operadores Aritméticos. Pré e pós incremento e pré e pós decremento

Hello World. Linguagem C. Tipos de Dados. Palavras Reservadas. Operadores Aritméticos. Pré e pós incremento e pré e pós decremento Hello World Linguagem C printf("hello world!\n"); main é a função principal, a execução do programa começa por ela printf é uma função usada para enviar dados para o vídeo Palavras Reservadas auto double

Leia mais

Lógica de Programação I

Lógica de Programação I Gilson de Souza Carvalho gaucho.gilson@hotmail.com 1 Comando Switch O comando Switch pode ser visto como uma especialização do comando if. Foi criado para facilitar um uso particular de comandos if encadeados.

Leia mais

INF 1620 P3-25/11/05 Questão 1 Nome:

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