Convertendo escalas termométricas
Publicado por Sandro Marcell 19/07/2007
[ Hits: 7.287 ]
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 / descompactando arquivos (Melhorado)
Nenhum comentário foi encontrado.
Compartilhando a tela do Computador no Celular via Deskreen
Como Configurar um Túnel SSH Reverso para Acessar Sua Máquina Local a Partir de uma Máquina Remota
Configuração para desligamento automatizado de Computadores em um Ambiente Comercial
Efeito "livro" em arquivos PDF
Como resolver o erro no CUPS: Unable to get list of printer drivers
Flatpak: remover runtimes não usados e pacotes
Mudar o gerenciador de login (GDM para SDDM e vice-versa) - parte 2
Como atualizar o Debian 8 para o 10 (10)
Dica sobre iptables ACCEPT e DROP (6)
NGNIX - Aplicar SNAT para evitar roteamento assimetrico (29)
[Python] Automação de scan de vulnerabilidades
[Python] Script para analise de superficie de ataque
[Shell Script] Novo script para redimensionar, rotacionar, converter e espelhar arquivos de imagem
[Shell Script] Iniciador de DOOM (DSDA-DOOM, Doom Retro ou Woof!)
[Shell Script] Script para adicionar bordas às imagens de uma pasta