Convertendo escalas termométricas
Publicado por Sandro Marcell 19/07/2007
[ Hits: 7.321 ]
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
Compactando / descompactando arquivos (Melhorado)
Nenhum comentário foi encontrado.
Enviar mensagem ao usuário trabalhando com as opções do php.ini
Meu Fork do Plugin de Integração do CVS para o KDevelop
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
Compartilhamento de Rede com samba em modo Público/Anônimo de forma simples, rápido e fácil
Cups: Mapear/listar todas as impressoras de outro Servidor CUPS de forma rápida e fácil
Criando uma VPC na AWS via CLI
Tem como instalar o gerenciador AMD Adrenalin no Ubuntu 24.04? (16)
Arch Linux - Guia para Iniciantes (2)
Problemas ao instalar o PHP (11)
Tenho dois Link's ( IP VÁLIDOS ), estou tentando fazer o failover... (0)