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

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

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

Transcrição

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

2 Programa: flying_saucer0.pde FlyingSaucer mysaucer; float speed; float score; // Declares an object // speed of flying saucer // score void setup() { size(200, 480); mysaucer = new FlyingSaucer(100, 0, 20, 20);// Initializes object speed = 0; void draw() { background(255); // Calls method updatey() on object mysaucer mysaucer.updatey(); // Calls method drawflyingsaucer() on object mysaucer mysaucer.drawflyingsaucer(); // Calls method gameover() on object mysaucer mysaucer.gameover(); // Calls method updatescore() on object mysaucer mysaucer.myscore(); void mousepressed() { speed = speed * -0.45; println("your score", score); As primeiras linhas indicam a definição do objeto mysaucer da classe FlyingSaucer() e das variáveis globais. Depois temos a função setup(), onde definimos o tamanho da tela, inicializamos o objeto mysaucer e atribuímos valor inicial a variável global speed. Na função draw(), definimos a cor de fundo e chamamos os métodos sobre o objeto mysaucer. Agora temos a função mousepressed(), que é executada no evento do mouse ser pressionado. Assim, ela não fica incorporada como método e sim uma função à parte. 2

3 Programa: flying_saucer0.pde class FlyingSaucer { float x; // x location of flying saucer float y; // y location of flying saucer float gravity; // gravity acting on the flying saucer float r; // intensity for red float g; // intensity for green float b; // intensity for blue float score_antigrav; // Initial cutoff value for antigrav float maxheight; // Maximum height float cockpitx; // Cockpit length float cockpity; // Cockpit height float saucerx; // Saucer length float saucery; // Saucer height FlyingSaucer(float tempx, float tempy, float tempcockpitx, float tempcockpity) { // Constructor cockpitx = tempcockpitx; // Initial value for cockpit length cockpity = tempcockpity; // Initial value for cockpit height saucerx = cockpitx ; // Initial value for saucer length saucery = cockpity; // Initial value for saucer height x = tempx; // Initial value for x coordinate y = tempy; // Initial value for y coordinate gravity = 0.1; // Initial value for gravity score_antigrav = 2000; // Initial value for score_antigrav maxheight = 480; // Initial value for maxheight Na classe FlyingSaucer() as primeiras linhas indicam as variáveis. Em seguida definimos o construtor da classe, onde os valores iniciais são atribuídos a algumas variáveis, previamente definidas no início da classe. Agora temos variáveis temporárias na definição do construtor, que permitem que usemos esta classe para construirmos discos com diferentes posições iniciais na tela. 3

4 Programa: flying_saucer0.pde Olhando-se os detalhes do código do construtor, vemos que temos variáveis para os valores iniciais das coordenadas x e y (tempx e tempy), bem como para valores iniciais da largura e altura do cockpit do disco voador, variáveis tempcockpitx e tempcockpity. Usando-se este recurso, podemos montar diversos discos, quando inicializamos o objeto no setup(). FlyingSaucer(float tempx, float tempy, float tempcockpitx, float tempcockpity) { cockpitx = tempcockpitx; // Initial value for cockpit length cockpity = tempcockpity; // Initial value for cockpit height saucerx = cockpitx ; // Initial value for saucer length saucery = cockpity; // Initial value for saucer height x = tempx; // Initial value for x coordinate y = tempy; // Initial value for y coordinate gravity = 0.1; // Initial value for gravity score_antigrav = 2000; // Initial value for score_antigrav maxheight = 480; // Initial value for maxheight // Constructor 4

5 Programa: flying_saucer0.pde void drawflyingsaucer() { // Function to display the flying saucer 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); Depois temos o métodos vistos na aula anterior. void updatey() { y = y + speed; speed = speed + gravity; void gameover() { if (y > maxheight) { println("your score ", score); println("game Over!"); noloop(); void myscore() { if (y < maxheight) { score = score + 1; // If score > score_antigrav increase height if (score > score_antigrav ) { println("super antigrav!"); y = y -300; score_antigrav = 1.05*score_antigrav ; 5

6 Exercício de Programação: two_flying_saucers0.pde Exercício de programação: Modifique o código do programa flying_saucer0.pde, de forma que tenhamos dois discos voadores. Dica: Declarem dois objetos, como indicado abaixo. FlyingSaucer mysaucer1; // Declares first object FlyingSaucer mysaucer2; // Declares second object... 6

7 Arrays Poderíamos usar o código two_flying_saucers0.py como protótipo para criamos um código com uma invasão de discos voadores, por exemplo 100 discos na tela. Uma forma de fazermos, não estou afirmando que devemos, seria repetirmos a declaração de objeto 100 vezes. Imaginem como ficaria a chamada dos métodos para os 100 objetos! FlyingSaucer mysaucer1; // Declares first object FlyingSaucer mysaucer2; // Declares second object FlyingSaucer mysaucer3; // Declares third object... 7

8 Arrays Uma forma elegante de superarmos este problema, é por meio do uso de arrays. Vimos em Python que arrays são variáveis indexadas, onde podemos acessar um valor específico dentro de uma lista de valores. Em Python, usamos arrays da biblioteca NumPy. Em Processing podemos definir arrays, como indicado abaixo. A variável myarray é um array de inteiros. int[] myarray; Nome do array Os dois colchetes indicam que é um array Tipo do array 8

9 Arrays Usamos o operador new, para definirmos o tamanho do array, ou seja, quantos elementos ele contém. Uma vez definido o número de elementos do array, não podemos mudar este número. Operador new significa que estamos fazendo um novo array Tipo do array Tamanho do array int[] myarray = new int [42]; Nome do array Os dois colchetes indicam que é um array Tipo do array 9

10 Arrays Para inicializamos arrays, podemos atribuir os valores, como indicado abaixo. Lista com os valores a serem atribuídos ao array int[] myarray = { 1, 5, 8, 9, 4, 5 ; Nome do array Os dois colchetes indicam que é um array Tipo do array 10

11 Arrays Os valores podem ser atribuídos especificamente para um elemento do array, por exemplo, queremos atribuir o número 9 ao quarto elemento do array, o código está indicado abaixo. myarray[3] = 9; O número 3 indica o quarto elemento do array. Começamos a contar o zero, a primeira posição tem índice zero. Nome do array 11

12 Arrays Bem, ainda não resolvemos nosso problema inicial da repetição. Se tivermos a seguinte situação, queremos um array com 1000 elementos do tipo float, com números aleatórios entre 0 e 10. Poderíamos fazer o seguinte: float[] values = new float[1000]; values[0] = random(0,10); values[1] = random(0,10); values[2] = random(0,10); values[3] = random(0,10); values[4] = random(0,10); values[5] = random(0,10);... 12

13 Arrays Ou podemos usar um loop for, como indicado abaixo. Usamos values.length para acessar uma propriedade que todo array tem, ou seja, número de elementos, values.length retorna o número de elementos do array values, que foi definido na primeira linha do código. float[] values = new float[1000]; for (int i = 0; i < values.length; i + + ) { values[i] = 0; 13

14 Programa: one_car0.pde Car mycar1; void setup() { size(200, 200); mycar1 = new Car(color(255, 0, 0), 0, 100, 2); void draw() { background(255); mycar1.move(); mycar1.display(); class Car { color c; float xpos; float ypos; float xspeed; Car(color tempc, float tempxpos, float tempypos, float tempxspeed) { c = tempc; xpos = tempxpos; ypos = tempypos; xspeed = tempxspeed; void display() { stroke(0); fill(c); rectmode(center); rect(xpos, ypos, 20, 10); void move() { xpos = xpos + xspeed; if (xpos > width) { xpos = 0; Ao lado temos o código one_car0.pde, que gera um objeto da classe Car. O construtor da classe Car tem variáveis para a cor (tempc), posição (tempx e tempy) e velocidade (tempspeed). Podemos modificar o código one_car0.pde, para termos um código que gere dois carros. 14

15 Programa: two_cars0.pde Car mycar1; Car mycar2; void setup() { size(200, 200); mycar1 = new Car(color(255, 0, 0), 0, 100, 2); mycar2 = new Car(color(0, 0, 255), 0, 10, 1); void draw() { background(255); mycar1.move(); mycar1.display(); mycar2.move(); mycar2.display(); class Car { color c; float xpos; float ypos; float xspeed; Car(color tempc, float tempxpos, float tempypos, float tempxspeed) { c = tempc; xpos = tempxpos; ypos = tempypos; xspeed = tempxspeed; void display() { stroke(0); fill(c); rectmode(center); rect(xpos, ypos, 20, 10); void move() { xpos = xpos + xspeed; if (xpos > width) { xpos = 0; Para dois carros, basta acrescentar a declaração de um novo objeto, mycar2, a inicialização do novo objeto, bem como as respectivas chamadas de métodos, indicadas em vermelho. 15

16 Arrays de Objetos Podemos usar o que aprendemos sobre arrays, para criamos um array de objetos. Podemos modificar o programa one_car0.pde, para que tenhamos agora 100 carros. Inicialmente declaramos um array com 100 objetos, com Car[] cars = new Car[100] ;. Em seguida usamos loops for para inicializarmos os objetos e para os métodos. O código segue no próximo slide. 16

17 Programa: cars100.pde Car[] cars = new Car[100] ; void setup() { size(200, 200); smooth(); for (int i = 0; i < cars.length; i++ ) { cars[i] = new Car(color(i*2), 0, i*2, i/20.0); void draw() { background(255); for (int i = 0; i < cars.length; i++ ) { cars[i].move(); cars[i].display(); class Car { color c; float xpos; float ypos; float xspeed; Car(color c_, float xpos_, float ypos_, float xspeed_) { c = c_; xpos = xpos_; ypos = ypos_; xspeed = xspeed_; void display() { rectmode(center); stroke(0); fill(c); rect(xpos, ypos, 20, 10); void move() { xpos = xpos + xspeed; if (xpos > width) { xpos = 0; Criamos 100 objetos da classe Car. Depois usamos um loop for para inicializarmos 100 objetos. No draw() usamos outro loop for para os métodos. Vejam, uma vez definida a classe, podemos fazer uso de arrays e loops para expandirmos para qualquer número de objetos. Uma facilidade da programação orientada a objetos. 17

18 Exercício de Programação: flying_saucers100.pde Exercício de programação: Modifique o código do programa flying_saucer0.pde, de forma que tenhamos 100 discos voadores. 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: 05 de outubro de

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

azevedolab.net 2015 Dr. Walter F. de Azevedo Jr. Programação Orientada a Objetos em Processing azevedolab.net 2015 Dr. Walter F. de Azevedo Jr. Programação Orientada a Objetos em Processing 1 Programação Orientada a Objeto O uso de programação orientada a objeto (POO) não irá introduzir necessariamente

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

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

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

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

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

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

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

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

Processamento Digital de Imagens

Processamento Digital de Imagens Processamento Digital de Imagens Aula 03 Prof. Diemesleno Souza Carvalho diemesleno@iftm.edu.br http://www.diemesleno.com.br Na aula passada vimos... Na aula passada vimos... Unidade II - Básico sobre

Leia mais

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

2018 Dr. Walter F. de Azevedo Jr. azevedolab.net 2018 Dr. Walter F. de Azevedo Jr. azevedolab.net 1 Algoritmo Genético Vimos anteriormente um algoritmo genético simples para resolução de um problema de maximização. O algoritmo visa encontrar o maior

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

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

LINGUAGEM C: ARRAY: VETORES E MATRIZES

LINGUAGEM C: ARRAY: VETORES E MATRIZES LINGUAGEM C: ARRAY: VETORES E MATRIZES Prof. André Backes POR QUE USAR ARRAY? As variáveis declaradas até agora são capazes de armazenar um único valor por vez. Sempre que tentamos armazenar um novo valor

Leia mais

Inaulab #1! Code, Processing intro!

Inaulab #1! Code, Processing intro! Inaulab #1! Code, Processing intro! Helder Dias! helvis@netcabo.pt! 7 de Julho 2012, 9:30-13:00! - anológico vs. digital! - programação, código e algoritmia! - Processing IDE! - variáveis, ciclos, condições

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

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

Variáveis Compostas. Vanessa Braganholo

Variáveis Compostas. Vanessa Braganholo Variáveis Compostas Vanessa Braganholo vanessa@ic.uff.br Aula de hoje } Veremos os diferentes tipos de variáveis compostas (arrays) } Com uma dimensão (vetores) } Com duas ou mais dimensões (matrizes)

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

Desenho de uma matriz de retângulos Serve de base para o exercício das cores

Desenho de uma matriz de retângulos Serve de base para o exercício das cores Desenho de uma matriz de retângulos Serve de base para o exercício das cores Leandro Tonietto Processamento Gráfico - Unisinos ltonietto@unisinos.br http://professor.unisinos.br/ltonietto 19-Mar-2014 Leandro

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

Algoritmos e Programação

Algoritmos e Programação Algoritmos e Programação Aula 7 Vetores Profa. Marina Gomes marinagomes@unipampa.edu.br 19/05/2017 Engenharia de Computação - Unipampa 1 Motivação Problema: Leia as notas de uma turma de cinco estudantes

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

Laboratório de Programação II

Laboratório de Programação II Laboratório de Programação II Aula 02 Prof. Diemesleno Souza Carvalho diemesleno@iftm.edu.br http://www.diemesleno.com.br Na aula passada vimos... Na aula passada vimos... 01 Introdução à linguagem C;

Leia mais

Unidade 8: Sobrecarga de Funções e Vetores e Matrizes (Arrays) Prof. Daniel Caetano

Unidade 8: Sobrecarga de Funções e Vetores e Matrizes (Arrays) Prof. Daniel Caetano Linguagem de Programação Atualização: // Unidade 8: Sobrecarga de Funções e Vetores e Matrizes (Arrays) Prof. Daniel Caetano Objetivo: Uso de sobrecarga de funções para criação de código intuitivo e uso

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

Computação II Orientação a Objetos

Computação II Orientação a Objetos Computação II Orientação a Objetos Fabio Mascarenhas - 2016.2 http://www.dcc.ufrj.br/~fabiom/java Comunicação framework vs. jogo Toda a comunicação do framework com a jogo se dá através de métodos O jogo

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

CI208 - Programação de Computadores. Aula 24: Arrays. Prof. MSc. Diego Roberto Antunes

CI208 - Programação de Computadores. Aula 24: Arrays. Prof. MSc. Diego Roberto Antunes CI208 - Programação de Computadores Aula 24: Arrays Prof. MSc. Diego Roberto Antunes diegor@inf.ufpr.br www.inf.ufpr.br/diegor Universidade Federal do Paraná Setor de Ciências Exatas Departamento de Informática

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

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

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

Computação eletrônica:

Computação eletrônica: Computação eletrônica: Gurvan Huiban ghuiban@cin.ufpe.br Plano de aula 1 Vetores unidimensionais 2 Vetores multidimensionais 3 Vetores e funções 4 Cadeia de caracteres Vetores unidimensionais 1 Vetores

Leia mais

%0/"1&2$&$3*$34+/!+&.05#!.62!+& #*+!&,&'-&"$.$"#/$&

%0/1&2$&$3*$34+/!+&.05#!.62!+& #*+!&,&'-&$.$#/$& !"#$%'()( %0/"12$$3*$34+/!+.05#!.62!+ #*+!,'-"$.$"#/$ 43#3)56(76'()( 48039:/;?8#/" @0/A$""/0; BC-2BBDEF!+GEGFFBEHIG #$.+)789:;?@ 8

Leia mais

Introdução a Programação de Jogos

Introdução a Programação de Jogos Introdução a Programação de Jogos Aula 10 Introdução a PlayLib Edirlei Soares de Lima Biblioteca Gráfica - PlayLib Conjunto de funções para criação e manipulação de formas geométricas,

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

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

Arquitetura Von Neumann Dados e instruções são obtidos da mesma forma, simplificando o desenho do microprocessador;

Arquitetura Von Neumann Dados e instruções são obtidos da mesma forma, simplificando o desenho do microprocessador; 1 Microprocessador Um microprocessador é um circuito eletrônico capaz de realizar diversas tarefas conforme os comandos específicos. Para isso ele deve ler esses comandos da memória de programa (ROM) e

Leia mais

Programação Básica em Arduino Aula 5

Programação Básica em Arduino Aula 5 Programação Básica em Arduino Aula 5 Execução: Laboratório de Automação e Robótica Móvel O objetivo da modularização é separar o programa em módulos funcionais dividir para conquistar. Um módulo pode ser

Leia mais

Programação 2012/2013 1º Semestre MEEC Laboratório 2 Semana de 22 de Outubro de 2012

Programação 2012/2013 1º Semestre MEEC Laboratório 2 Semana de 22 de Outubro de 2012 Programação 2012/2013 1º Semestre MEEC Laboratório 2 Semana de 22 de Outubro de 2012 1. Implemente os programas cujos fluxogramas foram definidos na aula de problemas da semana passada: Exercício 7- Calculo

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

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

Arduino e Processing. Professor: Paulo Marcos Trentin Escola CDI Videira

Arduino e Processing. Professor: Paulo Marcos Trentin Escola CDI Videira Arduino e Processing Professor: Paulo Marcos Trentin Escola CDI Videira O que é Processing? É uma linguagem criada em 2001 por Casey Reas e Benjamin Fry, na época estudantes do MIT. Seu objetivo é server

Leia mais

Oficina de Introdução de Programação usando Linguagem Python Prof. Ms. Perini

Oficina de Introdução de Programação usando Linguagem Python Prof. Ms. Perini Oficina de Introdução de Programação usando Linguagem Python Prof. Ms. Perini Apresentação do Professor Professor: José Carlos Perini E-mail: jose.perini@metrocamp.edu.br Blog: http://profperini.com Formação

Leia mais

Variáveis Compostas. Leonardo Gresta Paulino Murta.

Variáveis Compostas. Leonardo Gresta Paulino Murta. Variáveis Compostas Leonardo Gresta Paulino Murta leomurta@ic.uff.br Aula de hoje Veremos os diferentes tipos de variáveis compostas (arrays) Com uma dimensão (vetores) Com duas ou mais dimensões (matrizes)

Leia mais

WORKSHOP FUNDAMENTOS DO UNITY 3D. WorkShop Fundamentos de UNITY 3D João Pires

WORKSHOP FUNDAMENTOS DO UNITY 3D. WorkShop Fundamentos de UNITY 3D João Pires WORKSHOP FUNDAMENTOS DO UNITY 3D WORKSHOP 25.03.13 BEM-VINDOS AGENDA Início Apresentação Indústria Interface e conhecimento básico do Unity 3D Unity Script (Javascript) Keyframing Animation Unity GUI Desenvolvimento

Leia mais

ESTRUTURA DE DADOS LAÇOS E VETORES

ESTRUTURA DE DADOS LAÇOS E VETORES ESTRUTURA DE DADOS LAÇOS E VETORES Prof. Dr. Daniel Caetano 2014-2 Objetivos Recordar os laços de repetição Conhecer os vetores Compreender o uso de vetores Material de Estudo Material Notas de Aula Apresentação

Leia mais

Criação de Animação com Sprite com HTML CANVAS

Criação de Animação com Sprite com HTML CANVAS Criação de Animação com Sprite com HTML CANVAS Para executar estes exemplos utilizaremos nosso navegador, por causa dos arquivos de imagem. Exemplo 2 Sprites A sequência de Sprite utilizada neste exemplo

Leia mais

Extensão de classes em Java - noções elementares - PCO / PPO Departamento de Informática Faculdade de Ciências da Universidade de Lisboa

Extensão de classes em Java - noções elementares - PCO / PPO Departamento de Informática Faculdade de Ciências da Universidade de Lisboa Extensão de classes em Java - noções elementares - PCO / PPO Departamento de Informática Faculdade de Ciências da Universidade de Lisboa Conteúdo Noções elementares de extensão de classes Exemplo: classe

Leia mais

/* * p_feelinks_teia * Para o Processing * Comunicação NET SERVER * Grupo dos Cotas */

/* * p_feelinks_teia * Para o Processing * Comunicação NET SERVER * Grupo dos Cotas */ /* * p_feelinks_teia * Para o Processing * Comunicação NET SERVER * Grupo dos Cotas */ // To enter/leave fullscreen mode: Alt+Enter, Ctrl+F // ESC: leave fullscreen / exit application // importa a class

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

JAVA NETBEANS Aula PGOO Prof. Daniela Pires Conteúdo

JAVA NETBEANS Aula PGOO Prof. Daniela Pires Conteúdo Conteúdo Array... 2 Primeira:... 2 Segunda:... 2 DECLARANDO VÁRIOS ARRAYS... 3 Descobrindo o tamanho de um array... 3 Inicializando um array... 3 Percorrendo Arrays... 4 Arrays multidimensionais... 5 Novo

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

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

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

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

Vetores. IFSC/Florianópolis - Programação Orientada a Objetos + POO - prof. Herval Daminelli

Vetores. IFSC/Florianópolis - Programação Orientada a Objetos + POO - prof. Herval Daminelli Vetores De modo geral, em linguagem de programação, vetores ou arrays são estruturas de dados que permitem que uma mesma variável possa armazenar mais de um valor; Em Java, vetores são coleções de dados,

Leia mais

Agenda. O que é um array. Declaração de um array. Instanciação de um array. Acessando os elementos de um array. O tamanho de um array (length)

Agenda. O que é um array. Declaração de um array. Instanciação de um array. Acessando os elementos de um array. O tamanho de um array (length) Arrays em Java 1 Agenda O que é um array Declaração de um array Instanciação de um array Acessando os elementos de um array O tamanho de um array (length) Arrays multi-dimensionais 2 O que é um Array?

Leia mais

Variáveis Compostas. Leonardo Gresta Paulino Murta.

Variáveis Compostas. Leonardo Gresta Paulino Murta. Variáveis Compostas Leonardo Gresta Paulino Murta leomurta@ic.uff.br Aula de hoje Veremos os diferentes

Leia mais

Introdução a classes e objetos. Copyright 2006 by Pearson Education

Introdução a classes e objetos. Copyright 2006 by Pearson Education 3 Introdução a classes e objetos 3.1 Introdução Programas do Capítulo 2 Todas as instruções estavam localizadas na função main. Em geral Os programas consistirão Na função main e Em uma ou mais classes

Leia mais

Pedro Vasconcelos DCC/FCUP. Programação Funcional 11 a Aula Gráficos usando Gloss

Pedro Vasconcelos DCC/FCUP. Programação Funcional 11 a Aula Gráficos usando Gloss Programação Funcional 11 a Aula Gráficos usando Gloss Pedro Vasconcelos DCC/FCUP 2014 A biblioteca Gloss Para fazer desenhos, animações, simulações e jogos 2D; Simples: pensada para ensino de programação;

Leia mais

LINGUAGEM C: FUNÇÕES FUNÇÃO 04/07/2017. Funções são blocos de código que podem ser nomeados e chamados de dentro de um programa.

LINGUAGEM C: FUNÇÕES FUNÇÃO 04/07/2017. Funções são blocos de código que podem ser nomeados e chamados de dentro de um programa. LINGUAGEM C: FUNÇÕES Prof. André Backes FUNÇÃO Funções são blocos de código que podem ser nomeados e chamados de dentro de um programa. printf(): função que escreve na tela scanf(): função que lê o teclado

Leia mais

Unidade 12: Estrutura de Repetição Simples Prof. Daniel Caetano

Unidade 12: Estrutura de Repetição Simples Prof. Daniel Caetano Lógica de Programação 1 Unidade 12: Estrutura de Repetição Simples Prof. Daniel Caetano Objetivo: Realizando decisões de repetição simples no código de programação. Bibliografia: ASCENCIO, 2007; MEDINA,

Leia mais

Computação 1 - Python Aula 8 - Teórica: Estrutura de Repetição : for 1/ 10

Computação 1 - Python Aula 8 - Teórica: Estrutura de Repetição : for 1/ 10 Computação 1 - Python Aula 8 - Teórica: Estrutura de Repetição : for 1/ 10 Estrutura de Repetição while Estrutura que permite a repetição de um conjunto de comandos. Até o momento vimos o while: while

Leia mais

10 a Aula - Operadores de Molde ( Casting ). Atribuição de Memória. Ponteiros. Enumerados. Mestrado em Engenharia Física Tecnológica

10 a Aula - Operadores de Molde ( Casting ). Atribuição de Memória. Ponteiros. Enumerados. Mestrado em Engenharia Física Tecnológica 10 a Aula - Operadores de Molde ( Casting ). Atribuição de Memória. Ponteiros. Enumerados. Programação Mestrado em Engenharia Física Tecnológica Samuel M. Eleutério sme@tecnico.ulisboa.pt Departamento

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

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

Programação: Vetores

Programação: Vetores Programação de Computadores I Aula 09 Programação: Vetores José Romildo Malaquias Departamento de Computação Universidade Federal de Ouro Preto 2011-1 1/62 Motivação Problema Faça um programa que leia

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

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

Introdução à Programação C

Introdução à Programação C Introdução à Programação C Fabio Mascarenhas - 2014.2 http://www.dcc.ufrj.br/~fabiom/introc Vetores Para vários problemas precisamos de uma maneira de representar uma sequência de valores com um número

Leia mais

Estruturas de Condição, Iteração, Arrays e Enumareção

Estruturas de Condição, Iteração, Arrays e Enumareção Estruturas de Condição, Iteração, Arrays e Enumareção Linguagem de Programação III Mauro Lopes Carvalho Silva Professor EBTT DAI Departamento Acadêmico de Informática Campus Monte Castelo Instituto Federal

Leia mais

PROGRAMAÇÃO PARA INTERNET RICA FUNDAMENTOS DO CSS PARTE II

PROGRAMAÇÃO PARA INTERNET RICA FUNDAMENTOS DO CSS PARTE II PROGRAMAÇÃO PARA INTERNET RICA FUNDAMENTOS DO CSS PARTE II Prof. Dr. Daniel Caetano 2012-1 Objetivos Apresentar o CSS como ferramenta de layout de página Capacitar para o posicionamento de elementos com

Leia mais

Array em Java. Figura 1 - Exemplo de um array de inteiros

Array em Java. Figura 1 - Exemplo de um array de inteiros Array em Java 1. Objetivos Nesta lição, abordaremos Array em Java. Primeiro, definiremos o que é array e, então, discutiremos como declará-los e usá-los. Ao final desta lição, o estudante será capaz de:

Leia mais

Vetores Unimensionais

Vetores Unimensionais Vetores Unimensionais Objetivos Entender a importância e a necessidade do uso de Vetores Definição de Manipulação de Vetores Inserir elementos em um vetor (usando laços ou não) Imprimir elementos de um

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

Jogo do NEEC. Primeiramente, criamos uma nova Actividade. File > New > Class

Jogo do NEEC. Primeiramente, criamos uma nova Actividade. File > New > Class Jogo do NEEC Jogo do NEEC Primeiramente, criamos uma nova Actividade File > New > Class Source folder: JogoDoNEEC/src Package: org.neecist.jogodoneec Name: JogoDoNEEC Superclass: android.app.activity Browse

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

Centro Universitário Franciscano Curso de Sistemas de Informação Disciplina de algoritmos e programação II. Ponteiros

Centro Universitário Franciscano Curso de Sistemas de Informação Disciplina de algoritmos e programação II. Ponteiros Centro Universitário Franciscano Curso de Sistemas de Informação Disciplina de algoritmos e programação II Ponteiros Profa.: Simone Ceolin Slides (Prof.Tiago Rios da Rocha) Primeiro Semestre 2011 Sumário

Leia 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

Nomes, Amarração, Verificação de Tipos, e Escopo

Nomes, Amarração, Verificação de Tipos, e Escopo 5 Nomes, Amarração, Verificação de Tipos, e Escopo Concepts of Programming Languages, 5/e Robert W. Sebesta Agenda Objetivo desta aula: Introduzir os principais aspectos semânticos de variáveis Palavras-chave

Leia mais

Oficina de Programação utilizando a plataforma Arduino

Oficina de Programação utilizando a plataforma Arduino Oficina de Programação utilizando a plataforma Arduino Bianca Alessandra Visineski Alberton bi.alberton@gmail.com Paulo Nesello Künzel kruger paulo@hotmail.com Programa de Educação Tutorial Computando

Leia mais

Arrays (Vetores) Arrays (Vetores) 28/04/ Índices. profs. } Ex1: Se eu preciso manipular 100 nomes de pessoas ao mesmo tempo... é melhor...

Arrays (Vetores) Arrays (Vetores) 28/04/ Índices. profs. } Ex1: Se eu preciso manipular 100 nomes de pessoas ao mesmo tempo... é melhor... Arrays (Vetores) Ex1: Se eu preciso manipular 100 nomes de pessoas ao mesmo tempo... é melhor... Declarar 100 variáveis (1 para cada pessoa)... ou Declarar apenas 1 variável(um vetor com 100 nomes)? Ex2:

Leia mais

Programação I Funções. Prof. Carlos Alberto

Programação I Funções. Prof. Carlos Alberto Programação I Funções Prof. Carlos Alberto carlos.batista@facape.br carlos36_batista@yahoo.com.br Funções Funções são blocos de códigos que podem ser nomeados e chamados de dentro de um programa; Funções

Leia mais

Computação e Programação

Computação e Programação Computação e Programação MEMec, LEAN - 1º Semestre 2015-2016 Aula Teórica 22 Introdução a linguagem compilada C (2) Structs Ponteiros Arrays D.E.M. Área Científica de Controlo Automação e Informática Industrial

Leia mais

LINGUAGEM C: FUNÇÕES FUNÇÃO 08/01/2018. Funções são blocos de código que podem ser nomeados e chamados de dentro de um programa.

LINGUAGEM C: FUNÇÕES FUNÇÃO 08/01/2018. Funções são blocos de código que podem ser nomeados e chamados de dentro de um programa. LINGUAGEM C: FUNÇÕES Prof. André Backes FUNÇÃO Funções são blocos de código que podem ser nomeados e chamados de dentro de um programa. printf(): função que escreve na tela scanf(): função que lê o teclado

Leia mais

Técnicas de Programação II

Técnicas de Programação II Técnicas de Programação II Aula 04 Arrays Edirlei Soares de Lima Arrays Array é um mecanismo que nos permite armazenar um conjunto de valores na memória do computador. Em Java,

Leia mais

PROGRAMAÇÃO ORIENTADA A OBJETOS. Aula 3- Desenvolvendo Interfaces Mais Ricas

PROGRAMAÇÃO ORIENTADA A OBJETOS. Aula 3- Desenvolvendo Interfaces Mais Ricas Aula 3- Desenvolvendo Interfaces Mais Ricas Conteúdo Programático desta aula Manipular de Fontes, cursores, bordas, cores de fontes e cores de fundos Gerenciar interfaces com menus e caixas de diálogos

Leia mais

Introdução ao Arduino ESCOLA DE ARTES VISUAIS DO PARQUE LAGE. Núcleo de Arte e Tecnologia. julio lucio martin. Aula 07

Introdução ao Arduino ESCOLA DE ARTES VISUAIS DO PARQUE LAGE. Núcleo de Arte e Tecnologia. julio lucio martin. Aula 07 Introdução ao Arduino ESCOLA DE ARTES VISUAIS DO PARQUE LAGE Núcleo de Arte e Tecnologia julio lucio martin Aula 07 O que vamos entender? sensor temperatura LM35 No datasheet do sensor vemos a gráfica

Leia mais

Revisão C++ - Parte 1

Revisão C++ - Parte 1 Revisão C++ - Parte 1 Prof. Gustavo Leitão Campus Natal Central Disciplina Programação para Ambiente de Redes 5/3/2010 Objetivo da Aula 5/3/2010 5/3/2010 OBJETIVO DA AULA Revisar os principais comandos

Leia mais

1 Da aula teórica ao Java

1 Da aula teórica ao Java Universidade Federal do ABC Bacharelado em Ciência da Computação Processamento da Informação - Prof. Fabrício Olivetti de França Guia de tradução entre Java e outras linguagens 1 Da aula teórica ao Java

Leia mais