Bruno C. de Paula Introdução à Programação usando Processing Programação Gráfica 2D Exercícios de Revisão para Prova 2º Semestre 2009 > PUCPR > Design Digital Exercício 01 – Indique corretamente o tipo de dado A - ( ) 100000 B - ( ) “123.5” C - ( ) 'c' D - ( ) “int” E - ( ) 0.5 F - ( ) true 14/10/09 (a) – Lógico (b) – Inteiro (c) – Ponto flutuante (d) – Caractere (e) - String 2 Exercício 02 – Em um programa vazio, para cada uma das variáveis definidas, marque com um X qual (ou quais) dos comandos pode seguir à definição da variável (A) – int a; ( ) a=1; ( ) a=1.0; ( ) a = a * 1; 14/10/09 3 (B) – String n; ( ) n = n + 1; ( ) n=Bruno; ( ) n = "Bruno"; 14/10/09 4 (C) – float h; ( ) h = 1.2; ( ) h = 1000; ( ) h = "h"; ( ) h = 1000*2; 14/10/09 5 (D) – boolean inter; ( ) inter = 1>2; ( ) inter = “true”; ( ) inter = 2 * 3; ( ) inter = int(2*3); 14/10/09 6 Exercício 03 – Ordene o código a seguir, de modo que o resultado final seja a exibição do número 5 println(xy); xy = mn + ab; mn = xy / 10; ab = xy % 10; xy = 23; int mn, ab, xy; 14/10/09 7 Exercício 04 – TESTE DE MESA Determine o resultado na variável a e na variável s após a execução do algoritmo a seguir int a = 1234; String s = "-"; s = s + (a % 10); a = a / 10; s = s + (a % 10); a = a / 10; s = s + (a % 10); a = a / 10; 14/10/09 s = s + (a % 10); 8 Exercício 05 – Identifique, no código a seguir: o nome, a utilidade e o número de parâmetros de cada função chamada size(300,300); translate(width/2, height/2); beginShape(); vertex(-100,-100); vertex(100,-100); vertex(0,100); endShape(CLOSE); 14/10/09 9 Exercício 06 – A partir do desenho fornecido e do esqueleto de código, complete o código que gera o desenho a) size(200,200); int x = ??1??; int y = ??2??; translate(width/2,height/2); line(0,0,y,0); rotate(PI/x); line(0,0,y*2,0); rotate(PI/x); line(0,0,y*4,0); rotate(PI/x); line(0,0,y*2,0); rotate(PI/x); 14/10/09 line(0,0,y,0); 10 b) size(200,200); background(255); translate(??1??, ??2??); arc(0,0,??3??,??4??,0, ??5??); ellipse(-width/??6??,0, 10, 10); ellipse(+width/??6??,0,10,10); 14/10/09 11 c) size(200,200); translate(width/2,height/2); ellipse(0,0,??1??,??2??); line(0,0,0,-??3??); rotate(PI/??4??); scale(0.5); line(0,0,0,-??3??); 14/10/09 12 Exercício 07 – A partir do código a seguir, gere o desenho a) size(200,200); noFill(); translate(width/2,height/2); ellipse(0,0,100,100); rectMode(CENTER); rect(0,0,100,100); beginShape(); vertex(0,100); vertex(100,0); vertex(0,-100); 14/10/09 vertex(-100,0); endShape(CLOSE); 13 Em sua prova você receberá algo semelhante a isto para desenhar sua resposta: 14/10/09 14 Exercício 08 – Indique: - Quantos parâmetros cada função recebe, - Se possui ou não um retorno, - Exemplo de chamada 14/10/09 15 a) void desenharLosango(float s) { beginShape(); vertex(0,s); vertex(s,0); vertex(0,-s); vertex(-s,0); endShape(CLOSE); } 14/10/09 16 b) void sortearTriangulo(float r1, float r2) { float x = random(r1); float y = random(r2); triangle (x, y, x+100, y-100, x-100, y-100); } 14/10/09 17 c) int obterSegundosHora() { int m = minute(); int s = second(); return m*60 + s; } 14/10/09 18 Exercício 09 – Faça o teste de mesa para o fragmento de código a seguir 14/10/09 19 int sd(int d) { int a = d % 10; a) return a; } void setup() { int x = 524; int y = sd(x) + sd(x/10) + sd(x/100); println(y); } 14/10/09 20 String func(String a, String b) b) { return (b + a + a + b); } void setup() { String s = func(" a ",func(" b "," c ")); println(s); } 14/10/09 21 Exercício 10 – Não há! Refaça o número 1 do exercício F07. Com certeza um dos itens deste exercício será usado na prova 14/10/09 22