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 05/11/2015 2 Exercício 01 Indique: - quantos parâmetros cada função recebe; - se possui ou não um retorno; - exemplo de chamada à função. 05/11/2015 3 a) void somaTodos(int a, int b, int c, int d) { return a+b+c+d; } 05/11/2015 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); 05/11/2015 5 b) void exibeMensagem(String msg) { PFont f = createFont("",30); textAlign(CENTER); textFont(f); text(msg, width/2,height/2); } 05/11/2015 6 c) void salvarESair(String arquivo) { save(arquivo); exit(); } 05/11/2015 7 d) String obterHorarioAtual() { int hora = hour(); int minuto = minute(); String horarioAtual = nf(hora,2) + ":" + nf(minuto,2); return horarioAtual; } 05/11/2015 8 Exercício 02 Execute o teste de mesa para cada um dos fragmentos de código a seguir. 05/11/2015 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. 05/11/2015 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); } 05/11/2015 11 Dicas sq(a) é a mesma coisa que a*a; A função setup é chamada automaticamente. 05/11/2015 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 05/11/2015 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); } 05/11/2015 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. 05/11/2015 15 Comportamento periódico do operador % x X%3 0 0 1 1 2 2 3 0 4 1 5 2 6 0 05/11/2015 16 Exercício 03 Recrie seu robô dividindo seu código em funções. 05/11/2015 17 Exercício 04 Incremente o jogo de tiro fornecido. Implementar, por exemplo: - tela de abertura e game over; - iluminação; - texturas; - inimigos; - modelos. 05/11/2015 18