Jump to content
thoga31

Mini Calc for Linux

Recommended Posts

thoga31

Titulo do Projecto: Mini Calc for Linux

Última Versão: 1.2.3

Site Oficial: N/D

Licença: Freeware, uso não-comercial

Líder do Projecto: thoga31

Membros Actuais do Projecto: thoga31

Demo (versão 1.1.0): vídeo

Descrição do Projecto:

Após ter feito a versão 4 da Mini Calc para Windows, chegou a hora de começar a portar a aplicação para Linux.

A Mini Calc for Linux possui dois modos:

  • Interactivo
    Toda a experiência da Mini Calc para Windows, excepto os gráficos (o sistema utilizado no Windows não é portável para Linux).
  • Não-interactivo (ver instruções aqui)
    Permite avaliação de expressões (incluindo cálculo simples) assim como operações com funções e com listas.

A versão actual é apenas um protótipo, sendo, portanto, um trabalho em progresso.

Todas as sugestões são bem-vindas.

Download executável: (apenas x64)

https://www.portugal-a-programar.pt/files/file/110-mini-calc-for-linux/

 


Knowledge is free!

Share this post


Link to post
Share on other sites
apocsantos

Bom dia,

Está porreiro! Espero ver as próximas versões, que certamente estarão ao nível da versão para Windows e são capazes de me dar jeito, para algumas tarefas.

Cordiais cumprimentos,

Apocsantos


"A paciência é uma das coisas que se aprendeu na era do 48k" O respeito é como a escrita de código, uma vez perdido, dificilmente se retoma o habito"

Share this post


Link to post
Share on other sites
thoga31

Obrigado, @apocsantos :)

A ideia da versão para Linux é mesmo poder ser usada por outros programas, inclusive em scripts bash, mas mantendo igualmente o modo interactivo disponível.

Ainda poderei demorar um pouco a converter a maioria das funcionalidades para Linux - a maioria do código é compatível, mas há algumas "nuances" que precisam de ser trabalhadas (nomeadamente a UI). No entanto, os gráficos não serão incluídos uma vez que aí é que não há mesmo volta a dar - terei de analisar, futuramente, uma alternativa.

Cumprimentos.


Knowledge is free!

Share this post


Link to post
Share on other sites
thoga31

Versão 1.1.0

Esta versão implementa o modo interactivo que caracteriza a versão para Windows.

Apenas os gráficos não foram portados uma vez que o sistema que utilizo não é, de todo, compatível.

Não menos importante, o modo não-interactivo agora possui acesso à memória.

Aos utilizadores do bash e a quem este projecto possa ser útil, gostaria de ter as vossas sugestões e opiniões acerca da comunicação I/O gostariam de ver no modo não-interactivo da Mini Calc. ;)

Cumprimentos.


Knowledge is free!

Share this post


Link to post
Share on other sites
apocsantos

Boa noite,

Ainda não testei essa nova versão mas a mim dava-me jeito poder usar valores armazenados em variáveis de bash script para operações com a calculadora.

Não sei se nesta versão suporta, se suportar, obrigado! Se não suportar, fica a ideia! :D

Cordiais cumprimentos

Apocsantos


"A paciência é uma das coisas que se aprendeu na era do 48k" O respeito é como a escrita de código, uma vez perdido, dificilmente se retoma o habito"

Share this post


Link to post
Share on other sites
thoga31

@apocsantos, eis a minha experiência:

~$ NUM=3
~$ mcalc "($NUM+1)*3"
12
~$ TEXTO='coisas de exemplo'
~$ mcalc "length('$TEXTO')"
17

Serve para o que precisas? :D

Edited by thoga31

Knowledge is free!

Share this post


Link to post
Share on other sites
thoga31

A Mini Calc for Linux foi actualizada para a versão 1.1.1.

Os ficheiros de memória não tinham uma localização fixa, o que era reflexo do código portado da versão para Windows.

Neste momento, os ficheiros de memória estão localizados de forma fixa na pasta ~/.mcalc. Portanto, cada utilizador terá a sua própria memória da Mini Calc.

São gerados automaticamente os ficheiros e a pasta quando não existem.

Cumprimentos.

Edited by thoga31

Knowledge is free!

Share this post


Link to post
Share on other sites
thoga31

Versão 1.2.0

Esta versão conta com uma melhoria do modo não-interactivo.

