1120 Alameda Orquidea, Atibaia, SP,  BRA

fernando@driverentry.com.br

Off-topic HP 50G

Finalmente o período de provas semestrais terminou. Já posso voltar à vida normal, me re-integrar à sociedade, e porque não, escrever posts. Para os que não sabiam, estou cursando Engenharia da Computação na Universidade São Judas Tadeu. Apesar dos meus trinta anos de idade, ainda estou no terceiro ano devido à uma vida um tanto agitada que um programador pode ter. Tenho certeza que muitos de vocês sabem exatamente do que estou falando. Tive que interromper meu curso diversas vezes, ou por falta de grana, ou por excesso de trabalho. Enfim, estas últimas semanas estive correndo atrás do prejuízo e não pude compor um post decente. Assim, vão ter que se contentar com algumas curiosidades sobre minha nova melhor amiga, a HP 50G.

Costumo dizer que programador não é nome de profissão, e sim nome de doença. “Programador: Pessoa que sofre de programação”. Um dos sintomas que considero mais determinantes no programador é a grande capacidade de associar coisas diversas com programação, mesmo sem que se queira. Um exemplo? Fácil!!! Quando eu estava cursando Informática Industrial na ETE, havia um professor que falava pausadamente, cerca de 3 segundos entre uma frase e outra. Ele parecia um andróide. Eu costumava imaginar que aquela característica se dava ao fato de que o professor tinha pouca RAM, dessa forma, levava um certo tempo para carregar uma nova frase da HD para ser processada pelo sintetizador de voz. Na época dizíamos que se prestássemos atenção, poderiamos ver um led piscando dentro da orelha dele durante aquelas pausas. Felizmente aquilo poderia ser facilmente resolvido se houvesse uma segunda thread que colocasse a próxima frase na RAM à medida que a frase atual fosse processada pela thread principal. Não sei o que vocês pensam sobre isso, mas para mim parece doença. :-S

Estudando para as provas de Cálculo Numérico Computacional e armado com uma HP 50G, foi inevitável programar a HP para automatizar alguns passos. Os exercícios desta matéria são compostos basicamente por contas simples, mas são longos e cheios de regrinhas. Portador de programação desde os 13 anos de idade, baixei os manuais e mãos à obra. Quando compramos a HP, vem um “Quick Start” de umas 120 páginas, mas é possível baixar PDF do manual completo de 918 páginas em português.

Como era de se esperar, encontrei muitos sites e tutoriais sobre o assunto, vários em português mesmo. O site hpcalc.org foi um grande colaborador. Na página de programação pode-se encontrar muita coisa. E o melhor, é tudo free.

Podemos programar a HP em UserRPL ou SystemRPL. Programar em SystemRPL nos dá um ganho de performance quase 10 vezes superior que em UserRPL. Entretanto, tudo na vida em um preço. O trecho abaixo foi retirado em um dos inúmeros PDFs que encontrei.

Estranho! Eu podia jurar que já li algo parecido em algum lugar.

Como não consegui baixar uma versão do WinDbg que depurasse a HP, resolvi programar em UserRPL mesmo. A linguagem é basicamente composta pela seqüência de teclas que seriam pressionadas durante o uso normal da calculadora, porém, podemos ainda contar com blocos de execução, laços de repetição(for, while), execução condicional (if, else), execução de sub-programas e outras tantas coisas que não tive paciência de ler. É divertido poder misturar coisas como IF e ELSE com comandos que fazem operações com matrizes como se fossem tão simples quanto somar 1 em 1.

A HP pode ser programada nela mesma, ou seja, utilizando seu próprio teclado. Mas ficar escrevendo sobre aquele tecladinho é similiar a ficar jogando Decathlon no Atari. Funciona, mas você sabe o que vai acabar acontecendo. Outra coisa super desconfortável é tentar entender o que está errado no seu programa olhando o fonte (que não esta indentado) em uma telinha de LCD. Uma das facilidades é um cabo USB que conecta a HP em seu micro.

Para ter acesso aos diretórios e variáveis armazenados na calculadora, você terá que fazer o download do software que faz esta conexão. Mas se você possuir uma máquina x64 (mesmo que seja da HP), não haverão drivers disponíveis para realizar esta conexão. Se este for o seu caso, você pode utilizar uma máquina virtual que esteja rodando um sistema operacional de 32 bits. Não é que funciona mesmo!

Quando conectado, é exibido uma espécie de “Explorer” onde você pode navegar nas pastas e editar variáveis e programas. Com um double-click sobre os programas, um excelente ambiente de desenvolvimento chamado “Notepad” é aberto com o seu programa. Nem pense em identar seu programa. Quando o este é enviado para a HP, ele assume uma identação dela, que obviamente não é a mesma que gostariamos de ter.

Pois é, foi no mínimo interessante aprender mais essa. Realmente valeu a pena gastar essa grana comprando algo que eu possa programar e poder sustentar meu vício. Mas ainda não para por aí. Se você der uma olhada na quantidade e variedade de aplicações para download da hpcalc.org, você terá uma idéia do que mais ela pode fazer além de calcular o determinante de uma matriz. Se estiver curioso, você pode baixar um emulador da calculadora em seu PC e fazer um Test Drive.

