azevedolab.net 2015 Dr. Walter F. de Azevedo Jr. Programação Orientada a Objetos em Processing

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

Download "azevedolab.net 2015 Dr. Walter F. de Azevedo Jr. Programação Orientada a Objetos em Processing"

Transcrição

1 azevedolab.net 2015 Dr. Walter F. de Azevedo Jr. Programação Orientada a Objetos em Processing 1

2 Programação Orientada a Objeto O uso de programação orientada a objeto (POO) não irá introduzir necessariamente nenhuma nova função ou comando da linguagem de programação Processing. Usaremos os condicionais, funções e variáveis já vistos. A novidade está na abordagem. Vejamos um exemplo fora da programação. Você é uma pessoa, que acordou hoje, tomou café da manhã e pegou um ônibus para chegar até aqui. Sendo uma pessoa você também tem características, a cor do seu cabelo, sua altura, seu gênero, a cor dos seu olhos, peso etc. Dados humanos: Altura Cor dos cabelos Gênero Peso Cor dos olhos Funções humanas: Dormir Acordar Comer Pegar algum transporte 2

3 Programação Orientada a Objeto Na POO chamamos os dados humanos de variáveis. A funções humanas são funções, ou usando o jargão da orientação a objeto, são métodos. Bem, e você? Você é o objeto. Todos nós aqui na sala somos objetos. Levando a abordagem de sistema um pouco adiante, temos que os objetos, como nós, pertencem ao conjunto dos seres humanos. Ser humano é uma classe. Dados humanos: Altura Cor dos cabelos Gênero Peso Cor dos olhos Funções humanas: Dormir Acordar Comer Pegar algum transporte 3

4 Programação Orientada a Objeto Vamos simplificar, consideremos um biscoito. A forma de biscoito não é um biscoito propriamente dito, mas é usado para criar biscoitos. A forma de biscoito é uma classe, os biscoitos são objetos. Dados humanos: Altura Cor dos cabelos Gênero Peso Cor dos olhos Funções humanas: Dormir Acordar Comer Pegar algum transporte 4

5 Programação Orientada a Objeto Vimos anteriormente que as variáveis globais eram definidas no início do programa, podendo ser iniciadas na função setup(), ou mesmo na função draw(), e chamadas em outras funções. Na POO podemos definir as variáveis e as funções dentro do objeto. Vamos considerar o nosso exemplo do disco voador. O disco tem variáveis para cor, localização e velocidade. Além disso temos funções (métodos) para movimento e para ser mostrado. Vamos usar um pseudocódigo para expressar os conceitos da POO. Data (Global Variables): FlyingSaucer Object Setup: Draw: Initialize your flying-saucer object Fill background Display flying-saucer object Move flying-saucer object 5

6 Programa: flyingsaucer08.pde Abaixo temos o código sem usarmos POO. float x; // x location of flying saucer cockpit float y; // y location of flying saucer cockpit float r; // intensity for red float g; // intensity for green float b; // intensity for blue float speed; // flying saucer speed void setup() { size(200, 480); x = 100; y = 100; speed = 1; void draw() { background(255); display(20, 20); movey(); void display(float cockpitx, float cockpity) { float saucerx = cockpitx ; float saucery = cockpity; nostroke(); ellipsemode(center); r = random(1, 256); g = random(1, 256); b = random(1, 256); fill(color(r,g,b)); // Cockpit ellipse(x, y, cockpitx, cockpity); fill(175); // Saucer ellipse(x, y+10, saucerx, saucery); void movey() { y = y + speed; if (y > 480) { else if (y<0) { 6

7 Programa: flyingsaucer09.pde Agora temos o código usando POO à direita. float x; float y; float r; float g; float b; float speed; // x location of flying saucer cockpit // y location of flying saucer cockpit // intensity for red // intensity for green // intensity for blue // flying saucer speed void setup() { size(200, 480); x = 100; y = 100; speed = 1; void draw() { background(255); display(20, 20); movey(); void display(float cockpitx, float cockpity) { float saucerx = cockpitx ; float saucery = cockpity; nostroke(); ellipsemode(center); r = random(1, 256); g = random(1, 256); b = random(1, 256); fill(color(r,g,b)); // Cockpit ellipse(x, y, cockpitx, cockpity); fill(175); // Saucer ellipse(x, y+10, saucerx, saucery); void movey() { y = y + speed; if (y > 480) { else if (y<0) { class FlyingSaucer { float x; // x location of flying saucer cockpit float y; // y location of flying saucer cockpit float r; // intensity for red float g; // intensity for green float b; // intensity for blue float speed; // flying saucer speed FlyingSaucer() { x = 100; y = 100; speed = 1; Nome da classe Construtor void display(float cockpitx, float cockpity) { float saucerx = cockpitx ; float saucery = cockpity; nostroke(); ellipsemode(center); r = random(1, 256); g = random(1, 256); b = random(1, 256); fill(color(r,g,b)); // Cockpit ellipse(x, y, cockpitx, cockpity); fill(175); // Saucer ellipse(x, y+10, saucerx, saucery); void movey() { y = y + speed; if (y > 480) { else if (y<0) { Funcionalidade (Métodos) Dados 7

