Bruno C. de Paula Introdução à Programação usando Processing Programação Gráfica 2D Estrutura de Seleção Exercício Estrutura de Seleção 2º Semestre 2009 > PUCPR > Design Digital Exercício 1 Cada um dos fragmentos de código a seguir apresenta uma estrutura de seleção; Identifique: Quais são as condições sendo testadas; Qual é o bloco principal; Qual é o bloco alternativo (se houver); Qual dos dois (principal, alternativo ou nenhum) blocos é executado. 2 Exercício 1, letra a int nota = 5; if(nota<7) println("Você está com nota baixa!"); Condição: Bloco principal: Bloco alternativo: Bloco executado: 3 Exercício 1, letra a Resposta int nota = 5; if(nota<7) println("Você está com nota baixa!"); Condição: nota menor que 7 Bloco principal: println("Você está com nota baixa!"); Bloco alternativo: não há; Bloco executado: principal. 4 Exercício 1, letra b int idade = 5; if(idade>=18) println("Você pode dirigir!"); Condição: Bloco principal: Bloco alternativo: Bloco executado: 5 Exercício 1, letra c boolean sol = true; boolean chuva = false; if(sol && chuva) println("Casamento de viúva"); Condição: Bloco principal: Bloco alternativo: Bloco executado: 6 Exercício 1, letra d float salario = 1000; float desconto = 0.3; salario = salario - salario * desconto; if(salario<=1000) println("Estagiário"); else println("Chefe"); Condição: Bloco principal: Bloco alternativo: Bloco executado: 7 Exercício 1, letra e float salario = 1600; float desconto = 0.3; salario = salario - salario * desconto; if(salario<=1000) println("Estagiário"); else println("Chefe"); Condição: Bloco principal: Bloco alternativo: Bloco executado: 8 Exercício 1, letra f float nota = 7; if(nota>=7) { println("Aprovado"); } else { println("Reprovado"); } Condição: Bloco principal: Bloco alternativo: Bloco executado: 9 Exercício 1, letra g float nota = 6.9; if(nota>=7) { println("Aprovado"); } else { println("Reprovado"); } Condição: Bloco principal: Bloco alternativo: Bloco executado: 10 Exercício 1, letra h float nota = 7.1; if(nota>=7) { println("Aprovado"); } else { println("Reprovado"); } Condição: Bloco principal: Bloco alternativo: Bloco executado: 11 Exercício 2 O código a seguir exibe um objeto diferente conforme o valor inicial das variáveis a, b e c e d; Indique qual é o objeto gerado a partir dos valores iniciais das variáveis; 12 Exercício 2, letra a int a=0, b=0, c=0, d=0; background(255); if(a==1) { fill(255,0,0); // Vermelho d = d + 1; } else { fill(0,255,0); // Verde } if(b==1) { ellipse(50,50,30,30); } else { rect(10,10,80,80); d = d + 1; } if(c==0) { line(0,0,100,100); d = d + 1; } else { line(100,0,0,100); } if(d>2) { fill(0,0,255); ellipse(50,50,10,10); } 13 Exercício 2, letra a, Resposta int a=0, b=0, c=0, d=0; background(255); if(a==1) { fill(255,0,0); // Vermelho d = d + 1; } else { fill(0,255,0); // Verde } if(b==1) { ellipse(50,50,30,30); } else { rect(10,10,80,80); d = d + 1; } if(c==0) { line(0,0,100,100); d = d + 1; } else { line(100,0,0,100); } if(d>2) { fill(0,0,255); ellipse(50,50,10,10); } 14 Exercício 2, letra b int a=1, b=0, c=0, d=0; background(255); if(a==1) { fill(255,0,0); // Vermelho d = d + 1; } else { fill(0,255,0); // Verde } if(b==1) { ellipse(50,50,30,30); } else { rect(10,10,80,80); d = d + 1; } if(c==0) { line(0,0,100,100); d = d + 1; } else { line(100,0,0,100); } if(d>2) { fill(0,0,255); ellipse(50,50,10,10); } 15 Exercício 2, letra c int a=1, b=1, c=1, d=0; background(255); if(a==1) { fill(255,0,0); // Vermelho d = d + 1; } else { fill(0,255,0); // Verde } if(b==1) { ellipse(50,50,30,30); } else { rect(10,10,80,80); d = d + 1; } if(c==0) { line(0,0,100,100); d = d + 1; } else { line(100,0,0,100); } if(d>2) { fill(0,0,255); ellipse(50,50,10,10); } 16 Exercício 2, letra d int a=0, b=2, c=3, d=4; background(255); if(a==1) { fill(255,0,0); // Vermelho d = d + 1; } else { fill(0,255,0); // Verde } if(b==1) { ellipse(50,50,30,30); } else { rect(10,10,80,80); d = d + 1; } if(c==0) { line(0,0,100,100); d = d + 1; } else { line(100,0,0,100); } if(d>2) { fill(0,0,255); ellipse(50,50,10,10); } 17 Exercício 3 Neste exercício você vai desenvolver diversas animações e controlar o fluxo destas animações usando estrutura de seleção; Para isso, você vai usar o comando if e vai criar variáveis para controlar a animação. 18 Exercício 3, letra a A elipse vai da posição inicial da tela até o centro. 19 Exercício 3, letra a, Resposta float px; void setup() { size(300,300); px = 0; } void draw() { background(0); ellipse(px, height/2, 10, 10); if(px<=150) { px = px + 5; } } 20 Exercício 3 B) A elipse faz um movimento na forma um quadrado (frente, baixo, trás, cima) pára no início; C) A elipse faz um movimento na forma um quadrado (frente, baixo, trás, cima) repete o movimento. de e de e 21 Exercício 4 Crie uma função que desenhe um sinaleiro; Esta função pode receber como parâmetro: 0 – Exibe o sinal de PARE (vermelho, superior); 1 – Exibe o sinal de Atenção (laranja, meio); 2 – Exibe o sinal de Passe (verde, abaixo); 22 Exercício 5 Faça um programa que utilize a função criada no exercício 4; Neste programa, um sinaleiro deve alternar suas cores conforme a passagem do tempo. 23 Exercício 6 Crie uma função que desenhe uma ponte suspensa; Esta função pode receber como parâmetro qual é a angulação da ponte; Dependendo da angulação, a ponte é desenhada levantada ou abaixada. 24 Exercício 7 Crie uma animação de um automóvel; Este automóvel deve percorrer um conjunto de ruas, voltar ao local inicial e refazer seu trajeto; 25 Exercício 8 Faça um programa que integre os exercícios de 4 até 7; Neste programa, um automóvel deve realizar um percurso, passando por uma ponte suspensa, e parando em um sinaleiro. 26