Convertendo escalas termométricas
Publicado por Sandro Marcell 19/07/2007
[ Hits: 7.180 ]
Homepage: http://sanmarcell.wordpress.com
Estava um dia sem nada pra fazer, aí resolvi escrever este simples script que converte escalas termométricas (Celsius, Fahrenheit e Kelvin).
Não tem muita utilidade, mas dá pra brincar...
Falou!!!
#!/usr/bin/tcl # # Convertendo escalas termométricas. # # Sandro Marcell (sandro_marcell@yahoo.com.br) # # Boa Vista - Roraima, 30/06/2007. # Utilizando o script: proc Uso {argv0} { puts stderr "\nUso: [file tail $argv0] -c|f|k \[número\] Onde: -c Converte Celsius para Fahrenheit e Kelvin -f Converte Fahrenheit para Celsius e Kelvin -k Converte Kelvin para Celsius e Fahrenheit\n" } # Função que testa parâmetros: proc Testa_prm {argv} { if {[llength $argv] == 0 || [llength $argv] > 1} { puts stderr "\n\a-> Strings com espaços não são válidas!\n" exit } } # Informando erro: variable ERRO "\n\a-> Erro de entrada/saída.\n" # Checando parâmetros: if {$argc == 0} { Uso $argv0 exit } # Capturando opção: set OPC [lvarpop argv 0] # Testando opção capturada: switch -- $OPC { -c { # Chamando a função que testa parâmetros: Testa_prm $argv # Se não houver erros, iniciam-se os cálculos: if {[catch {set CF [expr $argv*9/5+32]}] != 1} { set CK [expr $argv*5/5+273] # Mostrando resultando: puts stdout "\n$argv\C° equivale(em) a\ $CF\F° na escala Fahrenheit e\ $CK\K° na escala Kelvin.\n" exit } else { # Se os cálculos falharem, está mensagem é mostrada: puts stderr $ERRO exit } } -f { Testa_prm $argv if {[catch {set FC [expr ($argv-32)/9*5]}] != 1} { set FK [expr ($argv-32)/9*5+273] puts stdout "\n$argv\F° equivale(em) a\ $FC\C° na escala Celsius e\ $FK\K° na escala Kelvin.\n" exit } else { puts stderr $ERRO exit } } -k { Testa_prm $argv if {[catch {set KC [expr ($argv-273)/5*5]}] != 1} { set KF [expr ($argv-273)/5*9+32] puts stdout "\n$argv\K° equivale(em) a\ $KC\C° na escala Celsius e\ $KF\F° na escala Fahrenheit.\n" exit } else { puts stderr $ERRO exit } } default { Uso $argv0 exit } } # Fim
Criando uma simples lixeira para o usuário [Melhorado]
Compactando / descompactando arquivos (Melhorado)
Simples visualizador de arquivos texto
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
Como Atualizar Fedora 39 para 40
Instalar Google Chrome no Debian e derivados
Consertando o erro do Sushi e Wayland no Opensuse Leap 15
Instalar a última versão do PostgreSQL no Lunix mantendo atualizado
Flathub na sua distribuição Linux e comandos básicos de gerenciamento
iso de sistema 32 bit em atividade (2)
ASRock H310CM-HG4 vs Linux (11)
erro ao clonar repo github (8)