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