Bruno C. de Paula Introdução à Programação usando Processing Programação Gráfica 2D Chamada a funções, variáveis e criação de funções Exercício Funções Recursivas Infinitas 2º Semestre 2009 > PUCPR > Design Digital Revisão Ver tópico 17 – Funções Recursivas 14/10/09 2 Funções Recursivas Funções que chamam a si próprias; void recursivo() { – //... – recurviso(); –} 14/10/09 3 Funções Recursivas Recursivas infinitas chamam a si próprias infinitas vezes; 14/10/09 4 Utilidade Criar estruturas complexas que possuem partes semelhantes que se repetem: – Estrelas; – Flores; – Polígonos; – Azulejos; – Espirais; – Inspirais. 14/10/09 5 A natureza é rica em estruturas recursivas 14/10/09 6 Existem figuras que só podem ser criadas via código 14/10/09 7 Acompanhando uma função recursiva passo-a-passo // Esta função salva um arquivo de imagem no formato png void salvarPasso() { // Seleciona o arquivo para salvar a imagem String arquivo = selectOutput(); // Salva o arquivo no formato png. save(arquivo+".png"); } void funcao() { // Passo a ser repetido salvarPasso(); funcao(); } 14/10/09 8 Exercício 01 Crie o código que gera uma imagem semelhante a cada uma das imagens a seguir; 14/10/09 9 a) Figura concêntrica 14/10/09 10 b) Figura concêntrica 14/10/09 11 c) Figura concêntrica 14/10/09 12 d) Figura composta 14/10/09 13 e) Figura composta 14/10/09 14 f) Polígono regular Dica: soma dos ângulos externos = 2*PI 14/10/09 15 g) Polígono regular Dica: soma dos ângulos externos = 2*PI 14/10/09 16 h) Estrela 14/10/09 17 i) Estrela 14/10/09 18 j) Espiral 14/10/09 19 k) Espiral 14/10/09 20 l) Espiral 14/10/09 21 m) Espiral 14/10/09 22 Exercício 02 Crie um programa que utilize funções recursivas e desenhe um caracol; 14/10/09 23 Exercício 03 Crie um programa que pergunte ao usuário o número de lados de um polígono regular que ele deseja desenhar e desenhe este polígono; Dica: veja a seção 16 (Entrada de Dados) 14/10/09 24 Exercício 04 Crie um programa que utilize funções recursivas e gere um desenho que seja constituído por figuras compostas; Experimente realizar alterações na cor de cada figura que compõe a figura principal. 14/10/09 25