Calculadora com funções básicas
Publicado por Sandro Marcell 25/10/2007
[ Hits: 6.465 ]
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
param - abre aplicativos com parâmetros no Blackbox e outros
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
Wifi não funciona no Aspire ES 15 com o Debian (8)
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