SpeedCrunch – uma calculadora científica de alta precisão

SpeedCrunch é uma calculadora científica de alta precisão, com uma interface simples, mas altamente personalizável. Possui um grande acervo de constantes e funções. Gratuita e de código aberto.

Caso prefira ver em vídeo, clique no player abaixo. O artigo completo se encontra após o vídeo.

O que é o SpeedCrunch?

SpeedCrunch é um programa que se propõe ser uma calculadora científica de alta precisão, com uma interface simples, mas altamente personalizável.

Onde encontrar, licença e plataformas

O programa pode ser baixado diretamente do site do projeto, possuindo versões para Linux, Windows e MacOS. Usuários de distribuições Linux podem ainda verificar se a calculadora está disponível na loja de aplicativos e/ou repositório da distribuição, procedimento recomendado pelo próprio site do projeto. Por exemplo, usuários do Linux Mint, distribuição que uso e recomendo, podem baixar na loja de aplicativos procurando por “speedcrunch”.

SpeedCrunch na loja de aplicativos do Linux Mint
SpeedCrunch na loja de aplicativos do Linux Mint

De forma geral, usuários de distribuições baseadas em Debian podem instalar pelo terminal caso não tenham lojas de aplicativo:

sudo apt install speedcrunch

E no Fedora e distribuições derivadas:

sudo yum install speedcrunch

A licença é GPL e é um programa gratuito FOSS: livre e de código-aberto (Free and Open Source Software).

Visão geral e funcionalidades

A visão inicial da calculadora é bem simples, uma entrada de texto na última linha e um espaço vazio onde um histórico das últimas contas e seus resultados serão exibidos.

Tela inicial da calculadora SpeedCrunch
Tela inicial do SpeedCrunch

Basta colocar as operações e apertar enter para que os resultados seja exibidos. Antes de apertar enter os resultados parciais são exibidos acima da barra de entrada.

Operações básicas no SpeedCrunch
Operações básicas no SpeedCrunch

Existe tradução para português, está disponível no menu Settings -> Language…, mas recomendo veementemente que deixe em inglês para que possa praticar o idioma.

Convenhamos, o esquema de cores e a tela inicial não são muito convidativos. Vou começar mudando o tema da calculadora e aumentando um pouco a fonte. Siga os passos da animação abaixo e fique a vontade para selecionar outro tema e outra fonte:

Mudando a aparência do SpeedCrunch
Mudando a aparência do SpeedCrunch

Agora fica mais fácil de enxergar o que estamos fazendo.

Como usual em calculadoras e planilhas em computadores, as operações básicas são inseridas pelas teclas +, -, * e /. Potências podem ser colocadas com dois asteriscos ou com o sinal circunflexo. E, assim como boa parte das calculadoras hoje em dia, o resultado da última operação fica armazenado em uma variável chamada ans que pode ser chamada simplesmente digitando seu nome. Acompanhe a animação:

Calculando potências no SpeedCrunch
Calculando potências no SpeedCrunch

Um grande acervo de constantes científicas

Agora vamos para as áreas onde a calculadora se destaca. Há mais de 100 constantes científicas embutidas no programa, com a quantidade correta de significativos e com os valores padrão para unidades do Sistema Internacional de medidas (SI). Você pode ativar um menu para exibir todas as constantes, separadas por categoria, e clicar duas vezes para selecionar uma. Vamos selecionar a constante de Avogadro:

Constantes científicas no SpeedCrunch

Uma das coisas que mais gosto em SpeedCrunch é a possibilidade de trabalhar apenas em teclado, sem recorrer ao mouse. Isso economiza muito tempo. Ao se pressionar Ctrl + Espaço um pequeno menu se abre e é possível selecionar as constantes por ali. Repare na animação abaixo que adicionei um painel para mostrar as teclas que estão sendo pressionadas para selecionar novamente a constante de Avogadro mas agora utilizando apenas o teclado:

Inserindo constantes científicas com atalhos de teclado no SpeedCrunch
Inserindo constantes científicas com atalhos de teclado no SpeedCrunch

Bem mais rápido, concorda?

Várias formas de representação numérica

Repare no histórico que a constante é guardada no programa na forma 6,022140857e23, mas o resultado está na forma por extenso. O SpeedCrunch, assim como diversas outras calculadoras, utiliza a letra e (o input também aceita a letra maiúscula E) como sinônimo de potência de 10. Usualmente em ciências se trabalha com notação científica. Logo, podemos configurar a calculadora para exibir os resultados dessa maneira, seguindo os passos abaixo. Repare que há ainda outras formas de exibição no menu, mais comuns para a aŕea de ciência da computação (binário, hexadecimal e octal). O atalho, para não precisar ir pelos menus, é apertar F5.

