Crivo de Eratóstenes Simples em Tcl (sem Tk)
Publicado por Perfil removido (última atualização em 27/08/2012)
[ Hits: 2.889 ]
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 ""
param - abre aplicativos com parâmetros no Blackbox e outros
Calculadora com funções básicas
Nenhum comentário foi encontrado.
Atenção a quem posta conteúdo de dicas, scripts e tal (1)
Manutenção de sistemas Linux Debian e derivados com apt-get, apt, aptitude e dpkg
Melhorando o tempo de boot do Fedora e outras distribuições
Como instalar as extensões Dash To Dock e Hide Top Bar no Gnome 45/46
Instalar a última versão do PostgreSQL no Lunix mantendo atualizado
Flathub na sua distribuição Linux e comandos básicos de gerenciamento
Instalando o FreeOffice no LMDE 6
Anki: Remover Tags de Estilo HTML de Todas as Cartas
Colocando uma opção de redimensionamento de imagem no menu de contexto do KDE
Desenvolvimento de um driver (10)
Não esta salvando as configurações de usuário. (3)
Quais Shell Scripts vocês usam? (5)
[Shell Script] Script para desinstalar pacotes desnecessários no OpenSuse
[Shell Script] Script para criar certificados de forma automatizada no OpenVpn
[Shell Script] Conversor de vídeo com opção de legenda
[C/C++] BRT - Bulk Renaming Tool
[Shell Script] Criação de Usuarios , Grupo e instalação do servidor de arquivos samba