Introdução à linguagem C++

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

Download "Introdução à linguagem C++"

Transcrição

1 Estrutura de Dados e Algoritmos e Programação e Computadores II Aula 3: Introdução à linguagem C++ Introdução à linguagem C++ Vetores Estruturas Objetos Arquivos-texto 1

2 Vetores Vetores são uma séria de elementos (variáveis) do mesmo tipo, alocados consecutivamente na memória, que podem ser individualmente referenciados por um índice colocado junto ao nome do vetor. type name [elements]; Atenção: o elemento entre colchetes [] (quando declarando um vertor) deve ser um valor constante, já que vetores são blocos de memória estática de um determinado tamanho. Vetores Exemplo: int billy [5]; Inicializando: int billy [5] = { 16, 2, 77, 40, ; 2

3 Vetores Acessando valores: billy[0] = a; billy[a] = 75; b = billy [a+2]; billy[billy[a]] = billy[2] + 5; Vetores Vetores multidimensionais podem ser descritos como vetores de vetores. Por exemplo, um vetor bidimensional pode ser imaginado como uma tabela bidimensional de um tipo de dado uniforme. Uma imagem é um vetor bidimensional, e um filme é um vetor tridimensional. 3

4 Vetores int jimmy [3][5]; jimmy[1][3] Vetores Vetores como parâmetros: Não possui tamanho, funciona como um ponteiro. #include <iostream.h> void printarray (int arg[], int length) { for (int n=0; n<length; n++) cout << arg[n] << " "; cout << "\n"; int main () { int firstarray[] = {5, 10, 15; int secondarray[] = {2, 4, 6, 8, 10; printarray (firstarray,3); printarray (secondarray,5); return 0; 4

5 Estruturas Uma estrutura de dados é um conjunto de diversos tipos de dados que podem ter diferentes tamanhos agrupados numa única declaração. struct model_name { type1 element1; type2 element2; type3 element3;.. object_name; onde model_name é o nome para o tipo da estrutura e object_name é um identificar válido para uma instância da estrutura. Estruturas Exemplo: struct products { char name [30]; float price; ; products apple; products orange, melon; Uma vez declarado, products torna-se um novo tipo válido como os básicos int, char ou short e podemos declarar objetos (variáveis) desse tipo. 5

6 Estruturas Para utilizá-los basta inserir um ponto entre a variável e o campo desejado: apple.name apple.price orange.name orange.price melon.name melon.price Estruturas Estruturas são utilizadas para construir bases de dados, especialmente se considerarmos a possibilidade de construir vetores de estruturas. #include <iostream.h> #include <stdlib.h> #define N_MOVIES 5 struct movies_t { char title [50]; int year; films [N_MOVIES]; void printmovie (movies_t movie) { cout << movie.title; cout << " (" << movie.year << ")\n"; 6

7 Estruturas int main () { char buffer [50]; int n; for (n=0; n<n_movies; n++) { cout << "Enter title: "; cin.getline (films[n].title,50); cout << "Enter year: "; cin.getline (buffer,50); films[n].year = atoi (buffer); cout << "\nyou have entered these movies:\n"; for (n=0; n<n_movies; n++) printmovie (films[n]); return 0; Ponteiros para Estruturas Como qualquer outro tipo, estruturas podem ser apontadas por ponteiros. O ponteiro deve ser declarado como um ponteiro para estrutura: struct movies_t { char title [50]; int year; ; movies_t amovie; movies_t * pmovie; pmovie = &amovie; 7

8 Ponteiros para Estruturas O operator -> é uma referência que é usada exclusivamente com ponteiros para estruturas e ponteiros para classes. Ele permite não ter que usar parênteses em cada referência para um membro de estrutura: pmovie->title é igual à (*pmovie).title Isto é diferente das construções abaixo: *pmovie.title é igual à *(pmovie.title) Classes e Objetos Uma classe é um método lógico para organizar dados e funções na mesma estrutura. Elas são declaradas usando a palavra-chave class, ao invés de struct, mas com a possibilidade de incluir funções como membros. class class_name { permission_label_1: member1; permission_label_2: member2;... object_name; 8

9 Classes e Objetos Os permission labels atribuem permissões para os membros e podem ser: private: membros de uma classe estão acessíveis somente pelos outros membros da mesma classe ou por suas classes "friend". protected: membros estão acessíveis de membros de suas classes e classes friend, e também de suas classes derived. public: membros estão acessíveis de qualquer local que a classe é visível. se membros são incluídos antes de qualquer permissão, eles serão considerados private. Classes e Objetos Exemplo: Dados private #include <iostream.h> class CRectangle { Protótipo da função. Possui int x, y; apenas o cabeçalho. public: void set_values (int,int); int area (void) { return (x*y); ; Função declarada localmente. Possui cabeçalho e corpo. 9

10 Classes e Objetos void CRectangle::set_values (int a, int b) { x = a; y = b; Declaração da função. O Corpo da função. operador :: indica a classe que esta função pertence. int main () { CRectangle rect, rectb; rect.set_values (3,4); rectb.set_values (5,6); cout << "area: " << rect.area(); cout << "rectb area: " << rectb.area() << endl; Classes e Objetos Construtores Objetos geralmente necessitam iniciar variáveis ou associar memória dinâmica durante seu processo de criação para tornar-se totalmente operacional e evitar retorno inesperado de valores durante a execução. Por exemplo, o que aconteceria se no exemplo anterior a função area() fosse chamada antes da função set_values? 10

11 Classes e Objetos Por isso, uma classe pode incluir uma função especial, um constructor, declarada como um membro de mesmo nome da classe. Esta função construtor será chamada automaticamente somente quando uma nova instância é criada. Classes e Objetos Destrutor O destrutor é automaticamente chamado quando um objeto é liberado da memória, ou porquê seu escopo de existência tem terminado ou porquê ele é um objeto associado dinamicamente e ele é liberado usando o operador delete. O destrutor deve ter o mesmo nome da classe com um til (~) como prefixo e não deve retornar valor. 11

12 Classes e Objetos #include <iostream.h> class CRectangle { int *width, *height; public: CRectangle (int,int); ~CRectangle (); int area (void) {return (*width * *height); ; Classes e Objetos CRectangle::CRectangle (int a, int b) { width = new int; height = new int; *width = a; *height = b; CRectangle::~CRectangle () { delete width; delete height; 12

13 Classes e Objetos int main () { CRectangle rect (3,4), rectb (5,6); cout << "rect area: " << rect.area() << endl; cout << "rectb area: " << rectb.area() << endl; return 0; Classes e Objetos Ver no Tutorial de C++: Sobreposição de construtores Ponteiros para classes Sobrepondo operadores Palavra-chave this Membros estáticos 13

14 Arquivos-texto C++ suporta entrada e saída de arquivos através das seguintes classes: ofstream: classe de arquivo para operações de escrita (derivada de ostream) ifstream: classe de arquivo para operações de leitura (derivada de istream) fstream: classe de arquivo para operações de leitura escrita (derivada de iostream) Arquivos-texto Para abrir um arquivo com um objeto stream: void open (const char * filename, openmode mode); onde filename é o caminho/nome do arquivo em disco e mode é uma combinação de flags: ios::in -> abre para leitura ios::out -> abre para escrita ios::ate -> Posição inicial: fim do arquivo ios::app -> toda saída é adicionada no final do arquivo ios::trunc -> se o arquivo já existe será apagado ios::binary -> modo binário 14

15 Arquivos-texto Por default temos: ofstream -> ios::out ios::trunc ifstream -> ios::in fstream -> ios::in ios::out Para fechar um arquivo: void close (); Arquivos-texto Exemplo: lendo uma matriz de um arquivo-texto. (Fazer e testar.) Matriz.txt: Linhas por colunas Elementos separados por linhas e espaços. 15

16 Arquivo-texto #include <iostream> #include <fstream> main (int argc, char *argv[]){ if (argc!= 2) { cout << " Use: prfile <filename>" << endl; return 1; ifstream infile(argv[1]); if (!infile) { cout << " Não pode abrir arquivo." << endl; return 2; Arquivos-texto float item; int linhas, colunas, i, j; infile >> linhas >> colunas; cout << linhas << " " << colunas << "\n"; for (i = 0; i < linhas; i++) { for (j = 0; j < colunas; j++) { infile >> item; cout << " M[" << i << "," << j << "]" << item; cout << endl; infile.close(); return 0; 16

17 Arquivos-texto Exercício: fazer um programa em C++ para escrever uma matriz num arquivotexto, a qual poderá ser lida pelo programa anterior. Atenção: Os arquivos-texto podem ser utilizados para entrada e saída de informações, principalmente quando envolvem grandes quantidades de informações. 17

Aula 28: Arquivos de texto

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

Operações com Arquivos

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

Leia mais

Linguagem de Programação III

Linguagem de Programação III Clique para editar o estilo do subtítulo mestre Linguagem de Programação III Histórico Encapsulamento Tratamento de classes e objetos Herança Polimorfismo Comparação com Java Histórico Desenvolvido por

Leia mais

Orientação a Objetos. Programação em C++

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

Programação Orientada por Objectos em C++ (alguns conceitos) Algoritmos e Estruturas de Dados 2009/2010. Três maneiras de passar parâmetros:

Programação Orientada por Objectos em C++ (alguns conceitos) Algoritmos e Estruturas de Dados 2009/2010. Três maneiras de passar parâmetros: Programação Orientada por Objectos em C++ (alguns conceitos) Algoritmos e Estruturas de Dados 2009/2010 Mestrado Integrado em Engenharia Informática e Computação Passagem de parâmetros Três maneiras de

Leia mais

Introdução à linguagem C++

Introdução à linguagem C++ Estrutura de Dados e Algoritmos e Programação e Computadores II Aula 2: Introdução à linguagem C++ Introdução à linguagem C++ Conceitos básicos: variáveis, tipos de dados, constantes, I/O, etc. Estruturas

Leia mais

Arquivos de Texto UFOP 1/41

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

Técnicas de Programação I

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

Passagem de parâmetros

Passagem de parâmetros Programação com Classes em C++ (cont.) João Pascoal Faria (versão original) Ana Paula Rocha (versão 2004/2005) Luís Paulo Reis (versão 2005/2006) FEUP - MIEEC Prog2-2006/2007 Passagem de parâmetros Três

Leia mais

Técnicas de Programação:

Técnicas de Programação: Técnicas de Programação: Programação Orientada a Objeto PROF. PROTÁSIO DEE-UFPB Classes e Objetos Classe É uma estrutura de dados que pode conter: Objeto Dados, e Funções. É uma instância de uma classe.

Leia mais

ANHANGUERA ESTRUTURA DE DADOS AULA 04 MATRIZES, LISTAS E ALOCAÇÃO DINÂMICA. Prof. Thomás da Costa

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

Tratamento de Exceções, Multithreads e arquivos (em Java) Programação Orientada a Objetos

Tratamento de Exceções, Multithreads e arquivos (em Java) Programação Orientada a Objetos Tratamento de Exceções, Multithreads e arquivos (em Java) Programação Orientada a Objetos Nesta unidade vamos ver os últimos assuntos de interesse em java. O primeiro deles, bem simples, é o tratamento

Leia mais

//conteúdo do arquivo Matriz.h class Matriz { private: int *elementos; int numerodelinhas; int numerodecolunas; void setnumerodelinhas(int); void

//conteúdo do arquivo Matriz.h class Matriz { private: int *elementos; int numerodelinhas; int numerodecolunas; void setnumerodelinhas(int); void //conteúdo do arquivo Matriz.h class Matriz private: int *elementos; int numerodelinhas; int numerodecolunas; void setnumerodelinhas(int); void setnumerodecolunas(int); int getnumerodelinhas(); int getnumerodecolunas();

Leia mais

Manipulação de Arquivos

Manipulação de Arquivos 1 Manipulação de Arquivos Para realizar E/S em arquivo, você precisa incluir o arquivo-cabeçalho fstream.h nos programas. Esse arquivo define muitas classes e valores importantes. Abrindo e fechando um

Leia mais

Conceito de classe em C++

Conceito de classe em C++ Introdução à Programação com Classes em C++ João Pascoal Faria (versão original) Ana Paula Rocha (versão 2004/2005) Luís Paulo Reis (versão 2005/2006) FEUP - MIEEC Prog2-2006/2007 Conceito de classe em

Leia mais

Herança em C++ Ana Paula Rocha (versão 2004/2005) Luís Paulo Reis (versão 2006/2007) Herança

Herança em C++ Ana Paula Rocha (versão 2004/2005) Luís Paulo Reis (versão 2006/2007) Herança Herança em C++ Ana Paula Rocha (versão 2004/2005) Luís Paulo Reis (versão 2006/2007) FEUP - MIEEC Prog2-2006/2007 Herança Herança permite usar classes já definidas para derivar novas classes nova classe

Leia mais

Estrutura de Dados e Algoritmos e Programação e Computadores II. Aula 4: Listas Estáticas e Dinâmicas

Estrutura de Dados e Algoritmos e Programação e Computadores II. Aula 4: Listas Estáticas e Dinâmicas Estrutura de Dados e Algoritmos e Programação e Computadores II Aula 4: Listas Estáticas e Dinâmicas Listas Estáticas: com Vetores Dinâmicas: Listas Ligadas (com ponteiros) Variáveis e Métodos de Controle:

Leia mais

Fundamentos de Programação

Fundamentos de Programação Fundamentos de Programação ET43I Aula 5 Prof. Daniel Cavalcanti Jeronymo Orientada a Objetos e instâncias. Construtores, destrutores e operador de atribuição de cópia. Objetos, atributos, operações: mensagens

Leia mais

Aula 24: Ponteiros e Alocação Dinâmica

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

Fundamentos de Programação 2

Fundamentos de Programação 2 Fundamentos de Programação 2 ET43G Aula 9 Prof. Daniel Cavalcanti Jeronymo e instâncias. Construtores, destrutores e operador de atribuição de cópia. Objetos, atributos, operações: mensagens e métodos,

Leia mais

C com introdução a OO

C com introdução a OO ... Centro Integrado de Tecnologia da Informação C com introdução a OO ... Centro Integrado de Tecnologia da Informação Aula 9 Ronald Dener - Instrutor Matheus Soares - Monitor 17 / outubro 17 / outubro

Leia mais

Overloading de Operadores

Overloading de Operadores Overloading de Operadores João Pascoal Faria (versão original) Ana Paula Rocha (versão 2004/2005) Luis Paulo Reis (versão 2005/2006) FEUP - MIEEC Prog2-2006/2007 Overloading de Operadores C++ permite utilizar

Leia mais

//conteúdo do arquivo pacote.h

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

ORIENTAÇÃO A OBJETOS SISTEMAS DE INFORMAÇÃO DR. EDNALDO B. PIZZOLATO

ORIENTAÇÃO A OBJETOS SISTEMAS DE INFORMAÇÃO DR. EDNALDO B. PIZZOLATO ORIENTAÇÃO A OBJETOS SISTEMAS DE INFORMAÇÃO DR. EDNALDO B. PIZZOLATO SOBRECARGA DE OPERADORES (C++) A sobrecarga de operadores ocorre quando desejamos utilizar operadores jáj conhecidos (+,-,*,/,=,+=...)

Leia mais

# Estrutura de Dados # Aula - Revisão de C/C++ na Prática. Prof. Leinylson Fontinele Pereira

# Estrutura de Dados # Aula - Revisão de C/C++ na Prática. Prof. Leinylson Fontinele Pereira # Estrutura de Dados # Aula - Revisão de C/C++ na Prática Prof. Leinylson Fontinele Pereira Na aula anterior... Ponteiros Funções Introdução 3 O que vamos aprender? Preparação do ambiente de testes Conceitos

Leia mais

Orientação a Objetos. Programação em C++

Orientação a Objetos. Programação em C++ OO Engenharia Eletrônica Orientação a Objetos - Programação em C++ Slides 12: Const, Static, NameSpace e Nested Prof. Jean Marcelo SIMÃO Métodos Const #ifndef _MINHASTRING_H_ #define _MINHASTRING_H_ class

Leia mais

Linguagem de Programação C++

Linguagem de Programação C++ O que acontecerá se um programa driver para a classe Matriz efetuasse a seguinte sequência de instruções: #include "Matriz.h" int main() char opcao; switch (opcao) case 1: } 201 } int l, c; cout

Leia mais

LINGUAGEM DE PROGRAMAÇÃO C++ CLASSES E OBJETOS

LINGUAGEM DE PROGRAMAÇÃO C++ CLASSES E OBJETOS LINGUAGEM DE PROGRAMAÇÃO C++ E OBJETOS Roberto S. Bigonha UFMG 4 de abril de 2012 ESTRUTURAS ESTRUTURAS ESTRUTURAS Cada estrutura (struct) cria um novo tipo Dois tipos estruturas de nomes distintos são

Leia mais

Aula 27: Estruturas heterogêneas e alocação dinâmica

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

Aula 25: Alocação Dinâmica

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

Manipulação de Arquivos Binários

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

Entrad Entrada / Saíd a / Saída

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

Leia mais

Overloading de Operadores

Overloading de Operadores Overloading de Operadores FEUP - MIEEC Programação 2-2008/2009 Overloading de Operadores C++ permite utilizar operadores standard para realizar operações com classes em adição aos tipos fundamentais. Por

Leia mais

Fundamentos de Programação

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

Fundamentos de Programação Linguagem C++ Entrada e saída com arquivos

Fundamentos de Programação Linguagem C++ Entrada e saída com arquivos Fundamentos de Programação Linguagem C++ Entrada e saída com arquivos Prof.: Bruno E. G. Gomes IFRN 1 Introdução Entrada e saída de dados pode ser feita: Para dispositivo de entrada/saída (monitor, impressora,

Leia mais

Classes e Encapsulamento

Classes e Encapsulamento Classes e Encapsulamento Marcio Santi POO e C++ Tipo Abstrato de Dados (TAD) TAD atributos dados que o representam interface operações associadas como é manipulado 1 Exemplo: Editor Gráfico (classe círculo)

Leia mais

Redefinição de Operadores

Redefinição de Operadores Sobrecarga de Operadores em C++ Algoritmos e Estruturas de Dados 2008/2009 Mestrado Integrado em Engenharia Informática e Computação Redefinição de Operadores Quase todos os operadores podem ser redefinidos:

Leia mais

Curso de Programação C em Ambientes Linux Aula 05

Curso de Programação C em Ambientes Linux Aula 05 Curso de Programação C em Ambientes Linux Aula 05 Centro de Engenharias da Mobilidade - UFSC Professores Gian Berkenbrock e Giovani Gracioli http://www.lisha.ufsc.br/c+language+course+resources Conteúdo

Leia mais

Introdução a Programação. Tipos Estruturados de Dados

Introdução a Programação. Tipos Estruturados de Dados Introdução a Programação Tipos Estruturados de Dados Tópicos da Aula Hoje aprenderemos a trabalhar com tipos de dados mais complexos Tipos Primitivos x Tipos Estruturados Conceito de Tipos Estruturados

Leia mais

Estrutura de dados 1. Ponteiros

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

Programação científica C++

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

Lista Ordenada. Estrutura de Dados. Universidade Federal de Juiz de Fora Departamento de Ciência da Computação 1 / 35

Lista Ordenada. Estrutura de Dados. Universidade Federal de Juiz de Fora Departamento de Ciência da Computação 1 / 35 Lista Ordenada Estrutura de Dados Universidade Federal de Juiz de Fora Departamento de Ciência da Computação 1 / 35 Conteúdo Definição Operações Representações Contígua Encadeada Aplicação Exercícios 2

Leia mais

Programação Orientada a Objetos

Programação Orientada a Objetos 1 Programação Orientada a Objetos A linguagem C, desde a sua primeira especificação, vem sendo desenvolvida com várias extensões. De uma dessas extensões foi criada a Linguagem C++ onde encontramos diversas

Leia mais

Arquivos. BCC Programação Orientada a Objectos(POO) Departamento de Computação - UFOP

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

C++ Orientado a Objetos Ponteiros

C++ Orientado a Objetos Ponteiros C++ Orientado a Objetos flavio@facom.ufu.br flaviosilva@computer.org a@comp org 198 Declaração As variáveis em C++ podem ser de duas diferentes naturezas Uma variável pode conter um VALOR ou um ENDEREÇO

Leia mais

Aula 17: Ponteiros e Alocação Dinâmica em C

Aula 17: Ponteiros e Alocação Dinâmica em C Aula 17: Ponteiros e Alocação Dinâmica em C Fernanda Passos Universidade Federal Fluminense Programação de Computadores IV Fernanda Passos (UFF) Ponteiros e Alocação Dinâmica Programação de Computadores

Leia mais

Programação em C++: Introdução

Programação em C++: Introdução Programação em C++: Introdução J. Barbosa J. Tavares Conceitos básicos de programação Algoritmo Conjunto finito de regras sobre as quais se pode dar execução a um dado processo (Knuth73v1) Ex: ordenação

Leia mais

Linguagem de Programação C++

Linguagem de Programação C++ 337 Linguagem de Programação C++ Sobrecarga de operadores Creio que todos vocês, programando na linguagem C, já tentaram, ao menos uma vez, atribuir com o operador = um vetor a outro, ou comparar duas

Leia mais

Aula 29: Arquivos binários

Aula 29: Arquivos binários Aula 29: Arquivos binários 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 mais

Template de classe. class vetor { int *arranjo; int limite; public: vetor(int=100); int & operator[ ](int n); };

Template de classe. class vetor { int *arranjo; int limite; public: vetor(int=100); int & operator[ ](int n); }; Template de classe! Idéia é semelhante ao template de função! Usando a classe vetor que foi desenvolvida anteriormente: class vetor { int *arranjo; int limite; public: vetor(int=100); int & operator[ ](int

Leia mais

Linguagem de Programação C++ Se analisarmos a manipulação do objeto c, efetuada no exercício anterior, e compararmos com o que acontece em um banco

Linguagem de Programação C++ Se analisarmos a manipulação do objeto c, efetuada no exercício anterior, e compararmos com o que acontece em um banco 168 Linguagem de Programação C++ Se analisarmos a manipulação do objeto c, efetuada no exercício anterior, e compararmos com o que acontece em um banco real no momento da abertura de uma conta, perceberemos

Leia mais

Programação estruturada em C++: extensões ao C. João Pascoal Faria (versão original) Ana Paula Rocha (versão 2004/2005)

Programação estruturada em C++: extensões ao C. João Pascoal Faria (versão original) Ana Paula Rocha (versão 2004/2005) Programação estruturada em C++: extensões ao C João Pascoal Faria (versão original) Ana Paula Rocha (versão 2004/2005) FEUP - LEEC - AED - 2004/2005 1972 1978 1983 1988 1995 Breve historial Primeira versão

Leia mais

LISTA DE EXERCÍCIOS 2

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

Algoritmos e Programação de Computadores Profs: Ronaldo Castro de Oliveira Anilton Joaquim da Silva

Algoritmos e Programação de Computadores Profs: Ronaldo Castro de Oliveira Anilton Joaquim da Silva Algoritmos e Programação de Computadores Profs: Ronaldo Castro de Oliveira ronaldo.co@ufu.br Anilton Joaquim da Silva anilton@ufu.br Matrizes Uma matriz é uma variável capaz de armazenar vários dados de

Leia mais

Aula 26: Estruturas heterogêneas

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

Paradigmas de Programação. Java First-Tier: Aplicações. Orientação a Objetos em Java (I) Nomenclatura. Paradigma OO. Nomenclatura

Paradigmas de Programação. Java First-Tier: Aplicações. Orientação a Objetos em Java (I) Nomenclatura. Paradigma OO. Nomenclatura Java First-Tier: Aplicações Orientação a Objetos em Java (I) Paradigmas de Programação Programação Funcional Programação Procedural Programação Orientada por Objetos Grupo de Linguagens de Programação

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

ESTRUTURA DE DADOS VARIÁVEIS E PONTEIROS

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

Processamento de Arquivos. Escrita Leitura Ponteiros de Posição Arquivos de Acesso Aleatório Exemplos

Processamento de Arquivos. Escrita Leitura Ponteiros de Posição Arquivos de Acesso Aleatório Exemplos Processamento de Arquivos Escrita Leitura Ponteiros de Posição Arquivos de Acesso Aleatório Exemplos 1 O armazenamento em variáveis e vetores é temporário; Arquivos são utilizados para persistência de

Leia mais

Aula 25: Alocação Dinâmica

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

Conceito de classe em C++

Conceito de classe em C++ Introdução à Programação com Classes em C++ Ana Paula Rocha, Luís Paulo Reis, João Pascoal Faria FEUP - MIEEC Programação 2-2008/2009 Conceito de classe em C++ Classe em sentido lato: tipo de dados definido

Leia mais

C++ Orientado a Objetos

C++ Orientado a Objetos flavio@facom.ufu.br flaviosilva@computer.org a@comp org 1 Declaração As variáveis em C++ podem ser de duas diferentes naturezas Uma variável pode conter um VALOR ou um ENDEREÇO VALOR A declaração de uma

Leia mais

C++ - Ponteiros (continuação) cout << \nquantas notas? ; cin >> tamanho; notas = new int[tamanho]; //aloca memória

C++ - Ponteiros (continuação) cout << \nquantas notas? ; cin >> tamanho; notas = new int[tamanho]; //aloca memória C++ - Ponteiros (continuação) Dimensionando matrizes em tempo de execução : Exemplo int tamanho; int *notas; // ponteiro para inteiro cout > tamanho; notas = new int[tamanho];

Leia mais

Puca Huachi Vaz Penna

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

INOVAÇÃO TECNOLÓGICA E LÓGICA E ARDUINO EMPREENDEDORISMO. Prof. Dr. Daniel Caetano

INOVAÇÃO TECNOLÓGICA E LÓGICA E ARDUINO EMPREENDEDORISMO. Prof. Dr. Daniel Caetano INOVAÇÃO TECNOLÓGICA E EMPREENDEDORISMO LÓGICA E ARDUINO Prof. Dr. Daniel Caetano 2017-2 Objetivos Rever conceitos vetores e funções Compreender o uso desses conceitos por meio de aplicações no Arduino

Leia mais

Fundamentos de Programação. Linguagem C++ Introdução, identificadores, tipos de dados. Prof. Bruno E. G. Gomes IFRN

Fundamentos de Programação. Linguagem C++ Introdução, identificadores, tipos de dados. Prof. Bruno E. G. Gomes IFRN Fundamentos de Programação Linguagem C++ Introdução, identificadores, tipos de dados Prof. Bruno E. G. Gomes IFRN 1 Linguagem de Programação Constituída por símbolos e por regras para combinar esses símbolos

Leia mais

Programação Orientada a Objetos

Programação Orientada a Objetos Programação Orientada a Objetos Aula VIII Prof. Felício Bruzzi Barros Maio de 2008 Sobrecarga de operadores matriz A, B, C, D; multiplica(a,b,c); soma(a,b,d); escreve(d); matriz A, B, C, D; C=A*B; D=A+B;

Leia mais

Linguagens de Programação Departamento de Engenharia Eletrônica e de Computação - DEL-Poli/UFRJ Prof.: Miguel Elias Mitre Campista

Linguagens de Programação Departamento de Engenharia Eletrônica e de Computação - DEL-Poli/UFRJ Prof.: Miguel Elias Mitre Campista Linguagens de Programação Departamento de Engenharia Eletrônica e de Computação - DEL-Poli/UFRJ Prof.: Miguel Elias Mitre Campista == Laboratório 4 == 1. Escreva um programa que inicializa dois objetos

Leia mais

Classes e Objetos. Prof. Leonardo Barreto Campos 1

Classes e Objetos. Prof. Leonardo Barreto Campos 1 Classes e Objetos Prof. Leonardo Barreto Campos 1 Sumário Introdução; Escopo de Classe e Acesso a Membros de Classes; Exercício; Os Métodos get e set; Separação de Interface e Implementação; Construtores

Leia mais

Ponteiros de Variáveis

Ponteiros de Variáveis Ponteiros de Variáveis C++ permite o armazenamento e a manipulação de valores de endereços de memória. Para cada tipo existente, há um tipo ponteirocapaz de armazenar endereços de memória em que existem

Leia mais

CONCEITOS BÁSICOS DE ORIENTAÇÃO A OBJETOS PROF. ME. HÉLIO ESPERIDIÃO

CONCEITOS BÁSICOS DE ORIENTAÇÃO A OBJETOS PROF. ME. HÉLIO ESPERIDIÃO CONCEITOS BÁSICOS DE ORIENTAÇÃO A OBJETOS PROF. ME. HÉLIO ESPERIDIÃO CLASSES E OBJETOS PARA PROGRAMAÇÃO ORIENTADA A OBJETOS Classes são estruturas das linguagens de POO criadas para conter os dados que

Leia mais

3. Linguagem de Programação C

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

Análise de Programação

Análise de Programação Análise de Programação Fundamentos da Linguagem de Programação Java Prof. Gilberto B. Oliveira Variáveis Atributos: Variáveis Declaradas fora de um método, sem o modificador static Variáveis membro ou

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

Linguagem de Programação III

Linguagem de Programação III Linguagem de Programação III Aula-5 Estruturas de Decisão e Controle. Arrays em Java Prof. Esbel Tomás Valero Orellana Até Aqui Modelos e POO Classes e sua implementação em Java Encapsulamento Tipos de

Leia mais

Funções em Linguagem C Parte II

Funções em Linguagem C Parte II Slides inicialmente preparados pelo Prof. Dr. Claudio Fabiano Motta Toledo Funções em Linguagem C Parte II Profa. Dra. Elisa Yumi Nakagawa 1. Semestre 2017 Sumário Introdução a Ponteiros Escopo de Variáveis

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

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

Introdução à Programação Aula 09. Prof. Max Santana Rolemberg Farias Colegiado de Engenharia de Computação Introdução à Programação Aula 09 Prof. Max Santana Rolemberg Farias max.santana@univasf.edu.br Colegiado de Engenharia de Computação A linguagem C, como qualquer outra linguagem de programação, permite

Leia mais

Programação Estruturada em C++: Extensões ao C

Programação Estruturada em C++: Extensões ao C Programação Estruturada em C++: Extensões ao C João Pascoal Faria (versão original) Ana Paula Rocha (versão 2004/2005) Luís Paulo Reis (versão 2005/2006 e 2006/2007) FEUP - MIEEC Programação 2-2006/2007

Leia mais

Sub-rotinas em C. Disciplina de Programação de Computadores I Universidade Federal de Ouro Preto

Sub-rotinas em C. Disciplina de Programação de Computadores I Universidade Federal de Ouro Preto Sub-rotinas em C Disciplina de Programação de Computadores I Universidade Federal de Ouro Preto Agenda Sub-rotinas: Função e Procedimentos A função main Variáveis globais e locais Escopo de variáveis Passagem

Leia mais

Fundamentos de Programação

Fundamentos de Programação Fundamentos de Programação ET42G Aula 21 Prof. Daniel Cavalcanti Jeronymo Conversão de tipos. Alocação dinâmica de memória. Recursão. Criação de bibliotecas, arquivos de cabeçalhos e variáveis globais.

Leia mais

1. Selecione a Estrutura de Dados que melhor representa os diretórios ou pastas de arquivos do computador.

1. Selecione a Estrutura de Dados que melhor representa os diretórios ou pastas de arquivos do computador. 1. Selecione a Estrutura de Dados que melhor representa os diretórios ou pastas de arquivos do computador. 1) Fila 2) Pilha 3) Árvore 4) Lista 5) Grafo 2. Selecione a Estrutura de Dados que melhor representa

Leia mais

Programação Orientada a Objetos

Programação Orientada a Objetos Programação Orientada a Objetos Classes e Objetos Renato Dourado Maia Universidade Estadual de Montes Claros Engenharia de Sistemas Lembrando Na Unidade II Modelagem Orientada a Objetos, vimos: Como utilizar

Leia mais

Mestrado Integrado em Engenharia Electrotécnica e de Computadores 2006/2007. Programação 2. Trabalho Prático P2B

Mestrado Integrado em Engenharia Electrotécnica e de Computadores 2006/2007. Programação 2. Trabalho Prático P2B Mestrado Integrado em Engenharia Electrotécnica e de Computadores 2006/2007 Programação 2 2º Semestre Trabalho Prático P2B Efectue as tarefas de programação descritas abaixo, usando a linguagem C++ em

Leia mais

Módulo 1. Introdução. AEDS I C++ (Rone Ilídio)

Módulo 1. Introdução. AEDS I C++ (Rone Ilídio) Módulo 1 Introdução AEDS I C++ (Rone Ilídio) Introdução Linguagens de Programação Fonte Compilador Executável SO I Hardware C++ - Características Evolução do C, ou seja, possui a mesma sintaxe É uma linguagem

Leia mais

Funções. definição, declaração e chamada

Funções. definição, declaração e chamada Funções definição, declaração e chamada Funções Em C, um programa é uma coleção de FUNÇÕES. Uma função é um bloco de código que recebe um nome e que tem possivelmente PARÂMETROS. A partir do nome, o bloco

Leia mais

Computação 2. Aula 7. Profª. Fabiany Ponteiros

Computação 2. Aula 7. Profª. Fabiany Ponteiros Computação 2 Aula 7 Ponteiros Profª. Fabiany fabianyl@utfpr.edu.br O que são Ponteiros? Um ponteiro é uma variável que contém um endereço de memória. Este endereço é normalmente a posição de uma outra

Leia mais

Estruturas da linguagem C. 1. Identificadores, tipos primitivos, variáveis e constantes, operadores e expressões.

Estruturas da linguagem C. 1. Identificadores, tipos primitivos, variáveis e constantes, operadores e expressões. 1 Estruturas da linguagem C 1. Identificadores, tipos primitivos, variáveis e constantes, operadores e expressões. Identificadores Os identificadores seguem a duas regras: 1. Devem ser começados por letras

Leia mais

Sobrecarga de Operadores

Sobrecarga de Operadores BCC702 - Programação de Computadores II Emiliana Mara Lopes Simões simoes.eml@gmail.com Universidade Federal de Ouro Preto junho 2010 Dificuldade: Tipos definidos pelo programador (classes) não podem ser

Leia mais

Carlos Eduardo Batista. Centro de Informática - UFPB

Carlos Eduardo Batista. Centro de Informática - UFPB Linguagem de Programação I Carlos Eduardo Batista Centro de Informática - UFPB bidu@ci.ufpb.br Motivação para o uso de C++ para o aprendizado de POO Quando usar C e quando usar C++ C++ versus Java Ambientes

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

Prof. Rogério Albuquerque de Almeida. Programação Orientada a Objetos II Java Quinta aula

Prof. Rogério Albuquerque de Almeida. Programação Orientada a Objetos II Java Quinta aula Prof. Rogério Albuquerque de Almeida Programação Orientada a Objetos II Java Quinta aula 1 Prof. Rogério Albuquerque de Almeida Programação Orientada a Objeto II Arrays Declarar e criar arrays Acessar

Leia mais

Programação de Computadores II

Programação de Computadores II Programação de Computadores II 2017.2 Relembrando... Linguagem C Relembrando... Linguagem C Declaração básica de um programa Relembrando... Linguagem C Declaração básica de um programa include Relembrando...

Leia mais

Reinaldo Gomes Alocação Dinâmica

Reinaldo Gomes Alocação Dinâmica Algoritmos e Lógica de Programação Linguagem C Alocação Dinâmica i de Memória Reinaldo Gomes reinaldo@cefet-al.br Alocação Dinâmica Quando declaramos uma variável ou um arranjo, o compilador automaticamente

Leia mais

Programação de Computadores I Introdução ao C PROFESSORA CINTIA CAETANO

Programação de Computadores I Introdução ao C PROFESSORA CINTIA CAETANO Programação de Computadores I Introdução ao C PROFESSORA CINTIA CAETANO Introdução Criada em 1972, por Dennis Ritchie; Centro de Pesquisas da Bell Laboratories; Para utilização no S.O. UNIX; C é uma linguagem

Leia mais

Linguagens de Programação Departamento de Engenharia Eletrônica e de Computação - DEL-Poli/UFRJ Prof.: Miguel Elias Mitre Campista

Linguagens de Programação Departamento de Engenharia Eletrônica e de Computação - DEL-Poli/UFRJ Prof.: Miguel Elias Mitre Campista Linguagens de Programação Departamento de Engenharia Eletrônica e de Computação - DEL-Poli/UFRJ Prof.: Miguel Elias Mitre Campista == Laboratório 11 == 1. Escreva uma classe Carrinho para armazenar Itens

Leia mais

ECT1203 Linguagem de Programação

ECT1203 Linguagem de Programação Universidade Federal do Rio Grande do Norte Escola de Ciências e Tecnologia ECT1203 Linguagem de Programação Prof. Aquiles Burlamaqui Profa. Caroline Rocha Prof. Luiz Eduardo Leite Prof. Luciano Ferreira

Leia mais

Física Computacional 11 Classes

Física Computacional 11 Classes Física Computacional 11 Classes 1. Classes a. Overload de funções b. Parâmetros por omissão c. Overload de operadores d. Exemplos bicudo@tecnico.ulisboa.pt Física Computacional - MEFT 2013/14 P. Bicudo

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