Crivo de Eratóstenes Simples em Tcl (sem Tk)
Publicado por Perfil removido (última atualização em 27/08/2012)
[ Hits: 3.175 ]
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
Corretagem 0.1 - calcula corretagem padrão de operações da Bovespa
Renomeando arquivos de forma padronizada
Nenhum comentário foi encontrado.
Como aprovar Pull Requests em seu repositório Github via linha de comando
Como gerar um podcast a partir de um livro em PDF
Automatizando digitação de códigos 2FA no browser
Resolver problemas de Internet
Como compartilhar a tela do Ubuntu com uma Smart TV (LG, Samsung, etc.)
Resolvendo o erro "libQt6Widgets.so.6: cannot open shared object file" no Linux
Como instalar protetores de tela (Debian e derivados)
Conheça a 4Devs, caixa de ferramentas online para desenvolvedores
Como converter um vídeo MP4 para um GIF para publicar no README.md do seu repositório Github