Convertendo escalas termométricas
Publicado por Sandro Marcell 19/07/2007
[ Hits: 7.542 ]
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]
Simples visualizador de arquivos texto
Compactando arquivos e diretórios simultâneamente
Nenhum comentário foi encontrado.
IA Turbina o Desktop Linux enquanto distros renovam forças
Como extrair chaves TOTP 2FA a partir de QRCODE (Google Authenticator)
Linux em 2025: Segurança prática para o usuário
Desktop Linux em alta: novos apps, distros e privacidade marcam o sábado
IA chega ao desktop e impulsiona produtividade no mundo Linux
Atualizando o Fedora 42 para 43
Como saber se o seu e-mail já teve a senha vazada?
Como descobrir se a sua senha já foi vazada na internet?
Mint Xfce não mantém a conexão no wi-fi (2)
Problemas com Driver NVIDIA (5)
Warcraft II Remastered no Linux? (8)









