Crivo de Eratóstenes Simples em Tcl (sem Tk)
Publicado por Perfil removido (última atualização em 27/08/2012)
[ Hits: 3.359 ]
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 ""
Calculadora com funções básicas
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
[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?
Como automatizar sua instalação do Ubuntu para desenvolvimento de software.
Fiz uma pergunta no fórum mas não consigo localizar (20)
Quais os códigos mais dificeis que vcs sabem fazer? (8)
Pfsense inacessivel após um periodo de tempo (1)
Não consigo instalar distro antiga no virtualbox nem direto no hd (9)









