Bruno C. de Paula
Introdução à Programação
usando Processing
Programação Gráfica 2D
Estrutura de Seleção
Exercícios de Revisão
Estrutura de Seleção
2º Semestre 2009 > PUCPR > Design Digital
Revisão
Estrutura de Seleção Simples
if(condição) {
Primeira instrução a ser executada;
Segunda instrução a ser executada;
...
}
Se a condição for verdadeira, as instruções
do fluxo principal são executadas;
2
Revisão
Condição
Condição pode ser verdadeira ou falsa;
Exemplo:
int peso = 100;
if(peso>100) {
println("Você está com 3 dígitos, Cuidado!");
}
// No exemplo acima, só se o peso for maior
que 100 a mensagem é exibida.
3
Revisão
Estrutura de Seleção Composta
if(condição) {
Fluxo principal;
Primeira instrução a ser executada;
Segunda instrução a ser executada;
} else {
Fluxo alternativo;
Primeira instrução a ser executada;
Segunda instrução a ser executada;
}
Se a condição for verdadeira, as instruções do fluxo
principal são executadas, caso contrário, o fluxo
alternativo é executado.
4
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.
5
Exercício 1, letra a
String nome = "Admin";
if(nome=="admin") {
println("Olá, Administrador!");
}
Condição:
Bloco principal:
Bloco alternativo:
Bloco executado:
6
Exercício 1, letra b
String nome = "admin";
String senha = "1234";
if(nome=="admin" && senha=="1234") {
println("Olá, Administrador!");
} else {
println("Acesso negado!");
}
Condição:
Bloco principal:
Bloco alternativo:
Bloco executado:
7
Exercício 1, letra c
bool portaAberta = true;
bool janelaAberta = false;
if(portaAberta || janelaAberta) {
println("O alarme está tocando!");
}
Condição:
Bloco principal:
Bloco alternativo:
Bloco executado:
8
Exercício 2
O código a seguir exibe um objeto diferente
conforme o valor inicial dos parâmetros da
função criarFace;
Indique qual é o objeto gerado a partir dos
valores iniciais das variáveis;
9
Exercício 2, letra a
void criarFace(int rosto, int nariz) {
if(rosto==0) {
rect(10,10,80,80);
if(nariz==0) {
rect(40,40,20,20);
} else {
ellipse(50,50,10,5);
}
} else {
ellipse(50,50,90,90);
}
}
void setup () {
criarFace(0,0);
}
10
Exercício 2, letra b
void criarFace(int rosto, int nariz) {
if(rosto==0) {
rect(10,10,80,80);
if(nariz==0) {
rect(40,40,20,20);
} else {
ellipse(50,50,10,5);
}
} else {
ellipse(50,50,90,90);
}
}
void setup () {
criarFace(0,1);
}
11
Exercício 2, letra c
void criarFace(int rosto, int nariz) {
if(rosto==0) {
rect(10,10,80,80);
if(nariz==0) {
rect(40,40,20,20);
} else {
ellipse(50,50,10,5);
}
} else {
ellipse(50,50,90,90);
}
}
void setup () {
criarFace(1,0);
}
12
Exercício 2, letra d
void criarFace(int rosto, int nariz) {
if(rosto==0) {
rect(10,10,80,80);
if(nariz==0) {
rect(40,40,20,20);
} else {
ellipse(50,50,10,5);
}
} else {
ellipse(50,50,90,90);
}
}
void setup () {
criarFace(1,1);
}
13
Exercício 2, letra e
void criarFace(int rosto, int nariz) {
if(rosto==0) {
rect(10,10,80,80);
if(nariz==0) {
rect(40,40,20,20);
} else {
ellipse(50,50,10,5);
}
} else {
ellipse(50,50,90,90);
}
}
void setup () {
criarFace(2,2);
}
14
Exercício 3
Baseado no código fornecido no
exercício anterior, crie uma função que
recebe como parâmetros:
Rosto;
Olhos;
Óculos;
Nariz;
Boca;
Bigode;
Dependendo dos parâmetros passados,
uma face diferente é construída.
15
Exercício 4
Crie a seguinte simulação:
Um personagem anda da esquerda
para a direita;
Ao chegar no fim da tela, ele volta
para o início;
Uma porta, no centro da tela, se
abre e se fecha de 5 em 5
segundos;
Se a porta estiver fechada, o
personagem não passa.
Se estiver aberta, ele passa.
16