quinta-feira, 30 de abril de 2009

Calculadora programável TI-58C da Texas Instruments

A primeira "coisa" que eu aprendi a programar foi uma calculadora TI-57 da Texas Instruments lá pela década de 1980.

Eu fazia curso de Técnico em Eletrônica e o colégio onde eu estudava promovia cursos de programação de calculadora. O modelo em que eu aprendi, tinha visor de LED, 50 passos de programação e 8 registradores de memória. Ou seja, era possível gravar em sua memória programas com no máximo 50 instruções (sendo que até o sinal de uma operação era contado como uma instrução) e 8 resultados intermediários.

A maneira de programar era bem simples, você gravava na memória cada passo da operação que estava querendo executar, como se estivesse fazendo o cálculo manualmente e existiam alguns comandos que permitiam dar "saltos" na sequência de comandos (GTO: Go To, SBR: Sub-routine), fazer "loops" (DSZ: Decrement and Skip on Zero), testar igualdade ou diferença, ou armazenar o resultado em uma memória.

Eu gostei muito do assunto e "infernizei" o meu pai até que ele comprasse uma calculadora programável TI-58C para mim. Este modelo já era bem melhor que a TI-57: podia ter 480 passos de programação ou 60 memórias (os dois ocupavam os mesmos endereços de memória) e esses valores podiam ser expandidos com um módulo externo de memória. O mais importante, era que a TI-58C podia ser desligada sem que o programa armazenado na memória se perdesse, ao contrário do que acontecia com a TI-57.

Quando eu coloquei as mãos na calculadora, aprendi logo todos os seus comandos e recursos. Passei a aproveitar ao máximo todo o seu potencial, fazia desde programas de cálculo até joguinhos numéricos. Com isso, virei uma espécie de consultor informal em programação de calculadoras para os meus colegas de escola.

Aprender a programar calculadoras, além de ter me ajudado a fazer cálculos durante o curso técnico, me ensinou os princípios básicos da lógica de programação e me deu certeza que eu gostava deste assunto.

Logo tempo depois, surgiram os primeiros microcomputadores com processador Z80 e eu comecei e me voltar para a programação em Basic. Mas, isso já é outra história.

9 comentários:

  1. Achei muito curiosa a sua história, porque é semelhante à minha.

    Comprei uma TI-57 em 1978 com as minhas poucas poupanças (os meus pais achavam que era uma despesa inútil) e estava a estudar Electrónica na altura.

    Lembro-me perfeitamente da sensação de intensa alegria e satisfação pessoal quando experimentei correr o meu primeiro programa e aquilo funcionou. Não parei até ter assimilado por completo todas as capacacidades da calculadora. Foi aí que eu soube que era isso mesmo que eu queria fazer na vida, programar.

    Ainda na escola, vim a aprender BASIC com um terminal ligado remotamente por linha telefónica a um mainframe em regime de time-sharing (para se ter noção, era um terminal tipo telex com papel contínuo e usava fita perfurada para armazenar os programas).

    Mais tarde aprofundei o BASIC e programação em geral com os microcomputadores Sinclair ZX 81 e especialmente o ZX Spectrum, que também me permitiram aprender Assembly Z80 e fazer finalmente a ponte entre o hardware que conhecia de electrónica e o software que conhecia de programação. Passou a fazer tudo sentido.

    Hoje em dia sou programador/analista numa empresa de telecomunicações em Portugal, e trabalho principalmente em linguagens como Java e Perl, mas pelo caminho passei por C, Pascal, Forth, RPG II, COBOL, Fortran, Clipper, Python e tantas, tantas outras.

    Vim dar ao seu blog porque procurei por essa antiga calculadora programável de que tão boa memória tenho. Quem sabe que caminho eu não teria seguido sem essa experiência, mas certamente não teria a mesma satisfação.

    ResponderExcluir
    Respostas
    1. Muito legal seu comentário!
      Todas as nossas estórias são semelhantes e orbitando pelas TI's 57 e 58.
      Vim parar aquí hoje pois abaixei um APP para ANDROID que emula com perfeição a TI58. Vou me divertir muito!

      Nelson - Brazil

      Excluir
  2. É muito legal a gente ver que outras pessoas compartilham histórias semelhantes as nossas.

    Principalmente no caso do meu companheiro de profissão que comentou anteriormente, que apesar de estar do outro lado do oceano atlântico, tem um caminho muito parecido com o meu.

    Mais uma coincidência: eu também trabalhei muitos anos em uma companhia de telecomunicações.

    ResponderExcluir
  3. Essas calculadoras faziam algoritmo tipo Linguegem C ou Pascal?

    ResponderExcluir
    Respostas
    1. Na verdade, a linguagem de programação era muito mais rústica que C ou Pascal. Veja um exemplo de um programa criado para TI58:

      Pos Tecla Função
      000 2nd LBL Define o label A
      001 A
      002 0 Coloca 0 no registro de trabalho
      003 STO Armazena o zero na memória 00
      004 00
      005 R/S Para o programa
      006 2nd LBL Define o label B
      007 B
      008 1 Coloca 1 no registro de trabalho
      009 SUM Soma um na memória 00
      010 00
      011 B Salta para o label B


      Com este programa, ao se apertar a tecla “A” da calculadora, ela colocará “zero” na memória 00. Ao se apertar a tecla “B”, ela irá somar “um” na memória 00 indefinidamente (para se interromper a execução de um programa, basta acionar a tecla “R/S”.

      Excluir
  4. Eu já estava na faculdade de engenharia quando comprei uma Texas SR-56 de segunda mão de um colega. Eram só 100 passos de programação, mas eu conseguia espremer para dentro dela equações diferenciais de corda vibrante, por exemplo. Precisava resolvê-las fazendo um loop até que o resultado convergisse, demorava minutos para calcular apenas um ponto da curva que depois eu plotava à mão num papel milimetrado.

    ResponderExcluir
  5. eu tenho uma, porem ela nao liga mais, gostaria muito de colocá-la de volta a funcionar. onde será que encontro uma assistência para ela pelo fato de ser muito antiga?

    ResponderExcluir
    Respostas
    1. Eu acho que vai ser difícil você achar manutenção para ela. A minha eu acabei descartando porque não encontrei meios de fazê-la voltar a funcionar.

      Excluir
    2. As vezes basta trocar as baterias

      Excluir