Mais um blog inútil.

7min

Fevereiro 13, 2015

Arvorezinha em R

Arquivado em: arvorezinha, coding — joli @ 12:03

Viva,

Para celebrarem o Carnaval em força, e também porque me deram acesso ;) resolvi trazer-vos uma implementação da arvorezinha em R.
Para quem não sabe, e deixando de lado pormenores técnicos que não interessam nem ao menino jesus, R foi criado por um Cavalheiro no cu do mundo. Sim, na Nova Zelândia!

Apraz-me dizer que R é aprovada pelo RMS, pelo que o seu uso não interfere com a liberdade das pessoas.

Sem mais delonga deixem-me brindar-vos com a minha implementação.

littletree <- function(len) {
 for(i in 1:len) {
 y <- rep(' ',len-i)
 z <- paste(c(y, rep('*',(2*i)-1)), sep="", collapse = "")
 print(z)
 }

 lll <- (len * 2) - 1;
 empty <- ifelse(len %% 2 == 0, (lll/4)+1, (lll/4))
 stern <- ifelse(len %% 2 == 0, (lll/2), (lll/2)+1)
 for(x in 1:as.integer(len/2)) {
 y <- rep(' ', empty)
 z <- paste(c(y, rep('#',stern)), sep="", collapse = "")
 print(z)
 }
}

Como ver uma arvorezinha?

  • Instalar o R (O, pois refiro-me ao ambiente e não à linguagem de programação)
  • Fazer source da função.
  • Executar a função, passando como parâmetro a altura.

Nota: A implementação tem um bug quando a árvore tem altura 1. Fica para o caro leitor como exercício a sua correção.

Muito obrigado e um grande bem haja!