As funcionalidades mais básicas foram implementadas ou consolidadas:

  • Avaliação de expressões - mcalc [-e] "exp"
    • Indicado com o parâmetro -e, opcional. Caso insiram apenas a expressão, a Mini Calc irá assumir este parâmetro por defeito.
    • Permite usar todas as funcionalidades da calculadora em modo interactivo.
    • Exemplos de uso:
      ~$ mcalc -e "1+6"
      7
      
      ~$ mcalc "save.a ans*2-1"
      13
      Saved in "a"
      
      ~$ mcalc "a-length('teste')"
      8
      


    [*]Avaliação de funções - - mcalc -f "fn" <-x num | -t min max [step]>

    • Indicado com o parâmetro -f. Obriga ao uso de um segundo parâmetro, -x ou -t, o qual define a operação a realizar com a função.
    • Parâmetro -x: calcula o valor da função "fn" no ponto num.
    • Parâmetro -t: gera uma tabela de valores da função em vários pontos, tomando x os valores de min até max, com um incremento de step. Caso step não seja indicado, é assumido que é 1 por defeito.
    • Exemplos de uso:
      ~$ mcalc -f "5-ln(1/x)" -x 7
      6.94591014905531
      
      ~$ mcalc -f "1/x" -x 0
      [ERR]
      
      ~$ mcalc -f ".5*pow(x,2)" -t -4.5 5.6 0.7
      Being f(x) = .5*pow(x,2)
              x                f(x)
      ------------------------------
           -4.5              10.125
           -3.8                7.22
           -3.1               4.805
           -2.4                2.88
           -1.7               1.445
             -1                 0.5
           -0.3               0.045
            0.4                0.08
            1.1               0.605
            1.8                1.62
            2.5               3.125
            3.2                5.12
            3.9               7.605
            4.6               10.58
            5.3              14.045
      


As versões 1.2.x irão centrar-se na expansão e melhoria do modo não-interactivo por forma a se poder tirar o máximo partido da Mini Calc sem a necessidade absoluta de se usar o modo interactivo.

Cumprimentos.

Edited by thoga31

Knowledge is free!

Share this post


Link to post
Share on other sites
thoga31

Versão 1.2.1

Foram introduzidos novos parâmetros e capacidades:

  • Avaliação de funções permite uso das funções em memória - mcalc [-f] Y<x> <-x num | -t min max [step]>
    • Função indicada com Y<x>, onde 0 <= x <= 9.
    • Exemplo de uso:
      ~$ mcalc -f y2 -t -4.5 5.6 0.7
      Being f(x) = .5*pow(x,2)
              x                f(x)
      ------------------------------
           -4.5              10.125
           -3.8                7.22
           -3.1               4.805
           -2.4                2.88
           -1.7               1.445
             -1                 0.5
           -0.3               0.045
            0.4                0.08
            1.1               0.605
            1.8                1.62
            2.5               3.125
            3.2                5.12
            3.9               7.605
            4.6               10.58
            5.3              14.045
      


    [*]Modificação de funções em memória - mcalc +f<x> "fn"

    • Indicado com o parâmetro +f<x>. Acede à função Y<x> e modifica-a.
    • Exemplo de uso:
      ~$ mcalc +f5 "1/(x+2)"
      Function Y5 set to '1/(x+2)'.
      


    [*]Operações com listas - mcalc -l < add | append | del | new > id [values]

    • Indicado com o parâmetro -l. Obriga à indicação do nome da lista (id) e de uma operação.
    • Este parâmetro, apesar de estar funcional, ainda é um protótipo. Serão introduzidas melhorias nas próximas versões.

Cumprimentos.


Knowledge is free!

Share this post


Link to post
Share on other sites
thoga31

Versão 1.2.3

  • Adicionado parâmetro "show" a -l
    Permite mostrar o conteúdo de uma lista (mcalc -l show list_id) ou todas (mcalc -l show all)
  • Possibilidade de guardar resultados da tabela de uma função numa lista (parâmetro +l em -f).
    ~$ mcalc -f ".5*pow(x,2)" -t -1 3 0.7 +l sample
    Saving on list SAMPLE.
    Being f(x) = .5*pow(x,2)
            x                f(x)
    ------------------------------
           -1                 0.5
         -0.3               0.045
          0.4                0.08
          1.1               0.605
          1.8                1.62
          2.5               3.125
    
    ~$ mcalc -l show sample
      SAMPLE: [0.5,0.045,0.08,0.605,1.62,3.125]
    


  • Output melhorado na manipulação de listas.
  • Correcção de bugs.

Cumprimentos.


Knowledge is free!

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.