Mais um blog inútil.

Maio 16, 2010

Mais três arvorezinhas

Arquivado em: arvorezinha, coding, useless — falco @ 11:19

Em Bash:

#!/bin/bash

ramo="*";
tam="7";
i="1";

while [ $i -lt $tam ]; do
j="1";
while [ $j -lt $i ]; do
printf "$ramo"
j=$[$j+1]
done
printf "\n"
i=$[$i+1]
done

printf "\n\n"

Em Tea:

#!/home/diogo/Tea/tea-3.2.5/bin/tsh

#   Esta é uma arvorezinha escrita em Tea,
#   de acordo com o rfc da arvorezinha praticado
#   em http://www.blol.org/

#   version 0.1

#   This script can never fail!

define arvorezinha ""
define estrelinha "*"
define fiter 1

while { < $fiter 6 } {
define siter 0
while { < $siter $fiter } {
set! arvorezinha [str-cat $arvorezinha $estrelinha]
set! siter [+ $siter 1]
}
set! arvorezinha [str-cat $arvorezinha "\n"]
set! fiter [+ $fiter 1]
}

echo $arvorezinha

Em Tea, com POO

#!/home/diogo/Tea/tea-3.2.5/bin/tsh


#   Esta é uma arvorezinha escrita em Tea,
#   de acordo com o rfc da arvorezinha praticado
#   em http://www.blol.org/

#   version 0.2
#   Changes:
#	* now with an OOP paradigm



#   This script can never fail!



class LitleTree (
    _max_size
    _branch
)

method LitleTree constructor () {
    #Blol.org Arvorezinha RFC COMPLIANT
    set! _max_size 5
    set! _branch "*"
}

method LitleTree PleaseSaveSortelha () {
    echo "Por favor, salva a Sortelha!!!"
    echo "http://vamossalvarsortelha.blogspot.com/"
}

method LitleTree PlantLitleTree () {
    define small_tree
    set! small_tree ""
    define i 0

    while { < $i $_max_size  } {
	set! i [ + $i 1 ]
	define f 0
    	while { < $f $i } {
	    set! f [+ $f 1]
	    set! small_tree [str-cat $small_tree $_branch]
	}
	set! small_tree [str-cat $small_tree "\n"]
    }

    echo $small_tree
}




#serious business:
define litle_tree [ new LitleTree ]
$litle_tree PleaseSaveSortelha
echo "\n"
$litle_tree PlantLitleTree

Um comentário a “Mais três arvorezinhas”

  • paf
    fodasse. depois de ver uma arvorezinha em bash tão lame senti-me tentado a rescreve-la.

    aqui fica.

    $ cat ar
    #!/bin/bash

    ramo="*****";
    i=$[${#ramo}-1];
    while [ $i -ge 0 ]; do echo "${ramo:$i}";i=$[$i-1];done
    $ bash ar
    *
    **
    ***
    ****
    *****
    $

    e sim, podia ser menos lame ainda ;)