Aula 29: Arquivos binários
|
|
- Danilo Rodrigues
- 5 Há anos
- Visualizações:
Transcrição
1 Aula 29: Arquivos binários Introdução a Programação Túlio Toffolo & Puca Huachi BCC /2 Departamento de Computação UFOP
2 Aulas anteriores Memória Ponteiro Utilização de ponteiros Aritmética de ponteiros Alocação dinâmica Estruturas heterogêneas Arquivos de texto 2 / 8 Túlio Toffolo & Puca Huachi Introdução a Programação Aula 29: Arquivos binários
3 Aula de hoje 1 Arquivos binários 2 Biblioteca <fstream> (slides do Prof. Guillermo Cámara-Chávez) 3 Exercícios 4 Próxima aula 2 / 8 Túlio Toffolo & Puca Huachi Introdução a Programação Aula 29: Arquivos binários
4 Aula de hoje 1 Arquivos binários 2 Biblioteca <fstream> (slides do Prof. Guillermo Cámara-Chávez) 3 Exercícios 4 Próxima aula 2 / 8 Túlio Toffolo & Puca Huachi Introdução a Programação Aula 29: Arquivos binários
5 Arquivos binários Sequência de bits sujeita às convenções do programa que o gerou. Muitos úteis para salvar informação de forma compacta. Permitem, por exemplo, armazenar registros (como structs) em arquivos. Exemplos de arquivos binários: arquivos executáveis, arquivos compactados, arquivos de registros, etc. 3 / 8 Túlio Toffolo & Puca Huachi Introdução a Programação Aula 29: Arquivos binários
6 Arquivos de texto vs arquivos binários Há diferentes formas de salvar dados de um struct em arquivos: Arquivo de texto: 1 arquivo << aluno.nome << " " 2 << aluno.mes << " " << aluno[i].ano 3 << endl; Arquivo binário (a informação é armazenada usando bytes) 1 arquivo.write((char*) &aluno, sizeof(aluno)); 4 / 8 Túlio Toffolo & Puca Huachi Introdução a Programação Aula 29: Arquivos binários
7 Aula de hoje 1 Arquivos binários 2 Biblioteca <fstream> (slides do Prof. Guillermo Cámara-Chávez) 3 Exercícios 4 Próxima aula 4 / 8 Túlio Toffolo & Puca Huachi Introdução a Programação Aula 29: Arquivos binários
8 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 b l e temp min, temp max ; } meusdados ; meusdados medidas [ ] ; o f s t r e a m Arquivo ; 2/28
9 Arquivos Binários: typedef, structs em Arquivos II Arquivos de texto: Precisa salvar cada dado da estrutura Arquivo << Medidas [ i ]. d i a << " " ; Arquivo << Medidas [ i ]. mes << " " ; Arquivo << Medidas [ i ]. ano << " " ; Arquivo << Medidas [ i ]. temp min << " " ; Arquivo << Medidas [ i ]. temp max << e n d l ; 3/28
10 Arquivos Binários: typedef, structs em Arquivos III Arquivos binários: Pode escrever a estrutura inteira de uma só vez: a r q u i v o. w r i t e ( ( c h a r ) medidas, s i z e o f ( meusdados ) 1 0 ) ; Pode escrever a estrutura com um registro de dados por vez: a r q u i v o. w r i t e ( ( c h a r )& medidas [ i n d i c e ], s i z e o f ( meusdados ) ) ; 4/28
11 Arquivos Binários: typedef, structs em Arquivos IV o f s t r e a m Arquivo ; t y p e d e f s t r u c t Ponto { i n t x, y ; }myponto ; myponto v e t [ 1 0 ] ; Arquivos Binários: Pode escrever a estrutura inteira de uma só vez Arquivos de Texto: Arquivo. w r i t e ( ( c h a r ) vet, s i z e o f ( myponto ) 10 ) ; Precisa salvar cada dado da estrutura Arquivo << v e t [ i ]. x << " " ; Arquivo << v e t [ i ]. y ; 5/28
12 Modo Texto I É interpretado como uma seqüência de caracteres agrupadas em linhas Linhas são separadas por um caracter de nova linha Vantagens: Pode ser lido facilmente por uma pessoa Editado por editores de texto convencionais Desvantagens Codificação dos caracteres pode variar (ASCII, UTF-8, ISSO-8859, etc) Arquivos tendem a ser maiores (todas os dados são convertidos para caracteres) 6/28
13 Modo Binário I Dados são armazenados da mesma forma que são armazenados na memória principal Vantagens: Facilmente interpretados por programas Maior velocidade de manipulação Arquivos são, geralmente, mais compactos Desvantagens: Difícil de serem entendidos por pessoas Dependentes da máquina onde foram gerados 7/28
14 Leitura (Modo Binário) I i s t r e a m& r e a d ( c o n s t c h a r, i n t ) ; primeiro parâmetro: é o endereço de memória em que vai ser armazenado o que for lido segundo parâmetro: o tamanho em bytes do dado a ser lido 8/28
15 Escrita (Modo Binário) I ostream& w r i t e ( c o n s t c h a r, i n t ) ; primeiro parâmetro: é o endereço de memória onde se encontram os dados segundo parâmetro: o tamanho em bytes do dado a ser escrito 9/28
16 Verificando o Final do Arquivo I Em operações de leitura do arquivo, é comum verificarmos se o final do arquivo já foi atingido. Função de verificação de fim de arquivo b o o l e o f ( ) ; Retorna true se o fim do arquivo é atingido, ou seja, se o flag de estado de erro eofbit está ligado Retorna false caso contrario 10/28
17 Usando write na Escrita I Criar um programa que salva n pontos (composto de coordenas x, y) em um arquivo binário 11/28
18 Usando write na Escrita II t y p e d e f s t r u c t ponto { f l o a t x, y ; } Ponto ; i n t main ( ) { i n t i, n ; Ponto p ; o f s t r e a m f p ; f p. open ( " arquivostruct.txt", i o s : : b i n a r y ) ; i f ( f p. f a i l ( ) ) { cout << "Erro na abertura do arquivo.\n" ; e x i t ( 1 ) ; }... } 12/28
19 Usando write na Escrita III i n t main ( ) {... c o u t << " Digite numero de pontos a gravar\n" ; c i n >> n ; f o r ( i = 0 ; i < n ; i ++) { c i n >> p. x >> p. y ; f p. w r i t e ( ( c h a r )&p, s i z e o f ( Ponto ) ) ; } f p. c l o s e ( ) ; r e t u r n 0 ; } 13/28
20 Usando read na Leitura I Criar um programa que lê todos os n pontos em um arquivo binário 14/28
21 Usando read na Leitura II t y p e d e f s t r u c t ponto { f l o a t x, y ; } Ponto ; i n t main ( ) { i f s t r e a m nfp ; Ponto P ; nfp. open ( " arquivostruct.txt", i o s : : b i n a r y ) ; i f ( nfp. f a i l ( ) ) { cout << "Erro na abertura do arquivo.\n" ; e x i t ( 1 ) ; } w h i l e ( nfp. r e a d ( ( c h a r )&P1, s i z e o f ( Ponto ) ) ) { cout << P1. x << " " << P1. y << e n d l ; } nfp. c l o s e ( ) ; r e t u r n 0 ; } 15/28
22 Leitura/Escrita de Blocos de Dados I As funções read/write permitem ler/escrever grandes blocos de dados em um arquivo Um dos parâmetros indica qual é a quantidade de dados de um determinado tipo a ser lido/escrito Portanto podem ser úteis para ler/escrever estruturas ou vetores em um arquivo numa única chamada de função 16/28
23 Usando write na Escrita I t y p e d e f s t r u c t ponto { f l o a t x, y ; } Ponto ; v o i d s a l v a ( s t r i n g a r q u i v o, i n t n, Ponto v e t ) { o f s t r e a m f p ; f p. open ( a r q u i v o, i o s : : b i n a r y ) ; i f ( f p. f a i l ( ) ) { cout << "Erro na abertura do arquivo.\n" ; e x i t ( 1 ) ; } f p. w r i t e ( ( c h a r ) vet, s i z e o f ( Ponto ) n ) ; f p. c l o s e ( ) ; } 17/28
24 Usando fread na Leitura I v o i d c a r r e g a ( s t r i n g a r q u i v o, i n t n, Ponto v e t ) { i f s t r e a m f p ; f p. open ( a r q u i v o, i o s : : b i n a r y ) ; i f ( f p. f a i l ( ) ) { cout << E r r o na a b e r t u r a do a r q u i v o. \ n"; exit (1); } fp.read (( char *)vet, sizeof(ponto) * n); fp.close (); } 18/28
25 Usando as Funções Definidas Anteriormente I i n t main ( ) { Ponto entrada, s a i d a ; i n t npontos, cont, pos ; s t r i n g nome arquivo ; cout << "Digite o nome do arquivo :\n" ; c i n >> nome arquivo ; cout << "\n Digite o número de pontos :\n" ) ; c i n >> npontos ; e n t r a d a = new Ponto [ npontos ] ; f o r ( cont = 0 ; cont < npontos ; cont++) { cout << "Digite coordenadas x,y:\n" ; c i n >> e n t r a d a [ cont ]. x >> e n t r a d a [ cont ]. y ; } s a l v a ( nome arquivo, npontos, e n t r a d a ) ;... } 19/28
26 Usando as Funções Definidas Anteriormente II i n t main ( ) {... do { c o u t << " Digite agora a posiç~ao do ponto que deseja ver: \n" ) ; c i n >> pos ; } w h i l e ( pos > npontos pos<=0 ) ; s a i d a = new Ponto [ npontos ] ; c a r r e g a ( nome arquivo, npontos, s a i d a ) ; c o u t << "O ponto na posicao " << pos << " eh " <<s a i d a [ pos 1]. x <<" " << s a i d a [ pos 1]. y ) ; r e t u r n 0 ; } 20/28
27 Acesso não sequencial I Fazemos o acesso não sequencial usando a função seekg. Esta função altera a posição de leitura/escrita no arquivo. O deslocamento pode ser relativo ao: início do arquivo (ios::beg) ponto atual (ios::cur) final do arquivo (ios::end) 21/28
28 Acesso não sequencial II i s t r e a m& s e e k g ( streampos o f f, i o s b a s e : : s e e k d i r way ) off: quantidade de bytes para se deslocar. way: posição de início do deslocamento (ios::beg, ios::cur, ios::end). 22/28
29 Acesso não sequencial III Para obter a posição, em bytes, onde se encontra localizado o ponteiro que realiza a leitura do arquivo streampos t e l l g ( ) 23/28
30 Acesso não sequencial IV Criar um programa que lê todos os n pontos em um arquivo binário 24/28
31 Acesso não sequencial V i n t main ( ) { i f s t r e a m nfp ; Ponto v ; nfp. open ( " arquivostruct.txt", i o s : : b i n a r y ) ; // conta a quantidade de bytes que contem o arquivo nfp. s e e k g ( 0, i o s : : end ) ; streampos tam = nfp. t e l l g ( ) / s i z e o f ( Ponto ) ; nfp. s e e k g ( 0, i o s : : beg ) ; v = new Ponto [ tam ] ; nfp. r e a d ( ( c h a r ) v, s i z e o f ( Ponto ) tam ) ; f o r ( i n t i = 0 ; i < tam ; i ++) cout << v [ i ]. x << " " << v [ i ]. y << e n d l ; } i f ( v!= n u l l p t r ) d e l e t e [ ] v ; r e t u r n 0 ; 25/28
32 Acesso não sequencial VI Alterar o terceiro elemento de um vetor escrito em um arquivo binário 26/28
33 Acesso não sequencial VII i n t main ( ) { f l o a t x [ 4 ] = { 5. 6, 6, 9. 8, 4. 2 } ; f l o a t nx [ 4 ], tmp = 7. 2 ; f s t r e a m p f i l e ; p f i l e. open ( "num.bin", i o s : : b i n a r y i o s : : i n i o s : : out ) ; p f i l e. w r i t e ( ( c h a r ) x, s i z e o f ( f l o a t ) 4 ) ; p f i l e. s e e k g ( s i z e o f ( f l o a t ) 2, i o s : : beg ) ; p f i l e. w r i t e ( ( c h a r ) &tmp, s i z e o f ( f l o a t ) ) ; p f i l e. s e e k g ( 0, i o s : : beg ) ; p f i l e. r e a d ( ( c h a r ) nx, s i z e o f ( f l o a t ) 4 ) ; f o r ( i n t i = 0 ; i < 4 ; i ++) cout << nx [ i ] << " " ; } p f i l e. c l o s e ( ) ; r e t u r n 0 ; 27/28
34 Aula de hoje 1 Arquivos binários 2 Biblioteca <fstream> (slides do Prof. Guillermo Cámara-Chávez) 3 Exercícios 4 Próxima aula 4 / 8 Túlio Toffolo & Puca Huachi Introdução a Programação Aula 29: Arquivos binários
35 Exemplo Escreva um programa que lê um n inteiros da entrada e a escreve: No arquivo texto "vetor.txt" No arquivo binário "vetor.dat" Em seguida, compare o conteúdo (e tamanho) dos arquivos. Exemplo de entrada: número de inteiros seguido pelos valores inteiros / 8 Túlio Toffolo & Puca Huachi Introdução a Programação Aula 29: Arquivos binários
36 1 #include <iostream> 2 #include <fstream> 3 using namespace std; 4 5 int main() 6 { 7 int n, *v; 8 ofstream txt, bin; 9 10 cin >> n; 11 v = new int[n]; 12 for (int i = 0; i < n; i++) cin >> v[i]; txt.open("vetor.txt"); 15 txt << n << endl; 16 for (int i = 0; i < n; i++) txt << v[i] << " "; 17 txt.close(); bin.open("vetor.dat", ios::binary); 20 bin.write((char*) &n, sizeof(int)); 21 bin.write((char*) v, n * sizeof(int)); 22 bin.close(); delete[] v; 25 return 0; 26 } 6 / 8 Túlio Toffolo & Puca Huachi Introdução a Programação Aula 29: Arquivos binários
37 Exercícios Exercício 1 Crie uma estrutura Aluno contendo nome, sobrenome e frequência (percentual). Em seguida, crie um programa que lê o nome e a nota de n 100 alunos de um arquivo de texto e grava estes alunos em um arquivo binário. Exemplo do arquivo texto: 1 Tulio Toffolo Puca Penna Aluno Reprovado 74.0 Exercício 2 Crie um programa que lê as n estruturas gravadas (no exercício anterior) de um arquivo binário. 7 / 8 Túlio Toffolo & Puca Huachi Introdução a Programação Aula 29: Arquivos binários
38 Aula de hoje 1 Arquivos binários 2 Biblioteca <fstream> (slides do Prof. Guillermo Cámara-Chávez) 3 Exercícios 4 Próxima aula 7 / 8 Túlio Toffolo & Puca Huachi Introdução a Programação Aula 29: Arquivos binários
39 Próxima aula Exercícios e revisão para prova 8 / 8 Túlio Toffolo & Puca Huachi Introdução a Programação Aula 29: Arquivos binários
40 / 12 Perguntas?
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 maisAula 28: Arquivos de texto
Aula 28: Arquivos de texto Introdução a Programação Túlio Toffolo & Puca Huachi http://www.toffolo.com.br BCC201 2018/2 Baseado nos slides de Guillermo Cámara-Chávez Aulas anteriores Memória Ponteiro Utilização
Leia maisIntroduçã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 maisAula 25: Alocação Dinâmica
Aula 25: Alocação Dinâmica Introdução a Programação Túlio Toffolo & Puca Huachi http://www.toffolo.com.br BCC201 2018/2 Departamento de Computação UFOP Aulas anteriores Memória Ponteiro Utilização de ponteiros
Leia maisAula 26: Estruturas heterogêneas
Aula 26: Estruturas heterogêneas Introdução a Programação Túlio Toffolo & Puca Huachi http://www.toffolo.com.br BCC201 2018/2 Departamento de Computação UFOP Aulas anteriores Memória Ponteiro Utilização
Leia maisAula 27: Estruturas heterogêneas e alocação dinâmica
Aula 27: Estruturas heterogêneas e alocação dinâmica Introdução a Programação Túlio Toffolo & Puca Huachi http://www.toffolo.com.br BCC201 2018/2 Departamento de Computação UFOP Aulas anteriores Memória
Leia maisAula 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 maisComputação Eletrônica. Aula 12 Arquivos Texto e Binário. Prof: Luciano Barbosa. CIn.ufpe.br
Computação Eletrônica Aula 12 Arquivos Texto e Binário Prof: Luciano Barbosa Relembrando a Arquitetura Básica de um Computador Até agora, toda a informação armazenada por nossos programas estava na memória
Leia maisArquivos de Texto UFOP 1/41
BCC 201 - Introdução à Programação I Arquivos de Texto Guillermo Cámara-Chávez UFOP 1/41 Arquivos I Podem armazenar grande quantidade de informação Dados são persistentes (gravados em disco) Acesso aos
Leia maisAula 17: Funções (Parte III) e Introdução a Vetores
Aula 17: Funções (Parte III) e Introdução a Vetores Introdução a Programação Túlio Toffolo & Puca Huachi http://www.toffolo.com.br BCC201 2018/2 Departamento de Computação UFOP Aula de Hoje 1 Exemplos
Leia maisAula 24: Ponteiros e Alocação Dinâmica
Aula 24: Ponteiros e Alocação Dinâmica Introdução a Programação Túlio Toffolo & Puca Huachi http://www.toffolo.com.br BCC201 2018/2 Departamento de Computação UFOP Aula anterior Memória Ponteiro Utilização
Leia maisMé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 maisOrientação a Objetos. Programação em C++
Orientação a Objetos - Programação em C++ Arquivos Binários Prof. Dr. Jean Marcelo SIMÃO DAINF / UTFPR Monitor: Vitor C. M. Corrêa discente de Engenharia de Computação DAINF / DAELN Arquivos Binários Para
Leia maisAula 23: Ponteiros Introdução a Programação Túlio Toffolo & Puca Huachi
Aula 23: Ponteiros Introdução a Programação Túlio Toffolo & Puca Huachi http://www.toffolo.com.br BCC201 2018/2 Baseado nos slides do Prof. Guillermo Cámara-Chávez Aulas anteriores Vetores Matrizes Cadeias
Leia maisAula 20: Matrizes (Parte 2)
Aula 20: Matrizes (Parte 2) Introdução a Programação Túlio Toffolo & Puca Huachi http://www.toffolo.com.br BCC201 2018/2 Departamento de Computação UFOP Aulas anteriores Vetores Matrizes 2 / 15 Túlio Toffolo
Leia maisAula 11: Laços e exercícios
Aula 11: Laços e exercícios Introdução a Programação Túlio Toffolo & Puca Huachi http://www.toffolo.com.br BCC201 2018/2 Departamento de Computação UFOP Aula Anterior Manipulação de laços Exercício 2 /
Leia maisAula 10: Manipulação do fluxo de laços
Aula 10: Manipulação do fluxo de laços Introdução a Programação Túlio Toffolo & Puca Huachi http://www.toffolo.com.br BCC201 2018/2 Departamento de Computação UFOP Aula Anterior Laços aninhados Exemplos
Leia maisAula 05: Condicionais (Parte 2)
Aula 05: Condicionais (Parte 2) Introdução a Programação Túlio Toffolo & Puca Huachi http://www.toffolo.com.br BCC201 2018/2 Departamento de Computação UFOP Aula Anterior Breve Revisão Comandos de Decisão
Leia maisOperações com Arquivos
Operações com Arquivos Programação de Computadores I Emiliana Mara Lopes Simões simoes.eml@gmail.com Universidade Federal de Ouro Preto dezembro 2009 Arquivos Os arquivos são utilizados para armazenamento
Leia maisAula 25: Alocação Dinâmica
Aula 25: Alocação Dinâmica 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 de memórias heterogêneas
Leia maisBCC Introdu c ao ` a Programa c ao I Ponteiros Guillermo C amara-ch avez UFOP 1/54
BCC 201 - Introdução à Programação I Ponteiros Guillermo Cámara-Chávez UFOP 1/54 Ponteiros... I i n t main ( ) { i n t x ; x = 10 cout
Leia maisArquivos. BCC Programação Orientada a Objectos(POO) Departamento de Computação - UFOP
Arquivos BCC 221 - Programação Orientada a Objectos(POO) Guillermo Cámara-Chávez Departamento de Computação - UFOP Introdução O armazenamento em variáveis e vetores é temporário; Arquivos são utilizados
Leia maisInstituto Federal de Educação, Ciência e Tecnologia do RN Câmpus Currais Novos. LINGUAGEM C++ VARIÁVEIS COMPOSTAS Arrays Aula I
LINGUAGEM C++ VARIÁVEIS COMPOSTAS Arrays Aula I Prof. Bruno E. G. Gomes Uma variável em um algoritmo pode ser vista como uma gaveta. A declaração de uma variável reserva uma gaveta (posição) de um certo
Leia maisManipulação de Arquivos Binários
Introdução à Computação I Departamento de Física e Matemática FFCLRP-USP Prof. Dr. José Augusto Baranauskas IBm1006 1º Semestre/2006 Notas de Aula Manipulação de Arquivos Binários Até agora vimos como
Leia maisLISTA DE EXERCÍCIOS 2
UNIVERSIDADE FEDERAL RURAL DO SEMI-ÁRIDO CURSO DE CIÊNCIA DA COMPUTAÇÃO PROGRAMAÇÃO DE COMPUTADORES 1. TIPOS COMPOSTOS DE DADOS LISTA DE EXERCÍCIOS 2 1. Considerando as declarações abaixo, responda dizendo
Leia maisAula 30: Revisão para Prova 03
Aula 30: Revisão para Prova 03 Introdução a Programação Túlio Toffolo & Puca Huachi http://www.toffolo.com.br BCC202 2019/1 Departamento de Computação UFOP Avaliação 3 Provas (60% da nota): Prova 01: 15%
Leia maisANHANGUERA ESTRUTURA DE DADOS AULA 04 MATRIZES, LISTAS E ALOCAÇÃO DINÂMICA. Prof. Thomás da Costa
ANHANGUERA 2015.2 ESTRUTURA DE DADOS AULA 04 Prof. Thomás da Costa thomascosta@aedu.com O que é: Matrizes São vetores que possuem duas ou mais dimensões para armazenar valores. Uma matriz de duas dimensões,
Leia maisTécnicas de Programação I
Técnicas de Programação I Conceitos básicos C/C++ Material baseado em sites da internet em especial no livro: STARTING OUT WITH C++ C++: Manipulação de Arquivos (1) ifstream : leitura (2) ofstream : escrita
Leia maisCURSO BÁSICO DE PROGRAMAÇÃO AULA 17. Manipulação de arquivos binários.
CURSO BÁSICO DE PROGRAMAÇÃO AULA 17 Manipulação de arquivos binários. Revisão Abrindo arquivos de texto em C FILE *arquivo = fopen(, ); FILE: Tipo do objeto de arquivo. fopen: Função
Leia maisComputação L2. Linguagem C++ Observação: Material Baseado na Disciplina Computação Eletrônica.
Computação L2 Linguagem C++ ovsj@cin.ufpe.br Observação: Material Baseado na Disciplina Computação Eletrônica. Alfabeto São os símbolos ( caracteres ) permitidos na linguagem: Letras (maiúsculas e minúsculas);
Leia maisPuca Huachi Vaz Penna
Aula 3 C++: variáveis e expressões aritméticas 2017/1 BCC201 Introdução à Computação Turmas 61, 62, 63, 64, 65 e 66, 32 e 33 Puca Huachi Vaz Penna Departamento de Computação Universidade Federal de Ouro
Leia maisAula 18: Vetores Introdução a Programação Túlio Toffolo & Puca Huachi
Aula 18: Vetores Introdução a Programação Túlio Toffolo & Puca Huachi http://www.toffolo.com.br BCC201 2018/2 Departamento de Computação UFOP Aula de Hoje 1 Exercícios da aula prática 2 Vetores 3 Exemplos
Leia maisLINGUAGEM 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 maisMé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 maisESTRUTURA DE DADOS VARIÁVEIS E PONTEIROS
ESTRUTURA DE DADOS VARIÁVEIS E PONTEIROS Prof. Dr. Daniel Caetano 2014-2 Objetivos Compreender a organização dos dados na memória Compreender o que são ponteiros Capacitar para implementar programas com
Leia maisPonteiros. Embora o programador não tenha acesso ao endereço de uma variável, existem algumas situações onde é necessário a utilização deste endereço.
Logo Aula 06 Ponteiros 2 Ponteiros Embora o programador não tenha acesso ao endereço de uma variável, existem algumas situações onde é necessário a utilização deste endereço. Um exemplo clássico disto
Leia mais//conteúdo do arquivo pacote.h
//conteúdo do arquivo pacote.h #ifndef PACOTE_H #define PACOTE_H #include #include class Pacote friend istream &operator>> (istream &, Pacote &); friend ostream &operator
Leia maisConceitos Básicos de Programação
BCC 201 - Introdução à Programação Conceitos Básicos de Programação Guillermo Cámara-Chávez UFOP 1/53 Conceitos básicos I Variável 2/53 Conceitos básicos II Posição de memoria, identificada através de
Leia maisEstruturas (registros)
BCC 201 - Introdução à Programação I Estruturas (registros) Guillermo Cámara-Chávez UFOP 1/44 Estruturas (struct) I Imaginemos que queremos ler as notas de 4 provas para um aluno e calcular a média do
Leia mais9/24/2014. Prof. André Backes
Prof. André Backes 1 Arquivos Por que usar arquivos? Permitem armazenar grande quantidade de informação; Persistência dos dados (disco); Acesso aos dados poder ser não sequencial; Acesso concorrente aos
Leia maisComputadores 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 mais3ra. Avaliação - Grupo A
Universidade Federal de Ouro Preto - UFOP Disciplina: BCC 201 - Introdução à Programação Professor: Guillermo Cámara-Chávez Aluno: No. A cola não será tolerada. Se alguém for pego colando, será reprovado
Leia maisDepartamento 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 maisALGORITMOS, ARQUITETURA E ARDUINO
INOVAÇÃO TECNOLÓGICA E EMPREENDEDORISMO ALGORITMOS, ARQUITETURA E ARDUINO Prof. Dr. Daniel Caetano 2017-2 Objetivos Rever alguns conceitos iniciais de algoritmos Tomar contato com alguns conceitos de arquitetura
Leia maisAula 06: Condicionais (switch)
Aula 06: Condicionais (switch) Introdução a Programação Túlio Toffolo & Puca Huachi http://www.toffolo.com.br BCC201 2019/1 Departamento de Computação UFOP Aula Anterior Condicionais (if - else) Exemplos
Leia maisCentro Universitário Franciscano Curso de Sistemas de Informação Disciplina de algoritmos e programação II. Ponteiros
Centro Universitário Franciscano Curso de Sistemas de Informação Disciplina de algoritmos e programação II Ponteiros Profa.: Simone Ceolin Slides (Prof.Tiago Rios da Rocha) Primeiro Semestre 2011 Sumário
Leia maisAula 9 Agregado Heterogêneo Ponteiro. prof Leticia Winkler
Aula 9 Agregado Heterogêneo Ponteiro prof Leticia Winkler 1 Prof. Leticia Winkler 2 Agregado Heterogêneo Também conhecido como registro; É uma coleção de campos que podem ser referenciados pelo mesmo nome.
Leia maisFundamentos de Programação
Fundamentos de Programação Linguagem C++: arrays de caracteres (strings) Bruno Emerson Gurgel Gomes 1 1 Instituto Federal de Educação, Ciência e Tecnologia do RN (IFRN) 2011 Bruno Gomes (IFRN) Fundamentos
Leia mais1 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 maisProgramação científica C++
Programação científica C++ NIELSEN CASTELO DAMASCENO Slide 2 Expressões Combinação de dados e operadores que resulta em um valor. expressão x = 2 * y + 4; variável operador constante Memória do computador
Leia maisArquivos de Texto UFOP 1/31
BCC 201 - Introdução à Programação I Arquivos de Texto Guillermo Cámara-Chávez UFOP 1/31 Arquivos I Podem armazenar grande quantidade de informação Dados são persistentes (gravados em disco) Acessso aos
Leia maisPuca Huachi Vaz Penna / José Américo T. Messias
BCC201 Introdução à Computação Turmas 61, 62, 63, 64, 65 e 66 Puca Huachi Vaz Penna / José Américo T. Messias Departamento de Computação Universidade Federal de Ouro Preto http://www.decom.ufop.br/puca
Leia maisAula 08: Funções (Parte II)
Aula 08: Funções (Parte II) Introdução a Programação Túlio Toffolo & Puca Huachi http://www.toffolo.com.br BCC201 2019/1 Departamento de Computação UFOP Aula Anterior Introdução a Funções Aula prática
Leia maisEstrutura de dados 1. Ponteiros
Estrutura de dados 1 Ponteiros Ponteiros Um ponteiro é um endereço de memória O valor de um ponteiro indica onde uma variável está armazenada Um ponteiro proporciona um modo de acesso a uma variável sem
Leia maisVariáveis, Comandos de Atribuição e Comando de Entrada e Saída
BCC 201 - Introdução à Programação Variáveis, Comandos de Atribuição e Comando de Entrada e Saída Guillermo Cámara-Chávez UFOP 1/54 Estrutura Básica de um programa C I < d i r e t i v a s do pre p r o
Leia maisAula 10 Alocação Dinâmica de Memória Listas Encadeadas. prof Leticia Winkler
Aula 10 Alocação Dinâmica de Memória Listas Encadeadas prof Leticia Winkler 1 Prof. Leticia Winkler 2 Alocação de Memória Reservar na memória (principal), o espaço para guardar a informação através da
Leia maisAula 4: Introdução à Linguagem C++
CI208 - Programação de Computadores Aula 4: Introdução à Linguagem C++ Prof. MSc. Diego Roberto Antunes diegor@inf.ufpr.br www.inf.ufpr.br/diegor Universidade Federal do Paraná Setor de Ciências Exatas
Leia maisFriends e Sobrecarga
Friends e Sobrecarga BCC 221 - Programação Orientada a Objectos(POO) Guillermo Cámara-Chávez Departamento de Computação - UFOP Baseado nos slides do Prof. Marco Antônio Carvalho Funções Amigas I Uma função
Leia maisProgramação científica C++
Programação científica C++ NIELSEN CASTELO DAMASCENO Slide 8 Matrizes como argumento de funções O nome de uma matriz (sem os colchetes) representa o endereço onde a matriz está armazenada. Ao passar o
Leia maisLinguagem C++ Estruturas de controle Parte II Estruturas de repetição
Fundamentos de Programação Linguagem C++ Estruturas de controle Parte II Estruturas de repetição Prof. Bruno E. G. Gomes IFRN 1 Estruturas de Controle Permitem o controle da sequência de execução de um
Leia maisVariáveis, Comandos de Atribuição e Comando de Entrada e Saída
BCC 201 - Introdução à Programação Variáveis, Comandos de Atribuição e Comando de Entrada e Saída Guillermo Cámara-Chávez UFOP 1/63 Estrutura Básica de um programa C I < d i r e t i v a s do pre p r o
Leia maisPonteiros. Baseado nos slides do Prof. Mauro.
Baseado nos slides do Prof. Mauro. A memória do computador é uma sequência de bytes, na qual endereçamos cada um sequencialmente. Como vimos, uma variável é uma região da memória que reservamos para armazenar
Leia maisGEQ Prof. Paulo R. Coelho. Lista para prova
GEQ007 2013 Prof. Paulo R. Coelho Lista para prova 7. Defina uma estrutura empregado para armazenar nome, data de nascimento, idade e salário de um empregado de uma empresa. Leia informações sobre 10 empregados
Leia maisLinguagem 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 maisExiste 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 maisAula 10 Comandos de Repetição
Aula 10 Comandos de Repetição Algoritmos e Programação de Computadores Profs: Ronaldo Castro de Oliveira ronaldo.co@ufu.br Anilton Joaquim da Silva anilton@ufu.br 1 Introdução Em certas situações é necessária
Leia maisAula 15: Introdução a Funções
Aula 15: Introdução a Funções Introdução a Programação Túlio Toffolo & Puca Huachi http://www.toffolo.com.br BCC201 2018/2 Departamento de Computação UFOP Aula Anterior Laços aninhados Exemplos diversos
Leia maisDisciplina 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 maisBCC Introdu c ao ` a Programa c ao I Ponteiros Guillermo C amara-ch avez UFOP 1/61
BCC 201 - Introdução à Programação I Ponteiros Guillermo Cámara-Chávez UFOP 1/61 Ponteiros... I i n t main ( ) { i n t x ; x = 10 p r i n t f ( " Conteudo de x: %d \n", x ) ; p r i n t f ( " Endereco de
Leia maisAula 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 maisArquivos. 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 maisFundamentos de Programação
Fundamentos de Programação Linguagem C++: arrays - aula I Bruno Emerson Gurgel Gomes 1 1 Instituto Federal de Educação, Ciência e Tecnologia do RN (IFRN) 2012 Bruno Gomes (IFRN) Fundamentos de Programação
Leia maisUSP - 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 maisAula 01 Algoritmos e lógica de programação e introdução ao C++
Aula 01 Algoritmos e lógica de programação e introdução ao C++ Autor: José Martins de Castro Neto Carga Horária: 2h 21 de julho de 2015 1 Algoritmo e lógica de programação Ementa do curso 1. Definições
Leia maisEstruturas 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 maisLINGUAGEM 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 maisPonteiros e Alocação Dinâmica. Prof. Péricles Miranda
Ponteiros e Alocação Dinâmica Prof. Péricles Miranda pbcm@cin.ufpe.br Memória A memória é formada por várias células. Cada célula contém um endereço e um valor. Memória Endereço Ao declararmos uma variável
Leia maisCapí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 maisCMP Técnicas de Programação 2 a Lista de Exercícios - Passagem de parâmetros por referência e ponteiros Max Gontijo de Oliveira
CMP1048 - Técnicas de Programação 2 a Lista de Exercícios - Passagem de parâmetros por referência e ponteiros Max Gontijo de Oliveira 1. Considere um programa em C++ que tenha duas variáveis declaradas
Leia maisAlgoritmos e Estruturas de dados
Algoritmos e Estruturas de dados Listas Encadeadas Prof. Dr. Fábio Rodrigues de la Rocha (Listas Encadeadas) 1 / 21 Definição: Anteriormente estudamos listas encadeadas que foram implementadas como vetores
Leia maisParadigmas de Linguagens
Paradigmas de Linguagens Aula 2: Tipos de dados Professora Sheila Cáceres Tipos de dados Dados são a matéria prima da computação junto com os programas. LPs precisam manipular dados. LPS utilizam os conceitos
Leia maisUNIVERSIDADE DA BEIRA INTERIOR
UNIVERSIDADE DA BEIRA INTERIOR Programação II 1º Semestre Frequência 1 (7 val) Resolução 30/10/2018 1 [1,00 val + 1,00 val] - Memória Dinâmica Considere as seguintes declarações de variáveis: int **V,
Leia maisINF 1620 P4-13/12/01 Questão 1 Nome:
INF 1620 P4-13/12/01 Questão 1 (a) Escreva uma função em C, chamada somaprod, para calcular a soma e o produto de dois valores inteiros. Esta função deve ter o seguinte efeito: se tivermos duas variáveis
Leia maisIntroduçã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 maisBCC202 - Estrutura de Dados I
BCC202 - Estrutura de Dados I Aula 03: Tipos Abstratos de Dados (TADs) Reinaldo Fortes Universidade Federal de Ouro Preto, UFOP Departamento de Ciência da Computação, DECOM Website: www.decom.ufop.br/reifortes
Leia maisVariáveis, Comandos de Atribuição e Comando de Entrada e Saída
BCC 201 - Introdução à Programação Variáveis, Comandos de Atribuição e Comando de Entrada e Saída Guillermo Cámara-Chávez UFOP 1/1 Estrutura Básica de um programa C I < d i r e t i v a s do pré p r o c
Leia maisEstrutura de Dados Básica
Estrutura de Dados Básica Professor: Osvaldo Kotaro Takai. Aula 5: Registros O objetivo desta aula é apresentar os tipos de dados definidos pelo programador, bem como exibir usos comuns desses tipos de
Leia maisFaculdade de Computação
Faculdade de Computação Programação Procedimental 13 Laboratório de Programação - Algoritmos Prof. Cláudio C. Rodrigues Prof. Fabíola Gonçalves I. Introdução a Arquivos A motivação para utilizar arquivos
Leia maisINFORMÁTICA APLICADA AULA 05 LINGUAGEM DE PROGRAMAÇÃO C++
UNIVERSIDADE FEDERAL RURAL DO SEMI-ÁRIDO CURSO: Bacharelado em Ciências e Tecnologia INFORMÁTICA APLICADA AULA 05 LINGUAGEM DE PROGRAMAÇÃO C++ Profª ª Danielle Casillo LAÇOS Laços são comandos da linguagem
Leia maisObjectivos. Observar os tipos fornecidos pelo C++ Explicar as regras sintácticas para nomes de identificadores Estudar variáveis e constantes
Tipos de Dados Objectivos Observar os tipos fornecidos pelo C++ São dados alguns exemplos Explicar as regras sintácticas para nomes de identificadores Estudar variáveis e constantes O que são Como se distinguem
Leia maisPrincípios de Desenvolvimento de Algoritmos MAC122
Princípios de Desenvolvimento de Algoritmos MAC122 Prof. Dr. Paulo Miranda IME-USP Aula de Revisão: Variáveis e Atribuições Introdução Memória Principal: Vimos no curso anterior que a CPU usa a memória
Leia maisProgramação II. Arquivos - Conceito. Arquivos
Programação II Arquivos Jocélio Passos joceliodpassos@bol.com.br C Comp Total, Cap 9 Espaço para armazenar dados em memória auxiliar (não volátil) Arquivos em C podem ser também terminais ou impressoras
Leia maisCCO 016 Fundamentos de Programação
CCO 016 Fundamentos de Programação Prof. Roberto Affonso da Costa Junior Universidade Federal de Itajubá Aula 05 Entrada de dados Leia scanf ou cin Entrada de Dados Entrada de dados compreende a operação
Leia maisAula 01 Algoritmos e lógica de programação e introdução ao C++
Aula 01 Algoritmos e lógica de programação e introdução ao C++ Autor: Max Rodrigues Marques Carga Horária: 2h 21 de julho de 2015 1 Algoritmo e lógica de programação Ementa do curso 1. Definições de algoritmo
Leia maisLista de Exercícios 5
Universidade Federal de Ouro Preto UFOP Instituto de Ciências Exatas e Biológicas ICEB Departamento de Computação DECOM Disciplina: BCC201 Introdução a Programação Professores: Túlio A. M. Toffolo e Puca
Leia maisAula: 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 maisIntrodução à Disciplina de. Adair Santa Catarina Curso de Ciência da Computação Unioeste Campus de Cascavel PR
Introdução à Disciplina de Estruturas de Dados Adair Santa Catarina Curso de Ciência da Computação Unioeste Campus de Cascavel PR Fev/2019 Software = Lógica + Dados Software Niklaus Wirth (1989). Lógica
Leia mais3. Linguagem de Programação C
Introdução à Computação I IBM1006 3. Linguagem de Programação C Prof. Renato Tinós Departamento de Computação e Matemática (FFCLRP/USP) 1 Principais Tópicos 3.6. Ponteiros 3.6.1. Introdução 3.6.2. Uso
Leia maisLÓGICA DE PROGRAMAÇÃO ESTRUTURAS DE DECISÃO PARA ENGENHARIA. Prof. Dr. Daniel Caetano
LÓGICA DE PROGRAMAÇÃO PARA ENGENHARIA ESTRUTURAS DE DECISÃO Prof. Dr. Daniel Caetano 2018-1 Objetivos Entender a ideia de decisão Compreender como implementar decisões Compreender problemas com decisões
Leia mais