PROGRAMAÇÃO DE MICROPROCESSADORES 2007 / 2008

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

Download "PROGRAMAÇÃO DE MICROPROCESSADORES 2007 / 2008"

Transcrição

1 Departamento de Engenharia Electrotécnica PROGRAMAÇÃO DE MICROPROCESSADORES 2007 / 2008 Mestrado Integrado em Engenharia Electrotécnica e Computadores 1º ano 1º semestre Ficheiros e estruturas Luis Bernardo e Paulo Pinto

2 1 Introdução Nos capítulos 10 e 11 do livro Linguagem C de Luís Damas, recomendado para a disciplina de Programação de Microprocessadores, é feita a apresentação dos ficheiros e das estruturas. Esta aula visa consolidar estas matérias através de um conjunto de exercícios. Durante a aula vai ser desenvolvida em várias fases uma aplicação que mantém um ficheiro em modo binário com dados de alunos. As primeiras fases têm como objectivo complementar o estudo realizado na aula teórica. A última fase, que corresponde ao programa completo, é avaliada pelo docente. GUARDE O CÓDIGO desenvolvido na memória USB. Durante a aula seguinte o docente pode pedir-lhe para mostrar o código desenvolvido, e pode fazer-lhe algumas perguntas. O método de trabalho é semelhante ao das aulas anteriores: nas primeiras fases edita-se o ficheiro fonte alunos.c com o código fornecido junto do enunciado, e realizam-se as modificações pedidas. Na última fase o objectivo é resolver o problema proposto, aplicando os conceitos aprendidos nesta secção da matéria. 2 Exercícios de aprendizagem Pretende-se desenvolver uma aplicação que permite gerir um ficheiro com o nome, número e turno dos alunos de uma disciplina. A aplicação recebe o nome do ficheiro a partir de um argumento da linha de comando, parando caso o utilizador não introduza esse parâmetro. Depois, oferece um menu com as opções de acrescentar aluno, apagar aluno, listar alunos, e apagar todos os alunos. Este trabalho vai ser usado para aprender a trabalhar com estruturas e com ficheiros. Os dados são guardados no ficheiro em formato binário, e são acedidos no programa através de uma estrutura. Claro que o trabalho usa tudo o que foi aprendido nas aulas anteriores. 2.1 ESTRUTURAS DE DADOS O primeiro aspecto relevante é definir como se vão manipular os dados relativos a cada um dos alunos na memória do computador. As estruturas oferecem a maneira ideal para manipular um conjunto de campos inter-relacionados como uma variável única. Neste trabalho vai usar-se a estrutura struct Aluno para guardar os dados de cada aluno, e para ler e escrever no ficheiro. Define-se ainda o tipo bool (Booleano) como sendo igual a int, como exemplo de definição de um tipo novo. typedef int bool; #define TRUE 1 #define FALSE 0 #define MAX_STUDENTNAME_LENGTH 160 struct Aluno { char nome[max_studentname_length]; int numero; int turno; ; 2

3 Repare que com esta estrutura é possível ter uma variável que tem os três campos simultaneamente para se seleccionar um campo usa-se o ponto (. ) ou a seta ( -> ) respectivamente para uma variável ou para um apontador. Por exemplo: struct Aluno aluno; struct Aluno *aluno_ptr= &aluno; aluno.numero= 1; /* Usa o ponto "." */ strcpy(aluno_ptr->nome, "Paulo"); /* Usa a seta "->" */ 2.2 EXERCÍCIO DE APRENDIZAGEM: VERSÃO 1 DA APLICAÇÃO Tal como nos dois enunciados anteriores, neste trabalho são fornecidas várias funções que realizam no conjunto a aplicação pretendida: um sistema para manter uma lista de alunos. O PRIMEIRO EXERCÍCIO É CRIAR UM FICHEIRO alunos.c, e COPIAR TODAS AS FUNÇÕES FORNECIDAS NO ENUNCIADO PARA ESSE FICHEIRO. Não se esqueça que, tal como nos trabalhos anteriores, não deve colocar funções dentro de funções, e deve declarar uma função, ou um protótipo da função, antes de invocar a função no código. Vai desenvolver-se a aplicação a partir da função main. Neste trabalho, a função main está estruturada como um menu, que apresenta a lista de opções e em seguida corre uma função associada à opção escolhida. Este trabalho também tem a novidade de receber o nome do ficheiro pela linha de comando. Assim, a aplicação deve ser chamada com um parâmetro (por exemplo./alunos dados.dat ). Repare que a função main tem dois parâmetros: argc tem o número de palavras na linha de comando (2 no exemplo); argv tem um array de strings com cada uma das palavras (no exemplo, argv[0]== alunos e argv[1]== dados.dat ). Caso o utilizador não introduza o parâmetro, a aplicação termina com uma mensagem de erro. O programa fica no menu principal até que o utilizador introduza a opção 0 Sair. #include <stdio.h> #include <stdlib.h> #include <string.h> #include <unistd.h> main(int argc, char *argv[]) { int opcao; printf("%s - Programa de gestão de alunos\n", argv[0]); if (argc!= 2) { printf(" Erro na invocação do programa\n"); printf(" Use %s nome_do_ficheiro\n", argv[0]); exit(1); do { /* CICLO PRINCIPAL DO MENU */ printf("programa de gestão de alunos\n ); printf(" Escolha uma opção:\n"); printf(" 0: Sair\n"); printf(" 1: Listar alunos\n"); printf(" 2: Acrescentar aluno\n"); printf(" 3: Apagar aluno\n"); printf(" 4: Apagar ficheiro\n"); 3

