• Revista PROGRAMAR: Já está disponível a edição #53 da revista programar. Faz já o download aqui!

demon28

Quadrados recursivos

9 mensagens neste tópico

Boas pessoal,

Tenho uma questão, alguem sabe como ou alguma vez já fez uma figura usando quadrados recursivamente? Precisava fazerr quadrados usando recursão assim como a figura.

Se alguem poder ajudar-me agradecia bastante.

Figura:

quadrados.jpg

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Isso é uma simples passagem recursiva. Só tens de ter em mente em cada nível saber

- o ponto de origem do quadrado

      Parece pelas imagens ser o canto do quadrado do nível superior

- a largura do quadrado

      Parece pelas imagens ser metade da largura do quadrado do nível superior

- O número total de níveis, senão continua infinitivamente

      4 Imagens, logo 4 níveis

Já agora este tipo de imagens são factrais :thumbsup:

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

ya estive a ler sobre fractaism :thumbsup:

Aquilo é desenha um quadrado e depois desenha 4 quadrados na porta do quadrado que desenhou anteriormente com metade do tamanho e sempre assim.

Eu não estou a ver qual vai ser o meu caso base, o caso de paragem :S

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

O caso de paragem és tu que defines. Isto é, indicas o nível de profundidade que queres atingir. Para atingir o resultado das imagens seria profundidade 4.

Depois é ires actualizando o nível de profundidade conforme vais efectuando a recursão.

Imaginado que a função tem nome funDesenha

Na primeira vez irias dar como argumento o valor 0, indicando que seria o primeiro nível

funDesenha 0

* 0 < 4 -> Válido

* Desenha quadrado

* chama funDesenha (0+1)

funDesenha 1

* 0 < 4 -> Válido

* Desenha quadrado

* chama funDesenha (1+1)

funDesenha 2

...

funDesenha 4

* 4 < 4 Inválido

* pára sem fazer mais nada

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

humm... vou tentar fazer isso e depois posto dúvidas que tenha, thanks pelo help :thumbsup:

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Boas cá estou eu novamente,

Eu já consegui desenhar um unico quadrado recursivo mas não estou a conseguir desenhar os 4 quadrados cada um na ponta do anterior :S se poderes ajudar, imaginando que a funcao funDesenha recebe como parametro a profundidade, cordenada x, cordenada y, width e heigth.

Agradeço imenso a ajuda.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

A função funDesenha deve ser a mesma que a função que desenhaste o primeiro quadrado.

Só terás apenas uma função de desenhar quadrados, é para isso que serve a recursividade :)

Era esta a tua dúvida?

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

não, a minha dúvida era como desenhar os outros 4 quadrados nos locais correctos

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Olha acho que ja sei como fazer a cena que tinha dúvida, estou a fazer uns esquemas para ver as contas e ja posto a dizer se consegui. :)

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!


Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.


Entrar Agora