Algoritmos Avançados

Documentos relacionados
SCC-211 Lab. Algoritmos Avançados

SCC-210 Algoritmos Avançados

SCC-210 Algoritmos Avançados

Funções de Entrada e Saída

Linguagem de Programação C

Linguagem de Programação

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

LINGUAGEM C: ARRAYS DE CARACTERES: STRINGS

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

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

Mestrado em Engenharia Física Tecnológica

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

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

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

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

Entrad Entrada / Saíd a / Saída

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

Programação Dicas e Outras Coisas

Linguagem C Entrada/Saída (console)

Aula 3 Constantes e funções de E/S

USP - ICMC - SSC SSC o. Semestre 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 ]

LÓGICA DE PROGRAMAÇÃO. PROFª. M.Sc. JULIANA H Q BENACCHIO

Aula 16: Manipulação de Arquivos em C

Fundamentos de Programação 1

Manipulação de Ficheiros

13a. Aula Manipulação de arquivos

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

C Arquivos. Adriano Cruz 21 de julho de Instituto de Matemática Departamento de Ciência da Computação UFRJ

Linguagem de Programação C. Fluxo de Saída Padrão. Linguagem de Programação C. printf. Fluxo de Saída Padrão. Algoritmos e Lógica de Programação

Linguagem C. André Tavares da Silva.

Aula 26 - Arquivos. Prof. Laura Silva de Assis. Engenharia da Computação. CEFET/RJ - Centro Federal de Educação Tecnológica Celso Suckow da Fonseca

C/C++; biblioteca stdio

Elementos de programação em C

Disciplina de Algoritmos e Programação

Aula 3:Introdução à Linguagem C

Programação Estruturada Prof. Rodrigo Hausen Entrada e Saída Parte 2

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

Programação de Computadores II

LINGUAGEM C: ARQUIVOS

Introdução à Programação em C

Programação de Computadores

TÉCNICAS DE PROGRAMAÇÃO

modificador h instrui a função printf( ) a exibir um short int. Portanto, %hu indica que o dado é do tipo short unsigned int.

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.