4 /* LÊ OPÇÃO */ if (scanf(" %d", &opcao)!= 1) { // Foi introduzido um carácter que não é um número getchar(); // Remove carácter do buffer continue; // Volta ao início do ciclo principal getchar(); // Remove '\n' após número /* EXECUTA OPÇÃO */ switch (opcao) { case 0: break; case 1: listar_alunos(argv[1]); break; case 2: adicionar_aluno(argv[1]); break; case 3: apagar_aluno(argv[1]); break; case 4: remove(argv[1]); break; default: printf("%d: opção inválida\n", opcao); while (opcao!= 0); Cada opção é realizada numa função diferente. A opção 4 chama uma função do sistema que apaga um ficheiro. As restantes opções são realizadas com as funções apresentadas nas subsecções seguintes Opção Acrescentar aluno A operação de adicionar um aluno obriga a ler do utilizador dois campos numéricos e um nome. Assim, definem-se duas funções auxiliares, que realizam estas operações. A função ler_nome recebe um array de bytes (nome) e uma variável inteira com a dimensão do array (max_len) e lê uma string com até esse número de bytes, terminada com o terminador de string ( \0 ). A função ler_numero recebe um apontador para um inteiro e modifica o seu valor. Lembre-se que na linguagem C, o nome do array já é um apontador. bool ler_nome(char nome[], int max_len) { nome[0]= '\0'; fgets(nome, max_len, stdin); if (strlen((char *)nome) <= 2) { printf("nome demasiado curto\n"); return FALSE; nome[strlen(nome)-1]= '\0'; // Remove o '\n' do buffer return TRUE; bool ler_numero(int *number_ptr) { return (scanf("%d", /* Já é apontador */number_ptr) == 1); A partir destas funções é possível realizar a função ler_aluno que lê os três campos da variável aluno, um de cada vez. Repare que esta função recebe um apontador para a 4

5 estrutura a preencher, permitindo-lhe modificar o conteúdo da variável aluno. A função funciona integralmente, mas não verifica o valor inteiro do campo turno, que apenas pode ter um valor entre 1 e o valor de MAX_TURNO. #define MAX_TURNO 10 /* Lê os dados referentes a um novo aluno */ bool ler_aluno(struct Aluno *aluno) { printf("nome: "); if (!ler_nome(aluno->nome, MAX_STUDENTNAME_LENGTH)) return FALSE; printf("número: "); if (!ler_numero(&aluno->numero)) return FALSE; printf("número de turno: "); if (!ler_numero(&aluno->turno)) return FALSE; return TRUE; EXERCÍCIO 2: Modifique a função ler_aluno de maneira a passar a retornar FALSE quando o valor do campo turno for inferior a 1 ou superior a MAX_TURNO. Utilizando esta função, pode realizar-se a função adicionar_aluno com o código representado abaixo. Repare que a variável aluno é preenchida dentro da função ler_aluno, e caso esta retorne TRUE (um valor diferente de 0), acrescenta a entrada ao ficheiro. O ficheiro é aberto no modo ab (append, acrescentar no fim e b de binário), e os dados são escritos em formato binário, com a representação que têm na memória na variável aluno, do tipo estrutura struct Aluno. Repare que a escrita é feita passando um apontador para o primeiro byte da variável aluno, indicando o tamanho em bytes ocupado pela variável aluno (sizeof (aluno) ), e o número de alunos que se pretendem escrever (1). O ficheiro é fechado no final, para garantir que os dados estão escritos quando a função termina. void adicionar_aluno(const char *filename) { FILE *fp; struct Aluno aluno; if (ler_aluno(&aluno)) { fp= fopen(filename, "ab"); // "ab" == 'acrescentar' if (fp == NULL) { perror("erro a abrir ficheiro"); return; if (fwrite(&aluno, sizeof(aluno), 1, fp)!= 1) { perror("erro a escrever ficheiro"); fclose(fp); 5

6 2.2.2 Opção Listar alunos A função listar_alunos percorre todos os elementos do ficheiro mostrando-os, um a um. Assim, começa-se por definir a função mostrar_um_aluno que mostra apenas um aluno, escrevendo os seus dados na consola. void mostrar_um_aluno(struct Aluno *aluno) { printf("aluno '%s' no. %d Turno %d\n", aluno->nome, aluno->numero, aluno->turno); A função listar_alunos começa por abrir o ficheiro em modo leitura ( rb de read e binário). Depois, se conseguiu abrir, vai ler entrada a entrada para a variável aluno, escrevendo o seu conteúdo. Repare que a função fread lê directamente 1*sizeof(aluno) bytes para a variável aluno. No final, escreve uma linha em branco e fecha o ficheiro. No entanto, se o ficheiro tem muitos elementos torna-se muito difícil de ler, pois esta função despeja todos os nomes sem nunca parar. #define MAX_LINES 20 void listar_alunos(const char *filename) { struct Aluno aluno; FILE *fp; fp= fopen(filename, "rb"); if (fp == NULL) { perror("erro a abrir ficheiro"); return; while (fread(&aluno, sizeof(aluno), 1, fp)) { mostrar_um_aluno(&aluno); putchar('\n'); fclose(fp); EXERCÍCIO 3: Modifique a função listar_alunos de maneira a que após escrever MAX_LINES linhas, a função pare à espera do utilizador carregar uma tecla. Relembrase que para ler uma tecla pode usar a função getchar() Opção Apagar aluno A função apagar_aluno começa por pedir um número de aluno ao utilizador. Depois, inicia um processo de cópia do ficheiro original para um novo ficheiro temporário, que é igual ao original excepto que não tem o elemento a excluir. A função usa duas variáveis do tipo apontador para FILE em simultâneo: fp_in é usada para ler a partir do ficheiro original; fp_out é usada para escrever no ficheiro temporário. Falta programar uma rotina que leia os alunos, um a um. Deve escrever os alunos em fp_out se tiverem o número de aluno com um valor diferente da variável numero. Caso consiga retirar um aluno, deve modificar o valor da variável Booleana apagou para TRUE. 6

7 void apagar_aluno(const char *filename) { FILE *fp_in, *fp_out; struct Aluno aluno; char temp_outfilename[100]; int numero; bool apagou= FALSE; printf("qual é o número do aluno a apagar? "); ler_numero(&numero); /* Ficheiro original modo leitura */ fp_in= fopen(filename, "rb"); /* Ficheiro temporário com nome único modo escrita */ sprintf(temp_outfilename, "%sxxxxxx", filename); mkstemp(temp_outfilename); // Cria nome único fp_out= fopen(temp_outfilename, "wb"); /* Testa se operações de abertura tiveram sucesso */ if ((fp_in == NULL) (fp_out == NULL)) { perror("erro a abrir um dos ficheiros"); if (fp_in!= NULL) fclose(fp_in); if (fp_out!= NULL) fclose(fp_out); return; // Sai da função /* EXERCÍCIO 4: COMPLETE O CÓDIGO DESTA FUNÇÃO REALIZANDO UMA FUNÇÃO QUE COPIA TUDO O QUE LÊ DE fp_in para fp_out, EXCEPTO QUANDO ENCONTRA O ALUNO COM O NÚMERO IGUAL A numero. SE ENCONTRAR, DEVE COLOCAR A VARIÁVEL apagou COM O VALOR TRUE */ fclose(fp_in); fclose(fp_out); if (apagou) { remove(filename); // Apaga ficheiro original rename(temp_outfilename,filename); //Muda nome de ficheiro else remove(temp_outfilename); // Apaga ficheiro temporário Para facilitar a vida na introdução de um número elevado de alunos foi criado um ficheiro com as opções do menu, os nomes, números e turnos de cada aluno. O Linux permite que se use um ficheiro de entrada em vez do teclado (stdin) se redireccionarmos esse ficheiro para o nosso programa. O ficheiro de texto com os alunos chama-se dados.in e é fornecido com o enunciado. Copie-o para a pasta onde tem o ficheiro executável e corra a seguinte linha de comando que redirecciona o ficheiro dados.in para o programa como se do stdin se tratasse:./alunos alunos.dat < dados.in Quando corre o programa com esta linha, as mensagens escritas em stdout são ainda escritas no ecrã. Se não as quiser ver pode também redireccioná-las para um ficheiro, ou para nada. Um comando para as redireccionar para nada é o seguinte:./alunos alunos.dat < dados.in > /dev/null 7

8 3 Exercício final: Opção Listar por turno Pretende-se neste exercício final, estender o programa desenvolvido anteriormente acrescentando a opção de listar os alunos por turno. Assim, deve acrescentar a opção 5 (Listar por turno), criando uma nova função para tratar a opção. Essa função deve começar por pedir ao utilizador para introduzir um número de turno, e depois listar apenas os alunos que pertencem a esse turno. Este exercício vai ser avaliado pelo docente durante a aula. Caso tenha conseguido terminar durante a aula chame o docente e mostre o trabalho a funcionar. Senão, complete o trabalho após o fim da aula, e traga-o completo para a próxima aula. 8

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 Estruturação de código e outros

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 Funções e Vectores http://tele1.dee.fct.unl.pt

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

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

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

PROGRAMAÇÃO DE MICROPROCESSADORES 2009 / 2010

PROGRAMAÇÃO DE MICROPROCESSADORES 2009 / 2010 Departamento de Engenharia Electrotécnica PROGRAMAÇÃO DE MICROPROCESSADORES 2009 / 2010 Mestrado Integrado em Engenharia Electrotécnica e Computadores 1º ano 2º semestre Trabalho nº 5 Funções e Vectores

Leia mais

Computação 2. Aula 8. Profª. Fabiany Arquivos

Computação 2. Aula 8. Profª. Fabiany Arquivos Computação 2 Aula 8 Arquivos Profª. Fabiany fabianyl@utfpr.edu.br E/S com Arquivos A linguagem C não possui nenhum comando de E/S. Todas as operações de E/S ocorrem mediante chamadas a funções de biblioteca

Leia mais

Disciplina de Introdução à Ciência da Computação ICC 1 - Teoria

Disciplina de Introdução à Ciência da Computação ICC 1 - Teoria USP - ICMC - SSC SSC 0501-1o. Semestre 2015 Disciplina de Introdução à Ciência da Computação ICC 1 - Teoria Prof. Fernando Santos Osório Email: fosorio [at] icmc. usp. br, gmail. com Página Pessoal: http://www.icmc.usp.br/~fosorio/

Leia mais

PROGRAMAÇÃO DE MICROPROCESSADORES 2011 / 2012

PROGRAMAÇÃO DE MICROPROCESSADORES 2011 / 2012 Departamento de Engenharia Electrotécnica PROGRAMAÇÃO DE MICROPROCESSADORES 2011 / 2012 Mestrado Integrado em Engenharia Electrotécnica e Computadores 1º ano 1º semestre Trabalho nº 5 Funções http://tele1.dee.fct.unl.pt/pm

Leia mais

USP - ICMC - SSC SSC o. Semestre Disciplina de Introdução à Ciência da Computação ICC 1 - Teoria

USP - ICMC - SSC SSC o. Semestre Disciplina de Introdução à Ciência da Computação ICC 1 - Teoria USP - ICMC - SSC SSC 0501-1o. Semestre 2011 Disciplina de Introdução à Ciência da Computação ICC 1 - Teoria Prof. Fernando Santos Osório Email: fosorio [at] icmc. usp. br, gmail. com Página Pessoal: http://www.icmc.usp.br/~fosorio/

Leia mais

Fundamentos de Programação 1

Fundamentos de Programação 1 Fundamentos de Programação 1 Linguagem C Arquivos Seqüências ou de Texto. Slides 18 Prof. SIMÃO Jean Marcelo SIMÃO 1 Arquivo de Escrita 1 fopen ( nome.txt", "w" ); fputc ( caracter, arquivo); 2 #include

Leia mais

PROGRAMAÇÃO DE MICROPROCESSADORES 2009 / 2010

PROGRAMAÇÃO DE MICROPROCESSADORES 2009 / 2010 Departamento de Engenharia Electrotécnica PROGRAMAÇÃO DE MICROPROCESSADORES 2009 / 2010 Mestrado Integrado em Engenharia Electrotécnica e Computadores 1º ano 2º semestre Trabalho nº 6 Strings e Apontadores

Leia mais

Departamento de Sistemas de Computação Universidade de São Paulo Introdução a Ciência de Computação I. Aula 13 Arquivos

Departamento de Sistemas de Computação Universidade de São Paulo Introdução a Ciência de Computação I. Aula 13 Arquivos Departamento de Sistemas de Computação Universidade de São Paulo Introdução a Ciência de Computação I Aula 13 Arquivos Responsável Seiji Isotani, Rafaela V. Rocha sisotani@icmc.usp.br rafaela.vilela@gmail.com

Leia 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

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

Aula 16: Manipulação de Arquivos em C

Aula 16: Manipulação de Arquivos em C Aula 16: Manipulação de Arquivos em C Fernanda Passos Universidade Federal Fluminense Programação de Computadores IV Fernanda Passos (UFF) Manipulação de Arquivos Programação de Computadores IV 1 / 33

Leia mais

USP - ICMC - SSC SSC o. Semestre Disciplina de Introdução à Computação para Engenharia Ambiental

USP - ICMC - SSC SSC o. Semestre Disciplina de Introdução à Computação para Engenharia Ambiental USP - ICMC - SSC SSC 0301-2o. Semestre 2013 Disciplina de Introdução à Computação para Engenharia Ambiental 1 Prof. Dr. Fernando Santos Osório / Prof. Artur Lovato Cunha LRM - Laboratório de Robótica Móvel

Leia 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

1º Exame 14 de Junho de Duração: 2h30 (+15 min) Número: Nome: Notas

1º Exame 14 de Junho de Duração: 2h30 (+15 min) Número: Nome: Notas Exame A Programação MEEC 2º Semestre 2017/18 1º Exame 14 de Junho de 2018. Duração: 2h30 (+15 min) Número: Nome: Notas Composição do teste: 4 folhas com problemas para resolver. Existem 9 problemas para

Leia mais

Disciplina de Linguagem de Programação e Aplicações [ Eng. Elétrica / Automação ]

Disciplina de Linguagem de Programação e Aplicações [ Eng. Elétrica / Automação ] USP - ICMC - SSC SSC 0300-2o. Semestre 2013 Disciplina de [ Eng. Elétrica / Automação ] Prof. Dr. Fernando Santos Osório / PAE: Rafael Klaser (LRM / ICMC) LRM - Laboratório de Robótica Móvel do ICMC /

Leia mais

UNIVERSIDADE LUSÓFONA DE HUMANIDADES E TECNOLOGIAS 2º Semestre 2013/2014

UNIVERSIDADE LUSÓFONA DE HUMANIDADES E TECNOLOGIAS 2º Semestre 2013/2014 UNIVERSIDADE LUSÓFONA DE HUMANIDADES E TECNOLOGIAS 2º Semestre 2013/2014 Programação em C 30/06/2014 Leia com atenção as perguntas e justifique cuidadosamente todas as respostas 1. Qual o objetivo de um

Leia mais

USP - ICMC - SSC SSC o. Semestre Disciplina de Linguagem de Programação e Aplicações [ Eng. Elétrica / Automação ]

USP - ICMC - SSC SSC o. Semestre Disciplina de Linguagem de Programação e Aplicações [ Eng. Elétrica / Automação ] USP - ICMC - SSC SSC 0300-2o. Semestre 2013 Disciplina de [ Eng. Elétrica / Automação ] Prof. Dr. Fernando Santos Osório / PAE: Rafael Klaser (LRM / ICMC) LRM - Laboratório de Robótica Móvel do ICMC /

Leia mais

Computação 2. Aula Profª. Fabiany Listas Duplamente Encadeadas

Computação 2. Aula Profª. Fabiany Listas Duplamente Encadeadas Computação 2 Aula 10.1 Listas Duplamente Encadeadas Profª. Fabiany fabianyl@utfpr.edu.br ListaEncadeada.h #ifndef _LISTAENCADEADA_H_ #define _LISTAENCADEADA_H_ #include #include #include

Leia mais

Computação 2. Aula 9. Diego Addan Arquivos

Computação 2. Aula 9. Diego Addan Arquivos Computação 2 Aula 9 Arquivos Diego Addan diegoaddan@gmail.com E/S com Arquivos A linguagem C não possui nenhum comando de E/S. Todas as operações de E/S ocorrem mediante chamadas a funções de biblioteca

Leia mais

Arquivos. INF1005 Programação I Profa. Simone D.J. Barbosa sala 410 RDC

Arquivos. INF1005 Programação I Profa. Simone D.J. Barbosa sala 410 RDC Arquivos INF1005 Programação I Profa. Simone D.J. Barbosa simone@inf.puc-rio.br sala 410 RDC 1 arquivos tópicos por que usar arquivos manipulação de arquivos lendo dados de arquivos (modo texto) escrevendo

Leia mais

SSC INTRODUÇÃO À COMPUTAÇÃO PARA ENGENHARIA AMBIENTAL REGISTROS E ARQUIVOS. Profa. Dra. Milena Guessi Margarido

SSC INTRODUÇÃO À COMPUTAÇÃO PARA ENGENHARIA AMBIENTAL REGISTROS E ARQUIVOS. Profa. Dra. Milena Guessi Margarido SSC 301 - INTRODUÇÃO À COMPUTAÇÃO PARA ENGENHARIA AMBIENTAL REGISTROS E ARQUIVOS Profa. Dra. Milena Guessi Margarido (milena@icmc.usp.br) Número Bairro CEP Cidade Logradouro Endereço País REGISTRO Estrutura

Leia mais

PROGRAMAÇÃO DE MICROPROCESSADORES 2009 / 2010

PROGRAMAÇÃO DE MICROPROCESSADORES 2009 / 2010 Departamento de Engenharia Electrotécnica PROGRAMAÇÃO DE MICROPROCESSADORES 2009 / 2010 Mestrado Integrado em Engenharia Electrotécnica e Computadores 1º ano 2º semestre Trabalho nº 3 Testes, condições

Leia mais

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

Listas (cont.) K&R: Capitulo 6. Lista Simplesmente Ligada IAED, 2012/2013. Conjunto de nós. Cada nó contém. head NULL. typedef struct node {

Listas (cont.) K&R: Capitulo 6. Lista Simplesmente Ligada IAED, 2012/2013. Conjunto de nós. Cada nó contém. head NULL. typedef struct node { Listas (cont.) K&R: Capitulo 6 Lista Simplesmente Ligada Conjunto de nós head NULL Cada nó contém Informação útil Ponteiro para o próimo nó typedef struct node Item item; struct node *net; *link; Item

Leia mais

INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA RIO GRANDE DO NORTE

INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA RIO GRANDE DO NORTE INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA RIO GRANDE DO NORTE Algoritmos ANSI C - Arquivos Copyright 2014 IFRN Agenda Conceito Tipos de arquivos Texto Binário Stream Principais funções Exemplos

Leia 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

13a. Aula Manipulação de arquivos

13a. Aula Manipulação de arquivos 13a. Aula Manipulação de arquivos 2013.2 O sistema de entrada e saída do ANSI C é composto por uma série de funções (fopen, fprintf, fgets, fclose) cujos protótipos estão reunidos em stdio.h Todas estas

Leia mais

Computadores Digitais 2. Prof. Rodrigo de Souza Couto

Computadores Digitais 2. Prof. Rodrigo de Souza Couto Computadores Digitais 2 Linguagens de Programação DEL-Poli/UFRJ Prof. Miguel Campista Aula de Hoje Arquivos Funções para abrir e fechar arquivos Arquivos em modo texto Arquivos em modo binário ATENÇÃO

Leia mais

Ficheiros. IPC2 1999/2000 F. Nunes Ferreira

Ficheiros. IPC2 1999/2000 F. Nunes Ferreira 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 Ficheiros Introdução 2 Os ficheiros são utilizados

Leia mais

Instituto Superior Técnico Introdução aos Algoritmos e Estruturas de Dados

Instituto Superior Técnico Introdução aos Algoritmos e Estruturas de Dados Instituto Superior Técnico Introdução aos Algoritmos e Estruturas de Dados Ano Lectivo de 2006/2007 2 o Semestre 1 o Teste A - 12 de Abril de 2007 Duração: 2h - O teste é sem consulta. - Para cada questão

Leia mais

Linguagem C Introdução. Contexto Histórico Principais diferenças do Java Funções em C Compilar programas em C no Linux

Linguagem C Introdução. Contexto Histórico Principais diferenças do Java Funções em C Compilar programas em C no Linux Linguagem C Introdução Contexto Histórico Principais diferenças do Java Funções em C Compilar programas em C no Linux Porquê C em AC? A linguagem C fornece um modelo de programação próximo da máquina física

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

Ponteiros e Tabelas. K&R: Capítulo 5

Ponteiros e Tabelas. K&R: Capítulo 5 Ponteiros e Tabelas K&R: Capítulo 5 Ponteiros e Tabelas Ponteiros e endereços Ponteiros e argumentos de funções Ponteiros e tabelas Alocação dinâmica de memória Aritmética de ponteiros Tabelas de ponteiros

Leia mais

ESTRUTURAS CONDICIONAIS. Introdução à Ciência da ComputaçãoI Simone Senger de Souza

ESTRUTURAS CONDICIONAIS. Introdução à Ciência da ComputaçãoI Simone Senger de Souza ESTRUTURAS CONDICIONAIS Introdução à Ciência da ComputaçãoI Simone Senger de Souza Estruturas de Controle ESTRUTURA SEQUENCIAL ESTRUTURA CONDICIONAL ESTRUTURA DE REPETIÇÃO 2 Estruturas Condicionais Estrutura

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

Laboratório 3 Comandos de repetição while, do-while e for

Laboratório 3 Comandos de repetição while, do-while e for Laboratório 3 Comandos de repetição while, do-while e for Computação I (MAB-120) Prof. Silvana Rossetto 1 DCC/IM/UFRJ 29 de março de 2019 O objetivo desta aula de laboratório é praticar o uso dos comandos

Leia mais

EXERCÍCIO DE SONDAGEM TURMA 01 SEMESTRE DATA: 01/11/2016. Matrícula Nome Nota

EXERCÍCIO DE SONDAGEM TURMA 01 SEMESTRE DATA: 01/11/2016. Matrícula Nome Nota Universidade Federal de Campina Grande Centro de Engenharia Elétrica e Informática Departamento de Sistemas e Computação Disciplina: Técnicas de Programação Prof.: José Eustáquio Rangel de Queiroz EXERCÍCIO

Leia mais

Algoritmos e Programação

Algoritmos e Programação Algoritmos e Programação Aula 3 Introdução a Linguagem C Profa. Marina Gomes marinagomes@unipampa.edu.br 1 Aula de Hoje - Criar programas simples em C utilizando a estrutura básica; - Declarar variáveis;

Leia mais

Sistemas Operacionais e Introdução à Programação. Programação com linguagem C

Sistemas Operacionais e Introdução à Programação. Programação com linguagem C Sistemas Operacionais e Introdução à Programação Programação com linguagem C 1 Entrada e saída: escrevendo na tela Veja uma comparação entre um programa Portugol e seu equivalente em C: Inicio Inteiro

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

Programação 1. Atribuição, operadores aritméticos, entrada de dados. Técnico em Eletrônica Semestre 5 02

Programação 1. Atribuição, operadores aritméticos, entrada de dados. Técnico em Eletrônica Semestre 5 02 Programação 1 Atribuição, operadores aritméticos, entrada de dados Técnico em Eletrônica Semestre 5 02 Armazenando na memória tipo de variável #include #include main() { int ano; Declaração

Leia mais

EXERCÍCIO DE SONDAGEM TURMA 02 SEMESTRE DATA: 01/11/2016. Matrícula Nome Nota

EXERCÍCIO DE SONDAGEM TURMA 02 SEMESTRE DATA: 01/11/2016. Matrícula Nome Nota Universidade Federal de Campina Grande Centro de Engenharia Elétrica e Informática Departamento de Sistemas e Computação Disciplina: Técnicas de Programação Prof.: José Eustáquio Rangel de Queiroz EXERCÍCIO

Leia mais

INSTITUTO FEDERAL DE! EDUCAÇÃO, CIÊNCIA E TECNOLOGIA RIO GRANDE DO NORTE

INSTITUTO FEDERAL DE! EDUCAÇÃO, CIÊNCIA E TECNOLOGIA RIO GRANDE DO NORTE INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA RIO GRANDE DO NORTE Algoritmos ANSI C - Introdução Copyright 2014 IFRN Agenda Conceitos básicos ANSI C Hello World Funções em C Exercícios 2 /26 A linguagem

Leia mais

TÉCNICAS DE PROGRAMAÇÃO

TÉCNICAS DE PROGRAMAÇÃO TÉCNICAS DE PROGRAMAÇÃO Arquivo Conceitos Arquivo Fluxo de bytes stream Linguagem C Estrutura do tipo FILE FILE contém informações do arquivo Tamanho Ponteiro para buffer dados Atual operação sobre o arquivo

Leia mais

Aula 26: Arquivos de texto

Aula 26: Arquivos de texto Aula 26: Arquivos de texto Introdução a Programação Túlio Toffolo & Puca Huachi http://www.toffolo.com.br BCC201 2019/1 Departamento de Computação UFOP Aulas anteriores Estruturas heterogêneas Alocação

Leia mais

Noção de estrutura de dados

Noção de estrutura de dados Sumário Estruturas de dados Noção Declaração Operações sobre estruturas Estruturas como argumento de funções Passagem por valor Passagem por referência Programação 2007/2008 DEEC-IST 1 Noção de estrutura

Leia mais

SSC304 Introdução à Programação Para Engenharias. Arquivos. GE4 Bio

SSC304 Introdução à Programação Para Engenharias. Arquivos. GE4 Bio Universidade de São Paulo Instituto de Ciências Matemáticas e de Computação Departamento de Sistemas de Computação Introdução à Para Engenharias Arquivos GE4 Bio GE4Bio Grupo de Estudos em Sinais Biológicos

Leia 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

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

ALGORITMOS AULA 01. Baseado nas aulas do Prof. Jorgiano Vidal

ALGORITMOS AULA 01. Baseado nas aulas do Prof. Jorgiano Vidal ALGORITMOS AULA 01 Baseado nas aulas do Prof. Jorgiano Vidal LINGUAGEM C Uma das grandes vantagens do C é que ele possui tanto caracterìsticas de "alto nìvel" quanto de "baixo nìvel". Linguagem de propósito

Leia mais

1/22 FICHEIROS BINÁRIOS

1/22 FICHEIROS BINÁRIOS 1/22 FICHEIROS BINÁRIOS Funções para manipulação de ficheiros 2/22 Funções para manipulação de ficheiros fopen abertura de um ficheiro para leitura/entrada e escrita/saída fclose fecho de um ficheiro fwrite

Leia mais

Métodos Computacionais. Tipos Estruturados

Métodos Computacionais. Tipos Estruturados Métodos Computacionais Tipos Estruturados Tipos Estruturados C oferece tipos primitivos que servem para representar valores simples Reais (float, double), inteiros (int), caracter (char) C oferece também

Leia mais

Lógica e Linguagem de Programação Convertendo um algoritmo em pseudocódigo para a linguagem C Professor: Danilo Giacobo

Lógica e Linguagem de Programação Convertendo um algoritmo em pseudocódigo para a linguagem C Professor: Danilo Giacobo Lógica e Linguagem de Programação Convertendo um algoritmo em pseudocódigo para a linguagem C Professor: Danilo Giacobo Este documento explica como transformar um algoritmo escrito na forma pseudocódigo

Leia mais

Instituto Superior Técnico Algoritmos e Estruturas de Dados

Instituto Superior Técnico Algoritmos e Estruturas de Dados Instituto Superior Técnico Algoritmos e Estruturas de Dados Ano Lectivo de 2005/2006 2 o Semestre 1 o Teste A - 8 de Abril de 2006 Duração: 2h - O teste é sem consulta. - Para cada questão com escolha

Leia mais

Aula 6 Oficina de Programação Estruturas Condicionais no C. Profa. Elaine Faria UFU

Aula 6 Oficina de Programação Estruturas Condicionais no C. Profa. Elaine Faria UFU Aula 6 Oficina de Programação Estruturas Condicionais no C Profa. Elaine Faria UFU - 2017 Estrutura Condicional Simples Algoritmo se () entao instrução fimse A instrução só será executada se

Leia mais

Introdução a Programação. Arquivos

Introdução a Programação. Arquivos Introdução a Programação Arquivos Tópicos da Aula Hoje aprenderemos a persistir dados Conceito de arquivos Importância de persistência Modos de acesso de arquivos em C Operações em arquivos Funções de

Leia 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

Básico: estrutura de programa, sintaxe Interface com linha de comando

Básico: estrutura de programa, sintaxe Interface com linha de comando Programação em C Sintaxe Básico: estrutura de programa, sintaxe Interface com linha de comando Preprocessamento e compilação Makefiles Ponteiros e estruturas Bibliotecas, ficheiros include e funções Referências

Leia mais

Arquivos. Programação de Computadores I. Natália Batista.

Arquivos. Programação de Computadores I. Natália Batista. Arquivos Programação de Computadores I Natália Batista nataliabatista@decom.cefetmg.br 1. Arquivos Estruturas de dados armazenadas fora da memória principal do computador, por exemplo em discos. Usados

Leia mais

Módulo 7 Cadeias de Caracteres

Módulo 7 Cadeias de Caracteres Estruturas de Dados Módulo 7 Cadeias de Caracteres 9/8/2005 (c) Dept. Informática - PUC-Rio 1 Referências Waldemar Celes, Renato Cerqueira, José Lucas Rangel, Introdução a Estruturas de Dados, Editora

Leia mais

Aula 14 Oficina de Programação Tópicos Especiais em C: Arquivos. Profa. Elaine Faria UFU

Aula 14 Oficina de Programação Tópicos Especiais em C: Arquivos. Profa. Elaine Faria UFU Aula 14 Oficina de Programação Tópicos Especiais em C: Arquivos Profa. Elaine Faria UFU - 2017 Uso da Memória Secundária Em muitos casos necessitamos da memória secundária (auxiliar), para armazenar informações

Leia 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

Linguagens de programação. Introdução ao C (continuação)

Linguagens de programação. Introdução ao C (continuação) Linguagens de programação Introdução ao C (continuação) M@nso 2003 Sumário Introdução à programação Linguagem C Repetição de instruções Ciclos com controlo inicial ciclo While ciclo For Ciclos com controlo

Leia mais

INF 1005 Programação I - Prof. Hélio Lopes 24/04/2012

INF 1005 Programação I - Prof. Hélio Lopes 24/04/2012 Vetores (Arrays) IF1005 Programação I Prof. Hélio Lopes lopes@inf.puc-rio.br sala 408 RDC 1 vetores tópicos definição declaração e inicialização vetores locais a funções passagem de vetores como parâmetros

Leia 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

Introdução a Programação. Manipulando Arquivos em Modo Texto

Introdução a Programação. Manipulando Arquivos em Modo Texto Introdução a Programação Manipulando Arquivos em Modo Texto Tópicos da Aula Hoje aprenderemos funções de manipulação de arquivos texto Funções de leitura em modo texto Funções de escrita em modo texto

Leia 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

Manipulação de Arquivos Exercício/Exemplo:

Manipulação de Arquivos Exercício/Exemplo: Manipulação de Arquivos Exercício/Exemplo: Com o que vimos até o momento sobre manipulação de arquivos. Construa um função em C que possua a capacidade de escrever um inteiro em um arquivo binário. Escreva

Leia mais

Estruturas. K&R: Capitulo 6. Estruturas IAED, 2014/2015. Introdução às Estruturas Estruturas e Funções Vectores de Estruturas Typedef Exemplo

Estruturas. K&R: Capitulo 6. Estruturas IAED, 2014/2015. Introdução às Estruturas Estruturas e Funções Vectores de Estruturas Typedef Exemplo Estruturas K&R: Capitulo 6 Estruturas Introdução às Estruturas Estruturas e Funções Vectores de Estruturas Typedef Exemplo 2 1 Motivação Definir uma representação agregada na linguagem C para manipular

Leia mais

Introdução à Programação Aula 07. Prof. Max Santana Rolemberg Farias Colegiado de Engenharia de Computação

Introdução à Programação Aula 07. Prof. Max Santana Rolemberg Farias Colegiado de Engenharia de Computação Introdução à Programação Aula 07 Prof. Max Santana Rolemberg Farias max.santana@univasf.edu.br Colegiado de Engenharia de Computação ARGUMENTOS POR LINHA DE COMANDO 2 Argumento por linha de comando Na

Leia mais

Programação para Computação 13ª Aula

Programação para Computação 13ª Aula Programação para Computação 13ª Aula Arquivos em C O sistema de E/S da linguagem C utiliza o conceito de streams e arquivos, como um nível de abstração entre o programador e o dispositivo utilizado. Uma

Leia mais

Universidade de São Paulo São Carlos Instituto de Ciências Matemáticas e de Computação. Profa Rosana Braga

Universidade de São Paulo São Carlos Instituto de Ciências Matemáticas e de Computação. Profa Rosana Braga Universidade de São Paulo São Carlos Instituto de Ciências Matemáticas e de Computação Profa Rosana Braga 1º semestre de 2010 1 Arquivo-FONTE /*******************************/ /* Primeiro exemplo arq exemplo1.c

Leia mais

1 Exercícios com ponteiros

1 Exercícios com ponteiros Computação para Informática Funções e Ponteiros1 EXERCÍCIOS COM PONTEIROS Computação para Informática - Prof. Adriano Joaquim de Oliveira Cruz Aula Prática - Funções e ponteiros O objetivo desta aula prática

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

Introdução à Programação em C Input / Output

Introdução à Programação em C Input / Output Introdução à Programação em C Input / Output Resumo Aula Anterior Programa começa com função main() Sintaxe para definição de funções Definição de variáveis e atribuições Estruturas de controlo if-then

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

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

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

Introdução à Programação. Strings

Introdução à Programação. Strings Introdução à Programação Strings Sumário Caracteres (ASCII) Exercícios Vectores de caracteres Strings Exercícios Definição Uma string é um conjunto de caracteres armazenados num vector. Em C, o vector

Leia mais

Relatório Trabalho Final Reservas de Viagens de Avião

Relatório Trabalho Final Reservas de Viagens de Avião Programação de Microprocessadores 2011/12 Sem. Par Aluno: 34086 Relatório Trabalho Final Reservas de Viagens de Avião Este relatório tem por base o trabalho realizado nesta disciplina sobre Reservas de

Leia mais

Laboratório de Programação - Exercícios 9, 10 e 11

Laboratório de Programação - Exercícios 9, 10 e 11 Laboratório de Programação - Exercícios 9, 10 e 11 Arrays e strings, Loops João Araujo Ribeiro jaraujo@uerj.br Universidade do Estado do Rio de Janeiro Departamento de Engenharia de Sistemas e Computação

Leia mais

Existe uma quantidade de informação que pode ser armazenada para resolver o problema.

Existe uma quantidade de informação que pode ser armazenada para resolver o problema. Arquivos Introdução As estruturas vistas anteriormente armazenam as informações na memória principal do computador. Nem sempre é conveniente. Problemas: A informação é perdida; As estruturas de dados são

Leia mais

FUNÇÕES EM C Material adaptado da profa Silvana Maria Affonso de Lara

FUNÇÕES EM C Material adaptado da profa Silvana Maria Affonso de Lara Universidade do Estado de Minas Gerais - UEMG Curso de Engenharia da Computação FUNÇÕES EM C 1 Material adaptado da profa Silvana Maria Affonso de Lara ROTEIRO DA AULA Definição de Função Argumentos, retornos

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 TRABALHO FINAL DE AVALIAÇÃO Gestão

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

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

#include <stdio.h> #include <stdlib.h>

#include <stdio.h> #include <stdlib.h> ÁREA II CCEN / UFPE Disciplina: IF 165 Computação Eletrônica 3º Exercício Escolar 2015.1 Data: 07/07/ 2015 Nome legível do aluno:... Turma... Observações gerais: 1) Preencher os dados do cabeçalho do bloco

Leia mais

Programação de Computadores II. Cap. 7 Cadeias de Caracteres

Programação de Computadores II. Cap. 7 Cadeias de Caracteres Programação de Computadores II Cap. 7 Cadeias de Caracteres Livro: Waldemar Celes, Renato Cerqueira, José Lucas Rangel. Introdução a Estruturas de Dados, Editora Campus (2004) Slides adaptados dos originais

Leia mais

TAD: Tipo Abstrato de Dados (parte 2)

TAD: Tipo Abstrato de Dados (parte 2) TAD: Tipo Abstrato de Dados (parte 2) SCC0502 Algoritmos e Estruturas de Dados I Programa em C pode ser dividido em vários arquivos Arquivos fonte com extensão.c Denominados de módulos Cada módulo deve

Leia mais

EPs 1 e 2. EP2: veja. EP1: veja

EPs 1 e 2. EP2: veja.   EP1: veja 1 EPs 1 e 2 EP2: veja http://www.ime.usp.br/~fabricio/ep2/ep2.pdf EP1: veja http://www.ime.usp.br/~yoshi/2006ii/mac122a/eps/ep1/wc.pdf http://www.ime.usp.br/~pf/cweb/ http://www.ime.usp.br/~pf/algoritmos/apend/util.html

Leia mais

Aula 14: Estruturas de Seleção e Controle em C

Aula 14: Estruturas de Seleção e Controle em C Aula 14: Estruturas de Seleção e Controle em C Fernanda Passos Universidade Federal Fluminense Programação de Computadores IV Fernanda Passos (UFF) Estruturas de Seleção e Controle Programação de Computadores

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

Argumentos da linha de comando Exemplos Recursividade de funções Exemplos

Argumentos da linha de comando Exemplos Recursividade de funções Exemplos Sumário Argumentos da linha de comando Exemplos Recursividade de funções Exemplos Programação 2007/2008 DEEC-IST 1 Argumentos da linha de comando Motivação: Nas aulas de laboratório foi utilizado o compilador

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