Alterando formato de resultado no SpeedCrunch

Algo que acho bem útil é aumentar um pouco a separação entre dígitos a cada três dígitos. Isso facilita a leitura quando há muitas casas decimais ou quando se precisa copiar os valores para papel:

Agrupamento de dígitos no SpeedCrunch
Agrupamento de dígitos no SpeedCrunch

Guardando suas próprias constantes

Sou químico de formação e um tipo de conta que frequentemente preciso fazer é calcular a massa molar de um dado composto. Seria muito útil poder guardar o resultado para reutilizar quando necessário. Isso pode ser feito, criando uma constante e armazenando o valor nela. Vamos calcular o valor da massa molar do cloreto de sódio, NaCl, com os valores presentes na calculadora e armazenar em uma constante chamada NaCl:

Definindo suas próprias constantes no SpeedCrunch
Definindo suas próprias constantes no SpeedCrunch

Veja que basta digitar NaCl agora que o valor é reconhecido.

Isso pode ser feito em qualquer situação. Por exemplo, o raio da Terra, na linha do Equador, é de 6378 km. Eu posso criar uma constante e armazenar esse valor. Mas aí entra uma questão que ainda não nos preocupamos: e as unidades?

Trabalhando com unidades

Quando falei sobre constantes anteriormente, mostrei o menu e que os valores armazenados originalmente no programa estão em unidades SI. Então, as massas molares dos elementos químicos, por exemplo, estão em g/mol. Por padrão, o SpeedCrunch não associa unidades com os valores, ficando ao encargo do usuário saber as unidades e cuidar para não fazer operações inválidas do ponto de vista de análise dimensional. No entanto, podemos associar explicitamente uma unidade a um dado valor. Por exemplo, vamos criar uma constante chamada r_terra_eq para armazenar o raio da Terra na linha do Equador citado anteriormente:

Armazenando constantes com unidades
Armazenando constantes com unidades

Repare que basta escrever a unidade e, quando necessário, o prefixo, que a calculadora reconhece a unidade e ainda expressa o resultado na unidade base SI. E mais, a calculadora armazenou esse resultado como um valor associado a unidades de dimensão. Dessa forma conversões podem ser feitas com outras unidades que a calculadora reconhece usando a palavra in. Se quisermos, por exemplo, saber a quantos raios terrestre equivale 1 unidade astronômica, basta fazermos:

Conversão de unidades no SpeedCrunch

Ou seja, mais de 22 mil Terras cabem em uma unidade astronômica. Essa conversão só é possível pois ambas as unidades são de distância. O programa dá erro se uma conversão não válida for passada. Experimente!

Caso se incomode com o excesso de casas decimais no resultado, você pode limitar seguindo a animação abaixo, onde irei limitar a 8 dígitos, mais que o suficiente para boa parte dos casos:

Limitando o número de casas decimais no SpeedCrunch
Limitando o número de casas decimais no SpeedCrunch

E caso se incomode em ter que digitar por extenso as unidades, você pode associar as abreviações usuais a cada unidade. Por exemplo:

speedcrunch_abreviacao_unidades
Símbolos de unidades no SpeedCrunch

A calculadora foi bem programada para fazer internamente conversões de unidade de forma a dar resultados que façam sentido. Vamos testar usando a boa e velha equação dos gases ideais. Lembrando das aulas de ciências, sabemos que 1 mol de um gás ideal nas Condições Normais de Temperatura e Pressão (CNTP, 1 atm e 0 °C que equivale a 273,15 K) possui volume de aproximadamente 22,4 litros. Lembrando:

PV = nRT \therefore V = \dfrac{nRT}{P}

Temos o valor de R na calculadora mas ele está em unidades SI. Um dos poucos inconvenientes dessa calculadora é que os valores das constantes não trazem por padrão as unidades associadas, então vamos associar a unidade ao valor e armazenar o resultado em uma constante chamada R (atenção aos parênteses) :

Associando unidades a constantes no SpeedCrunch

Agora vamos associar a uma variável chamada V o resultado da conta que queremos. Repare que os valores estão sendo inseridos com as respectivas unidades:

Calculando o volume de um gás ideal, com as unidades, utilizando SpeedCrunch
Calculando o volume de um gás ideal, com as unidades, utilizando SpeedCrunch

Atmosfera não é uma unidade SI, mas repare que a calculadora fez as devidas conversões e expressou o resultado referente ao volume na unidade SI, metro cúbico. Mas podemos facilmente solicitar a conversão para litro:

