C++ - Sobrecarga de Operadores

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

Download "C++ - Sobrecarga de Operadores"

Transcrição

1 C++ - Sobrecarga de Operadores Sobrecarregar um operador significa redefinir seu símbolo, de maneira que ele se aplique também a tipos de dados definidos pelo usuário como classes e estruturas. A implementação de sobrecarga de operadores é definida por meio de funções chamadas operadoras, criadas como membro da classe ou como funções globais. Limitações : Respeitar a definição original do operador Não é possível mudar o operador de unário para binário. Não se pode inventar símbolos novos. Não é possível modificar a precedência de operadores por meio de sobrecarga. Operadores que não podem ser sobrecarregados:. (operador ponto) :: (operador de resolução de escopo)? : (operador ternário) Sobrecarga de Operadores Unários : Operador de incremento pré-fixado class ponto { private : int x, y; ponto (int x1=0, int y1=0) {x=x1; y=y1; // construtor ponto operator ++( ) // função operadora pré-fixada { ++x; ++y; return ponto(x, y); void printpt( ) const // imprime ponto { cout << ( << x <<, << y << ) ; ; { ponto p1, p2(2,3), p3; // declara e inicializa cout << \n p1 = ; p1.printpt( ); // imprime cout << \n++p1 = ; (++p1).printpt( ); // incrementa e imprime p3 = ++p2; // incrementa e atribui cout << \n p3 = ; p3.printpt( ); // imprime

2 Observ.: ++p1 ; é equivalente a p1.operator++( ); Sobrecarga do operador de incremento pós-fixado : Para distinguir entre as formas pré e pós-fixada, o compilador utiliza o número de argumentos da função operadora. sem parâmetro : pré-fixado operator ++ ( ) com um parâmetro do tipo int : pós-fixadooperator ++ (int) ponto operator ++(int) { ++x; ++y; return ponto(x-1, y-1); // função operadora pós-fixada Sobrecarga de operadores binários : função operadora com um argumento. Ex.: sobrecarga do + aritmético class venda { venda operator + (venda v) const; // função operadora venda venda :: operator + (venda v) const // soma dois objetos { int pec = npecas + v.pecas; float pre = preco + v.preco; return venda(pec, pre); { venda A(58, ), B(30, ), T; T = A + B; Somando objetos da classe ponto : funções operadoras class ponto { ponto operator + (ponto p) const // soma dois objetos { return ponto(x+p.x, y+p.y); ponto operator + (int n) const // soma um número a um objeto { { return ponto(x+n, y+n);

3 p3 = p1 + p2; p4 = p1 + 5; Observ.: p4 = p1 + 5 ; é equivalente a p4 = p1.operator + (5); por isso não podemos escrever instruções p4 = 5 + p1; que seriam interpretadas como: p4 = 5. operator + (p1) // errado Operadores para manipular strings : +=, +, <, ==, > enum Boolean { False, True; class string { string operator +=(string s) const { string temp; if (strlen(str) + strlen(s.str) < MAX) { strcpy( temp.str, str); strcat(temp.str, s.str); else cout << \nmemória Esgotada!! ; return temp; string operator +(string s) const // concatena { string temp; temp +=s.str; return temp; Boolean operator < (string s) const { return (strcmp(str, s.str) < 0)? True : False; Boolean operator ==(string s) const { return (strcmp(str, s.str) == 0)? True : False; string getstr( ) { gets(str); return string(str); void main ( ) { string s[max]; for (int n=0; n<= 80; n++) { cout << \ndigite nome ou <enter> para encerrar ; if (s[n].getstr( ) == ) break;

4 cout << \nlista Original ; for (int i=0; i<n ; i++) { cout << \ns[ << i << ] = ; s[i].print( ); ordena (s, n); cout << \nlista Ordenada ; for (int i=0; i<n ; i++) { cout << \ns[ << i << ] = ; s[i].print( ); void ordena (string s[ ], int n) { string temp; int j; for (int i=0; i<n ; i++) for ( j=i+1; j<n ; j++) if (s[i] > s[j]) { temp =s[i]; s[i] = s[j]; s[j] = temp Sobrecarga do operador [ ] : checagem de limites de matrizes #include <iostream.h> #include <iomanip.h> const MAX = 50; class matriz { private : float n[max]; matriz( ); // construtor float& operator [ ] (int indice); // sobrecarga de [ ] float media( int i); ; matriz :: matriz( ) { for( int i=0; i < MAX; i++) n[i] = 0.0; float& matriz :: operator [ ] (int indice)

5 { static float x = -1; if ( indice >= 0 && indice < MAX) return n[indice]; else { cout << "\nfora de limite"; return x; float matriz :: media (int i) { float m= 0.0; for (int j=0; j<i; j++) m += n[j]; return m/float(i); { matriz notas; cout << setprecision(2); int i=0; do { cout << ""\ndigite a nota do aluno " << (i+1) << " : "; cin >> notas [i]; while (notas[i++] >= 0); cout << "\nmedia das notas : " << notas.media(i); Observ. : A função operator[ ] retorna uma referência a um elemento da matriz n. Dessa forma, a expressão notas[i] age como o próprio elemento da matriz privada, podendo ser usada em instruções como cin >> notas[i]; ou notas[i] = 6.7; A função operator[ ] cria uma variável static, pois não é possível retornar referência a uma variável automática. Conversões entre tipos básicos : implícita explícita (operdor molde) Conversão de tipos com classes : double dvar = 'A'; double dvar = double ('A'); objetos a tipos básicos - sobrecarga do operador molde criando função conversora. Ex.: Conversão de um objeto string a tipo int ou float #include <stdlib.h>

6 class string { operator int( ) const // função conversora { return atoi(str); operator double( ) const // função conversora { return atof(str); ; void main ( ) { string s1("1234"), s2(" "); int i = s1; // conversão de string para int double d = s2; // conversão de string para double tipos básicos a objetos : sobrecarga do operador de atribuição = Ex.: conversão de um int a um objeto string. Class string { void operator = (int n) { itoa(n, str, 10); ; void main ( ) { string s; s = 5392; // sobrecarga do operador de atribuição // conversão de inteiro para string objeto a objeto (classes diferentes ) - obja = objb Dois métodos : função-membro conversora da classe B construtor membro da classe A Primeiro método : função conversora Classes graus e radianos. Converter objetos da classe radianos em objetos da classe graus (grau = radiano). Função conversora na classe radianos.

7 #include <iostream.h> #include <iomanip.h> #define PI class graus { private : double g; graus (double x) { g=x; graus ( ) { g = 0; void print( ) { cout << setiosflags (ios :: fixed) << setiosflags (ios :: showpoint) << setprecision (2) << g << \xf8\n ; ; class radianos { private: double rad; radianos (double r) { rad = r ; radianos ( ) {rad = 0.0 ; ; { graus gr; radianos rd(pi); gr = rd; operator graus ( ) { return graus(180.0*rad/pi); void print( ) { cout << setioflags (ios :: fixed) << setiosflags (ios :: showpoint) << setprecision (2) << rad << rad \n ; // função conversora de rad. para graus // converte radianos para graus Segundo método : função construtora (implementada na classe graus)

8 class radianos { double getrad ( ) {return rad; ; class graus { graus (radianos rd) // construtor para conversão { g = (180.0 * rd.getrad( ) / PI; ; { graus gr; radianos rd(pi); gr = rd; // converte radianos para graus conversões dos dois lados : (graus em radianos e radianos em graus) As duas funções presentes na mesma classe. class radianos { ; class graus { graus (radianos rd) // construtor para conversão { g = (180.0 * rd.getrad( ) / PI; ; operator radianos ( ) // função conversora de tipo { return radianos(g * PI / 180.0);

9 void main ( ) { graus gr, gr1(180.0); radianos rd(pi), rd1; gr = rd; // converte radianos para graus rd1 = gr1; // converte graus para radianos Conversões : quando usar o quê? Quando as duas classes são acessíveis, podemos escolher entre o uso de função conversora ou construtora. Porém se uma das classes pertencer a uma biblioteca, da qual não temos acesso ao fonte, dois casos podem acontecer. Se usarmos instruções como: meu_obj = lib_obj; devemos implementar função construtora de um argumento. Já nas instruções: lib_obj = meu_obj; temos que implementar função conversora de tipo. Exercícios Assunto : Sobrecarga de Operadores. Crie uma classe que defina um número complexo x + yi, onde x e y são do tipo float e i é a raiz quadrada de -1. Defina as operações aritméticas entre números complexos nesta classe. Prática VIII Defina uma classe chamada fração. Esta classe deve armazenar o numerador e o denominador de uma fração em duas variáveis inteiras. Inclua : a) dois construtores: o primeiro sem argumentos e o outro que recebe numerador e denominador da fração; b) uma função-membro que retorna o numerador e outra que retorna o denominador; c) as operações de adição, subtração, multiplicação e divisão; d) as operações de incremento e decremento pré-fixadas; e) um conversor de tipo que converte um objeto fração para um tipo float;

10

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

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

C++ - Classes e Objetos

C++ - Classes e Objetos C++ - Classes e Objetos Classe : Tipo que combina os dados e as funções para operá-los. Objeto : variável de uma classe. Partes dados-membro ou variáveis de instância funções-membro ou métodos Definição

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

Universidade de Mogi das Cruzes Implementação Orientada a Objetos - Profª. Danielle Martin. Guia da Sintaxe do Java

Universidade de Mogi das Cruzes Implementação Orientada a Objetos - Profª. Danielle Martin. Guia da Sintaxe do Java Guia da Sintaxe do Java TIPOS PRIMITIVOS DE DADOS DO JAVA São os tipos nativos de dados do Java, que podem ser usados na declaração de atributos, variáveis, parâmetros. Tipo primitivo Tamanho Valor padrão

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

4.1- Aritméticos + soma - subtração * multiplicação / divisão % módulo (resto da divisão de inteiros ).

4.1- Aritméticos + soma - subtração * multiplicação / divisão % módulo (resto da divisão de inteiros ). 2626262626262626262626262626262626262626262626262626 4 - OPERADORES Podem ser: aritméticos, relacionais, lógicos, incremento e decremento, atribuição. Operadores aritméticos têm precedência sobre os relacionais

Leia mais

Capítulo 7. Expressões e Sentenças de Atribuição

Capítulo 7. Expressões e Sentenças de Atribuição Capítulo 7 Expressões e Sentenças de Atribuição Introdução Expressões são os meios fundamentais de especificar computações em uma linguagem de programação Para entender a avaliação de expressões, é necessário

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

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

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

#include <stdio.h> Void main() { printf( Cheguei!\n"); } INTRODUÇÃO A LINGUAGEM C

#include <stdio.h> Void main() { printf( Cheguei!\n); } INTRODUÇÃO A LINGUAGEM C #include Void main() { printf( Cheguei!\n"); } INTRODUÇÃO A LINGUAGEM C ANTES DO C ERA A LINGUAGEM B B foi essencialmente uma simplificação da linguagem BCPL. B só tinha um tipo de dado, que

Leia mais

INFORMÁTICA APLICADA AULA 03 LINGUAGEM DE PROGRAMAÇÃO C++

INFORMÁTICA APLICADA AULA 03 LINGUAGEM DE PROGRAMAÇÃO C++ UNIVERSIDADE FEDERAL RURAL DO SEMI-ÁRIDO CURSO: Bacharelado em Ciências e Tecnologia INFORMÁTICA APLICADA AULA 03 LINGUAGEM DE PROGRAMAÇÃO C++ Profª ª Danielle Casillo OPERADORES Um operador é um símbolo

Leia mais

Técnicas de Programação em Engenharia Elétrica I - Engenharia de Sistemas Embarcados - Prof. Alessandro Zimmer Introdução à Linguagem C

Técnicas de Programação em Engenharia Elétrica I - Engenharia de Sistemas Embarcados - Prof. Alessandro Zimmer Introdução à Linguagem C Técnicas de Programação em Engenharia Elétrica I - Engenharia de Sistemas Embarcados - Prof. Alessandro Zimmer Introdução à Linguagem C Operadores aritméticos Operadores Unários (um só operando) Incremento

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

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

Implementando classes em C# Curso Técnico Integrado em Informática Fundamentos de Programação

Implementando classes em C# Curso Técnico Integrado em Informática Fundamentos de Programação Implementando classes em C# Curso Técnico Integrado em Informática Fundamentos de Programação Introdução Além de utilizar as classes presentes na biblioteca padrão, programadores podem definir suas próprias

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

Métodos Computacionais. Operadores, Expressões Aritméticas e Entrada/Saída de Dados

Métodos Computacionais. Operadores, Expressões Aritméticas e Entrada/Saída de Dados Métodos Computacionais Operadores, Expressões Aritméticas e Entrada/Saída de Dados Tópicos da Aula Hoje aprenderemos a escrever um programa em C que pode realizar cálculos Conceito de expressão Tipos de

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

LINGUAGEM C: VARIÁVEIS E EXPRESSÕES

LINGUAGEM C: VARIÁVEIS E EXPRESSÕES LINGUAGEM C: VARIÁVEIS E EXPRESSÕES Prof. André Backes LINGUAGENS DE PROGRAMAÇÃO Linguagem de Máquina Computador entende apenas pulsos elétricos Presença ou não de pulso 1 ou 0 Tudo no computador deve

Leia mais

Algoritmos II prof. Daniel Oliveira

Algoritmos II prof. Daniel Oliveira Algoritmos II prof. Daniel Oliveira Revisar conceitos abordados na disciplina anterior Abordar conceitos vistos com a linguagem C# Variáveis e listas Expressões Estruturas de controle do tipo condicional

Leia mais

12. SOBRECARGA DE OPERADOR

12. SOBRECARGA DE OPERADOR Linguagem de Programação C++ 44 12. SOBRECARGA DE OPERADOR Uma forma de C++ alcançar o polimorfismo é por meio do uso de sobrecarga de função. A sobrecarga, simplificadamente, consiste na redefinição de

Leia mais

Algoritmos e Estruturas de Dados I. Universidade Federal de São João del-rei Pedro Mitsuo Shiroma Sala 119 Bloco 3

Algoritmos e Estruturas de Dados I. Universidade Federal de São João del-rei Pedro Mitsuo Shiroma Sala 119 Bloco 3 Algoritmos e Estruturas de Dados I Universidade Federal de São João del-rei Pedro Mitsuo Shiroma Sala 119 Bloco 3 Sub-rotina Sub-rotina (CAPÍTULO 8): Funções e procedimentos Blocos de instruções que realizam

Leia mais

Programação Estruturada e Orientada a Objetos

Programação Estruturada e Orientada a Objetos INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DO RIO GRANDE DO NORTE Programação Estruturada e Orientada a Objetos Docente: Éberton da Silva Marinho e-mail: ebertonsm@gmail.com eberton.marinho@ifrn.edu.br

Leia mais

Linguagem Java - Introdução

Linguagem Java - Introdução Linguagem Java - Introdução Identificadores válidos resultado teste01 _numeroclientes $fortuna Identificadores Identificadores inválidos 101dalmatas 34 #x Palavras reservadas abstract assert*** boolean

Leia mais

Variáveis primitivas e Controle de fluxo

Variáveis primitivas e Controle de fluxo Variáveis primitivas e Controle de fluxo Material baseado na apostila FJ-11: Java e Orientação a Objetos do curso Caelum, Ensino e Inovação, disponível para download em http://www.caelum.com.br/apostilas/

Leia mais

Conceitos básicos de programação

Conceitos básicos de programação Constantes class Exemplo { static void Main() { float fahr, celsius; int lower, upper, step; lower = 0; /* limite inferior da tabela de temperaturas */ upper = 300; /* limite superior */ step = 20; /*

Leia mais

Orientação a Objetos e Java

Orientação a Objetos e Java Orientação a Objetos e Java Daves Martins davesmartins@yahoo.com.br Mestre em Computação de Alto Desempenho pela UFRJ Especialista em Banco de Dados Analista Web Orientação a Objetos e Java Características

Leia mais

Paradigmas de Linguagens de Programação. Expressões e Instruções de Atribuição

Paradigmas de Linguagens de Programação. Expressões e Instruções de Atribuição Expressões e Instruções de Atribuição Cristiano Lehrer Introdução Expressões são o meio fundamental de especificar computações em uma linguagem de programação: Familiarização com as ordens de avaliação

Leia mais

Programação Orientada a Objetos para Redes de Computadores

Programação Orientada a Objetos para Redes de Computadores Programação Orientada a Objetos para Redes de Computadores Prof. Miguel Elias Mitre Campista http://www.gta.ufrj.br/~miguel PARTE 2 Programação em C++ - Sobrecarga de operadores Sobrecarga de Operadores

Leia mais

Programação Orientada a Objetos para Redes de Computadores. Fundamentos de Sobrecarga de Operadores. Sobrecarga de Operadores

Programação Orientada a Objetos para Redes de Computadores. Fundamentos de Sobrecarga de Operadores. Sobrecarga de Operadores Programação Orientada a Objetos para Redes de Computadores Prof. Miguel Elias Mitre Campista http://www.gta.ufrj.br/~miguel PARTE 2 Programação em C++ - Sobrecarga de operadores Sobrecarga de Operadores

Leia mais

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

LÓGICA DE PROGRAMAÇÃO. PROFª. M.Sc. JULIANA H Q BENACCHIO LÓGICA DE PROGRAMAÇÃO PROFª. M.Sc. JULIANA H Q BENACCHIO Primeiro programa em C #include int main() { int num1, num2, result; scanf("%d",&num1); scanf("%d",&num2); result = num1 + num2; printf("%d",

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

Introdução a classes e objetos. Prof. Marcelo Roberto Zorzan Prof a. Rachel Reis

Introdução a classes e objetos. Prof. Marcelo Roberto Zorzan Prof a. Rachel Reis Introdução a classes e objetos Prof. Marcelo Roberto Zorzan Prof a. Rachel Reis Estruturas de Seleção if... else Operador condicional (? : ) switch Aula de Hoje Estruturas de Repetição: while/do... while/for

Leia mais

C++ - Herança. Herança é o processo pelo qual criamos novas classes, chamadas classes derivadas, baseadas em classes existentes ou classes-base.

C++ - Herança. Herança é o processo pelo qual criamos novas classes, chamadas classes derivadas, baseadas em classes existentes ou classes-base. C++ - Herança Herança é o processo pelo qual criamos novas classes, chamadas classes derivadas, baseadas em classes existentes ou classes-base. A classe derivada herda todas as características da classe-base,

Leia mais

C++ - Funções. Forma geral das funções C++

C++ - Funções. Forma geral das funções C++ C++ - Funções Conjunto de instruções para executar uma tarefa particular, agrupadas numa unidade com um nome para referenciá-las. O código é agregado ao programa uma única vez e pode ser executado muitas

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 3.3. Conceitos Básicos de C: Expressões, Operadores e Bibliotecas

Leia mais

Programação Orientada a Objetos Aula I Declaração de classes, métodos construtores. Prof.: Bruno E. G. Gomes IFRN

Programação Orientada a Objetos Aula I Declaração de classes, métodos construtores. Prof.: Bruno E. G. Gomes IFRN Programação Orientada a Objetos Aula I Declaração de classes, métodos construtores Prof.: Bruno E. G. Gomes IFRN 1 Introdução Na aula de hoje: Declaração de classes Métodos Construtores Exercícios de criação

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

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

C++ - Matrizes. Observ.: C++ não avisa quando o limite de uma matriz foi excedido. Providenciar a verificação é responsabilidade do programador.

C++ - Matrizes. Observ.: C++ não avisa quando o limite de uma matriz foi excedido. Providenciar a verificação é responsabilidade do programador. C++ - Matrizes É um conjunto de variáveis, do mesmo tipo, referenciadas por um único nome, onde cada variável é diferenciada por meio de um número entre colchetes chamado índice. Declaração : tipo nome

Leia mais

MsC. João Maria MsC. Liviane Melo

MsC. João Maria MsC. Liviane Melo Disciplina: Programação Orientada à Objetos AULA 02 Corpo docente: MsC. Alexandro Vladno Edmilson Campos MsC. Fábio Procópio Esp. Felipe Dantas MsC. João Maria MsC. Liviane Melo 2 Tipo Tamanho Alcance

Leia mais

Bacharelado em Ciência e Tecnologia Processamento da Informação. Equivalência Portugol Java. Linguagem Java

Bacharelado em Ciência e Tecnologia Processamento da Informação. Equivalência Portugol Java. Linguagem Java Linguagem Java Objetivos Compreender como desenvolver algoritmos básicos em JAVA Aprender como escrever programas na Linguagem JAVA baseando-se na Linguagem Portugol aprender as sintaxes equivalentes entre

Leia mais

EXPRESSÕES BOOLEANAS. Ex: boolean b = false; // declara uma variável do tipo boolean e atribui false

EXPRESSÕES BOOLEANAS. Ex: boolean b = false; // declara uma variável do tipo boolean e atribui false Cursos: Análise, Ciência da Computação e Sistemas de Informação Programação I - Prof. Aníbal Notas de aula 4 EXPRESSÕES BOOLEANAS O tipo primitivo boolean É um tipo de dados primitivo em Java que possui

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

Sintaxe da linguagem Java

Sintaxe da linguagem Java Sintaxe da linguagem Java (PG) Centro de Cálculo Instituto Superior de Engenharia de Lisboa Pedro Alexandre Pereira (palex@cc.isel.ipl.pt) Classe pública com método main Uma classe pública com nome A tem

Leia mais

Linguagens de Programação

Linguagens de Programação Linguagens de Programação Prof. Miguel Elias Mitre Campista http://www.gta.ufrj.br/~miguel Parte IV Introdução à Programação em C++ (Continuação) Relembrando da Última Aula... Objetos e funções membro

Leia mais

Linguagens de Programação. Parte IV. Relembrando da Última Aula... Sobrecarga de Operadores. Fundamentos de Sobrecarga de Operadores

Linguagens de Programação. Parte IV. Relembrando da Última Aula... Sobrecarga de Operadores. Fundamentos de Sobrecarga de Operadores Linguagens de Programação Parte IV Prof. Miguel Elias Mitre Campista http://www.gta.ufrj.br/~miguel Introdução à Programação em C++ (Continuação) Relembrando da Última Aula... Objetos e funções membro

Leia mais

Java Variáveis e Controle Fluxo

Java Variáveis e Controle Fluxo Java Variáveis e Controle Fluxo 1 Variáveis primitivas p Todo bloco em java é delimitado por chaves ({ } ); p Dentro de um bloco, podemos declarar variáveis e usa las; p Em Java, toda variável tem um tipo

Leia mais

Introdução à Programação. Operadores, Expressões Aritméticas e Entrada/Saída de Dados

Introdução à Programação. Operadores, Expressões Aritméticas e Entrada/Saída de Dados Introdução à Programação Operadores, Expressões Aritméticas e Entrada/Saída de Dados Programa em C #include int main main ( ) { Palavras Reservadas } float celsius ; float farenheit ; celsius

Leia mais

CIV 2802 Sistemas Gráficos para Engenharia º Trabalho: Programação básica em C++: Classes

CIV 2802 Sistemas Gráficos para Engenharia º Trabalho: Programação básica em C++: Classes CIV 2802 Sistemas Gráficos para Engenharia 2011.1 4º Trabalho: Programação básica em C++: Classes Implementação de uma calculadora RPN (Reversed Polish Notation) Entrega: 05/abril/2011 Pede-se complementar

Leia mais

CIT Aula 02 Variáveis e Estruturas de desvio condicional. Autor: Max Rodrigues Marques Carga Horária: 2 h 22/07/15 1

CIT Aula 02 Variáveis e Estruturas de desvio condicional. Autor: Max Rodrigues Marques Carga Horária: 2 h 22/07/15 1 CIT 2015.2 Aula 02 Variáveis e Estruturas de desvio condicional Autor: Max Rodrigues Marques Carga Horária: 2 h 22/07/15 1 Variáveis Uma variável nada mais é que um nome que damos a uma determinada posição

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

Elementos Básicos. C# - Elementos básicos. Primeiro programa Tipos de dados Variáveis Constantes Expressões e operadores Controlo de fluxo Tabelas

Elementos Básicos. C# - Elementos básicos. Primeiro programa Tipos de dados Variáveis Constantes Expressões e operadores Controlo de fluxo Tabelas C# - Elementos básicos Daniela da Cruz 2010 Elementos Básicos Primeiro programa Tipos de dados Variáveis Constantes Expressões e operadores Controlo de fluxo Tabelas Linguagens de Programação - Daniela

Leia mais

Linguagens de Programação PROGRAMAÇÃO DE COMPUTADORES. Linguagem C. Linguagem C Estrutura Básica. Constante (literais) Linguagem C Primeiro Programa

Linguagens de Programação PROGRAMAÇÃO DE COMPUTADORES. Linguagem C. Linguagem C Estrutura Básica. Constante (literais) Linguagem C Primeiro Programa Linguagens de Programação PROGRAMAÇÃO DE COMPUTADORES Linguagem C - Introdução Linguagens de Máquina Representação numérica Difícil utilização e compreensão Específica para cada máquina Linguagens Simbólicas(Assembly)

Leia mais

Expressões e sentença de atribuição

Expressões e sentença de atribuição Expressões e sentença de atribuição Marco A L Barbosa malbarbo.pro.br Departamento de Informática Universidade Estadual de Maringá cba Este trabalho está licenciado com uma Licença Creative Commons - Atribuição-CompartilhaIgual

Leia mais

Capítulo 2 Operadores. A função scanf()

Capítulo 2 Operadores. A função scanf() Capítulo 2 Operadores A função scanf() A função scanf() é outra das funções de E/S implementadas em todos os compiladores e nos permite ler dados formatados da entrada padrão (teclado). Sintaxe: scanf(

Leia mais

ESTRUTURA COM DECISÃO COMPOSTA

ESTRUTURA COM DECISÃO COMPOSTA LÓGICA DE PROGRAMAÇÃO PARA ENGENHARIA ESTRUTURA COM DECISÃO COMPOSTA Prof. Dr. Daniel Caetano 2018-1 Objetivos Entender o que são decisões compostas Compreender como implementar decisões compostas Capacitar

Leia mais

Programação Estruturada

Programação Estruturada Programação Estruturada Introdução à linguagem C Professores Emílio Francesquini e Carla Negri Lintzmayer 2018.Q3 Centro de Matemática, Computação e Cognição Universidade Federal do ABC Programação estruturada

Leia mais

Fábio da Fontoura Beltrão Felipe Augusto Chies Lucas Fialho Zawacki Marcos Vinicius Cavinato Matheus de Carvalho Proença

Fábio da Fontoura Beltrão Felipe Augusto Chies Lucas Fialho Zawacki Marcos Vinicius Cavinato Matheus de Carvalho Proença C++ Fábio da Fontoura Beltrão Felipe Augusto Chies Lucas Fialho Zawacki Marcos Vinicius Cavinato Matheus de Carvalho Proença Primeiro Programa //Primeiro Programa C++ #include int main() { std::cout

Leia mais

Introdução a JAVA. Variáveis, tipos, expressões, comandos e blocos

Introdução a JAVA. Variáveis, tipos, expressões, comandos e blocos + Introdução a JAVA Variáveis, tipos, expressões, comandos e blocos +Roteiro 2 Variáveis e tipos Operadores aritméticos, lógicos, relacionais e bit-a-bit Atribuição Comandos básicos Ler, Escrever, Condicional,

Leia mais

Aula de hoje. Expressões. Expressões. Expressões. Exemplos. Programa em Python. SCC Introdução à Programação para Engenharias

Aula de hoje. Expressões. Expressões. Expressões. Exemplos. Programa em Python. SCC Introdução à Programação para Engenharias SCC 124 - Introdução à Programação para Engenharias Expressões Professor: André C. P. L. F. de Carvalho, ICMC-USP Pos-doutorando: Isvani Frias-Blanco Monitor: Henrique Bonini de Britto Menezes Aula de

Leia mais

Programação com Acesso a BD. Programação com OO Acesso em Java

Programação com Acesso a BD. Programação com OO Acesso em Java Programação com OO Acesso em Java a BD Curso: Técnico em Informática Campus: Ipanguaçu José Maria Monteiro Pontifícia Universidade Católica do Rio de Janeiro PUC-Rio Departamento Clayton Maciel de Informática

Leia mais

Java 2 Standard Edition Tipos, literais, operadores e controle de fluxo

Java 2 Standard Edition Tipos, literais, operadores e controle de fluxo Java 2 Standard Edition Tipos, literais, operadores e controle de fluxo Helder da Rocha www.argonavis.com.br 1 Operadores e controle de fluxo da execução Este módulo explora as estruturas procedurais da

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

Tipos, Literais, Operadores

Tipos, Literais, Operadores Tipos, Literais, Operadores Identificadores São palavras utilizadas para nomear variáveis, métodos e classes Na linguagem Java, o identificador sempre começa por letra, sublinhado(_) ou cifrão ($) Não

Leia mais

Tipos, Literais, Operadores

Tipos, Literais, Operadores Tipos, Literais, Operadores Identificadores São palavras utilizadas para nomear variáveis, métodos e classes Na linguagem Java, o identificador sempre começa por letra, sublinhado(_) ou cifrão ($) Não

Leia mais

LÓGICA DE PROGRAMAÇÃO PARA ENGENHARIA ESTRUTURA COM DECISÃO MÚLTIPLA. Prof. Dr. Daniel Caetano

LÓGICA DE PROGRAMAÇÃO PARA ENGENHARIA ESTRUTURA COM DECISÃO MÚLTIPLA. Prof. Dr. Daniel Caetano LÓGICA DE PROGRAMAÇÃO PARA ENGENHARIA ESTRUTURA COM DECISÃO MÚLTIPLA Prof. Dr. Daniel Caetano 2013-1 Objetivos Entender o que são decisões múltiplas Compreender como implementar decisões múltiplas Capacitar

Leia mais

Introdução à Ciência da Computação scc-120

Introdução à Ciência da Computação scc-120 ICMC USP 1.semestre/2011 Introdução à Ciência da Computação scc-120 Aula : Variáveis em C Profa. Roseli Romero mailto: rafrance@icmc.sc.usp.br Slides cedidos pela profa. Renata Fortes Variáveis variáveis

Leia mais

Operadores. A linguagem C é muito rica em operadores internos. Ela define quatro classes de operadores:

Operadores. A linguagem C é muito rica em operadores internos. Ela define quatro classes de operadores: Operadores A linguagem C é muito rica em operadores internos. Ela define quatro classes de operadores: Aritmético: -, +, *, /, %, --, ++ Relacionais: >, =,

Leia mais

Estrutura de Condição, Escolha e Repetição

Estrutura de Condição, Escolha e Repetição Estrutura Condicional Se, Laços de repetição Estrutura de Condição, Escolha e Repetição Profª Fabíola Gonçalves C. Ribeiro Conteúdo Expressões Aritméticas Funções Expressões Lógicas Operadores Lógicos

Leia mais

/* Este programa realiza um somatório e exibe o resultado na tela do computador */

/* Este programa realiza um somatório e exibe o resultado na tela do computador */ ! " # $ # # & $ $ ' ( & ) *! ' ( & +'"',-. "! / 0 1 '! 2 32 24 ' 5!! $ # $ 1 6 789 798 1 $ /* Este programa não faz nada */ main() 8;; 6 88 1 $ // Este programa não faz nada main() ' 2 $ +

Leia mais

Sintaxe Básica do Java. João Paulo Q. dos Santos

Sintaxe Básica do Java. João Paulo Q. dos Santos Sintaxe Básica do Java João Paulo Q. dos Santos joao.queiroz@ifrn.edu.br Plano de Aula Introdução; Método Main; Variáveis: Tipos primitivos; Referências para Objetos; Operadores; Estruturas: Condicionais

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

Introdução à Linguagem C++

Introdução à Linguagem C++ Introdução à Linguagem C++ C++: Definição C++ C A Linguagem de Programação C++ pode ser definida como uma extensão da Linguagem C; Todo código de programação em Linguagem C pode a priori ser compilado

Leia mais

TÉCNICO DE INFORMÁTICA - SISTEMAS

TÉCNICO DE INFORMÁTICA - SISTEMAS 782 - Programação em C/C++ - estrutura básica e conceitos fundamentais Linguagens de programação Linguagem de programação são conjuntos de palavras formais, utilizadas na escrita de programas, para enunciar

Leia mais

PROGRAMAÇÃO ESTRUTURADA E ORIENTADA A OBJETOS

PROGRAMAÇÃO ESTRUTURADA E ORIENTADA A OBJETOS INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DO RIO GRANDE DO NORTE PROGRAMAÇÃO ESTRUTURADA E ORIENTADA A OBJETOS Docente: Éberton da Silva Marinho e-mail: ebertonsm@gmail.com eberton.marinho@gmail.com

Leia mais

Introdução a JAVA. Variaveis, tipos, expressões, comandos e blocos

Introdução a JAVA. Variaveis, tipos, expressões, comandos e blocos Introdução a JAVA Variaveis, tipos, expressões, comandos e blocos Roteiro Variáveis e tipos Operadores aritméticos, lógicos, relacionais e bit-a-bit Atribuição Comandos básicos Ler, Escrever, Condicional,

Leia mais

Aula 9 Oficina de Programação Strings. Profa. Elaine Faria UFU

Aula 9 Oficina de Programação Strings. Profa. Elaine Faria UFU Aula 9 Oficina de Programação Strings Profa. Elaine Faria UFU - 2017 String Cadeia de caracteres (ou String) É uma seqüência de letras e símbolos, na qual os símbolos podem ser espaços em branco, dígitos

Leia mais

Programação Aplicada à Engenharia

Programação Aplicada à Engenharia Universidade Federal Rural do Semi-Árido Departamento de Ciências Ambientais Programação Aplicada à Engenharia Aula 07: Aritmética e Tomada de decisão Silvio Fernandes 2009.1 1 Operadores Aritméticos Operadores

Leia mais

PCI- Operadores, Expressões e Funções. Profa. Mercedes Gonzales Márquez

PCI- Operadores, Expressões e Funções. Profa. Mercedes Gonzales Márquez PCI- Operadores, Expressões e Funções. Profa. Mercedes Gonzales Márquez Constantes São valores previamente determinados e que não se alteram ao longo do programa. Assim como as variáveis, as constantes

Leia mais

Introdução a Programação. Ponteiros e Passagem de Argumentos por Referência

Introdução a Programação. Ponteiros e Passagem de Argumentos por Referência Introdução a Programação Ponteiros e Passagem de Argumentos por Referência Tópicos da Aula Hoje aprenderemos a manipular endereços de memória ou ponteiros Variáveis e Endereços Conceito de Ponteiro Operadores

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.2. Estrutura de Programas e Representação

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

Ambientação com a Sintaxe de Java: parte 1

Ambientação com a Sintaxe de Java: parte 1 Ambientação com a Sintaxe de Java: parte 1 Prof. Gustavo Wagner FATEC-PB Programas em Java Texto do programa: arquivo com extensão.java Arquivo contém ao menos uma classe Nome do arquivo deve ser IGUAL

Leia mais

K&R: Capitulo 2 IAED, 2012/2013

K&R: Capitulo 2 IAED, 2012/2013 Elementos da Linguagem C K&R: Capitulo 2 Elementos da Linguagem C Identificadores Tipos Constantes Declarações Operadores aritméticos, lógicos e relacionais Conversões de tipos Operadores de incremento

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

Por que programar? Programação de Computadores Introdução a C++ É tudo questão de automatizar coisas. Alan de Freitas

Por que programar? Programação de Computadores Introdução a C++ É tudo questão de automatizar coisas. Alan de Freitas Por que programar? Programação de Computadores Introdução a C++ Utilizar computadores é claramente uma vantagem em nossas vidas... Nos ajuda a comunicar Nos ajuda a fazer planos Nos permite trabalhar menos

Leia mais

Algoritmos I Aula 13 Linguagem de Programação Java

Algoritmos I Aula 13 Linguagem de Programação Java Algoritmos I Aula 13 Linguagem de Programação Java Professor: Max Pereira http://paginas.unisul.br/max.pereira Ciência da Computação IDE Eclipse IDE (Integrated development environment) Criar um projeto

Leia mais

Preparatório OBI. Prof. André Gustavo Duarte de Almeida docente.ifrn.edu.br/andrealmeida. Aula 01 Introdução a C++

Preparatório OBI. Prof. André Gustavo Duarte de Almeida docente.ifrn.edu.br/andrealmeida. Aula 01 Introdução a C++ Preparatório OBI Prof. André Gustavo Duarte de Almeida andre.almeida@ifrn.edu.br docente.ifrn.edu.br/andrealmeida Aula 01 Introdução a C++ Roteiro Introdução ao C++ Primeiro Programa Variáveis Operadores

Leia mais

Operadores e Estruturas de Decisão. Vanessa Braganholo

Operadores e Estruturas de Decisão. Vanessa Braganholo Operadores e Estruturas de Decisão Vanessa Braganholo vanessa@ic.uff.br Aula de hoje Operadores Aritméticos (usados em contas) Relacionais (usados em comparações numéricas) Lógicos (usados em comparações

Leia mais

RESUMO DE CONCEITOS BÁSICOS DE C

RESUMO DE CONCEITOS BÁSICOS DE C Universidade de São Paulo São Carlos Instituto de Ciências Matemáticas e de Computação RESUMO DE CONCEITOS BÁSICOS DE C 1 Material preparado pela profa Silvana Maria Affonso de Lara 2º semestre de 2010

Leia mais

Linguagem C Operadora

Linguagem C Operadora Linguagem C Operadora Objetivos Abordar os conceitos sobre os Operadores demonstrando o seu uso com exemplos para um melhor aprendizado. Operadores Os operadores indicam ao compilador a necessidade de

Leia mais

Linguagens de Programação

Linguagens de Programação Conceitos e Técnicas Prof. Isabel Cafezeiro isabel@dcc.ic.uff.br Expressão: Uma expressão é uma frase do programa que, ao ser avaliada, produz como resultado um valor. 1 aa 1+4 f(1,g(x)) Elementos da expressão:

Leia mais

Programação Orientada a Objetos II

Programação Orientada a Objetos II Programação Orientada a Objetos II Introdução Prof. Rodrigo Rocha prof.rodrigorocha@yahoo.com www.bolinhabolinha.com Apresentação Prof. Rodrigo Rocha prof.rodrigorocha@yahoo.com Ementa Introdução ao Desenvolvimento

Leia mais

Programação Orientada a Objetos

Programação Orientada a Objetos Programação Orientada a Objetos Alexandre César Muniz de Oliveira Dados e Operadores Parte V Representação Programação Solução de problemas em duas fases: Representação (modelagem de dados) Ação (modelagem

Leia mais