8 Programa: flyingsaucer09.pde class FlyingSaucer { float x; // x location of flying saucer cockpit float y; // y location of flying saucer cockpit float r; // intensity for red float g; // intensity for green float b; // intensity for blue float speed; // flying saucer speed FlyingSaucer() { x = 100; y = 100; speed = 1; Nome da classe Construtor void display(float cockpitx, float cockpity) { float saucerx = cockpitx ; float saucery = cockpity; nostroke(); ellipsemode(center); r = random(1, 256); g = random(1, 256); b = random(1, 256); fill(color(r,g,b)); // Cockpit ellipse(x, y, cockpitx, cockpity); fill(175); // Saucer ellipse(x, y+10, saucerx, saucery); void movey() { y = y + speed; if (y > 480) { else if (y<0) { Funcionalidade (Métodos) Dados Normalmente as classes apresentam o nome da classe, dados (variáveis), construtor e métodos. O nome da classe inicia com letra maiúscula, para diferenciar de variáveis e funções. Uma vez definido o nome da classe, abrimos as chaves. Tudo que estiver entre as chaves será considerado com pertencente à classe definida após a palavra class. Os dados são as variáveis da classe, são chamadas como variáveis de instanciação (instance variables), visto que cada instância de um objeto contém este conjunto de variáveis. O construtor funciona como a função setup(), só é chamado uma vez. É onde damos as instruções de como iniciar um objeto. A funcionalidade traz o(s) método(s) da classe. 8

9 Programa: flyingsaucer09.pde class FlyingSaucer { float x; // x location of flying saucer cockpit float y; // y location of flying saucer cockpit float r; // intensity for red float g; // intensity for green float b; // intensity for blue float speed; // flying saucer speed FlyingSaucer() { x = 100; y = 100; speed = 1; Nome da classe Construtor Dados Se tentarmos rodar a classe definida ao lado, nada irá acontecer. É análogo à função, se definirmos uma função e não a chamamos, nada acontece. Assim, temos que criar objetos da classe. A classe reside fora das funções setup() e draw(). void display(float cockpitx, float cockpity) { float saucerx = cockpitx ; float saucery = cockpity; nostroke(); ellipsemode(center); r = random(1, 256); g = random(1, 256); b = random(1, 256); fill(color(r,g,b)); // Cockpit ellipse(x, y, cockpitx, cockpity); fill(175); // Saucer ellipse(x, y+10, saucerx, saucery); void movey() { y = y + speed; if (y > 480) { else if (y<0) { Funcionalidade (Métodos) 9

10 Programa: flyingsaucer09.pde FlyingSaucer mysaucer; void setup(){ size(200,480); mysaucer = new FlyingSaucer(); void draw(){ background(255); mysaucer.movey(); mysaucer.display(20,20); class FlyingSaucer { float x; // x location of flying saucer cockpit float y; // y location of flying saucer cockpit float r; // intensity for red float g; // intensity for green float b; // intensity for blue float speed; // flying saucer speed FlyingSaucer() { x = 100; y = 100; speed = 1; Construtor void display(float cockpitx, float cockpity) { float saucerx = cockpitx ; float saucery = cockpity; nostroke(); ellipsemode(center); r = random(1, 256); g = random(1, 256); b = random(1, 256); fill(color(r,g,b)); // Cockpit ellipse(x, y, cockpitx, cockpity); fill(175); // Saucer ellipse(x, y+10, saucerx, saucery); void movey() { y = y + speed; if (y > 480) { else if (y<0) { Dados Funcionalidade (Métodos) Agora temos o programa completo, na primeira linha declaramos o objeto. É similar à declaração de variáveis globais, que fazemos na parte inicial do código, só que agora declaramos um objeto. Dentro da função setup() inicializamos o objeto, similar ao que fazemos com variáveis globais. Usamos a sintaxe: nomeobjeto = new nomeclasse(); O operador new constrói um novo objeto. Depois chamamos os métodos do objeto criado, em Processing é usado a notação dot para chamada de métodos. O novo código chama-se flyingsaucer09.pde 10

11 Argumento do Construtor Vamos considerar agora que queremos dois discos no nosso programa. Para podermos usar POO, temos que manter a mesma classe (FlyingSaucer) e criar dois objetos desta classe, ou seja, mantemos a forma de biscoito, e criarmos dois biscoitos distintos. Mas temos aqui um problema, se usarmos o código anterior (flying_saucer09.pde), e criarmos dois objetos, teremos dois objetos idênticos. Assim, temos que introduzir uma modificação no código, de forma que possamos passar valores para as variáveis das coordenadas x,y e da velocidade (speed). Fazemos isto criando-se um construtor com argumentos. O novo construtor fica como mostrado abaixo. Veja que temos argumentos agora, chamados argumentos do construtor. Esta é a única modificação que temos que fazer na classe FlyingSaucer. FlyingSaucer(float xin,float yin,float speedin) { x = xin; y = yin; speed = speedin; 11

12 Argumento do Construtor Agora criamos dois objetos da mesma classe, com nomes distintos, objetos mysaucer1 e mysaucer2. Na função setup() iniciamos os dois novos objetos. Veja que usamos parâmetros distintos, que serão passados para o construtor, o que leva a posições distintas, bem como velocidades, para os dois discos. Por último, os métodos para movimentar e desenhar são aplicados aos dois objetos, como indicado na função draw(). O restante do código (programa flying_saucer10.pde) não é mostrado, pois trata-se da definição da classe FlyingSaucer com a modificação no construtor indicado no slide anterior. FlyingSaucer mysaucer1; FlyingSaucer mysaucer2; void setup(){ size(200,480); mysaucer1 = new FlyingSaucer(60,50,1.2); mysaucer2 = new FlyingSaucer(100,100,1.0); void draw(){ background(255); mysaucer1.movey(); mysaucer2.movey(); mysaucer1.display(20,20); mysaucer2.display(20,20); 12

13 Exercício de Programação: flying_saucer11.pde Exercício de programação: Modifique o código do programa flying_saucer10.pde, de forma que tenhamos quatro discos voadores, todos com posições iniciais e velocidades distintas. 13

14 Exercício de Programação: flying_saucer12.pde Exercício de programação: Modifique o código do programa flying_saucer04.pde, para que siga o paradigma de programação orientada a objeto. 14

15 Exercício de Programação: flying_saucer13.pde Exercício de programação: Modifique o código do programa flying_saucer05.pde, para que siga o paradigma de programação orientada a objeto. 15

16 Exercício de Programação: flying_saucer14.pde Exercício de programação: Modifique o código do programa flying_saucer06.pde, para que siga o paradigma de programação orientada a objeto. 16

17 Exercício de Programação: flying_saucer15.pde Exercício de programação: Modifique o código do programa flying_saucer07.pde, para que siga o paradigma de programação orientada a objeto. 17

18 Exercício de Programação: flying_saucer16.pde Exercício de programação: Modifique o código do programa flying_saucer15.pde, de forma que tenhamos dois discos voadores no jogo. 18

19 Referências -MODEL, Mitchell L. Bioinformatics Programming Using Python. Sebastopol: O Reilly Media, Inc., p. -REAS, Casey & FRY, Bem. Geeting Started with Processing. Sebastopol: O Reilly Media, Inc., p. -SHIFFMAN, Daniel. Learning Processing. A Beginner s Guide to Programming Images, Animation, and Interaction. Burlington: Morgan Kaufmann, p. -SHIFFMAN, Daniel. The Nature of Code: Simulating Natural Systems with Processing. Mountain View: The Nature of Code, p. Última atualização: 13 de setembro de

azevedolab.net 2015 Dr. Walter F. de Azevedo Jr. Arrays

azevedolab.net 2015 Dr. Walter F. de Azevedo Jr. Arrays azevedolab.net 2015 Dr. Walter F. de Azevedo Jr. Arrays 1 Programa: flying_saucer0.pde FlyingSaucer mysaucer; float speed; float score; // Declares an object // speed of flying saucer // score void setup()

Leia mais

azevedolab.net 2015 Dr. Walter F. de Azevedo Jr. Definição de Funções em Processing

azevedolab.net 2015 Dr. Walter F. de Azevedo Jr. Definição de Funções em Processing azevedolab.net 2015 Dr. Walter F. de Azevedo Jr. Definição de Funções em Processing 1 Programa flying_saucer01.pde O programa flying_saucer01.pde traz um jogo simples que simula a queda de um disco voador.

Leia mais

azevedolab.net Variáveis, Condicionais e Loops 2015 Dr. Walter F. de Azevedo Jr.

azevedolab.net Variáveis, Condicionais e Loops 2015 Dr. Walter F. de Azevedo Jr. azevedolab.net 2015 Dr. Walter F. de Azevedo Jr. Loops Variáveis, Condicionais e 1 Exercício de Programação Exercício de programação: 1) Use a figura da joaninha que você gerou na aula anterior e a transforme

Leia mais

azevedolab.net 2015 Dr. Walter F. de Azevedo Jr. Aula 09 Strings, Leitura e Escrita de Arquivos (continuação)

azevedolab.net 2015 Dr. Walter F. de Azevedo Jr. Aula 09 Strings, Leitura e Escrita de Arquivos (continuação) azevedolab.net 2015 Dr. Walter F. de Azevedo Jr. Aula 09 Strings, Leitura e Escrita de Arquivos (continuação) 1 Programa read_fasta_01.pde Exercício de programação: Elabore um programa que leia um arquivo

Leia mais

azevedolab.net 2015 Dr. Walter F. de Azevedo Jr.

azevedolab.net 2015 Dr. Walter F. de Azevedo Jr. azevedolab.net 2015 Dr. Walter F. de Azevedo Jr. 1 Ementa Apresentação de outras linguagens de programação para Bioinformática: introdução ao Perl e ao Processing; modelagem de sistemas biológicos; aplicações

Leia mais

azevedolab.net 2015 Dr. Walter F. de Azevedo Jr. Aula 08 Strings, Leitura e Escrita de Arquivos

azevedolab.net 2015 Dr. Walter F. de Azevedo Jr. Aula 08 Strings, Leitura e Escrita de Arquivos azevedolab.net 2015 Dr. Walter F. de Azevedo Jr. Aula 08 Strings, Leitura e Escrita de Arquivos 1 Classe String Em Python não precisamos definir o tipo da variável, já em Processing temos que definir os

Leia mais

Palavras-chave: Jogos na educação. Algoritmo de Euclides. Máximo Divisor Comum.

Palavras-chave: Jogos na educação. Algoritmo de Euclides. Máximo Divisor Comum. XVIII Encontro Baiano de Educação Matemática A sala de aula de Matemática e suas vertentes UESC, Ilhéus, Bahia de 03 a 06 de julho de 2019 CORRIDA EUCLIDIANA, VISUALIZANDO O ALGORITMO DE EUCLIDES Tarcila

Leia mais

Unidade Curricular: 935403 - Informática

Unidade Curricular: 935403 - Informática Escola Superior de Educação Descritor de Unidade Curricular Nível de ciclo de estudos: Licenciatura Curso: Educação e Comunicação Multimédia Unidade Curricular: 935403 - Informática Ano 1 Semestre 1 Área

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

CIÊNCIA DA COMPUTAÇÃO - LINGUAGEM DE PROGRAMAÇÃO II REVISÃO POO

CIÊNCIA DA COMPUTAÇÃO - LINGUAGEM DE PROGRAMAÇÃO II REVISÃO POO REVISÃO POO INTRODUÇÃO À LINGUAGEM JAVA CRIANDO CLASSES EM JAVA Convenção de Nomes em Java Classes iniciam com letras maiúsculas Métodos, atributos e variáveis locais iniciam com minúsculas. Declaração

Leia mais

Introdução à Programação Orientada a Objetos. Prof. Leonardo Barreto Campos 1

Introdução à Programação Orientada a Objetos. Prof. Leonardo Barreto Campos 1 Introdução à Programação Orientada a Objetos Prof. Leonardo Barreto Campos 1 Sumário O que é um programa? Modelo; Programação Orientada a Objetos; Exemplo; Encapsulamento; Bibliografia. Prof. Leonardo

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

Classes e Objetos POO

Classes e Objetos POO Classes e Objetos POO Prof. Marcio Delamaro 1/40 POO (wikipedia) Object-oriented programming (OOP) is a programming paradigm based on the concept of "objects", which are data structures that contain data,

Leia mais

Programação para Games I

Programação para Games I Programação para Games I Estrutura de Decisão Estrutura de Decisão Uma estrutura de decisão examina uma ou mais condições e decide quais delas serão executadas Em jogos digitais, considere inicialmente

Leia mais

Fundamentos Básicos da linguagem Java (Programação Orientada a Objetos) Prof. Responsáveis Wagner Santos C. de Jesus

Fundamentos Básicos da linguagem Java (Programação Orientada a Objetos) Prof. Responsáveis Wagner Santos C. de Jesus Curso Disciplina Linguagem de Programação II Curso Engenharia da Computação Fundamentos Básicos da linguagem Java (Programação Orientada a Objetos) Site : http://www1.univap.br/~wagner/ec.html Prof. Responsáveis

Leia mais

Introdução. Universidade Federal de Uberlândia. Programação Orientada a Objetos. Prof. Fabiano Dorça

Introdução. Universidade Federal de Uberlândia. Programação Orientada a Objetos. Prof. Fabiano Dorça Introdução Universidade Federal de Uberlândia Programação Orientada a Objetos Prof. Fabiano Dorça Introdução Definições iniciais: classe, objeto, métodos, atributos. Introdução Ao escrever um programa

Leia mais

Programação Orientada a Objetos

Programação Orientada a Objetos Programação Orientada a Objetos Faculdade de Computação Aula Revisão Marcelo Zanchetta do Nascimento Material elaborado pela Profa. Ana Carolina Lorena - UNIFESP Desenvolvimento de Software ANÁLISE IMPLEMENTAÇÃ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

BCC Introdu c ao ` a Programa c ao Portugol Guillermo C amara-ch avez UFOP 1/35

BCC Introdu c ao ` a Programa c ao Portugol Guillermo C amara-ch avez UFOP 1/35 BCC 201 - Introdução à Programação Portugol Guillermo Cámara-Chávez UFOP 1/35 Introdução I Lógica A lógica é usada no dia a dia das pessoas que trabalham com computação para solucionar problemas de forma

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

Capítulo 6: Linguagens de Programação

Capítulo 6: Linguagens de Programação Capítulo 6: Linguagens de Programação Ciência da Computação: Uma Visão Abrangente 11a Edição by J. Glenn Brookshear Copyright 2012 Pearson Education, Inc. Capítulo 6: Linguagens de programação 6.1 Perspectiva

Leia mais

JAVA APLICAÇÕES GRÁFICAS Propriedades Utilizadas: Font size Animation FACULDADE DE TECNOLOGIA SENAC PELOTAS

JAVA APLICAÇÕES GRÁFICAS Propriedades Utilizadas: Font size Animation FACULDADE DE TECNOLOGIA SENAC PELOTAS JAVA APLICAÇÕES GRÁFICAS Propriedades Utilizadas: Font size Animation FACULDADE DE TECNOLOGIA SENAC PELOTAS Nome do aluno: Guilherme Faria Quental Identificação da Turma: Análise e Desenvolvimento de Sistemas

Leia mais

Computação II (MAB 225)

Computação II (MAB 225) Computação II (MAB 225) Fabio Mascarenhas - 2015.1 http://www.dcc.ufrj.br/~fabiom/pythonoo Introdução No curso de Computação I vocês viram os conceitos básicos de programação em Python: expressões e comandos,

Leia mais

Processing Aula 2. Prof. Wallace Lages

Processing Aula 2. Prof. Wallace Lages Processing Aula 2 Prof. Wallace Lages Aula 2 Computadores e lógica digital Variáveis Condicionais Computador ou calculadora? Computador Máquina programável capaz de realizar automaticamente uma sequência

Leia mais

PROGRAMAÇÃO ORIENTADA A OBJETOS

PROGRAMAÇÃO ORIENTADA A OBJETOS PROGRAMAÇÃO ORIENTADA A OBJETOS SEMANA 4 Classes, Objetos, Instâncias, Referências e Métodos Prof. Geovani Sajorato sajorato@gmail.com Programadores que utilizam o paradigmade Programação Orientada a Objetoscriam

Leia mais

PCS TEXNUM: Texto e Números em Ponto Flutuante

PCS TEXNUM: Texto e Números em Ponto Flutuante PCS 2190 - TEXNUM: Texto e Números em Ponto Flutuante Ricardo Nakamura e Romero Tori 2015 1 Introdução Nesta aula vamos ver como utilizar textos e números reais em um programa e como desenhar textos no

Leia mais

Introdução a Programação de Jogos

Introdução a Programação de Jogos Introdução a Programação de Jogos Aula 05 Introdução ao Löve Edirlei Soares de Lima Hello World em Löve function love.draw() love.graphics.print("hello World", 360, 300) end O comando

Leia mais

Apêndice A. Alguns construtores e métodos importantes e úteis da classe Vector são:

Apêndice A. Alguns construtores e métodos importantes e úteis da classe Vector são: Apêndice A Classe Vector A classe Vector permite a representação de um vetor de dados de maneira similar à de um array, visto na disciplina Programação Orientada a Objetos I, mas com maior flexibilidade.

Leia mais

Programação Orientada a Objectos - P. Prata, P. Fazendeiro

Programação Orientada a Objectos - P. Prata, P. Fazendeiro 3 Classes e instanciação de objectos (em Java) Suponhamos que queremos criar uma classe que especifique a estrutura e o comportamento de objectos do tipo Contador. As instâncias da classe Contador devem

Leia mais

AULA 2: INTRODUÇÃO A PYTHON. Luís Feliphe Silva Costa

AULA 2: INTRODUÇÃO A PYTHON. Luís Feliphe Silva Costa AULA 2: INTRODUÇÃO A PYTHON Luís Feliphe Silva Costa Sumário Variáveis simples Entrada e Saída de dados Operadores Estruturas Condicionais Estruturas de repetição Funções Tratamento de erros Variáveis

Leia mais

Introdução à Engenharia ENG1000

Introdução à Engenharia ENG1000 Introdução à Engenharia ENG1000 Aula 07 Introdução a Löve2D 2018.1 Prof. Augusto Baffa Hello World em Löve2D function love.draw() love.graphics.print("hello World", 360, 300) end

Leia mais

Programação para Artistas com Processing. Profa. Rosilane Mota Prof. Wallace Lages

Programação para Artistas com Processing. Profa. Rosilane Mota Prof. Wallace Lages Programação para Artistas com Processing Profa. Rosilane Mota Prof. Wallace Lages Porque Processing? Porque Processing? Programar com imagens, animações e som Aprender, prototipar e produzir Feedback visual

Leia mais

Programação com Objectos. Processamento de Dados I. 2. Classes, Atributos e Métodos

Programação com Objectos. Processamento de Dados I. 2. Classes, Atributos e Métodos Programação com Objectos Processamento de Dados I 2. Classes, Atributos e Métodos 1 Classes, Atributos e Métodos Modificadores de acesso (visibilidade) Sobrecarga de métodos (method overloading) Variáveis

Leia mais

Processamento da Informação Teoria. Desvio Condicional

Processamento da Informação Teoria. Desvio Condicional Processamento da Informação Teoria Desvio Condicional Semana 03 Prof. Jesús P. Mena-Chalco 08/05/2013 Operador módulo O operador módulo trabalha com inteiros e produz o resto quando o primeiro operando

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

Programação de Computadores

Programação de Computadores INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA RIO GRANDE DO NORTE Programação de Computadores Novos tipos (classes) Copyright 2013 IFRN O que veremos hoje? Introdução Modelo de objetos Classes e

Leia mais

Programação I Aula 18 Programação com objetos Pedro Vasconcelos DCC/FCUP

Programação I Aula 18 Programação com objetos Pedro Vasconcelos DCC/FCUP Programação I Aula 18 Programação com objetos DCC/FCUP DCC/FCUP 2019 1/ 32 Nesta aula 1 Programação com objetos 2 Exemplo: turtle graphics 3 Definição de classes DCC/FCUP 2019 2/ 32 Programação com objetos

Leia mais

Unidade 2: Estruturas de Controle Parte 1 - Scanner e Estrutura IF Prof. Daniel Caetano

Unidade 2: Estruturas de Controle Parte 1 - Scanner e Estrutura IF Prof. Daniel Caetano Linguagem de Programação 1 Unidade 2: Estruturas de Controle Parte 1 - Scanner e Estrutura IF Prof. Daniel Caetano Objetivo: Apresentar a classe Scanner e as principais estruturas de controle da linguagem

Leia mais

Tema da aula Introdução ao paradigma de programação: Orientado a Objetos

Tema da aula Introdução ao paradigma de programação: Orientado a Objetos Profa. Juliana Santiago Teixeira Disciplina: Programação Orientada a Objetos I Tema da aula Introdução ao paradigma de programação: Orientado a Objetos Paradigma Paradigma é a filosofia adotada na construção

Leia mais

Linguagem de Programação III

Linguagem de Programação III Linguagem de Programação III Aula-4 Construtores e Sobrecarga Prof. Esbel Tomás Valero Orellana Até Aqui Modelos e POO Classes e sua implementação em Java Encapsulamento Tipos de dados nativos em Java

Leia mais

Estrutura de Dados. TAD (Tipo Abstrato de Dados) Criando a primeira estrutura

Estrutura de Dados. TAD (Tipo Abstrato de Dados) Criando a primeira estrutura Estrutura de Dados TAD (Tipo Abstrato de Dados) Criando a primeira estrutura TAD Um tipo de dado abstrato pode ser definido como um conjunto de valores e uma coleção de operações que atual sobre esses

Leia mais

Conceitos de Linguagem de Programação - 2

Conceitos de Linguagem de Programação - 2 Conceitos de Linguagem de Programação - 2 Arthur Jovita Guerra Thalles Santos Silva Universidade Estadual de Santa Cruz - Ilhéus, BA 1 de novembro de 2011 1 Revisão Natureza das linguagens de Programação

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

Introdução à Programação. Conceitos Básicos de Orientação a Objetos

Introdução à Programação. Conceitos Básicos de Orientação a Objetos Introdução à Programação Conceitos Básicos de Orientação a Objetos Tópicos da Aula Aprenderemos fundamentos do paradigma orientado a objetos, mas antes veremos o que é paradigma Conceito de paradigma Diferentes

Leia mais

Java para Desktop. Programação Orientada à Objetos 2 JSE

Java para Desktop. Programação Orientada à Objetos 2 JSE Java para Desktop Programação Orientada à Objetos 2 JSE Encapsulamento significa "ocultar informações, ele define que cada objeto contém todos os detalhes de implementação necessários sobre como ele funciona

Leia mais

Introdução à Programação Aula 19 Programação com objetos

Introdução à Programação Aula 19 Programação com objetos Introdução à Programação Aula 19 Programação com objetos Pedro Vasconcelos DCC/FCUP 2015 Pedro Vasconcelos (DCC/FCUP) Introdução à Programação Aula 19 Programação com objetos 2015 1 / 20 Nesta aula 1 Programação

Leia mais

Java First-Tier: Aplicações. Sobrecarga. Orientação a Objetos em Java (II) Sobrecarga de Construtores: Exemplo de Declaração

Java First-Tier: Aplicações. Sobrecarga. Orientação a Objetos em Java (II) Sobrecarga de Construtores: Exemplo de Declaração Java First-Tier: Aplicações Orientação a Objetos em Java (II) Grupo de Linguagens de Programação Departamento de Informática PUC-Rio Sobrecarga Um recurso usual em programação OO é o uso de sobrecarga

Leia mais

Programação orientada a objetos

Programação orientada a objetos Programação orientada a objetos Python fornece suporte para programação orientada a objetos: foco na criação de objetos, contendo simultaneamente dados e funcionalidade definição de objetos corresponde

Leia mais

Classes e Objetos. Sintaxe de classe em Java

Classes e Objetos. Sintaxe de classe em Java Classes e Objetos Classes e Objetos A Programação Orientada a Objetos (POO) é uma técnica de programação que se baseia na construção de classes e utilização de objetos. Os objetos são formados por dados

Leia mais

Algoritmos e Estruturas de Dados I IEC012. Linguagem C - Estruturas de Controle - Seleção. Prof. César Melo

Algoritmos e Estruturas de Dados I IEC012. Linguagem C - Estruturas de Controle - Seleção. Prof. César Melo Algoritmos e Estruturas de Dados I IEC012 Linguagem C - Estruturas de Controle - Seleção Prof. César Melo Estruturas de Controle: Condicional Estruturas: Simples Composta Múltipla escolha Estrutura Condicional

Leia mais

PROGRAMAÇÃO ORIENTADA A OBJETOS JAVA

PROGRAMAÇÃO ORIENTADA A OBJETOS JAVA PROGRAMAÇÃO ORIENTADA A OBJETOS JAVA PÁTIO DE MATERIAIS Discente: Nielson Soares Disciplina: Algoritmo e Estrutura de Dados INTRODUÇÃO Orientação a objetos. Linguagem de programação JAVA. Pátio de matérias

Leia mais

RESULUÇÃO DOS EXERCÍCIOS E INSTRUÇÕES DE DECISÃO (if{} e else{}) Profº André Aparecido da Silva Disponível em:

RESULUÇÃO DOS EXERCÍCIOS E INSTRUÇÕES DE DECISÃO (if{} e else{}) Profº André Aparecido da Silva Disponível em: RESULUÇÃO DOS EXERCÍCIOS E INSTRUÇÕES DE DECISÃO (if{} e else{}) Profº André Aparecido da Silva Disponível em: http://www.oxnar.com.br/aulas/java ATIVIDADE ELABORAR O PROGRAMA DE CÁLCULOS DE ÁREAS USANDO

Leia mais

Linguagem de Programação II Programação Orientada a Objetos. Orientação a Objetos

Linguagem de Programação II Programação Orientada a Objetos. Orientação a Objetos Linguagem de Programação II Programação Orientada a Objetos Orientação a Objetos Prof. Alessandro Borges 2 Tópicos Introdução à Programação Orientada a Objetos Conceitos Objetivos Classes e Objetos Atributos

Leia mais

Unidade 5: Introdução à Programação com C/C++ Prof. Daniel Caetano

Unidade 5: Introdução à Programação com C/C++ Prof. Daniel Caetano Lógica de Programação para Engenharia 1 Unidade 5: Introdução à Programação com C/C++ Prof. Daniel Caetano Objetivo: Explicitar os elementos básicos envolvidos na programação com a linguagem C/C++. Bibliografia:

Leia mais

Strings e Arrays POO

Strings e Arrays POO Strings e Arrays POO Prof. Marcio Delamaro Programação Orientada a Objetos Prof Marcio Delamaro ICMC/USP 1/27 String Uma sequência de caracteres que representa uma informação textual Em Java existe um

Leia mais

Conceitos de Programação Orientada a Objetos

Conceitos de Programação Orientada a Objetos Conceitos de Programação Orientada a Objetos Prof. Edwar Saliba Júnior Fevereiro de 2011 Unidade 02 Conceitos de 1 Conceitos Fundamentais Classe; Ocultamento de informação; Encapsulamento; Atributo; Método;

Leia mais

Construtores e Especificadores de Acesso

Construtores e Especificadores de Acesso Construtores e Especificadores de Acesso Professora: Fátima L. S. Nunes 1 1 1 Orientação a Objetos Conceitos do Paradigma de Orientação a Objetos já vistos: Classes atributos e métodos Objetos instanciação

Leia mais

Classes e Objetos. Prof. Fernando V. Paulovich 9 de agosto de 2010

Classes e Objetos. Prof. Fernando V. Paulovich  9 de agosto de 2010 Classes e Objetos SCC0604 - Programação Orientada a Objetos Prof. Fernando V. Paulovich http://www.icmc.usp.br/~paulovic paulovic@icmc.usp.br Instituto de Ciências Matemáticas e de Computação (ICMC) Universidade

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 Tópicos picos Definição de estrutura Acessando membros de estruturas O tipo horario com struct Implementando horario com class Escopo

Leia mais

Linguagens de Programação

Linguagens de Programação Linguagens de Programação Fabio Mascarenhas - 2013.1 http://www.dcc.ufrj.br/~fabiom/lp Recursão aberta Delegação permite reutilizar a implementação dos métodos do objeto counter na implementação dos métodos

Leia mais

Classes o Objetos. Classes, objetos, métodos e variáveis de instância

Classes o Objetos. Classes, objetos, métodos e variáveis de instância Classes o Objetos Um recurso comum de cada aplicativo feito até agora é que todas as instruções que realizavam tarefas localizavam-se no método main. Se você tornar parte de uma equipe de desenvolvimento

Leia mais

Mini apostila de Python - Oficina de Vestibulandos. PET Computação - UFPR September 2016

Mini apostila de Python - Oficina de Vestibulandos. PET Computação - UFPR September 2016 Mini apostila de Python - Oficina de Vestibulandos PET Computação - UFPR September 2016 1 Sumário 1 Introdução 3 2 Obtenção e Instalação 3 3 Variáveis 3 4 Operações Matemáticas 5 5 Entrada de Dados 6 6

Leia mais

Programação para Games II. Professor Ariel da Silva Dias Orientação a Objetos

Programação para Games II. Professor Ariel da Silva Dias Orientação a Objetos Programação para Games II Professor Ariel da Silva Dias Orientação a Objetos Programação Estruturada X Programação Orientada a Objetos Orientação a Objetos É um paradigma de programação de computadores

Leia mais

Processing - Imagem 1. Processing. Imagem (PImage) Jorge Cardoso

Processing - Imagem 1. Processing. Imagem (PImage) Jorge Cardoso Processing - Imagem 1 Processing Imagem (PImage) Processing - Imagem 2 Classe PImage Imagem Utilizada para guardar e manipular imagens em memória Processing - Imagem 3 Ficheiros de Imagem Os ficheiros

Leia mais

Linguagens de Programação

Linguagens de Programação Linguagens de Programação Fabio Mascarenhas - 2015.2 http://www.dcc.ufrj.br/~fabiom/lp Objetos sem classes Um objeto tem duas visões: a de fora e a de dentro Visto de fora, um objeto é uma entidade opaca,

Leia mais

Declaração de Construtores em Java

Declaração de Construtores em Java Programando com Java Artigo http://mballem.wordpress.com/ Declaração de Construtores em Java Para que serve e como usar um Construtor em Java Autor Marcio Ballem: é formado em Sistemas de Informação e

Leia mais

Unidade 5: Introdução à Programação com C/C++

Unidade 5: Introdução à Programação com C/C++ Lógica de Programação para Engenharia 1 Unidade 5: Introdução à Programação com C/C++ Prof. Daniel Caetano Objetivo: Explicitar os elementos básicos envolvidos na programação com a linguagem C/C++. Bibliografia:

Leia mais

Introdução à Programação

Introdução à Programação Introdução à Programação Aula 21: Programação com objetos Rita P. Ribeiro 2017/2018 Departamento de Ciência de Computadores Nesta aula 1. Programação com objetos 2. Exemplo: módulo turtle 3. Tipos de dados

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

A figura abaixo representa uma classe denominada Carteira. Esta classe é composta dos métodos depositar(valor) e retirar(valor) e do atributo saldo.

A figura abaixo representa uma classe denominada Carteira. Esta classe é composta dos métodos depositar(valor) e retirar(valor) e do atributo saldo. 1-Introdução à Programação Orientada a Objetos 1.1. O que é programação orientada a objetos? Programação orientada a objetos é uma metodologia de desenvolvimento de software. Sua principal vantagem é a

Leia mais

Conceitos de Programação Orientada a Objetos

Conceitos de Programação Orientada a Objetos Conceitos de Programação Orientada a Objetos Prof. Edwar Saliba Júnior Fevereiro de 2011 Unidade 02 Conceitos de Programação Orientada a Objetos 1 Conceitos Fundamentais Classe; Ocultamento de informação;

Leia mais

Programação Orientada aos Objectos I

Programação Orientada aos Objectos I Programação Orientada aos Objectos I UEM Fevereiro 2014 Docente: eng a Tatiana Kovalenko AULA TEÓRICA 1 Tema 1. Introdução à POO Ø Revisão: POO. Classes e Objectos. Elaborado por eng.tatiana Kovalenko,

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

COMPORTAMENTOS - Observações

COMPORTAMENTOS - Observações COMPORTAMENTOS - Observações O próprio objeto realiza operações de consulta ou alteração dos valores dos seus atributos Essas operações são definidas em seus métodos Os métodos também são utilizados para

Leia mais

Programação de Computadores

Programação de Computadores Programação de Computadores Instituto de Computação UFF Departamento de Ciência da Computação Otton Teixeira da Silveira Filho Conteúdo Módulos: math random Funções definidas pelo usuário Mais sobre notações

Leia mais

A classe ArrayList. IFSC/Florianópolis - Programação Orientada a Objetos com Java - prof. Herval Daminelli

A classe ArrayList. IFSC/Florianópolis - Programação Orientada a Objetos com Java - prof. Herval Daminelli A classe ArrayList Java oferece uma classe chamada ArrayList, que permite a criação e manipulação de objetos; Um objeto ArrayList é semelhante a um vetor de objetos, mas oferece inúmeras vantagens em relação

Leia mais

Conceitos Básicos Linguagem C

Conceitos Básicos Linguagem C Conceitos Básicos Linguagem C PROF. MAURÍCIO A DIAS MACDIASPAE@GMAIL.COM 2 Método Método básico para construção de algoritmos 1. Compreender completamente o problema a ser resolvido, se possível dividindo

Leia mais

Processamento Digital de Imagens

Processamento Digital de Imagens Processamento Digital de Imagens Aula 02 Prof. Diemesleno Souza Carvalho diemesleno@iftm.edu.br http://www.diemesleno.com.br Na aula passada vimos... Na aula passada vimos... Unidade I - Introdução ao

Leia mais

A programação orientada a objetos tenta simular estes aspectos, trazendo para o computador a realidade do dia-a-dia.

A programação orientada a objetos tenta simular estes aspectos, trazendo para o computador a realidade do dia-a-dia. Introdução A orientação a objetos é uma maneira de programar que trata de modelar os processos de programação de uma maneira próxima à linguagem humana: tratando componentes de um programa como um objeto

Leia mais

Licenciatura em Informática Introdução a Ciência dos Computadores 1º Ano

Licenciatura em Informática Introdução a Ciência dos Computadores 1º Ano Licenciatura em Informática Introdução a Ciência dos Computadores 1º Ano Data : 24-01-2012 Parte Teórica 1º Ano - 1º Semestre Teste Tipo - Resolução Duração : 60 Minutos Prof. : Jorge Mota Numero : Nome

Leia mais

Conceitos básicos de programação

Conceitos básicos de programação Para aprender uma linguagem de programação podemos começar por conhecer os vocábulos ou símbolos que formam o seu léxico e depois aprender como esses vocábulos integram as instruções (frases) que compõe

Leia mais

Introdução. Ponteiros

Introdução. Ponteiros Introdução O correto entendimento e uso de ponteiros é crítico para um programador C. Há três razões para isso: 1. Ponteiros fornecem os meios pelos quais as funções podem modificar seus argumentos; 2.

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

PROGRAMAÇÃO ORIENTADA A OBJETOS. Aula 11 - Threads e Concorrência

PROGRAMAÇÃO ORIENTADA A OBJETOS. Aula 11 - Threads e Concorrência Aula 11 - Threads e Concorrência Conteúdo Programático desta aula Apresentar os Conceitos de Threads, Concorrência e Sincronização. Verificar a aplicabilidade destes conceitos no mercado, bem como sua

Leia mais

Oficina de Python Prof. Me. José Carlos Perini

Oficina de Python Prof. Me. José Carlos Perini Oficina de Python Prof. Me. José Carlos Perini Prof. José Carlos Perini Formação em Análise de Sistemas Univ. S. Francisco Pós em Administração Universidade S. Francisco Mestrado em Ciência da Computação

Leia mais

Lógica de Programação

Lógica de Programação Lógica de Programação Aula 4 Classes Clenisson Calaça O que são? Classes São tipos criados pelo programador para representar entidades do mundo real em seu programa. Uma classe

Leia mais

PROGRAMAÇÃO EM JOGOS DIGITAIS

PROGRAMAÇÃO EM JOGOS DIGITAIS PROGRAMAÇÃO EM JOGOS DIGITAIS Frutuoso Silva Paradigmas de Programação Linguagem de programação Paradigmas de programação 1 Linguagem de programação! Para ser útil e confiável, uma linguagem deve ter uma

Leia mais

LÓGICA DE PROGRAMAÇÃO (JAVA) CLASSES E OBJETOS. Professor Carlos Muniz

LÓGICA DE PROGRAMAÇÃO (JAVA) CLASSES E OBJETOS. Professor Carlos Muniz LÓGICA DE PROGRAMAÇÃO (JAVA) Classes Uma classe é um tipo definido pelo usuário que contém o molde, a especificação para os objetos, algo mais ou menos como o tipo inteiro contém o molde para as variáveis

Leia mais

Curso rapidíssimo de Processing

Curso rapidíssimo de Processing Curso rapidíssimo de Processing Primeira parte: bolas 1. Instale: http://processing.org/download/. 2. Crie uma pasta processing, ao lado da sua pasta sources (a dos programas C). 3. Abra o Processing.

Leia mais

Conceito de Linguagens de Programação - 1

Conceito de Linguagens de Programação - 1 Conceito de Linguagens de Programação - 1 Arthur Jovita, Thalles Silva November 1, 2011 1 Natureza das linguagens de Programação Linguagens Estáticas e Dinâmicas 2 Tipificação 3 4 Linguagens Estáticas

Leia mais

ESQUEMA AULA PRÁTICA 0 Familiarização com o Ambiente de Desenvolvimento NetBeans Construção do primeiro programa em java.

ESQUEMA AULA PRÁTICA 0 Familiarização com o Ambiente de Desenvolvimento NetBeans Construção do primeiro programa em java. P. Fazendeiro & P. Prata POO FP0/1 ESQUEMA AULA PRÁTICA 0 Familiarização com o Ambiente de Desenvolvimento NetBeans Construção do primeiro programa em java. 0 Iniciar o ambiente de desenvolvimento integrado

Leia mais

AULA 6 - ARRAYS. Array de 10 elementos

AULA 6 - ARRAYS. Array de 10 elementos 1 AULA 6 - ARRAYS Arrays são objetos que armazenam diversas variáveis do mesmo tipo. Eles podem conter variáveis de referência primitivas ou de objeto, mas o array propriamente dito sempre será um objeto

Leia mais

MODULARIZAÇÃO - PARTE 1

MODULARIZAÇÃO - PARTE 1 AULA 27 MODULARIZAÇÃO - PARTE 1 Os algoritmos que temos construído até então são muito simples, pois resolvem problemas simples e apresentam apenas os componentes mais elementares dos algoritmos: constantes,

Leia mais

Programação de Computadores

Programação de Computadores Programação de Computadores Instituto de Computação UFF Departamento de Ciência da Computação Otton Teixeira da Silveira Filho Conteúdo Alguns Conceitos sobre Linguagens Conceito de Algoritmo Pseudocódigo

Leia mais

Oficina de Programação de Drones Fundamentos de Python Prof. Me. José Carlos Perini

Oficina de Programação de Drones Fundamentos de Python Prof. Me. José Carlos Perini Oficina de Programação de Drones Fundamentos de Python Prof. Me. José Carlos Perini Prof. José Carlos Perini Formação em Análise de Sistemas Univ. S. Francisco Pós em Administração Universidade S. Francisco

Leia mais

Física Computacional

Física Computacional Física Computacional 1. Funções: a. Inicialização de argumentos. b. Overloading. 2. Revisão de classes 3. Classes parte 2 a. Overloading de operadores. 4. Gestão de projectos com Dev-C++ 5. Gestão de projectos

Leia mais

Linguagem de Programação III

Linguagem de Programação III Linguagem de Programação III Aula-2 Introdução à Programação Orientada a Objetos Prof. Esbel Tomás Valero Orellana Modelos Modelos são representações simplificadas de objetos, pessoas, itens, tarefas,

Leia mais