Convertendo o volume calculado para litros
Convertendo o volume calculado para litros

Obtivemos o resultado esperado!

Funções

Aqueles mais atentos podem ter achado estranho anteriormente quando passei a temperatura já em Kelvin para calcular o volume do gás ideal. Se a calculadora lida com conversões, por que não colocar a temperatura em graus Celsius e deixar que a mesma converta para Kelvin?

Trata-se de uma limitação da calculadora. Na verdade, para ser justo, de boa parte das calculadoras disponíveis. Elas trabalham bem com conversões que podem ser feitas pela simples multiplicação de um fator de conversão. No entanto, não fazem a operação quando a conversão envolve operações de soma ou diferença. Na realidade, são poucas as conversões que não envolvem apenas um fator de conversão e dentre essas poucas se destacam as conversões de temperatura. Assim, a única unidade de temperatura que a calculadora reconhece é Kelvin, conforme explicado no guia da calculadora disponível no site do projeto.

Mas nada que não possamos resolver. E para resolver utilizaremos o conceito de função.

Primeiro, vamos ver as funções já presentes na calculadora. Há dezenas e podem ser acessadas pelo menu ou diretamente digitando o nome:

speedcrunch_funcoes
Funções disponíveis no SpeedCrunch

Repare na animação acima que podemos consultar as funções existentes pelo menu. Se clicarmos duas vezes em uma função, ela vai para a linha de entrada. Podemos também digitar o nome da função e utilizar diretamente, na animação usamos a função sqrt para calcular a raiz quadrada de 9.

Definindo suas próprias funções

Claro que podemos definir nossa própria função. Então, vamos definir uma função que calcule a temperatura em Kelvin a partir de uma temperatura em Celsius. Sabemos que a para converter de Celsius para Kelvin basta somar 273,15 ao valor em Celsius. Assim, vamos definir uma função T_kelvin(T_celsius) = (T_celsius + 273,15) kelvin. O “kelvin” após a operação entre parênteses é para que o resultado saia com a unidade associada, pois planejo usar o resultado depois. Vejamos:

Criando função para converter temperaturas de Celsius para Kelvin no SpeedCrunch
Criando função para converter temperaturas de Celsius para Kelvin no SpeedCrunch

Teste passando como argumento o valor 25. A resposta tem que ser 298,15 K.

Podemos também criar funções com mais de um argumento, bastando separá-los por ;. Assim, toda a conta anteriormente feita para calcular o volume de um mol de um gás ideal pode ser simplificada se criarmos uma função que receba a pressão, o número de mol e a temperatura, com suas respectivas unidades. Lembrando que já definimos R nesse tutorial com sua unidade no SI, então iremos aproveitá-lo na definição da nossa função, que chamaremos de V_ideal:

Criando função para calcular o volume de um gás ideal no SpeedCrunch
Criando função para calcular o volume de um gás ideal no SpeedCrunch

Repare na animação que podemos inclusive passar a função que criamos para converter de temperatura em Celsius para Kelvin, pois definimos a função com unidade.

A função fica salva para posterior uso sempre que precisar. Constantes, variáveis e funções criadas pelo usuário podem ser consultadas:

Consultando variáveis e constantes criadas pelo usuário no SpeedCrunch
Consultando variáveis e constantes criadas pelo usuário no SpeedCrunch

Avaliação geral, considerações finais e como colaborar com o projeto

SpeedCrunch é uma excelente calculadora científica para desktop, se diferenciando das demais por lidar com unidades e por ter destaque visual para palavras reservadas, funções e variáveis (syntax highlighting). É bastante personalizável, tendo muito mais opções além das mostradas aqui.

É excelente para estudantes que desejam confirmar se suas contas envolvendo conversões estão corretas. E, como docente, utilizo várias vezes em aula quando tenho projeção disponível para realizar contas com os alunos, especialmente pela facilidade de discutir operações com unidades, notação científica e algarismos significativos.

No meu uso apenas sinto falta de as constantes armazenadas já não serem inseridas com suas unidades por padrão e de não ter como exportar as constantes e funções criadas (mas isso só afeta aqueles que usam mais de um computador, em casa e no trabalho, por exemplo). Seria ótimo também ter uma versão mobile.

No entanto, tais limitações são ínfimas. E devemos lembrar que se trata de um programa gratuito, o projeto se mantém por doações e você pode colaborar pelo site do projeto. Por ser de código aberto também é possível colaborar com correções, dúvidas e sugestões no repositório do projeto.

Compartilhe:

1 comentário em “SpeedCrunch – uma calculadora científica de alta precisão”

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *

Rolar para cima