MCalc – Calculadora para trabalhar com incertezas

outubro 13th, 2010 by rudsonalves Leave a reply »

Já faz algum tempo que venho trabalhado nesta ferramenta, e a quase um ano que ela esta praticamente terminada, mas por motivos diversos não a liberei. Este texto é exatamente para cumprir esta formalidade.

Esta MCalc é uma calculadora para cálculos com medidas física e incertezas, muito utilizado em Laboratórios. Essencialmente é uma interface gráfica para o módulo medidas.py, o qual publiquei em minha página de Física em abril de 2008, Módulo medidas.py.

Sumário:

1. Detalhes Indispensáveis

Antes de iniciar a apresentação deste aplicativo, devo fazer um observação muito importante a respeito do modelo matemático utilizado nos cálculos com incertezas:

O tratamento matemático utilizado no módulo medidas.py são muitos simplistas, devendo ser usados com muita ponderação em outras áreas que não o ensino. Caso deseje utilizá-lo em outras áreas, aconselho que leia atentamente o texto em Medidas.pdf para ter certeza de que estas simplificações empregadas lhe são adequadas.

O uso deste modelo, apesar de suas limitações, são justificadas dado os objetivos desejados em uma disciplina experimental, onde as discussões Físicas são o foco principal.

2. Algumas Mudanças no medidas.py

Quando iniciei a construção do módulo medidas.py, quem de fato realiza todas as operações matemáticas nesta ferramenta, tinha em mente manter a sintaxe das funções e entradas de parâmetros o mais próximos possível da sintaxe do Python. Mas depois de algum tempo vendo a utilização desta ferramenta pelos alunos, achei melhor fazer algumas adaptações, em alguns casos reescrevendo a sintaxe, em outros utilizando nomes mais intuitivos para as funções, principalmente com o uso de traduções para a língua portuguesa.

Nesta edição do módulo, alterei e adicionei alguns nomes de funções atendendo à estes critérios. A lista das alterações e adições à sintaxe das funções é apresenta na tabela abaixo:

Tab 01: Alteração em nomes de funções no módulo medidas.py

Antigo Novo Comentários
trunk trunc esta função é a de truncamento. Ela deriva da palavra inglesa truncate. O motivo desta mudança é bem óbvio, estava errado
sin sen as duas formas (português/inglês) estão presentes nesta versão do módulo medidas.py
asin asen as duas formas (português/inglês) estão presentes nesta versão
medium media média sem o acento. as duas formas (português/inglês) estão presentes nesta versão
medida measure pelo mesmo motivo de ter adicionado as traduções para as funções acima para o protuguês, adicionei a tradução para o inglês desta função
sqrt raiz as duas formas (português/inglês) estão presentes nesta versão

No demais, a utilização desde módulo segue as descrições no texto Módulo medidas.py, a qual já foi atualizada para estas mudanças.

2.1. Notas e atualizações

à versão 1.9.1

Esta versão marca o início das mudanças para adaptação do código para o uso do Python 3. O código ainda funciona apenas com o Python 2.7 mas estou iniciando as alterações para a nova versão, sem previsão para o término.

Aproveitei e corrigir mais um bug. A resposta anterior (Ans) estava sendo apagada sempre que uma chamada a uma memória era feita.

à versão 1.3.2

Nesta versão corrigir dois bugs com as funções e^ e 10^. Estas funções estavam calculando errado tanto o valor como a incerteza. Estas agora são tratadas como funções, com a implementação correta do método rpow da classe medidas.

Havia outro bug menor que na oportunidade foi corrigido. Este bug se deve superposição de dados no display de entrada. Após realizado uma operação, novas entradas estavam sendo adicionadas ao final da saída anterior, sem critério. Agora, quando a nova entrada é um número, a saída anterior é sobreposta.

à versão 1.2.1

Lancei uma nova versão 1.2.1 do MCalc e da biblioteca medidas.py. Nesta versão corrigi dois bugs e implementei um pequena funcionalidade que simplifica o uso da interface do MCalc.

Bugs:
Advertisement

4 comments

  1. Excelente trabalho na calculadora!

    Obrigado pela citação.

  2. Grande Rudson, sabe que continua sendo um professor pra mim né!?

    Amigo, mais uma vez parabéns pelo trabalho, assim que eu tiver mais conhecimento em Python desenvolverei algo bacana.. hehe.

  3. Reynaldo M. Barreto Jr. disse:

    Mestre,cheguei agora, mas já estou gostando. Suas aula são maravilhosas, irei aprender muito.
    Parabéns!!!

  4. Manuel Neto disse:

    Fala ae Rudinho!

    Se não for pedir muito, uma versão para tablets android e chromebooks seria muiiitooo bão! Mas não desenvolva para “ai”-phones, “ai”-pads, etc a menos que a apple lhe pague muito bem.

    Excelente trabalho.
    Congrats.

Deixe uma resposta