Crivo de Eratóstenes Simples em Tcl (sem Tk)
Publicado por Perfil removido (última atualização em 27/08/2012)
[ Hits: 3.124 ]
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.
Criar entrada (menuentry) ISO no Grub
Como gerar qualquer emoji ou símbolo unicode a partir do seu teclado
Instalar o VIM 9.1 no Debian 12
Como saber o range de um IP público?
Muitas dificuldades ao instalar distro Linux em Notebook Sony Vaio PCG-6131L (VPCEA24FM)
Slackpkg+ (Slackpkg Plus) está de volta!
Como dividir duas janelas igualmente e lado-a-lado na sua tela
compilação samba 4.22 rock linux 9.5 (4)
Problemas com SQL em objeto TLabel ... [RESOLVIDO] (3)