Python Javascript - Diferenças nos resultados (Gabaritos)
Python Javascript - Diferenças nos resultados (Gabaritos)
Tendo o mesmo cálculo em duas linguagens de programação era expectável ter o mesmo resultado.
Ao mudar de linguagem de programação, ou de tecnologia, para realizar o mesmo cálculo é expectável obter os mesmos resultados. É também uma forma de revisão de todo o processo.
No caso, um projecto "outsider" para cálculo ferroviário, que está a ser re-codificado para que tenha mais possibilidades de ampliação no futuro, embora seja um projecto para consumo interno.
Na parte esquerda da imagem abaixo, o cálculo em Javascript e na parte direita em Python. Não tem exactamente o mesmo conteúdo porque se está a apresentar menos saídas em JS.
Os valores semelhantes, por exemplo o -1.51 e o -1.511 chamam a atenção, deveriam ser o mesmo.
Uma das formas que tenho de rever os cálculos é comparar os ficheiros de Output, onde tenho todos os cálculos parciais relevantes.
Embora com separador de campos diferente, foi possível verificar que têm o mesmo resultado.
Então o problema estará no código.
A função de arredondamento em Python é a seguinte:
E a função de arredondamento em JS é a seguinte:
O passo seguinte foi isolar estas funções num ficheiro e correr vários valores "típicos" e observar o resultado.
Em python:
Para JS não tendo o Node. js posso recorrer a alguma utilidade online, e faltava um arredondamento "para baixo", que coloquei nesta iteração. Os números grandes são importantes não vá haver algum problema de tipo de dados:
Em python o resultado difere para arredondamentos para baixo:








Comentários
Enviar um comentário
Obrigado pelo seu contacto.