Fundamentos de Programação

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

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 {

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

Laboratório de Introdução à Ciência da Computação I

Programação: Entrada e Saída de Dados

Linguagem de Programação C

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

Aula: ARQUIVOS. Introdução à Ciência da Computação I Simone Senger Souza. ICMC/USP São Carlos

Sumário. Ficheiros. Ficheiros

LINGUAGEM C: ARQUIVOS

Introdução à Computação (IC) Linguagem C: Comandos de entrada e saída

Apêndice B. Cadeias de Caracteres (Strings)

Manipulação de Arquivos

Universidade Federal do Espírito Santo. Programação I Tipos de Dados Básicos - C Professora: Norminda Luiza

Computação 2. Aula 3. Diego Addan Vetores de caracteres (strings)

Universidade Federal de Uberlândia Faculdade de Computação. Linguagem C: Manipulação de arquivos

Funções getchar() e putchar()

Programação. MEAer e LEE. Manipulação de ficheiros de texto. Bertinho Andrade da Costa. Instituto Superior Técnico. 2010/2011 1º Semestre

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

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

Algoritmos e Estruturas de Dados II IEC013

Declarações. Tipos de Acesso, Inicialização e Constantes

Computação Eletrônica. Aula 12 Arquivos Texto e Binário. Prof: Luciano Barbosa. CIn.ufpe.br

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

Outline. 33. Manipulação de arquivos DIM

Operações em Arquivos. MC102 Felipe Bergo

ECT1203 Linguagem de Programação

Programação II. Arquivos - Conceito. Arquivos

Arquivos em C Parte 2

Linguagens de Programação I

Vetores e Strings. 4. Funções Básicas para manipulação de Strings. A função gets() lê uma string do teclado. Sua forma geral é:

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

Linguagem Linguag C - String Prof. Nilton 1

Mestrado em Engenharia Física Tecnológica

Ambiente de desenvolvimento

Arquivos em C. Material da Prof. Ana Eliza

SSC304 Introdução à Programação Para Engenharias. Variáveis e I/O em C. GE4 Bio

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

Características fundamentais de codificação de programas

Variáveis, Comandos de Atribuição e Comando de Entrada e Saída

Linguagem de Programação C. Arquivos

Universidade Federal de Uberlândia Faculdade de Computação. Linguagem C: variáveis compostas homogêneas: Arrays Strings

Técnicas de Programação I

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

Comandos de entrada. e saída. Comandos de entrada. Comandos de entrada. Comandos de entrada. Comandos de entrada. Comandos de entrada.

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

Leitura Segura de Strings

Universidade de São Paulo São Carlos Instituto de Ciências Matemáticas e de Computação. Arquivos em C

Conhecendo a Linguagem de Programação C

Capítulo. Processamento de Arquivos Introdução Arquivos de Texto e Arquivos Binários11.2

9. Arquivos em C. Prof. Renato Tinós. Departamento de Computação e Matemática (FFCLRP/USP) Introdução à Computação II

Transcrição:

Algoritmos Avançados Entrada e Saída Fernando Paulovich & Gustavo Batista & Maria da Graça Pimentel

Principais Funções #include<stdio.h> printf - impressão formatada em stdout; sprintf - impressão formata em strings; gets - leitura de strings de stdin (depreciado); fgets - leitura de strings de streams; scanf - leitura formatada de stdin; sscanf - leitura formatada de strings; getchar - leitura de caractere de stdin. 27/09/2010 2

Função printf int printf ( const char * format,... ); É uma função, retorna o número de caracteres impressos ou EOF na ocorrência de erro; Especificador de formato: %[flags][width][.precision][length]specifier Specifier: c, d, f, o (octal), s, u (decimal sem sinal), x ou X (hexadecimal), n (nr. de caracteres impresos); Length: h (short), l (long int) e L (long double); Precision: número de casas decimais; Width: número mínimo de caracteres a serem impressos; Flags: -,+, espaço, #, 0. 27/09/2010 3

Exemplo: printf 27/09/2010 4

Função gets char * gets ( char * str ); Depreciado por não permitir especificar o tamanho do string; Realiza a leitura de caracteres até encontrar um caractere de nova linha ( \n ) ou fim de arquivo; Remove o caractere \n de stdin, mas não o coloca em str; Insere o caractere \0 no final de str. 27/09/2010 5

Função fgets char * fgets ( char * str, int num, FILE * stream ); Realiza a leitura de caracteres até num-1 caracteres ou encontrar um caractere de nova linha ou fim de arquivo; O caractere \n é considerado válido e é inserido em str (diferente de gets!); Insere o caractere \0 no final de str. 27/09/2010 6

Função fgets 27/09/2010 7

Retorno: gets e fgets Para ambos gets e fgets: Em caso de sucesso, as funções retornam o parâmetro str; Se o caractere de fim de arquivo é encontrado e nenhum caractere foi lido, então um ponteiro NULL é retornado; Se um erro é encontrado NULL é encontrado; ferror() e feof() podem ser utilizadas para diferenciar entre erros e fim de arquivo. 27/09/2010 8

Função scanf int scanf ( const char * format,... ); format pode conter: Especificador de formato: %[*][width][modifiers]type type: c, d, f, o (octal), s, u, x, X (hexa), n (nr. de valores lidos); modifiers: h (short), l (long) e L (long double); width: especifica o número máximo de caracteres; *: faz com que os dados sejam lidos de stdin, mas ignorados. 27/09/2010 9

Função scanf format pode conter: Caracteres em branco: casa com zero ou mais caracteres brancos (, \n e \t ); Caracteres diferente de branco, exceto % : faz com que esses caracteres, se casarem com a entrada sejam ignorados. Se não casarem com a entrada scanf falha e retorna deixando demais caracteres em stdin; 27/09/2010 10

Exemplo 1: scanf 27/09/2010 11

27/09/2010 12

Função scanf Uma coisa importante sobre o scanf é o parâmetro de retorno: Em caso de sucesso, mesmo que parcial, scanf retorna o número de itens lidos com sucesso. Esse número pode ser um valor menor ou igual ao número de leituras esperado. Em caso de falha antes de que qualquer dado seja lido com sucesso, a constante EOF é retornada. 27/09/2010 13

scanf( %s ) versus gets (fgets) scanf( %s ) opera de forma diferente do gets (fgets): Para o scanf, %s significa uma seqüência de caracteres diferente do caracteres brancos. Portanto um scanf( %s ) pode ler somente uma palavra de uma frase No gets e fgets, a linha toda é lida 27/09/2010 14

Cuidado: fflush(stdin) Cuidado com fflush(stdin), pois não funciona em todos os compiladores! fflush is defined only for output streams. Since its definition of "flush" is to complete the writing of buffered characters (not to discard them), discarding unread input would not be an analogous meaning for fflush on input streams. 27/09/2010 15

Exemplo 1: The 3n+1 Problem Sample input 1 10 100 200 201 210 900 1000 27/09/2010 16

Exemplo 2: Minesweeper Sample input 4 4 *.......*..... 3 5 **.......*... 0 0 27/09/2010 17

Exemplo 3: The Trip Sample input 3 10.00 20.00 30.00 4 15.00 15.01 3.00 3.01 0 27/09/2010 18

Exemplo 4: Crypt Kicker Sample input 4 and jane puff spot xsb qymm xsb rquat xxx yyyy zzz wwwww 27/09/2010 19