Programas com variáveis locais HP50g

Neste post vemos como utilizar variáveis locais dentro de um programa na HP50g.

Manipular a pilha é uma tarefa extremamente difícil. Depois de poucas manipulações já se torna praticamente sobre-humano conhecer a função de cada um dos valores na pilha. Ainda por cima, programas que manipulam a pilha de alguma forma que não seja extremamente óbvia, rapidamente se tornam incompreensíveis.

As variáveis locais nos servem para melhorar a legibilidade do programa reduzir o trabalho de manipulação da pilha. Os valores ficam guardados em variáveis e, quando necessários, basta digitar o nome que são recuperados pelo programa.

E o melhor de tudo: assim que o programa finalizar as variáveis locais são descartadas, sem afetar qualquer variável global que você tenha definido.

Veja a lista de posts do Curso Calculadora HP50g em sequência.

Definindo variáveis locais

Para definir variáveis locais utilizamos o comando seta [→,0], que fica junto ao número zero. Abrimos o programa, colocamos a seta e ditamos quais serão as variáveis locais, sem utilizar aspas.

« → A B  »

Note que ao definir as variáveis, os valores correspondentes são extraídos da pilha, ou seja, eles são retirados da pilha e colocados nas variáveis.

Agora temos duas opções. A primeira é escrever um programa em RPN interno a esse, abrindo outro programa dentro deste com as operações desejadas.

« → A B « A B + » »

Podemos também utilizar aspas e escrever uma expressão “algébrica” utilizando as variáveis definidas.

« → A B 'A+B' »

Se quisermos mais valores na saída, basta colocar os operando na pilha e realizar os cálculos.

« → A B « A B + A 2 B * + » »

Mas e se quisermos mais valores, cada um calculado com uma expressão algébrica? Nesse caso abrimos outro programa depois das variáveis e colocamos o comando EVAL (calcular) depois de cada expressão.

« → A B « 'A+B' EVAL 'A+2*B' EVAL » »

Vejamos os exemplos que vimos antes: teorema de Pitágoras e paralelo de resistores.

Teorema de Pitágoras com variáveis locais

Com a opção de programa em RPN colocamos o valor A na pilha, elevamos ao quadrado, colocamos o valor B na pilha, elevamos ao quadrado, somamos e tiramos a raiz quadrada.

« → A B « A SQ B SQ + √ » »

Com a opção de utilizar uma equação algébrica podemos fazer uma equação equivalente a anterior.

« → A B '√(SQ(A)+SQ(B))' »

Podemos também utilizar outra equação equivalente.

« → A B '√(A^2+B^2)' »

Paralelo de resistores com variáveis locais

Com a opção de programa em RPN colocamos o valor R1 na pilha, invertemos, colocamos o valor R2 na pilha, invertemos, somamos e invertemos novamente.

« → R1 R2 « R1 INV R2 INV + INV » »

Com a opção de utilizar uma equação algébrica podemos fazer uma equação equivalente a anterior.

« → R1 R2 'INV(INV(R1)+INV(R2))' »

Podemos também utilizar outra equação equivalente.

« → R1 R2 '1/(1/R1+1/R2)' »

Exercícios

  • Calcule a área e perímetro do círculo a partir do raio A=πR2, C=2πR. Faça um só programa que coloque A e C na pilha.
  • Calcule o divisor de tensão entre dois resistores V1=VT∙R1/(R1+R2), V2=VT∙R2/(R1+R2). Faça um só programa que coloque V1 e V2 na pilha.
  • Calcule o divisor de corrente entre dois resistores I1=IT∙R2/(R1+R2), I2=IT∙R1/(R1+R2). Faça um só programa que coloque I1 e I2 na pilha.
  • Escreva outros programas simples que sejam úteis para você!

Compartilhe e deixe sua sugestão!

Gostou do post? Foi útil? Clique abaixo e compartilhe com seus amigos!

Veja a lista de posts do Curso Calculadora HP50g.

Autor: Djones Boni

Engenheiro Eletricista e Eletrônico. Professor de Engenharia Eletrônica na UTFPR Toledo. Interesses: Sistemas eletrônicos embarcados e de tempo real.

Deixe uma resposta

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *