Crivo de Eratóstenes Simples em Tcl (sem Tk)
Publicado por Perfil removido (última atualização em 27/08/2012)
[ Hits: 3.361 ]
Versão de crivo simples em Tcl.
Uma estranha diferença de Tcl para as outras linguagens C-Like é a de que o par de chaves "{" e "}" é usado na declaração de comandos em bloco e não somente na delimitação de bloco.
Um "while" em C, C++, C# D, Java, Javascript teria em todos a mesma cara:
while (...) { comandos }
Em Tcl ficaria:
while {...} { comandos }
E o costumeiro "for" tradicionalmente escrito como
for ( ... ; ... ; ... ) { comandos }
possuiria os análogos três campos, mas escrito deste jeito:
for {...} {...} {...} { comandos }
Atribuições de dados são feitas com o comando "set": ao invés de
x=5
usa-se
set x 5
Operações matemáticas são feitas indiretamente, semelhante ao que ocorre em shell script:
Em shell script usa-se
x=$((3+4))
ou
x=$[3+4] # se for suportado
ou ainda
let x=3+4
Em Tcl fica:
set x [expr 3+4]
Tk possui particularidades que não são citadas aqui por não ser usada.
No mínimo diferente da maioria ... :-)
#!/usr/bin/tclsh
############################################################
# isto eh um comentario
#
# instrucoes:
#
# usar chmod +x ... no script e executar normalmente
############################################################
set primes(0) 2
set primes(1) 3
set i 5
set j 0
set k 0
while {$i<10000} {
set j 0
set k [expr sqrt($i)]
while {$primes($j)<$k && $i%$primes($j)!=0} { incr j }
if {$primes($j)>$k} { set primes([array size primes]) $i }
if {$i%3==2} {
set i [expr $i + 2]
} else {
set i [expr $i + 4]
}
}
for {set i 0} {$i<[array size primes]} {incr i} {
puts -nonewline "$primes($i) "
}
puts ""
Script em Tcl para descompactar arquivos
Renomeando arquivos de forma padronizada
Nenhum comentário foi encontrado.
Cirurgia para acelerar o openSUSE em HD externo via USB
Void Server como Domain Control
Modo Simples de Baixar e Usar o bash-completion
Monitorando o Preço do Bitcoin ou sua Cripto Favorita em Tempo Real com um Widget Flutuante
Como quebrar senha usando john the ripper
[Resolvido] VirtualBox can't enable the AMD-V extension
Como verificar a saúde dos discos no Linux
Como instalar , particionar, formatar e montar um HD adicional no Linux?
Alguém já testou o novo COSMIC Desktop? O que achou? (3)
Portal de autenticação em loop (0)
Por que passar nas disciplinas da faculdade é ruim e ser reprovado é b... (0)









