Académique Documents
Professionnel Documents
Culture Documents
CURSO DE PROGRAMAO
HP48G/GX
O site da Eletrnica
Manual HP48G/GX
Introduo ao Curso
A idia de um curso de programao em HP48 surgiu devido falta de uma literatura
especfica para a calculadora, os manuais at ento encontrados tratavam o assunto de
maneira superficial e eram geralmente publicados em ingls.
Para o usurio extremamente frustrante possuir uma ferramenta poderosa e no
saber como us-la. O curso, nesse sentido, uma alternativa queles que pretendem
solucionar os seus problemas de forma adequada. Inicialmente o curso englobava operao e
programao bsica, no entanto, a experincia no foi gratificante, pois havia degraus muito
grandes entre os conhecimentos de cada aluno em relao calculadora. Aps um estudo
sobre o contedo do curso, o mesmo foi separado em dois mdulos: - Operao -
Programao.
Estes por sua vez so independentes entre si, pois a estrutura da calculadora permite
que isto seja feito.
No h a pretenso de que todos se tornem bons programadores aps terminarem o
curso. Mas, deve ficar claro que os mtodos e ferramentas, fornecidos durante o curso, sero
suficientes para que cada um possa aprimorar suas noes de programao at tornar-se um
bom programador.
Distribuio da memria
Organizao do teclado:
O teclado da HP48 dispe de vrios "nveis". Cada tecla tem uma funo primria que
aparece impressa em branco na prpria tecla - por exemplo, [ENTER], [+], [<-]. Trs dentre
as teclas primrias redefinem as aes das demais teclas. Estas teclas, e suas combinaes
principais so as seguintes:
- [ ] (chamada de shift esquerdo), ativa as definies em roxo sobre as teclas.
- [ ] (chamada de shift direito), ativa as definies em verde sobre as teclas.
http:www.li.facens.br/eletronica
2
O site da Eletrnica
Manual HP48G/GX
- [] (chamada de tecla Alpha), ativa os caracteres impressos em branco
correspondentes s teclas usadas na escrita de palavras.
- [] + [ ] ativa os caracteres minsculos, e alguns caracteres especiais para o
teclado numrico.
- [] + [ ] ativa os caracteres
caracteres especiais em todo teclado alfanumrico.
Modos de exibio
Ao se realizar uma operao matemtica sobre um determinado nmero,
freqentemente deseja-se
se obt-lo
obt lo sob um tipo de notao. A HP48 oferece os seguintes
modos de exibio de nmeros:
Existem
stem duas maneiras para se alterar o modo de exibio:
1. Processo Interativo:
- pressione [ ] [MODES]
- selecione o campo NUMBER FORMAT usando as setas de movimentao do cursor.
- pressione CHOOS para escolher o formato desejado
desej e pressione OK
- se o formato desejado for o FIX, SCI, ou ENG aparecer um campo ao lado indicando
o nmero de casas decimais desejadas.
- finalmente pressione OK para confirmar o modo de exibio do display.
2. Processo Manual:
- pressione [ ] [MODES]
- digite o nmero de casas decimais caso queira utilizar os modos FIX, ENG ou SCI.
- pressione a tecla do menu correspondente ao formato desejado.
Apesar do primeiro processo ser muito mais intuitivo e fcil de ser executado iremos
durante o decorrer do curso utilizar o segundo processo para a maioria dos casos, pois ser
neste formato (argumento + funo) que iremos introduzir a programao. Alm disto,
veremos mais adiante que estes menus (FIX, SCI, etc) so
so na verdade comandos, desta forma
bom comearmos a tomar contato com eles.
Seguindo a mesma idia das calculadoras cientficas normais existem os modos das
funes trigonomtricas: [DEG], [RAD], [GRAD], que podem ser alteradas por processos
semelhantess aos mencionados acima. Existem, ainda os modos de exibio de vetores:
[CYLI], [SPHER], [RE]; de exibio de nmeros binrios: [BIN], [DEC], [OCT], [HEX] e o
sinal de "ponto" [FM,].
http:www.li.facens.br/eletronica
3
O site da Eletrnica
Manual HP48G/GX
Teclas Especiais:
[EDIT] - edita um nmero real, complexo ou binrio; ou ainda um programa, uma string,
etc. Ou seja, edita o objeto que estiver na primeira linha do stack (pilha) da calculadora.
[CMD] - apresenta na tela os quatro ltimos valores, programas, strings digitados.
[ARG] - retorna para o stack os argumentos utilizados pela ltima funo executada.
[CLEAR] ou [DEL] - limpa todas as linhas do stack.
[DROP] ou [] - apaga a primeira linha do stack.
[ ' ] - entra no modo de entrada de um objeto algbrico.
[""] - entra no modo de entrada de uma string.
Se a calculadora por algum motivo qualquer travou e voc j tentou pressionar [ON]+[C]
e no ocorre mais nada, retire o apoio de borracha que fica na parte superior esquerda da
calculadora e usando um palito de madeira reset a calculadora, caso isto no funcione no
resta outra soluo a no ser retirar as pilhas com a calculadora ligada e pressionar [ON] (este
procedimento, na pior hiptese, apagar todos os programas que estavam na calculadora), a
seguir deve-se coloc-las de volta na calculadora, e ligar a calculadora novamente. Se isto no
funcionou, ento ser preciso apelar para medidas mais drsticas: descarrecar o capacitor
interno do circuito de refresh que mantm a RAM. Para isso necessrio ligar a calculadora
com as pilhas invertidas, o circuito de proteo contra a inverso acidental das pilha se
encarregar de descarregar o capacitor, eliminando qualquer problema de software que tenha
travado a calculadora.
http:www.li.facens.br/eletronica
4
O site da Eletrnica
Manual HP48G/GX
Alm dos menus que contm as funes bsicas de programao e de clculo, existem
outros menus que incorporam
rporam funes de edio de equaes [EQUATION], de resoluo de
equaes [SOLVE], de plotagem de grficos [PLOT], de manipulao de objetos algbricos
[SYMBOLIC], de controle de alarmes e do clock [TIME], de funes estatsticas [STAT], de
controle e converso
erso de unidades [UNIT], de comunicao de dados [I/O], de controle sobre
as bibliotecas e cartes de expanso [LIBRARY], de resoluo mltiplas equaes e
biblioteca de equaes [EQ LIB], de seleo dos flags internos da HP48 [MODES], de
controle da memriaria e dos diretrios [MEMORY], de exibio da tabela dos caracteres
grficos [CHARS], etc.
Veremos nesta seo apenas uma introduo aos menus elementares e indispensveis
ao nosso curso de programao, sendo os restantes analisados oportunamente durante
durant o
decorrer do curso.
Gravando variveis:
Podemos armazenar programas, nmeros, strings e outros objetos. Para isso
necessrio um comando chamado STO (store - armazenar) que utilizado da seguinte
maneira:
- Coloque o objeto a ser armazenado
armazenad na primeira linha do stack.
- Digite entre os delimitadores nome da varivel que armazenar o objeto.
- Pressione a tecla [STO] para gravar o objeto na varivel.
Ou pelo por um mtodo mais direto e rpido: (para uma varivel j existente)
- Coloque o objeto a ser armazenado na primeira linha do stack.
- pressione a tecla [ ] e em seguida a tecla de menu correspondente varivel que
guardar o objeto.
recuperando variveis:
Para recuperar um objeto armazenado em uma varivel podemos proceder de duas
formas diferentes:
1) simplesmente pressionando [ ] e em seguida a tecla correspondente varivel do
menu VAR que contm o objeto.
2) dentro do modo algbrico digitar o nome da varivel e em seguida pressionando a
tecla [RCL] (Recall - chamar).
http:www.li.facens.br/eletronica
5
O site da Eletrnica
Manual HP48G/GX
Pilha
- Definio de Pilha
- Os comandos: EDIT, CLEAR, DROP, DUP,SWAP, ROT,ARG, UNDO, CMD
- Usando a Pilha em clculos
- Exerccios de clculos
- Pilha Interativa
- Usando a Pilha Interativa em clculos
- Construindo equaes com a Pilha
(Exerccios, equaes, clculos)
Comandos: EDIT, CLEAR, DROP, DUP, SWAP, ROT, ARG, UNDO, CMD
Estes comandos so considerados os mais teis durante a manipulao de objetos na
pilha. Temos a seguir um resumo dobre cada um deles:
http:www.li.facens.br/eletronica
6
O site da Eletrnica
Manual HP48G/GX
Exerccios de Clculos:
a) 10^22
{ HOME }
b) 10^22-32
c) (10^22-32)
4: 'x' apague o stack,
redigite e encontre:
3: 32 a)
10*22+22/10
2: 22 b)
(10*22+22/10)-x
1: 10 c)
((10*22+22/10)-x) +
((10*22+22/10)-x)/32
Ainda para os mesmos objetos do Stack, sem utilizar a calculadora, mostre a situao
final do Stack para cada seqncia de comandos:
a) SWAP + DUP - + SWAP /
b) ROT SWAP ROT + DUP ROT - / SWAP *
c) SWAP ROT DROP DUP ROT + * /
d) SIN + ROT COS - /
Pilha interativa:
Existe um sistema especial de edio e manipulao dos objetos armazenados
no Stack, esta funo chama-se Pilha Interativa, e est disponvel atravs do menu [
] [ STACK] .
Para usar a Pilha Interativa proceda da seguinte forma:
1. pressione [ ] [ STACK].
2. use as setas do cursor para selecionar o objeto na linha desejada.
3. pressione [ENTER] ou [CANCEL] para sair da Pilha Interativa
4. para sair sem efetuar as mudanas feitas no Stack pressione [ ] [UNDO]
tecla: Descrio:
[ECHO] - Copia o contedo da linha corrente para a posio do
cursor na linha de comando.
http:www.li.facens.br/eletronica
7
O site da Eletrnica
Manual HP48G/GX
[VIEW] - Mostra ou edita o objeto na linha corrente usando o
modo de apresentao mais adequado.
[ ] [VIEW] - Mostra ou edita o objeto especificado pelo nome na
linha corrente usando o formato correto.
[PICK] - Copia o contedo do nvel corrente para o nvel 1.
[ROLL] - Move o contedo da linha corrente para o nvel 1.
[ROLD] - Move o contedo do nvel 1 para a linha corrente.
[ LIST] - Cria um objeto lista contendo todos os objetos desde
o nvel 1 at o nvel corrente.
[DUPN] - Duplica uma poro do stack que vai desde o nvel 1 a
at a linha corrente para a parte superior a linha
corrente, deslocando para cima o que j existia nesta
poro do stack.
[DROPN] - Apaga uma poro do stack que vai desde o nvel 1 a
at o nvel corrente.
[] - Apaga o objeto no nvel corrente
Objetos
- Definio de Objetos
- Lista dos Objetos
- Criao de Objetos
Definio de Objetos:
Os elementos bsicos de Informao que a calculadora HP48 utiliza se chamam
objetos. A calculadora HP48 pode armazenar e manipular diversos tipos de objetos. Os
objetos so estruturas de dados internas da HP48, por ex: nmero real, complexo,
matriz, list, etc.
http:www.li.facens.br/eletronica
8
O site da Eletrnica
Manual HP48G/GX
objetos grficos 11 objeto CODE 25
targged objeto 12 Library data 26
objeto unidade 13 External objeto 26-31
XLIB name 14
http:www.li.facens.br/eletronica
9
O site da Eletrnica
Manual HP48G/GX
Diretrios
- Estrutura em rvore de um diretrio
- Os comandos: STO, RCL, EDIT, PURGE, VIEW
{ HOME }
Memria
- Comandos do menu MEMORY
- Comandos dos sub--menus DIR e ARITH
[
MEMORY]
http:www.li.facens.br/eletronica
10
O site da Eletrnica
Manual HP48G/GX
[EDIT] [CHOOSE] [VEHK] [NEW] [COPY] [MOVE]
[RCL] [PURG]
[DIR]
Comandos do sub-menu
menu ARITH
As funes do sub--menu
menu ARITH podem otimizar em muito um programa, pois
reduzem o nmero de operaes ao se trabalhar com variveis. Abaixo temos um resumo de
suas funes:
- STO+ : soma, quando possvel, o objeto do nvel 2 ao o contedo da varivel
indicada no nvel 1, armazenando o resultado na prpria varivel.
- STO- : subtrai, quando possvel, o objeto do nvel 2 ao o contedo da varivel
indicada no nvel 1, armazenando resultado na prpria varivel.
var
http:www.li.facens.br/eletronica
11
O site da Eletrnica
Manual HP48G/GX
- STO* e STO/ : so anlogas as anteriores, e executam a multiplicao e a diviso.
- INCR : incrementa em 1 o contedo da varivel indicada, retornando o novo valor
da varivel para a pilha.
- DECR : Decrementa em 1 o contedo da varivel indicada,
indicada, retornando o novo valor
da varivel para a pilha.
- SINV : calcula a recproca (1/x) do contedo da varivel indicada, armazenando na
prpria varivel o novo valor.
- SNEG : inverte o sinal do contedo da varivel indicada.
- SCON : calcula o conjugado
conjugado do contedo da varivel indicada, caso seja complexa,
armazenando na prpria varivel o novo valor.
Sistema de Unidades
- Menus de Unidades
- Operaes com Unidades
- Converso de Unidades
- Os comandos: UBASE, UFACT, UVAL
A seguir temos
mos um resumos das principais operaes de gerenciamento de sistemas de
unidades na calculadora HP:
[ UNITS] - apresenta vrios diretrios que contm o catlogo das unidades utilizadas em
grandezas fsicas como a massa, a velocidade, a luminosidade, etc. Permite que sejam criados
objetos com unidades, e que seja feita converses entre unidades consistentes.
[ UNITS] - contm comandos para a converso de objetos com unidades.
O menu [ UNITS] :
- Para criar um objeto com unidade, digite o valor valor e em seguida pressione a tecla
correspondente unidade desejada, o objeto pode tambm ser criado atravs da linha de
comando usando a tecla "_".
- Podemos incluir prefixos quando estamos criando um objeto com unidade, por exemplo:
1_uA que eqivale a 0.000001_A
- Para utilizar a converso rpida utilize o procedimento:
- coloque no nvel 1 do stack o objeto que se deseja converter
- encontre nos menus de unidades a unidade destino da converso
- e pressione [ ] [ unidade destino]
de
- Para executar a converso rpida entre sistemas de unidades que no se encontram no menu
do catlogo de unidades a soluo ou usar o comando [CONV] ou criar com um menu CST
contendo um banco de novas unidades definidas pelo usurio (para um caso
caso no qual se precisa
repetir a converso para diversos valores).
http:www.li.facens.br/eletronica
12
O site da Eletrnica
Manual HP48G/GX
O menu [ UNITS]:
[CONV] - converte o objeto com a unidade do nvel 2 para a unidade indicada no nvel 1,
desprezando o valor numrico do objeto do nvel 1.
[UBASE] - converte o objeto de unidades para outro objeto que possui apenas as unidades
base do SI. (muito interessante)
[UVAL] - retorna apenas o valor numrico do objeto de unidades. (til para converses)
[UFACT] - fatora a unidade do objeto do nvel 2 envolvendo a unidade do obj. do nvel 1.
[UNIT] - combina o valor presente nvel 2 com a unidade do nvel 1, desprezando a o
valor do nvel 1.
SOLVER BSICO
Para resolver uma equao usando mtodos manuais seguimos o procedimento:
- Escrevemos a equao.
- Se possvel isolamos
lamos a varivel desconhecida.
- Substituimos os valores conhecidos.
- Calculamos o valor da varivel desconhecida.
SOLVE
1) SOLVE EQUATION - utilizado para calcular uma varivel desconhecida em uma
equao ou expresso qualquer, quando usamos uma expresso o solve calcula o zero da
mesma.
EQ: recebe a equao ou expresso que ser utilizada.
EDIT: edita o objeto do campo selecionado.
CHOOSE:: Seleciona uma equao ou expresso que esteja armazenada em alguma
varivel do diretrio corrente. Se pressionado novamente, seleciona um novo diretrio para
procurar as equaes ou expresses.
VARS: retorna uma lista com as variveis da equao corrente
EXPR: retorna ao stack o valor da expresso para um valor pr-determinado
pr de
varivel.
INFO: se pressionado aps a calculadora ter efetuado algum clculo no solve, retorna
o status da varivel e seu valor.
MENSAGENS:
http:www.li.facens.br/eletronica
13
O site da Eletrnica
Manual HP48G/GX
a) Sign Reversal: a calculadora isolou 2 pontos que resultam sinais opostos quando
aplicados a expresso ou a equao, mas no encontrou um ponto, entre os dois, que possa
zerar a funo, isto geralmente ocorre devido a falta de preciso ou a descontinuidade da
funo.
b) Extremum: a expresso ou a equao tende a zero para valores muito altos ou
muito baixos, desta forma o zero (raiz) obtido pela falta de preciso e portanto pode ou no
ser um zero verdadeiro.
SOLVE POLINOMIAL
Utilizado para resoluo de polinmios de tipo: AoXn + A1Xn-1 + . . . + An-1X1 + AnXo =
0
Coeficientes [An An-1 . . . A1 Ao]: campo utilizado para a entrada (ou resoluo) dos
coeficientes do polinmio.
Roots: campo utilizado para a resoluo (ou entrada) das razes do polinmio.
Symb: se o campo selecionado for "coeficientes" ao se pressionar [Symb], retorna para o stack
o polinmio. Se selecionarmos "roots" teremos no stack o produto das razes que resulta no
polinmio em questo.
Solve: encontra os coeficientes partir das razes do polinmio e vice-versa, de acordo com o
campo selecionado.
a1 x + a2y + a3z = b1
a4 x + a5y + a6z = b2
a7 x + a8y + a9z = b3
a1 a2 a3 x b1
a4 a5 a6 y = b2
a7 a8 a9 z b3
A: campo utilizado para a entrada da matriz que possui os coeficientes das variveis.
B: campo utilizado para a entrada (ou clculo) dos coeficientes lineares do sistema.
X: campo utilizado para o clculo (ou entrada) do valor das variveis.
http:www.li.facens.br/eletronica
14
O site da Eletrnica
Manual HP48G/GX
SOLVER AVANADO
( EQ LIB MES)
MULTI-EQUATION SOLVER
- esta lista deve ser armazanada em 'EQ' (varivel que armazena as equaes que a
calculadora dever processar)
- em seguida devemos inicializar o programa M.E.S. apertando [MINIT}.
- para calcular pressionamos [MSOLV] e obtemos um menu da variveis.
- agora devemos colocar os valores nas variveis que j conhecemos, digitamos o
valor e pressionamos a tecla correspondente variavel.
- podemos calcular o valor de uma varivel pressionando + (varivel desejada).
* a tecla [ALL] limpa o contedo de todas as variveis e a combinao [ALL], faz
com que a calculadora encontre o valor de todas as variveis desconhecidas.
PROGRAMAO
Fundamentos de Programao:
- Como introduzir e executar um programa.
- Como editar um programa.
- Como utilizar variveis locais.
- Programas que manipulam dados na pilha.
- Como utilizar sub-rotinas.
- Execuo de um programa passo-a-passo.
http:www.li.facens.br/eletronica
15
O site da Eletrnica
Manual HP48G/GX
Se desejarmos calcular o volume de muitas esferas, podemos criar um programa. O
programa seguinte tambm assume que o raio j est na pilha:
VOL um programa do tipo mais simples que existe; uma srie de objetos e comandos,
escritos na mesma ordem em que se escreveria normalmente para calcular o volume de uma
esfera.
O programa
rograma seguinte (chamado de SPH) calcula o volume de um segmento esfrico
de raio r e altura h, utilizando a seguinte frmula:
V = 1/3*pi*h^2*(3*r-h)
Argumentos: Resultados:
2: 2:
1: 1: volume
Este diagrama indica que SPH no usa argumentos da pilha e devolve o valor do setor
esfrico ao nvel 1. (SPH assume que j se tenha armazenado o valor do raio na varivel R e a
altura na varivel H).
Programa: Teclas:
Tecla Comentrios:
<< [<< >>] Comea o programa.
'1/3 ['] 1 [/] 3 Comea a expresso algbrica
para calcular o volume.
http:www.li.facens.br/eletronica
16
O site da Eletrnica
Manual HP48G/GX
*pi*H^2 [*] pi [*] H Multiplica por h .
[ Yx ] 2
*(3*R-H)' [*] [( )]
Multiplica por 3r-h,
3 [*] R [-]
[ completando o clculo e
H [] [ ] finalizando a expresso.
NUM [NUM] Converte a expresso para
um nmero.
>> Termina o programa.
[ENTER] Coloca o programa na pilha.
['] SPH [STO] Armazena o programa na varivel SPH.
Vamos modificar o programa SPH de maneira que ele armazene o contedo do nvel
1 na varivel H e o contedo da varivel do nvel 2 na varivel R.
<<
'H' STO
'R' STO
'1/3*pi*H^2*(3*R
'1/3*pi*H^2*(3*R-H)'
NUM
>>
Salve esta nova verso do programa na varivel 'SPH2', pressionando [ENTER] para
sair do modo de edio de programas e digite a sequncia: 'SPH2' STO para gravar.
obs: Para abortar a edio de um programa pressione [CANCEL] e para confirmar o fim da
edio de um programa pressione [ENTER].
http:www.li.facens.br/eletronica
17
O site da Eletrnica
Manual HP48G/GX
O programa SPH utiliza variveis globais para armazenar e utilizar os dados. As
desvantagens de se utilizar variveis globais so as seguintes:
- Depois da execuo do do programa necessrio apagar as variveis globais inteis
para liberar o menu VAR e a memria do usurio.
- Deve-se
se armazenar explicitamente os dados em variveis globais antes de se
executar o programa, ou fazer com que o prprio programa execute STO.
S
4:
3: 10
2: 6
1: 20
onde:
a) a cria a varivel local a=20.
b) a b cria as variveis locais a=6 e b=20.
c) a b c cria as variveis locais a=10, b=6 e c=20.
Argumentos: Resultados:
2: r 2:
1: h 1: volume
http:www.li.facens.br/eletronica
18
O site da Eletrnica
Manual HP48G/GX
Programa: Comentrios:
<<
r h Cria as variveis locais r e h
para guardar o raio e a altura
da esfera.
<<
>>
Para executar o programa entre com os dados na pilha e chame o programa, por exemplo:
raio=10 e altura=3. Entre com os dados da seguinte forma: 10 [ENTER] 3 [ENTER] ,
execute o programa: VAR SPHVL
Argumentos: Resultados:
2: r 2:
1: h 1: volume
http:www.li.facens.br/eletronica
19
O site da Eletrnica
Manual HP48G/GX
Programa: Comentrios:
<<
Comandos do DEBUG:
DBUG: toma como argumento o nome, ou o programa a ser executado passo-a-passo,
comeando a execuo do programa e depois suspendendo como se fosse executado o
comando HALT.
SST: executa o prximo comando do programa suspenso.
SST: igual a SST, porm executa subrotinas do programa principal passo-a-passo tambm.
NEXT: mostra no display o prximo comando a ser executado.
HALT: suspende a execuo de um programa na posio do comando HALT.
CONT: retorna a execuo de um programa suspenso.
KILL: cancela a execuo e o processamento passo-a-passo de todos os programas
suspensos.
http:www.li.facens.br/eletronica
20
O site da Eletrnica
Manual HP48G/GX
obs:
- para abandonar a execuo do programa pressione KILL
- para continuar a executar at o fim do programa normalmente pressione CONT.
Veremos comandos e estruturas que permitem aos programas fazer perguntas e tomar
decises:
O programa abaixo usa um teste dentro de uma estrutura condicional para executar a
seguinte tarefa:
"Se os dois nmeros da pilha tem o mesmo valor, elimine um dos dois e armazene o outro na
varivel V1. Caso contrrio, os dois nmeros so diferentes, armazena o nmero do nvel 1
em V1 e o nmero do nvel 2 em V2"
Programa: Comentrios:
<<
http:www.li.facens.br/eletronica
21
O site da Eletrnica
Manual HP48G/GX
>>
Comandos de Testes
Um teste uma sequncia de comandos que devolvem um resultado verdadeiro (1) ou
falso (0). Por exemplo, digite 10 5 >, voc ir obter 1 significando que a condio do teste
verdadeira, ou seja que 10 maior do que 5; da mesma forma podemos digitar 5 10 >, neste
caso obteremos 0 indicado que a nossa suposio falsa.
Funes de Comparao:
< menor que
> maior que
< menor ou igual
> maior ou igual
== igual
= diferente
SAME igual (+ rpido que ==)
Funes Lgicas:
AND retorna 1 se os dois argumentos so V.
OR retorna 1 se um ou os dois argumentos so V.
XOR retorna 1 se um ou outro V mas no os dois.
NOT retorna 1 se o argumento for F.
http:www.li.facens.br/eletronica
22
O site da Eletrnica
Manual HP48G/GX
ESTRUTURAS CONDICIONAIS:
IF ... THEN ... END executa uma sequncia de comandos (clusula verdadeira) se a
condio for verdadeira (clusula de teste). Sua sintaxe a seguinte:
A clusula de teste (condio de teste) pode ser uma sequncia de comandos (por exemplo: A
B >) ou um algbrico (por exemplo: 'A>B'). No caso de ser um algbrico a expresso
avaliada automaticamente para um nmero, no necessitando do EVAL ou de NUM.
Exemplo 1:
Os dois programas seguintes fazem um teste do valor no nvel 1. Se o valor positivo
tranforma-se em negativo. O primeiro programa usa uma sequncia de comandos como
clusula de teste:
O valor na pilha deve ser duplicado porque o comando > extrai dois argumentos da pilha (a
cpia do valor feita pelo DUP)
A seguinte verso usa um algbrico como clusula de teste:
Programa: Comentrios:
<<
>>
>>
A Estrutura IF...THEN...ELSE...END
Exemplo 1:
O seguinte programa toma um valor da pilha e calcula sin(x)/x. Porm em x=0 a
diviso estar errada, por isso o programa devolve o valor limte 1 neste caso:
Exemplo 2:
http:www.li.facens.br/eletronica
24
O site da Eletrnica
Manual HP48G/GX
Programa: Comentrios:
<<
>>
>>
A Estrutura CASE...END
CASE
clusula de teste1 THEN clusula verdadeira1 END
http:www.li.facens.br/eletronica
25
O site da Eletrnica
Manual HP48G/GX
clusula de teste2 THEN clusula verdadeira2 END
. . .
clusula de testen THEN clusula verdadeiran END
clusula default (opcional)
END
Exemplo 1:
O seguinte programa armazena o argumento do nvel 1 em uma varivel chamada
STR se o argumento for uma cadeia; numa varivel chamada LIST se o argumento for uma
lista e em PRG se o argumento for um programa.
Programa: Comentrios:
<<
y Armazena o argumento na variveis local y.
<<
http:www.li.facens.br/eletronica
26
O site da Eletrnica
Manual HP48G/GX
Exemplo: O programa abaixo extrai um nmero da pilha e retorna a cadeia "POSITIVO" se o
nmero for positivo:
<< 0 > "POSITIVO" IFT >>
A funo IFTE
ESTRUTURAS ITERATIVAS:
As estruturas iterativas executam uma parte de um programa repetidamente. Existem
dois tipois bsicos de laos:
- Para um lao definido, o programa especifica previamente quantas vezes ser
executada a clusula do lao.
- Em um lao indefinido, o programa utiliza um teste para determinar se deve executar
novamente a clusula do lao.
- START...NEXT e START...STEP.
- FOR...NEXT e FOR...STEP.
A Estrutura START...NEXT
START...NEXT executa uma parte do programa um determinado nmero de vezes. Sua
sintaxe :
http:www.li.facens.br/eletronica
27
O site da Eletrnica
Manual HP48G/GX
Exemplo: O programa seguinte cria uma lista que contm dez cpias da cadeia "ABC":
Como funciona START...NEXT: START toma dois nmeros da pilha (incio e fim) e os
armazena como valores inicial e final para o contador do lao. Depois, executa a clusula do
lao. NEXT incrementa o contador em 1 e verifica se este valor menor ou igual ao fim. Se ,
executa novamente a clusula do lao.
A Estrutura START...STEP
START...STEP funciona exatamente da mesma forma que o START...NEXT, exceto que
permite especificar um incremento diferente de 1. Sua sintaxe :
Como funciona START...STEP: START toma dois nmeros da pilha (incio e fim) e os
armazena como valores inicial e final para o contador do lao. Depois, executa a clusula do
lao. STEP toma o incremento da pilha e incrementa o contador com este valor. O
incremento pode ser positivo ou negativo. Se positivo, executa novamente a clusula do
lao quanto o contador menor ou igual ao fim. Se o incremento negativo, executa o lao
quando o contador maior ou igual ao fim.
A Estrutura FOR...NEXT
Um lao FOR...NEXT executa uma parte de um programa um nmero especificado de vezes,
utilizando uma varivel local como contador das iteraes. Pode-se utilizar esta varivel
dentro do lao. Sua sintaxe :
Exemplo1: O programa seguinte coloca na pilha os quadrados dos nmero inteiros de 1 a 10:
http:www.li.facens.br/eletronica
28
O site da Eletrnica
Manual HP48G/GX
Exemplo2: O programa seguinte calcula o fatorial de um nmero da pilha:
Como funciona FOR...NEXT: FOR toma dois nmeros da pilha (incio e fim) e os
armazena como valores inicial e final para o contador de iteraes, depois cria uma varivel
local contador como contador de iteraes. Depois, se executa a clusula do lao. NEXT
incrementa o contador em 1 e verifica se este valor menor ou igual ao fim. Se , executa
novamente a clusula do lao. Ao sair do lao o contador apagado, ou seja ele s existe
dentro da clusula do lao.
A Estrutura FOR...STEP
FOR...STEP funciona exatamente da mesma forma que FOR...NEXT, exceto que permite
especificar um incremento diferente de 1 ao contador. Sua sintaxe :
Como funciona FOR...STEP: FOR toma dois nmeros da pilha (incio e fim) e os
armazena como valores inicial e final para o contador de iteraes, depois cria uma varivel
local contador como contador de iteraes. Depois, executa a clusula do lao. STEP toma o
incremento da pilha e incrementa o contador com este valor, e verifica se o valor do contador
menor ou igual ao fim. Se , executa novamente a clusula do lao. Ao sair do lao o
contador apagado, ou seja ele s existe dentro da clusula do lao.
- DO...UNTIL...END.
- WHILE...REPEAT...END.
http:www.li.facens.br/eletronica
29
O site da Eletrnica
Manual HP48G/GX
A Estrutura DO...UNTIL...END
DO...UNTIL...END executa repetidamente um lao enquanto a clusula de teste retornar um
valor falso. Como se executa primeiramente a clusula do lao e depois a clusula do teste,
executa-se ao menos uma vez o lao. Sua sintaxe a seguinte:
Programa: Comentrios:
<<
DUP 1 n s c Duplica n e armazena o valor em n e
s; inicializa o contador c com 1.
<<
s c Coloca na pilha s e c.
>>
>>
A Estrutura WHILE...REPEAT...END
WHILE...REPEAT...END avalia repetidamente um teste e executa a clusula do lao se o
teste verdadeiro. Como a clusula do teste ocorre antes da clusula do lao, nunca se
executa um lao sem antes verificar se a clusula do teste verdadeira. Sua sintaxe a
seguinte:
http:www.li.facens.br/eletronica
30
O site da Eletrnica
Manual HP48G/GX
Exemplo: O programa seguinte realiza uma diviso por dois sobre o nmero que est na
pilha repedidamente sempre que o resultado da diviso seja divisvel por um nmero par.
PROGRAMAS INTERATIVOS:
Para escrevermos programas interativos necessitamos de comandos especficos que
permitam a comunicao do programa com o usurio. Estes comandos possuem funes
especficas, e so basicamente de dois tipos:
COMANDOS DE SADA :
DISP
Mostra em uma determinada linha da tela um objeto especificado. Por exemplo:
<< DUP
SIZE 1 SWAP
FOR n mostrar na tela da calculadora uma
DUP n n SUB letra por vez de uma string
1 DISP
NEXT
>>
http:www.li.facens.br/eletronica
31
O site da Eletrnica
Manual HP48G/GX
CLLCD
Limpa a tela da calculadora. Exemplo:
<< CLLCD "EU SEI PROGRAMAR" 1 DISP >> mostra um messagem na tela.
BEEP
Emite um beep com uma frequncia e uma durao especificadas. Exemplo:
FREEZE
Congela uma determinada rea do display:
1 FREEZE - rea de status
2 FREEZE - rea da pilha
4 FREEZE - rea do menu
<< "ABC
DEF
GHI" CLLCD 1 DISP
3 FREEZE congela a rea do status+pilha (3=1+2)
>>
WAIT
Provoca uma pausa na execuo do programa em n segundos. (se n=-1 espera at que
uma tecla qualquer seja pressionada, retornando a posio da tecla pressionada)
MSGBOX
Utilizado para mostrar mensagens curtas ao usurio: erros, procedimentos, etc.
COMANDOS DE ENTRADA:
KEY
Retorna o resultado de um teste para verificar se alguma tecla est sendo pressionada,
em caso afirmativo retorna tambm a posio da tecla pressionada (linha, coluna). Exemplo:
<< WHILE
KEY NOT
REPEAT
"Nenhuma tecla pressionada" 1 DISP
END
"A tecla pressionada foi:" SWAP + 1 DISP
3 FREEZE
>>
INFORM
Cria uma estrutura de entrada de dados no padro dos menus da HP. Utilizando este
comando podemos inserir dados atravs de menus e janelas, utilizando comandos eles
associados (EDIT, CANCEL, OK, RESET, CALC, TYPES). Os argumentos para a utilizao
do comando so os seguintes:
stack:
5: "conhecendo o inform" - pequena string que ser exibida no topo da caixa.
4: { "A=" "B=" "C=" } - lista de strings contendo a identificao dos campos.
3: { 1 5 } - lista contendo o nmero de campos por linha e a distncia
entre a identificao e o campo.
2: { 0 0 0 } - valores assumidos pelos campos quando se d um RESET
1: { 1 2 3 } - valores defaut (iniciais)
Este comando retorna o valor 0 se a entrada foi cancelada e 1 se a entrada foi
confirmada, neste caso o comando retorna uma lista, na 2 linha do stack, contendo os novos
contedos dos campos apresentados.
http:www.li.facens.br/eletronica
33
O site da Eletrnica
Manual HP48G/GX
CHOOSE
O comando CHOOSE utilizado quando necessitamos que o usurio faa uma
escolha dentro de um programa. O comando gera um menu de barras, contedo as opces, ou
objetos desejados. O comando utilizado com os seguintes argumentos:
COMANDOS GRFICOS:
TELA GRFICA:
Observe que as coordenadas do pixel so dadas em forma de uma lista contendo dois
binrios inteiros, o primeiro idicando a coluna e o segundo indicando a linha. Estas
coordenadas so a forma mais coveniente de se trabalhar com objetos grficos. J as
coodenadas do plot so definidas atravs da varivel PPAR e indicam pontos na tela de uma
funo matemtica traada atravs do plot, por isso seu uso no muito til pois
freqntemente alteradas.
COMANDOS GRFICOS:
http:www.li.facens.br/eletronica
34
O site da Eletrnica
Manual HP48G/GX
PICT
Varivel na qual est armazenado o objeto grfico corrente.
PDIM
Dimensiona o tamanho da tela grfica de acordo com a coordenada do canto inferior
direito da nova tela, colocadas nos nveis 2 e 1 do stack ( altura largura).
LINE
Desenha uma linha na tela grfica corrente entre dois pontos colocados no stack.
TLINE
Desenha uma linha na tela grfica corrente entre dois pontos colocados no stack,
trocando o estado de cada ponto encontrado no caminho (on-off xor).
BOX
Desenha um retngulo na tela grfica usando duas coordenadas no stack que indicam
a diagonal do retngulo.
ARC
Desenha um arco na tela grfica centrado na coordenada presente no nvel 4 do stack,
com um raio especificado no nvel 3, com o ngulo inicial e final indicados nos nveis 2 e 1
respectivamente.
PIXON
Liga o pixel da tela grfica ndicado no nvel um do stack.
PIXOFF
Desliga o pixel da tela grfica ndicado no nvel um do stack.
PIX?
Retorna 1 se o pixel da tela grfica indicado no nvel um do stack estiver ligado, e
zero se estiver desligado.
PVIEW
Mostra a tela grfica corrente a partir de um ponto especificado (geralmente {#0#0}).
PXC
Converte as coordenadas de pixel para coordenadas do tipo plot.
CPX
Converte as coordenadas do tipo plot para coordenadas de pixel.
GROB
Converte o objeto (nvel 2) para o objeto grfico usando o nmero real n (de 0 a 3 no
nvel 1 do stack) para especificar o tamanho do caracter. O objeto grfico resultante uma
string cujo tamanho do caracter pequeno (n=1), mdio (n=2) ou grande (n=3). Para n=0 o
tamanho do caracter o mesmo que para n=3, exceto para objetos algbricos e unidades, o
objeto grfico resultante neste caso ser uma tela do Equation Writer.
BLANK
http:www.li.facens.br/eletronica
35
O site da Eletrnica
Manual HP48G/GX
Cria um objeto grfico em branco a partir da largura e da altura especificadas nos
nveis 2 e 1 respectivamente.
GOR
Sobrepe o objeto grfico presente no nvel 1 do stack ao objeto grfico presente no
nvel 3 do stack, a partir da coordenada especificada no nvel 2 do stack.
GXOR
Sobrepe, usando um XOR lgico, o objeto grfico presente no nvel 1 do stack ao
objeto grfico presente no nvel 3 do stack, a partir da coordenada especificada no nvel 2 do
stack.
SUB
Extrai uma regio do objeto grfico presente no nvel trs definida por duas
coordenadas presentes nos nveis 2 e 1 do stack que definem a diagonal do retngulo extrado.
REPL
Insere o objeto grfico presente no nvel 1 do stack ao objeto grfico presente no nvel
3 do stack, a partir da coordenada especificada no nvel 2 do stack.
LCD
Mostra o objeto grfico do nvel 1 no display-stack.
LCD
Retorna para o nvel 1 o objeto grfico que est sendo mostrado na tela.
SIZE
Para um objeto grfico presente no nvel 1, retorna a largura (nvel 2) e a altura (nvel
1) em pixels.
ANIMATE
Toma a partir do nvel 2 at n+1 uma sequncia de grobs e do nvel 1:
o nmero de grobs (n)
uma lista contendo 4 tens:
a) o nmero de grobs.
b) uma lista contendo as coordenadas de pixel ( #nx #ny ) do canto superior esquerdo
da regio onde a animao ser feita.
c) o delay (em segundos) entre cada quadro da animao.
d) o nmero de vezes que a seqncia de animao ser repetida (0 para repetir
indefinidamente, at que uma tecla seja apertada).
http:www.li.facens.br/eletronica
36
O site da Eletrnica
Manual HP48G/GX
ANALISE DE TCNICAS DE PROGRAMAO
O objetivo deste mdulo fornecer idias para a construo de programas corretos,
inteligveis e de fcil manuteno. Para isto o primeiro passo estudado ser a decomposio
do problema e criao de um algortimo. A partir destes quesitos busca-se um mtodo que
fornea:
- Programas corretos.
- Programas bem estruturados.
- Programas manutenveis.
- Controle do programa desde o projeto..
Para programas de grande porte seriam necessrios ainda documentao, comentrios
e controle da qualidade do programa. No entanto, os programas desenvolvidos para a HP48
so de pequeno porte, mdio porte ocasionalmente para a HP48GX, portanto os tens acima
so suficientes para a obteno de um bom programa.
so utilizados procedimentos bsicos de programao na confeco de pequenos
programas, tais como:
- Visualizao do problema.
- Criao do algortimo.
- Criao do fluxograma.
- Criao do programa.
Para programas maiores e mais complexos existem vrios mtodos de programao,
mas usaremos o mtodo de modularizao devido a sua alta eficincia e ao fato de
trabalharmos com programao estruturada. O mtodo de modularizao segue os seguintes
passos:
- Visualizao do problema.
- Criao do algortimo.
- Diviso do problema em mdulos.
- Criao de um fluxograma modular.
- Implementao e teste de cada mdulo.
- Implementao do programa principal.
A modularizao est englobada no que chamamos de programao estruturada, que
associada a vrios conceitos:
- Programao sem o uso de GO TO.
- Uso exclusivo de concatenao (seqncia), selao (if then else), repetio
(while do).
- Desenvolvimento de programas do tipo TOP-DOWN (refinamento sucessivo).
No entanto, nenhum dos tens acima , e nem o conjunto, fornecem a idia exata do
que vem a ser programao estruturada. Ento vamos defin-la:
- Programao estruturada aquela na qual so satisfeitas as acertivas pr-
determinadas, construindo o programa com um fluxo lgico que seja consistente dentro de
cada trecho do programa (mdulos).
Vamos analisar agora alguns programas interessantes, buscando fixar e desenvolver o uso dos
comandos de programao. Ser proveitoso digit-los e execut-los no modo DEGUG (passo-
a-passo). Os programas abaixo foram transferidos da HP para o computador pelo kermit
utilizando translate code igual a 3.
http:www.li.facens.br/eletronica
37
" INCLUIR"
1-Calculo da Determinante de uma " EXCLUIR" } 1
Matriz qualquer. CHOOSE 0 ==
IF
%%HP: T(3)A(D)F(.); THEN UPDIR
\<< KILL
IFERR END DUP
WHILE " PROCURAR" ==
"CALCULO DO DET" { IF
"MATRIZ" } { 1 2 } THEN CLEAR S
{ } { } INFORM KILL
REPEAT EVAL DUP END
SIZE EVAL SWAP 1 - " INCLUIR" ==
\-> m c l IF
\<< 0 1 c THEN CLEAR E
FOR x 1 0 l KILL
FOR y m y END CLEAR D
1+xy+ \>>
IF DUP
4 / DUP 1 > BIB
THEN IP DIR
c*-
ELSE
DROP D
END 2 \<< CLLCD
\->LIST GET * FONE
NEXT + " EXCLUSO"
NEXT 0 1 c VARS DUP SIZE 0 ==
FOR x 1 0 l IF
FOR y m y THEN
1+xy- CLEAR
IF DUP "NO H
1< CADASTRO"
THEN MSGBOX UPDIR UPDIR
DUP c / IP 1 + c * KILL
+ END 1
END 2 \<< "" +
\->LIST GET * \>> DOSUBS
NEXT + 1 CHOOSE 0 ==
NEXT - IF
"DET:" SWAP + THEN
MSGBOX m UPDIR UPDIR KILL
\>> END UPDIR
END OBJ\-> DUP FONE PURGE
THEN CLEAR ERRN UPDIR ANIV PURGE
DOERR UPDIR UPDIR
END \>>
\>>
E
\<< ANIV
"INCLUS\195O (FONE,ANIV\->STRING)"
{ "NOME:" "FONE:"
"ANIV:" } { 1 3 } {
} { } INFORM 0 ==
IF
THEN
UPDIR UPDIR KILL
END OBJ\->
DROP ROT DUP "" +
DUP "E" == SWAP DUP
http:www.li.facens.br/eletronica
39
"S" == SWAP DUP "D"
== SWAP DUP "ANIV"
== SWAP "FONE" ==
OR OR OR OR 1 ==
IF
THEN
CLLCD CLEAR
" VARIVEL
RESERVADA."
UPDIR UPDIR MSGBOX
KILL
END DUP
EVAL TYPE 6 \=/
IF
THEN
CLEAR UPDIR UPDIR
" NOME J USADO
OU INVLIDO.
(USE VARIVEL)"
MSGBOX KILL
END DUP
ROT SWAP STO VARS
SORT ORDER UPDIR
FONE STO VARS CLLCD
" A.J.M." 3
DISP
" ORDENANDO..."
5 DISP SORT ORDER
UPDIR UPDIR
\>>
FONE
DIR
CEFET
2247735
LUCIANO
"2626133R33"
END
ANIV
DIR
CEFET
NOVAL
LUCIANO
NOVAL
END
END
END
COMUNICAO SERIAL
PARMETROS
Antes de iniciarmos a transferncia de dados preciso
preciso ajustar os parmetros de
comunicao serial da calculadora:
PORT: seleciona o modo de comunicao ( Wire para HP-PC ou Infrared para HP-HP).
TYPE: seleciona o protocolo de comunicao (Kermit
( ou XModem).
FMT: seleciona o formato dos dados (ASCII
( ou Binary).
XLAT: seleciona o tipo de traduo de caracteres usado no formato ASCII.
CHK: seleciona o metodo de verificao de erros (checksum) usado na transferncia.
BAUD: seleciona a velocidade de transferncia de dados (1200 2400 4800 ou 9600).
PARITY: seleciona o tipo de mtodo para gerar a paridade durante a comunicao.
OVRW: habilita ou no a gavao (overwrite) de variveis j existentes.
COMUNICAO HP-HP
HP
Podemos transferir qualquer tipo de objeto entre duas calculadoras HP atravs da
comunicao
icao por infravermelho. Para a estabelecer a transferncia de programas entre duas
calculadoras seguimos os seguintes passos:
1- Entre no menu de comunicao I/O (pressione [ ] [I/O] )
2- Selecione [Transfer...]
3- Configure os parmetros do mesmo modo nas duas calculadoras:
(imprescindvel: port=IR )
(recomendado: type=Kermit fmt=Bin Xlat=None chk=1 )
4- Pressione [NEXT] [OK]
5- Entre novamente no menu de comunicao I/O (pressione [ ] [I/O] )
6- Selecione [Send to HP 48...] na calculadora que ir mandar os programas.
7- Pressione [CHOOS] e selecione os programas que sero enviados pressionando a tecla [_chk],
caso o programa esteja em outro diretrio pressione novamente [CHOOS] e selecione o novo
diretrio.
8- Antes de mandarar o programa pressionando [SEND] necessrio entrar em [Get from HP 48] na
calculadora que ir receber.
9- Finalmente podemos mandar o programa pressionando [SEND]
COMUNICAO HP-PC
PC
A transferncia entre a calculadora e o computador praticamente
praticamente igual ao processo
descrito acima, com algumas modificaes:
1- Entre no menu de comunicao I/O (pressione [ ] [I/O] )
2- Selecione [Transfer...]
O site da Eletrnica
Manual HP 48 G/GX
3- Configure os parmetros do mesmo modo nas duas calculadoras:
(imprescindvel port=Wire )
(recomendado type=Kermit fmt=Bin Xlat=None chk=1 )
(recomendado baud=9600 parity=None )
4- Pressione [NEXT] [OK]
5- Entre novamente no menu de comunicao I/O (pressione [ ] [I/O] )
6- Selecione [Send to HP 48...] no caso da calculadora
calculad ir mandar os programas.
7- Pressione [CHOOS] e selecione os programas que sero enviados pressionando a tecla [_chk],
caso o programa esteja em outro diretrio pressione novamente [CHOOS] e selecione o novo
diretrio.
8- Antes de mandar o programa pressionando
pressionando [SEND] necessrio preparar o computador para
receber.
9- Finalmente podemos mandar o programa pressionando [SEND]
10- No caso em que a calculadora deve receber o programa, deve-se
deve se entrar em [Get from HP 48] e
atravs do computador mandar o programa.
pro
KERMIT
Para utilizar a transferncia de programas do computador para a calculadora necessrio
conhecer os seguintes comandos do Kermit:
* Para mandar:
send [nome do programa]
* Para receber:
recv
COMANDOS DE TRANSFRENCIA DE
D DADOS:
Para escrevermos programas que realizem uma comunicao serial (com o protocolo
Kermit ou Xmode) precisamos conhecer os seguintes comandos:
SEND: transfere os objetos para serial cujos nomes esto no stack em forma de lista.
RECV: recebe dados via comunicao serial.
SERVER: entra no modo de servidor.
KGET: recebe um objeto cujo nome enviado em forma de string.
http://www.li.facens.br/eletronica
42
O site da Eletrnica
Manual HP 48 G/GX
FINISH: envia uma mensagem de trmino de transferncia de dados ou do modo server.
RECN: recebe um objeto mudando o seu nome para outro que esta indicado no stack.
PKT: envia um comando via serial em forma de string.
KERRM: obtem o cdigo do ltimo erro ocorrido durante a transmisso de dados.
http://www.li.facens.br/eletronica
43
O site da Eletrnica
Manual HP 48 G/GX
Legendas
legenda Descrio legenda Descrio
[array] Vetor ou matriz real ou complexa. PICT Objeto grfico atual.
date Data na forma MM.DDAAAA ou DD.MMAAAA. point Ponto {#n #m} de tela ou (x,y) de plot eq.
{dim} Lista de dimenso da formao. lc.p linha, coluna e plano de tecla.
'nome' Nome global. (r,) Nmero complexo na forma polar.
grob Objeto grfico. "string" Cadeia de caracteres.
hms Formato horas minutos segundos (H.MMSSs). 'symb' Expresso, equao ou nome tratado como algebrico.
index Nmero real especificando um elemento de um obj. V/F Resultado de um teste (verdadeiro ou falso).
LID Nmero de biblioteca. time Tempo na forma HH.MMSSs.
{list} Lista de objetos. [vector] Vetor real ou complexo.
mn Nmero real ou inteiro positivo. xy Nmero real.
[matriz] Matriz real ou complexa. x_unit Objeto de unidade.
#n Inteiro binrio. (x,y) Nmero complexo na forma retangular.
obj Qualquer objeto. z Nmero real ou complexo.
http://www.li.facens.br/eletronica
44
O site da Eletrnica
Manual HP 48 G/GX
CF Desativa um flag especfico. m
%CH Calcula o variao percentual. xinicial yfinal x%
CHR Converte o cdigo de um caracter em uma cadeia de um caracter. n "string"
CKSM Fixa o tipo de checksum de E/S. nchecksum
CLEAR Apaga todos os dados no stack. obj1...objn
CLKADJ Ajusta o clock da calculadora em ticks. (1/8192 seg) nmarcas
CLLCD Limpa a tela.
CLOSEIO Fecha a porta serial.
CLUSR Igual a CLVAR
CLVAR Apaga todas as variveis de usurio no diretrio atual.
CL Apaga DAT.
CNRM Calcula a norma da coluna de uma matriz. [array] xnormacoluna
COLCT Une termos semelhante de uma expresso. 'symb'1 'symb'2
COL Seleciona as colunas de estatstica independente e dependentes nind ndepen
COMB Calcula as combinaes de n elementos tomados de m em n n m Cn,m
CON Cria uma matriz constante. {dim} z [array]
CONIC Seleciona o modo de traado cnico.
CONJ Devolve o conjugado de um complexo. [array] [array*]
CONT Continua a execuo de um programa.
CONVERT Executa converso de unidades. x1_unit1 x2_unit2 x3_unit2
CORR Calcula o coeficiente de correlao. xcorrelacion
COS Cosseno. z cos(z)
COSH Cosseno hiperblico. z cosh(z)
COV Calcula a variana. xcovariana
CR Retorno do carro/salto de linha.
CRDIR Cria um diretrio. 'nome'
CROSS Produto vetorial de vetores. [vetor1] [vetor2] [vetor3]
CPX Converso de unidades do usurio a coordenadas na tela. (x,y) {#n #m}
CR Converso de nmero complexo em real. (x,y) x y
DATE Devolve a data corrente. date
DATE+ Soma a uma data um determinado nmero de dias. date ndias date2
DATE Ajusta a data corrente. date
DDAYS Nmero de dias entre duas datas. date1 date2 ndias
DEC Fixa o modo decimal.
DECR Decrementa e devolve o valor de uma varivel especificada. 'nome' x
DEFINE Cria uma varivel ou funo definida pelo usurio. 'symb'
DEG Fixa o modo de graus.
DELALARM Apaga um alarme da lista de alarmes do sistema. nalarme
DELAY Fixa o tempo entre as linhas impressas. x
DELKEYS Desativa as ligaes de programas s teclas do modo usurio. lc.p
DEPND Especifica o nome da varivel dependente para o plot. 'nome'
DEPTH Devolve o nmero de objetos do stack. n
DET Determinante de uma matriz. [matriz] xdet
DETACH Desconecta uma biblioteca do diretrio atual. LID
DISP Mostra o objeto na linha especificada. obj nlinha
DO Comea a estrutura DO...UNTIL...END.
DOERR Aborta a execuo de um programa, mostra a msg de erro. "string"
DOT Produto escalar de dois vetores. [array] [array] x
DRAW Traado da funo em EQ.
DRAX Traado dos eixos.
DROP Elimina o objeto do nvel 1 do stack. obj
DROPN Elimina n objetos do stack. obj1...objn n
DROP2 Elimina dois objetos do stack. obj1 obj2
DTAG Apaga todas as etiquetas do objeto. :tag:obj obj
DUP Duplica o objeto do nvel 1 do stack. obj obj obj
DUPN Duplica n objetos do stack. obj1...objn n obj1...objn obj1...objn
DUP2 Duplica os objetos dos nveis 1 e 2 do stack. obj1 obj2 obj1 obj2 obj1 obj2
DR Converso de graus em radianos. xgraus xrad
e Constante simblica e (2.71828182846).
ELSE Comea a estrutura ELSE.
END Acaba estruturas de programas.
ENG Fixa o modo de engenharia. ncasas
EQ Separa equaes nos lados direito e esquerdo. 'symb1=symb2' 'symb1' 'symb2'
ERASE Apaga PICT.
ERRM Retorna a ltima mensagem de erro. "mensagem de erro"
ERRN Devolve o nmero do ltimo erro. #n
ERRO Apaga o timo nmero da mensagem de erro.
EVAL Avalia um objeto obj ...
http://www.li.facens.br/eletronica
45
O site da Eletrnica
Manual HP 48 G/GX
EXP Eleva a potncia exponencial o objeto do nvel 1. z e^z
EXPAN Expande o objeto algbrico. 'symb1' 'symb2'
EXPFIT Fixa o modelo de regresso para a curva exponencial.
EXPM Exponencial naturalo menos 1. x e^x-1
FC? Comprova se o flag especificado est desativado. mflag T/F
FC?C Comprova se o flag est desativado, se no o ativa. mflag T/F
FINDALARM Devolve o alarme da hora especificada. date nalarm
FINISH Termina com o modo server do Kermit.
FIX Seleciona o modo FIX. ncasas
FLOOR Inteiro seguinte mais pequeno. x n
FOR Comea a estrutura FOR ... NEXT ou FOR ... STEP
FP Devolve a parte fracionria de um nmero. x FP(x)
FREE Libera a memria ligada. { name/LID } nporta T/F
FREEZE Congela uma determinada rea do display. n
FS? Comprova se o flag especificado est ativo. mflag T/F
FS?C Comprova se o flag especificado est ativo, se no o ativa. mflag T/F
FUNCTION Seleciona o traado de grficos no modo FUNCTION.
GET Obtem elementos de uma formao ou lista. [array] index z
GETI Obtem elementos de uma formao ou lista e incremente o ndice. [array] index1 [array] index2 z
GOR Sobrepe o grfico do nvel 1 sobre o do nvel 3 no ponto especif. grob1 point grob2 grob3
GRAD Seleciona o moo radianos.
GRAPH Ativa o modo grfico.
GROB Converte uma cadeia de caracteres em um objeto grfico. "string" nsize grob
GXOR Usa um OR-exclusivo para sobrepor dois grficos. grob1 point grob2 grob3
HALT Suspende a execuo de um programa.
HEX Fixa o modo hexadecimal.
HMS+ Soma em formato HMS. hms1 hms2 hms3
HMS- Subtrao no formato HMS. hms1 hms2 hms3
HMS Converte HMS para o formato decimal. hms x
HMS Converte um nmero decimal para o formato hms. x hms
HOME Seleciona o diretrio HOME.
i Constante simblica i.
IDN Cria uma matriz identidade de um tamanho especificado. n [matriz]
IF Comea a estrutura de deciso IF...THEN..[ELSE]...END
IFERR Comea a estrutura de erro IFERR...THEN..[ELSE]...END
IFT Comando IFT/THEN T/F objverd
IFTE Comea a estrutura de deciso IFTE...THEN..[ELSE]...END T/F objverd objfalso
IM Devolve a parte imaginria de um nmero. (x,y) y
INCR Incrementa e devolve o valor da varivel especificada. 'nome' x
INV Inverso. z 1/z
IP Parte inteira de um nmero. x IP(x)
ISOL Isola a varivel especificada de um lado da equao. 'symb1' 'nome' 'nome=symb2'
KEY Devolve um nmero indicando a ltima tecla pressionada. 0 ou lc.p 1
KILL Aborta todos os programas suspensos na memria.
LAST Igual a LASTARG
LASTARG Devolve o ltimo argumento da pilha.
LCD Obtem a imagem atual do display em forma de tela grfica. grob
LCD Mostra um objeto grfico. grob
LINE Traa uma linha entre dois pontos. point1 point2
LIST Cria uma lista a partir dos objetos do stack. obj1...objn n {obj1...objn}
LIST Separa uma lista. {obj1...objn} obj1...objn n
LN Logartmo neperiano. z LN(z)
LNP1 Logartmo neperiano de (x+1). x LN(x+1)
LOG Logartmo base 10. z LOG(z)
MAX O maior nmero entre dois. x y MAX(x,y)
MEM Memria disponvel ao usurio. x
MENU Cria um menu de usurio. { obj... }
NEG Negativo do argumento do nvel 1. z -z
NEWOB Cria uma nova cpia do objeto. obj obj
NOT NOT lgico ou binrio. #n1 NOT #n1
NUM Devolve o cdigo do primeiro caractere da string. "string" n
NUM Avalia objetos no modo numrico. obj
OBJ Devolve os componentes do objeto na pilha.
OCT Fixa a base octal.
OFF Desliga a calculadora.
OR OR lgico ou binrio. #n1 #n2 #n1 OR #n2
ORDER Reordena os diretrios. { name .... }
OVER Duplica o objeto do nvel 2. obj1 obj2 obj1 obj2 obj1
http://www.li.facens.br/eletronica
46
O site da Eletrnica
Manual HP 48 G/GX
PATH Devolve o caminho do diretrio atual. { HOME name ... }
PDIM Muda o tamanho da tela grfica. #nlargura #naltura
PERM Permutao de n objetos tomados de m em m. n m P n,m
PGDIR Elimina um diretrio. 'nome'
PICK Copia o objeto do nvel n para o nvel 1. obj1...objn n obj1...objn obj1
PICT Devolve a PICT para o nvel 1. PICT
PIXOFF Apaga um determinado ponto da tela grfica. point
PIXON Acende um determinado ponto da tela grfica. point
PIX? Verifica se um determinado ponto da tela grfica est aceso. point T/F
POS Devolve a posio de um objeto em uma lista ou string. {obj ....} objproc npos
PURGE Apaga um ou mais variveis. 'nome'
PUT Insere em uma lista ou formao um determinado objeto. [array1] indez z [array2]
PUTI Igual a PUT, porm incrementa o ndice. [array1] indez z [array2] indez2
PVIEW Mostra a tela grfica a partir de um determinado ponto. point
PXC Converso de unidades de pontos para unidades de usurio. { #n #m } (x,y)
Q Converte nmeros a suas fraes equivalentes. x 'symb'
Q Compara coecientes e tenta por o nmero sob forma de pi*a/b x 'symb'
RAD Fixa o mode radianos
RAND Devolve um nmero aleatrio 0 < x < 1. x
RCL Devolve o contedo de uma varivel para a pilha. 'nome' obj
RCLALARM Devolve um alarme da lista de alarmes do sistema. nalarm { alarm }
RCLF Devolve o estado dos flags do sistema e do usurio. { #system #user }
RCLKEYS Devolve a lista da ligaes das teclas de usurio. {obj lc.p... objn lc.pn}
RCLMENU Devolve a posio da pgina do menu atual. x
RCWS Obtm o tamanho do maior inteiro binrio. n
RDM Redimensiona uma formao. [array1] {dim} [arry2]
RE Devolve a parte real de um nmero (x,y) x
RECN Recebe um programa via Kermit e o guarda na varivel especific. 'nome'
RECV Recebe um programa via Kermit. (entre HP-HP ou PC-HP)
REPL Adiciona em uma lista, string, objeto grfico ou PICT o objeto obj1 objpos obj2 obj3
especificado no nvel 1, na posio no nvel 2.
RESTORE Restaura um Backup armazenado via Kermit. :n: nome
ROLL Move o objeto do nvel n para o nvel 1. obj1...objn n obj1...objn obj1
ROLLD Move o objeto do nvel 1 para o nvel n. obj1...objn n objn obj1...objn-1
ROT Move o objeto do nvel 3 para o nvel 1. obj1 obj2 obj3 obj2 obj3 obj1
RB Converso de real para binrio. n #n
RC Converso de real para complexo. x y (x,y)
RD Converso de radianos para graus. xrad xgraus
SAME Testa a igualdade de dois objetos. obj1 obj2 T/F
SCI Fixa o modo cientfico.
SCONJ Conjuga o contedo de uma varivel. 'nome'
SEND Envia um programa, um diretrio, ou uma lista de programas e { 'nome1' 'nome2' ... }
diretrios via Kermit. (entre HP-HP ou HP-PC) 'nome'
SERVER Seleciona o modo servidor via Kermit.
SF Habilita o flag indicado. m
SIGN Devolve o sinal do nmero. z1 z2
SIN Calcula o seno de um nmero. z sin(z)
SINH Calcula o seno hiperblico de um nmero. z sinh(z)
SINV Atualiza o contedo de uma varivel com a sua inversa. 'nome'
SIZE Obtem o tamanho do objeto. obj n ou {dim}
SNEG Nega o contedo de uma varivel 'nome'
SQ Eleva ao quadrado o objeto do nvel 1. z z^2
START Comea a estrutura START...NEXT ou START...STEP
STD Seleciona o modo standar.
STEP Termina o lao definido incrementando o contador em n. n
STEQ Armazena a equao em 'EQ' 'symb'
STO Armazena um objeto em uma varivel especificada. obj 'nome'
STOALARM Armazena um alarme na lista de alarmes do sistema. time nalarm
STOF Restaura os flags do sistema e do usurio. { #system #user }
STOKEYS Faz mltiplas ligaes de objetos a teclas de usurio. {obj lc.p... objn lc.pn}
STO+ Atualiza o valor da varivel com o valor especificado (soma). z 'nome'
STO- Atualiza o valor da varivel com o valor especificado (subtrao). z 'nome'
STO* Atualiza o valor da varivel com o valor especificado (multiplic). z 'nome'
STO/ Atualiza o valor da varivel com o valor especificado (diviso). z 'nome'
STR Executa objetos contidos em cadeias. "string"
STR Converte o objeto do nvel 1 em uma cadeia de caracteres. obj "string"
STWS Fixa o tramanho das palavras em binrio. n
SUB Extrae parte de uma lista, cadeia, mastriz, obj grficos ou PICT obj1 ninicio nfim obj2
http://www.li.facens.br/eletronica
47
O site da Eletrnica
Manual HP 48 G/GX
SWAP Troca de posio os objetos dos nveis 1 e 2. obj1 obj2 obj2 obj1
SYSEVAL Avalia um objeto do sistema interno da calculadora a partir de um #n BUM
endereo especificando o incio do objeto external ou code.
TAG Liga a um objeto do nvel 2 uma etiqueta identificando o obj. obj "tag" :tag: obj
TAN Tangente. z tan(z)
TANH Tangente Hiperblica. z tanh(z)
TICKS Devolve a hora como inteiro binrio em unidades de TICKS. #ticks
TIME Devolve a hora atual como um nmero no formato HMS. time
TIME Atualiza o clock da calculadora. time
TLINE Desenha uma linha entre dois pontos usando XOR. point1 point2
TMENU Cria um menu de usurio temporrio. { obj1 ... objn }
TSTR Converte a data e a hora para o formato de string: "date time" data time "data time"
TVARS Devolve uma lista das variveis de um determinado tipo. ntipo { global ... }
TYPE Devolve o nmero identificando o tipo do objeto. obj ntipo
UBASE Converte o objeto de unidades em unidades bsicas do SI. x_unit y_base-unts
UFACT Fatora uma determinada unidade em um objeto de unidades. x1_unit1 x2_unit2 x3_unit2*unit3
UNIT Pega a unidade do objeto do nvel 2 e coloca no obj do nvel 1. x_units y y_units
UNTIL Comea a estrutura UNTIL.
UPDIR Sobe um diretrio do nvel atual.
UVAL Devolve a parte numrica de um objeto de unidade. x_unts x
VARS Devolve a lista de variveis do diretrio atual. { global ...}
VTYPE Devolve o nmero do tipo do obj armazenado na varivel. 'nome' ntipo
V2 Cria um vetor a partir de dois nmeros. x1 x2 [x1 x2]
V3 Cria um vetor a partir de trs nmeros. x1 x2 x3 [x1 x2 x3]
V Separa um vetor em seus componentes. [ x1 x2] x1 x2
WAIT Detm a execuo de um programa por n segundos. n
XOR Ou-exclusivo lgico ou binrio. #n1 #n2 #n1 XOR #n2
! Fatorial de um nmero. n n!
http://www.li.facens.br/eletronica
48