Introdução à Programação Apresentação da Disciplina

Propaganda
Bruno C. de Paula
Chamada a funções, variáveis e
criação de funções
Exercícios de Fixação
2º Semestre 2009 > PUCPR > Design Digital
Exercícios
31/05/2017
2
Exercício 01
Indique:
- quantos parâmetros cada
função recebe;
- se possui ou não um retorno;
- exemplo de chamada à função.
31/05/2017
3
a)
void somaTodos(int a, int b, int c, int d) {
return a+b+c+d;
}
31/05/2017
4
a) Resposta Exemplo
int somaTodos(int a, int b, int c, int d) {
return a+b+c+d;
}
Parâmetros: 4 (a, b, c e d)
Possui retorno;
Exemplo de chamada:
int x = somaTodos(1,2,3,4);
31/05/2017
5
b)
void exibeMensagem(String msg) {
PFont f = createFont("",30);
textAlign(CENTER);
textFont(f);
text(msg, width/2,height/2);
}
31/05/2017
6
c)
void salvarESair(String arquivo) {
save(arquivo);
exit();
}
31/05/2017
7
d)
String obterHorarioAtual() {
int hora = hour();
int minuto = minute();
String horarioAtual = nf(hora,2) + ":" + nf(minuto,2);
return horarioAtual;
}
31/05/2017
8
Exercício 02
Execute o teste de mesa para
cada um dos fragmentos de
código a seguir.
31/05/2017
9
Objetivo do exercício
Revisar a técnica de teste de mesa;
Entender a diferença entre a definição
e a chamada a uma função.
31/05/2017
10
Letra a)
float c(float a, float b, float c, float d) {
float x = sq(a-b);
float y = sq(c-d);
return x + y;
}
void setup() {
float a = c(1,2,3,4);
float b = c(a,2,a,3);
float c = c(2,b,b,2);
}
31/05/2017
11
Dicas
sq(a) é a mesma coisa que a*a;
A função setup é chamada
automaticamente.
31/05/2017
12
Resposta da letra A
c.a
c.b
c.c
c.d
c.x
c.y
setup setup setup
.a
.b
.c
1.0
2.0
3.0
4.0
1.0
1.0
2.0
2.0
1.0
2.0
3.0
0
1.0
2.0
1.0
31/05/2017
1.0
2.0
13
Letra b)
int n(int a, int b, int c) {
int x = a % 2;
int y = b % 3;
int z = c % 4;
return x + y + z;
}
void setup() {
int a = n(1,2,3);
int b = n(4,5,6);
int c = n(7,8,9);
int d = n(10,11,12);
}
31/05/2017
14
Dica para resolver a letra b)
35 % 3 é igual a 2
– 35 dividido por 3 é igual a 11
– 3 * 11 = 33
– resto é 2.
3 % 10 é igual a 3
– 3 dividido por 10 é igual a 0
–3 * 0 = 0
– resto é 3.
31/05/2017
15
Comportamento periódico do
operador %
x
X%3
0
0
1
1
2
2
3
0
4
1
5
2
6
0
31/05/2017
16
Exercício 03
Recrie seu robô dividindo seu código em funções.
31/05/2017
17
Exercício 04
Incremente o jogo de tiro
fornecido.
Implementar, por exemplo:
- tela de abertura e game over;
- iluminação;
- texturas;
- inimigos;
- modelos.
31/05/2017
18
Download