Calculadora com funções básicas
Publicado por Sandro Marcell 25/10/2007
[ Hits: 6.482 ]
Homepage: http://sanmarcell.wordpress.com
Calculadora tosca com as funções básicas: adição, subtração, multiplicação e divisão.
#!/usr/bin/tcl # # Simples calculadora com funções básicas. (Versão Tcl) # # Sandro Marcell (sandro_marcell@yahoo.com.br) # # Os operadores válidos são: # (+) adição # (-) subtração # (.) multiplicação # (/) divisão # Checando parâmetros: if {$argc != 3} { puts stderr "Uso: [file tail $argv0] VALOR1 OPERADOR VALOR2 \r(Ex.: [file tail $argv0] 6 + 1) \rOperadores válidos: (+) Adição (-) Subtração (.) Multiplicação (/) Divisão" exit 1 } # Fatiando opções: set VLR1 [lindex $argv 0] set OP [lindex $argv 1] set VLR2 [lindex $argv 2] # Checando valores: if {[regexp {[^-0-9.0-9]} $VLR1] != 0} { puts stderr "\[$VLR1\] Valor inválido." exit 1 } elseif {[regexp {[^-0-9.0-9]} $VLR2] != 0} { puts stderr "\[$VLR2\] Valor inválido." exit 1 } # Se ocorrerem erros: proc tclx_errorHandler {AVISO} { puts stderr "\a-> Erro de entrada/saída" } # Iniciando cálculos: switch -- $OP { # Adição: "+" { # Calculando... set RST [expr ($VLR1 + $VLR2)] puts stdout "Resultado: $RST" } # Subtração: "-" { set RST [expr ($VLR1 - $VLR2)] puts stdout "Resultado: $RST" } # Multiplicação: "." { set RST [expr ($VLR1 * $VLR2)] puts stdout "Resultado: $RST" } # Divisão: "/" { set RST [expr ($VLR1 / $VLR2)] puts stdout "Resultado: $RST" } default { puts stderr "\[$OP\] Operador inválido. \rOperadores válidos: (+) Adição (-) Subtração (.) Multiplicação (/) Divisão" } } # Fim
Script em Tcl para descompactar arquivos
Crivo de Eratóstenes Simples em Tcl (sem Tk)
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
Como renomear arquivos de letras maiúsculas para minúsculas
Imprimindo no formato livreto no Linux
Vim - incrementando números em substituição
Efeito "livro" em arquivos PDF
Como resolver o erro no CUPS: Unable to get list of printer drivers
É cada coisa que me aparece! - não é só 3% (1)
Alguma pessoa pode me ajudar com drriver Core i3 7020u (Debian 12)? (2)
Mikrotik não mostra bytes nem packtes (1)
Melhores Práticas de Nomenclatura: Pastas, Arquivos e Código [RESOLVID... (4)
[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