18 Responses

    1. Olá Marcus,

      Não sou especialista em programar HPs, mas até onde sei, o código fonte de um programa UserRPL da HP48g pode ser utilizado sem problemas pela HP50g.

      Sabendo que este tipo de programa não é compilado e admitindo que a HP50g tenha compatibilidade reversa de funções com a HP48g, não vejo problemas em utilizar exatamente a mesma versão.

      Também já programei para a HP48g e não notei qualquer diferença estrutural na forma de programar.

      Creio que você não terá problemas em portar o seu programa para a nova HP.

      Já tentou simplesmente rodar?

  1. Fernando,
    Comprei um Hp50 agora, e sou totalmente crú (ainda) nela. Estou “apanhando” para baixar programas, pois quase todos estao vindo com o codigo corrompido, começando por HP e uma serie de simbolos. Baixei o OBJFIX, coloco o arquivo danificado na pilha1, executo ele, mas nada, ele transforma o programa em lista, quase toda formada pela repetição de uma palavra, que nao me lembro agora. Como evitar este problema na transferencia de arquivo, e se ocorrer (estou vendo pelos foruns que eh bem comum), como arrumar?

    1. Olá Denis,

      Vou tentar resumir minha resposta:
      “Não sei”

      Brincadeira…
      Na verdade não sou um usuário arduo da HP, e por mais comum que seja este problema que você comentou, só fiquei sabendo dele hoje. Desculpe não poder ajudar.

      Boa sorte,
      []s.

  2. Olá Fernando, estou cursando o 2° ano de Engenharia de Produção Na USJT, acabei de comprar uma HP 50G mais não tenho a minima ideia de como mexer nela, para mim aquilo parece um bicho de 7 cabeças com todos aqueles números…vc me aconcelha algum programa pra iniciar a minha batalha contra a minha nova amiga ?? espero resposta…abraços…

    1. Olá… er você,

      Não conheço nenhum programa que trabalhe como um tutorial da própria HP, se é isso que você está procurando.

      A HP assusta um pouco quando olhamos para ela, mas o fato é que qualquer chimpanzé autista pode usá-la sem medo se ler o início do “Quick Start” para pegar as funcionalidades básicas e depois ler só os capítulos que interessam conforme a necessidade.

      Bom, comigo funcionou muito bem dessa forma.
      🙂

      []s.

  3. Se a 50 estiver em RPN (Reverse Polish Notation, ou Notação Polonesa Reversa, sistema da 48g) roda todos os programas normalmente, se ela estiver no modo algébrico só roda SystemRPL.
    Galera, tenham respeito pela sua HP 50g e trabalhe em RPN, eu nunca vi um sistema melhor para se fazer cálculos, é como comprar um Quad Core pra rodar pacman, esqueçam o modo algébrico. Eu nem lembro direito como se usa uma calculadora normal, e nem quero lembrar delas, minha vida mudou com o RPN.

  4. Olá…o meu nome é Talita e não resisti a tentação da HP 50G e acabei por comprar….pois estou no 1° ano de Engenharia…gostaria de saber se alguem tem o manual……Valeuuu

  5. OLÁ FERNANDO, BLZ?
    GOSTARIA DE SABER SE VC TEM ALGUM PROGRAMA PARA CALCULO NUMERICOS QUE ABORDE MÉTODOS DE GAUSS SIEDEL, SIMPSON ETC. PARA RODAR NA HP50?
    OBRIGADO

    1. Olá Gerson Letra Maiúscula,

      Infelizmente não tenho mais estes programas. Este post é de novembro de 2006, e desde lá troquei de máquina pelo menos umas duas vezes. Este não é o tipo de coisa que faço Backup.

      []s,
      Fernando.

  6. Olá Fernando, gostaria de saber se você conhece algum programinha para a HP50G que possa servir de controle remoto de TV, DVD, etc… Ouvi falar nisso e fiquei um pouco curioso.
    Outra coisa, gostaria de saber qual seria o comando que restauraria todas as configurações da HP para a de fábrica. Pois estou com um pequeno BUG: Não consigo mais conecta-la ao PC. Da erros o programa trava, etc. Ja fiz testes(reinstalei o programa, instalei em outro PC, ja resetei a calculadora, mas nada adianta.) e constatei que o problema é na calculadora. Andei pesquisando e teve gente que falou que deveria se tirar as baterias(inclusive a de backup) por 2 dias e so depois ligar novamente. O que voce tem a dizer ? tem alguma maneira mais facil?
    qualquer coisa me manda um email.

  7. Fernando,
    Minha 50g está dando pau. Rodei o teste SRAM e falhou. O código que aparece é: 0X080039FC
    Será que você poderia me ajudar, ou direcionar à mim um modo de arrumar isso?
    Grato,
    Vinicius Z.

  8. Fernando, estava procurando materias sobre a 50g e achei seu blog.
    Tipo eu colokei o programa na calculadora, soh q agora nao sei como faco para roda-lo, eu vou la em files, mas nao abri.
    Poderia me ajudar?

  9. Olá,
    Tenho uma 50g e gostaria de saber se existe um programa ou uma forma de se calcular exercicios de física aceleração , movimentos, etc.

    Um abraço,
    Rodrigo

  10. Bom dia, gostaria de saber onde encontro o manual da HP50 em portugues, será possivel?
    Se puder me mande por email.

Leave a Reply

Your email address will not be published.