Vous êtes sur la page 1sur 48

CURSO DE PROGRAMAO HP48G/GX

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

A HP48 tem dois tipos de memria:

- ROM (Read-only memory - memria somente de leitura): a parte da memria


que no pode ser alterada, pois guarda a programao interna da calculadora (conj. de
comandos). A HP48G/GX tem 512kbytes de ROM contra os 256kbytes da HP48S/SX e os
64kb de um AT286. Isto significa que a HP48 tem mais instrues internas que a BIOS de um
computador!

- RAM (Random-access memory - memria de acesso aleatrio): a parte da


memria que podemos modificar, gravar dados e apagar o seu contedo. Tambm
conhecida como memria do usurio, pois nela que ficam armazenados os programas e
demais objetos criados pelo usurio.

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:

- [STD] notao padro (todas as 12 casas decimais so mostradas).


- [FIX] notao com n casas decimais.
- [ENG] notao no formato de engenharia com n casas decimais.
- [SCI] notao no formato cientfico com n casas decimais.

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:

Dentre as teclas que possuem funes especiais, veremos inicialmente as que


merecem maior ateno, pois sero imprescindveis no decorrer do curso:

[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.

Reset - auto-test - clear memory - off-clock:


Alm das combinaes normais das teclas existem outras combinaes importantes:
[ON]+[C] - Reseta a calculadora: ocorre um processo semelhante ao do computador quando
se d um BOOT: o stack e a tela grfica (pict) so reinicializados, bibliotecas so
recarregadas na memria ou instaladas, o path {HOME } selecionado, ocorrem processos a
nvel de reorganizao de memria e de registradores da CPU. indicado em casos em que a
calculadora travou, e no responde s teclas normais de interrupo.
[ON]+[D] - Executa um programa interno da ROM da HP que verificar o perfeito
funcionamento da calculadora, testando o display (os pixels e a tenso), a sada serial e infra-
vermelha, o clock, a RAM, a ROM, os cartes de memria, etc.
[ON]+[A]+[F] - Apaga a calculadora!! Limpa a RAM (apenas a localizao dos programas
na RAM, tornando-os inacessveis)
[ON]+[SPC] - Desliga a calculadora e o circuito de clock. ( o relgio da calculadora para
de funcionar )

Troca da bateria - travamento acidental


Quando for necessria a troca das pilhas da calculadora deve-se observar o seguinte:
- nunca misture pilhas fortes e pilhas fracas, nem de marcas diferentes pois podem ocorrer
vazamentos, danificando a sua calculadora.
- desligue a calculadora antes de trocar as pilhas e no aperte a tecla [ON] durante a troca
das pilha, pois a calculadora tentar se ligar, descarregando um capacitor interno que supre o
circuito (refresh) que mantm a memria RAM de sua calculadora.
- voc tem cerca de trs minutos para trocar as pilhas.

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

Estrutura dos menus:


A calculadora HP48G/GX torna acessvel a maioria de seus
seus comandos atravs de
vrios menus. Estes menus foram organizados de forma a agilizar as operaes bsicas de
clculo e de programao, uma vez que estes comandos foram agrupados de acordo com as
suas aplicaes.

A estrutura dos menus da HP48, muito semelhante


semelhante estrutura dos diretrios de um
computador, pois apresentam a forma de uma rvore. Veremos mais a fundo os diretrios em
um tpico parte.

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)

Definio de Pilha ou Stack:


O conceito de pilha simples: imagine uma pilha de pratos, cada prato corresponde a
um determinado nmero, quanto mais pratos colocarmos mais crescer a pilha, porm s
podemos tirar da pilha o ltimo prato que foi colocado. Dessa forma funciona a pilha (ou
Stack) da calculadora HP: ao digitarmos um nmero e depois outro, e mais outro, etc.
Estamos na verdade empilhando nmeros, porm s temos acesso direto ao ltimo nmero
colocado, ou seja, a primeira linha do Stack. No Stack podemos empilhar nmeros, strings,
programas, matrizes, enfim, todos os tipos de objetos da calculadora.
Felizmente existem certos comandos que nos permitem acessar outras linhas do
Stack. Estes comando so geralmente desconhecidos pela maioria dos usurios da HP, porm
so importantes ferramentas dentro da programao, pois economizam tempo e tornam os
programas mais fceis de entender.
O Stack da HP48 no tem um limite mximo de linhas, porem est sujeito a existncia
de memria disponvel para guardar os dados que ficam no Stack.

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:

[EDIT] edita o objeto que est na primeira linha do Stack.


[CLEAR] limpa todo o Stack (o mesmo que [DEL])
[DROP] apaga a primeira linha do Stack.
[DUP] duplica a primeira linha do Stack.
[SWAP] troca o contedo da primeira linha com o contedo da segunda linha.
[ROT] move o objeto da terceira linha para a primeira linha.
[ARG] devolve ao Stack os argumentos da ltima funo executada.
[UNDO] retorna o Stack anterior ltima operao.
[CMD] mostra na tela um menu mostrando as quatro ltimas entradas via teclado.

Usando a Pilha em Clculos:


Agora iremos desenvolver o "Racioccio do Stack", ou seja, vamos reaprender a
lgebra e a programao de outra forma, no mais limitada a uma nica linha ou expresso,
mas agora, ilimitada como as linhas do Stack. Vamos aprender a montar equaes e a resolver
problemas de uma maneira muito mais simples e direta do que a maneira a qual estamos
habituados.
Aps dominar as operaes matemticas e as funes do teclado, temos condies de
aprender a manipular os objetos na pilha, resolvendo problemas e calculando expresses.

http:www.li.facens.br/eletronica
6
O site da Eletrnica
Manual HP48G/GX

Exerccios de Clculos:

Utilizando as funes [DUP] ,[SWAP] e [ROT] encontre as respostas ao lado:

digite os objetos e encontre:

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]

A seguir temos as opes de comando disponveis dentro da Pilha Interativa:

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.

Lista dos objetos:


Nome do Objeto tipo: Nome do Objeto tipo
nmero real 0 diretrio 15
nmero complexo 1 library 16
string 2 backup objeto 17
matriz real 3 inicio funes 18
matriz complexa 4 inicio comandos 19
listas 5 Objetos de sistema:
nome global 6 sistema binrio 20
nome local 7 extend real 21
programa 8 extend complex 22
objeto algbrico 9 matriz linkada 23
inteiro binrio 10 character 24

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

Criao dos objetos:


Muitas das operaes da calculadora HP48 so as mesmas para todos os tipos de
objetos; por exemplo: usa-se o mesmo procedimento para armazenar um nmero real, uma
matriz ou um programa. Algumas operaes se aplicam somente a um tipo particular de
objeto - por exemplo, no se pode extrair a raiz quadrada de um programa.
Agora iremos fazer um breve resumo dos objetos mais importantes da calculadora,
sendo que os veremos em detalhes mais tarde.

- Nmeros Reais: (-9.99999999999x10499 at 9.99999999999x10499)


- Nmeros Complexos: (forma retangular (x,y) e forma polar (r, ) )
- Nomes: so utilizados para identificar as variveis. Para introduzir um nome necessrio
pressionar a tecla [ ' ]
- Objetos Algbricos: os objetos algbricos, como os nomes, so delimitados por marcas ( '
). Os objetos algbricos representam expresses matemticas na forma extensa. O aplicativo
Equation Writer ajuda a introduzir e a manipular os objetos algbricos, mostrando-os como se
fossem impressos num livro.
- Programas: os programas so seqncias de comandos e outros objetos encerrados pelos
delimitadores << e >>.
- Cadeias de Caracteres ou Strings: so seqncias de caracteres, utilizadas normalmente
para representar textos em um programa. So delimitadas por ". Exemplo: "isto um
exemplo de uma string"
- Listas: as listas so seqncias de objetos agrupados, delimitados por chaves, por exemplo:
{ "eu sou uma string" 32 << DROP >> }. As listas permitem que se agrupem objetos para
que possamos manipul-los como se fossem um s.
- Objetos Grficos: armazenam os grficos que podem ser obtidos pelo traado de equaes
ou pelo desenho artstico do usurio. Os objetos grficos tambm podem ser armazenados em
variveis e manipulados na pilha, onde aparece da seguinte forma: Graphic n x m (onde n o
nmero de colunas e m o nmero de linhas que compem o objeto grfico)
- Objetos de Unidades: consta de um nmero real combinado com uma unidade ou uma
expresso de unidades, por exemplo: 3_m, 27,2_m*kg/s^2
- Objetos de Diretrios: a calculadora HP48 utiliza objetos para especificar estruturas
hierrquicas de diretrios armazenados. Os objetos de diretrios sero vistos em um tpico
parte.
- Objetos Adicionais:
objetos de segurana: permitem armazenar toda a memria da HP
objetos biblioteca: uma biblioteca um diretrio de comandos e operaes que no
esto incorporados na calculadora.
objetos XLIB: so objetos que fazem referncia a uma biblioteca.
objetos EXTERNAL: so endereos que apontam instrues internas.
objetos CODE: so programas em linguagem avanada (de mquina).

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

Estrutura em rvore de um diretrio


Os objetos criados pelo usurio devem ser armazenados, e para isso so usadas as
variveis. Os comandoss relacionados ao armazenamento e a recuperao de objetos, como j
foram vistos, so: STO (armazena o obj. na varivel), RCL (recupera o contedo da varivel
para o stack), [EDIT] (permite a visualizao e a edio do objeto), PURGE (apaga a varivel
indicada),
ndicada), [VIEW] (ativa o modo de edio mais apropriado para o objeto)
Depois de armazenados em variveis, natural que exista uma desorganizao na
ordem das variveis, ou seja, programas de clculos, de grficos, equaes, jogos, aparecem
todos misturados
ados no mesmo menu. Para solucionar este problema utilizamos um menu
diferente para cada programa, atravs de diretrios diferentes, ou seja, um jogo, ou um
utilitrio possuem diretrios diferentes.
O diretrio principal da HP48 o { HOME }, no entantoentanto podemos criar outros
diretrios no interior deste, formando uma estrutura conhecida como rvore de um diretrio.

{ HOME }

{ CALC } {GRAPH} {SOUND} {JOGOS}

[PRG1] [PRG2] [A] [B]


[B] [WAV1] [WAV2]
[TETRIS] [ANTS]

Memria
- Comandos do menu MEMORY
- Comandos dos sub--menus DIR e ARITH

Comandos do menu MEMORY

As funes do Menu [ MEMORY] servem para manipular objetos armazenados


em variveis, atravs dele podemos copiar,
co mover, criar e editar variveis.
A estrutura do menu MEMORY a seguinte:

[
MEMORY]

http:www.li.facens.br/eletronica
10
O site da Eletrnica
Manual HP48G/GX
[EDIT] [CHOOSE] [VEHK] [NEW] [COPY] [MOVE]
[RCL] [PURG]

[EDIT] - usadoo para modificar o contedo de uma varivel total ou parcialmente.


[NEW] - utilizado para criar novas variveis ou diretrios. (para criar um novo diretrio o
campo object deve estar vazio)
[COPY] - copia variveis de um diretrio para outro ou com outro nome no mesmo diretrio.
[MOVE] - move variveis de um diretrio para outro.

Os subdiretrios EDIT, NEW, COPY e MOVE possuem as seguintes funes internas:


[EDIT] - edita o objeto presente no campo selecionado
[CANCL] - cancela a operao
[OK] - executa a operao
[RESET] Delete Value - limpa o campo selecionado
Reset All - restaura todos os campos s seus valores default

Comandos do Menu [ MEMORY]

[MEM] - retorna a memria livre disponvel ao usurio.


[BYTES] - retorna o nmero
mero de bytes que ocupa na memria o objeto colocado no nvel 1 do
stack. (retorna ainda o checksum do objeto)
[NEWOB] - cria outra cpia do objeto na memria.

[DIR]

[PATH] [CRDIR] [PGDIR] [VARS]


[TVARS] [ORDER]

[PATH] - retorna o caminho dos diretrios desde {HOME} at o diretrio corrente.


[CRDIR] - cria um diretrio a partir de um nome para o diretrio
[PGDIR] - apaga um diretrio e todo o seu contedo
[VARS] - retorna uma lista contendo o nome de todas as variveis do diretrio
[TVARS] - retorna uma lista contendo o nome de todas as variveis com um determinado
tipo de contedo.
[ORDER] - ordena as variveis de acordo com uma lista que contm os nomes das variveis
em suas novas posies.

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.

Quando utilizamos o Solve, executamos um processo semelhante, porm no necessrio


isolar a varivel desconhecida na equao.
equa

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.

SOLVE LINEAR SYSTEM


Utilizado para resolver sistemas de equaoes lineares da forma: A.X = B

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

Utilizada para calcular variveis partir de um conjunto de equaes especificadas


por uma lista:

{ 'EQ1' 'EQ2' 'EQ3' 'EQ4' . . . 'EQn' }

- 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.

Um programa um objeto definido pelos delimitadores << e >>, e composto por


comandos e outros objetos. No exemplo seguinte calcularemos o volume de uma esfera,
primeiro utilizando a calculadora normalmente e depois utilizando um programa.

Exemplo: Clculo do Volume de uma Esfera.

O volume de uma esfera dado atravs da seguinte frmula: V = 4/3*pi*r^3

Para calcularmos o volume utilizando apenas as funes normais da calculadora,


assumindo que j entramos com o raio na pilha, procedemos do seguinte modo:

3 [y ] [ ] [*] 4 [*] 3 [-] [ NUM]

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:

<< 3 ^ * 4 * 3 / NUM >>

Como o programa um objeto, possvel coloc-lo lo na pilha e salv-lo


salv em uma
varivel. Para jogar o programa na pilha depois de digit-lo
digit lo pressione [ENTER]. Para
armazen-lolo em uma varivel, por exemplo: 'VOL' , pressione ['], escreva o nome da
varivel: VOL, e finalmente pressione a tecla [STO] para gravar o programa. Agora calcule o
volume de qualquer esfera simplesmente executando [VOL] (selecione o menu VAR e
pressione [VOL] ). Pode-se
se executar VOL quantas vezes quisermos, pois agora ele tem o
mesmo efeito que um comando incorporado.
incorpor

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.

Como Escrever um Programa

Para definirmos o comeo de um programa pressionamos


p [<< >>]. E aparecer o
indicador PRG, que indica o modo de entrada de programa. Neste modo, pressionando as
teclas de comando escreve-se
se o nome do comando pressionado. (Tambm podemos escrever
os comandos com caracteres alfabticos).

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)

A partir de agora utilizaremos para fins didticos de um diagrama dos argumentos


que so utilizados
os pelo programa, que apropriado para mostrar como deve estar a pilha antes
que se execute o programa e que resultados este programa retorna para a pilha. Temos a
seguir o diagrama da pilha para o programa SPH:

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).

A listagem abaixoo mostra o programa na coluna da esquerda, os comentrios na


coluna da direita e como escrever o programa na coluna do meio. (Lembre-se:
(Lembre se: para digitarmos
um comando podemos pressionar a tecla correspondente ou escrever o nome do comando)

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.

Como Executar um Programa:

H vrias maneiras de executar o programa SPH:


- Escreva SPH na linha de comando e pressione [ENTER].
- Selecione o menu VAR e pressione SPH.
- Se o programa ou o nome do programa esto no nvel 1, ento pressione [EVAL].

Como exemplo, utilize SPH para calcular


calcular o volume de um setor esfrico de raio r=10
com uma altura de h=3.
Armazene os dados nas variveis apropriadas ( 10 ['] H [STO] 3 [] R [STO]).
Depois selecione o menu VAR e ao executar o programa deveremos encontrar no nvel 1 a
resposta: 254.46004942
Como Editar um Programa:

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.

Pressione [SPH] no menu VAR para jogar o programa na pilha, em seguida


pressione
ressione [EDIT] para editar. Desloque o cursor aps o primeiro delimitador de programa
(<<) e insira os novos passos ao programa: 'H' STO 'R' STO. O programa fica da seguinte
forma:

<<
'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].

Como Utilizar Variveis Locais:

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

Veremos como as variveis locais corrigem as desvantagens das variveis globais. As


variveis locais so variveis temporrias criadas por um programa. Existem somente
enquanto se est executando o programa e no podem ser utilizadas fora do programa que as
criou. Nunca aparecem no menu VAR.

Para criar variveis locais, devemos utilizar a seguinte sequncia de comandos e


objetos, chamados de estruturas de varivel local:
1. O comando (pressione [ 0 ])
2. Um ou mais nomes de variveis.
3. Uma
ma expresso algbrica ou um programa que utilizar as variveis locais.

Esta estrutura tem a seguinte aparncia:

<< nome1 nome2 . . . nomen << programa >> >>


ou
<< nome1 nome2 . . . nomen 'expresso algbrica' >>

Quando se executa o comando em um programa, tomam-se se n valores da pilha


que so assumidos pelas variveis nome1 nome2 . . . nomen. Por exemplo, considere a
seguinte pilha:

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.

Agora vamos calcular o volume de um setor esfrico utilizando variveis locais,


locai abaixo temos
o diagrama dos argumentos do programa:

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.
<<

'1/3* *h^2*(3*r-h)' Procedimento para a estrutura


de variveis locais no qual as
variveis locais so vlidas.

NUM Converte a expresso para


um nmero.
>>

>>

[ENTER] Coloca o programa na pilha.

['] SPHVL [STO] Armazena o programa na varivel SPHVL.

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

Programas que Manipulam Dados na Pilha

Os programas anteriores SPH e SPHVL utilizam variveis para armazenar e recuperar


dados. Um mtodo de programao alternativa manipula nmeros na pilha, sem armazan-los
em variveis. Este mtodo geralmente tem um tempo de execuo mais rpido. Porm o
mtodo de manipulao da pilha tem vrias desvantegens:

- Quando se escreve um programa, deve-se localizar a posio dos dados na pilha.


Por exemplo os argumentos devem ser duplicados se forem utilizados por mais de um
comando.

- Um programa que manipula dados da pilha geralmente mais difcil de ler e


entender que um programa que utiliza variveis.

O programa SPHSTACK utiliza o mtodo de manipulao da pilha para calcular o volume de


um setor esfrico.

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:

<<

DUP Duplica o nmero do nvel 1 da pilha.

ROT Move o nmero que se encontra no


nvel 3 para o nvel 1.

3 * Multiplica o raio por 3.

SWAP - Troca os nmeros do nvel 1 (altura)


pelo 2 (raio) e calcula 3r-h.

SWAP SQ * Troca a cpia da altura pelo nvel 1,


acha a raiz quadrada da altura e
multiplica por 3r-h.

pi * 3 / Multiplica por pi e divide por 3,


completando o clculo.

NUM Converte a expresso para


um nmero.
>>

[ENTER] Coloca o programa na pilha.

['] SPHSTACK [STO] Armazena o programa na varivel SPHSTACK.

Execuo de um Programa Passo-a-Passo

mais fcil compreender como funciona um programa se o rodarmos passo-a-passo,


observando o efeito de cada comando. Este procedimento geralmente utilizado para corrigir
erros de programao dentro de um programa e tambm para ajudar a enteder como
programas escritos por outras pessoas funcionam, por isso este procedimento chamado de
DEBUG.
As operaes para executar o DEBUG esto contidas no menu PRG RUN.

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

Exemplo de execuo passo-a-passo:

1. Coloque o programa ou o nome do programa no nvel 1.


2. Pressione [PRG] [NEXT] RUN DBUG.
3. opcional: pressione NEXT para mostrar o prximo comando.
4. Pressione SST para executar cada passo do programa.

obs:
- para abandonar a execuo do programa pressione KILL
- para continuar a executar at o fim do programa normalmente pressione CONT.

Se for necessrio executar passo-a-passo um programa a partir de um determinado


ponto no seu interior, basta colocarmos um comando de parada: HALT. Executamos o
programa normalmente, e ele ir parar quando chegar no comando HALT, passando o
controle ao DEBUG. A partir da, podemos executar passo-a-passo o programa seguindo os
tens 2, 3 e 4 descritos acima.

ESTRUTURAS CONDICIONAIS E TESTES:

Veremos comandos e estruturas que permitem aos programas fazer perguntas e tomar
decises:

- estruturas de comparao e funes lgicas: que permitem que um


programa faa um teste para verificar se existe uma condico especfica.

- estruturas de programas chamadas de estruturas lgicas: usam os


resultados de um teste para tomar decises.

Exemplo: Estruturas Condicionais e Testes

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:

<<

DUP2 Duplica os nmeros dos nveis 1 e 2 da pilha.

IF Comea a estrutura de teste condicional.

SAME Verifica se os dois nmeros so iguais.

http:www.li.facens.br/eletronica
21
O site da Eletrnica
Manual HP48G/GX

THEN Executa somente se o teste retornou verdadeiro.

DROP Apague um e armazena o outro


'V1' STO na varivel V1

ELSE Executa somente se o teste retornou falso.

'V1' STO Armazene o nmero do nvel 1 em V1 e


'V2' STO o nmero do nvel 2 em V2.

END Termina a estrutura condicional.

>>

[ENTER] Termina a digitao do programa.

['] TST [STO] Grava o programa da pilha em TST.

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.

Os comandos utilizados nos testes podem se classificar em:


- funes de comparao.
- funes lgicas.
- comandos de teste dos flags

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:

As estruturas condicionais permitem a calculadora tomar uma deciso baseada em um


resultado de um ou mais testes. As estruturas condicionais so:

- IF ... THEN ... END.


- IF ... THEN ... ELSE ... END.
- CASE ... END.

A Estrutura IF ... THEN ... END

IF ... THEN ... END executa uma sequncia de comandos (clusula verdadeira) se a
condio for verdadeira (clusula de teste). Sua sintaxe a seguinte:

IF clusula de teste THEN clusula verdadeira END

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:

<< DUP IF 0 > THEN NEG END >>

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:

<< x << IF 'x>0' THEN x NEG END >> >>


Exemplo 2:
Este programa multiplica dois nmeros se ambos so diferentes de zero:

Programa: Comentrios:

<<

x y Cria variveis locais x e y que contm os


dois nmeros da pilha.
<<

IF Comea a estrutura de teste condicional.

'x=0' Verifica se o nmero diferente de zero,


deixando o resultado do teste na pilha.

'y=0' Verifica se o nmero diferente de zero,


http:www.li.facens.br/eletronica
23
O site da Eletrnica
Manual HP48G/GX
deixando o resultado do teste na pilha.

AND Verifica se os dois testes so verdadeiros.

THEN Executa somente se o teste retornou verdadeiro.

x y * Se AND devolver verdade, multiplica os dois nmeros.

END Termina a estrutura condicional.

>>

>>

O seguinte programa tem o mesmo efeito que o anterior:

<< DUP2 IF AND THEN * ELSE DROP2 END >>

Como funciona a estrutura IF...THEN...END: IF comea a clusula do teste, deixando o


resultado do teste na pilha. THEN extrai o resultado do teste da pilha. Se o valor diferente
de zero, executa-se a clusula verdadeira. Caso contrrio, a execuo do programa continua
aps o comando END.

A Estrutura IF...THEN...ELSE...END

IF...THEN...ELSE...END executa uma sequncia de comandos (clusula verdadeira) se o


teste verdadeiro e outra (clusula falsa) se o teste falso. Sua sintaxe a seguinte:

IF clusula de teste THEN clusula verdadeira ELSE clusula falsa END

Se a clusula de teste for um algbrico (por exemplo: 'A>B'), a expresso avaliada


automaticamente para um nmero, no necessitando do EVAL ou de NUM.

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:

<< x << IF 'x=0' THEN x SIN x / ELSE 1 END >>

Exemplo 2:
http:www.li.facens.br/eletronica
24
O site da Eletrnica
Manual HP48G/GX

Este programa, como o exemplo 2 para IF...THEN...END, multiplica dois nmeros se


ambos so diferentes de zero. Porm o programa devolve a cadeia "ZERO" se algum dos dois
0.

Programa: Comentrios:

<<

n1 n2 Armazena nas variveis locais os nveis 1


e 2 da pilha.
<<

IF Comea a estrutura de teste condicional.

'n1=0 AND Verifica se ambos os nmeros so diferentes


n2=0' de zero, deixando o resultado do teste na pilha.

THEN Executa somente se o teste retornou verdadeiro.

n1 n2 * Se AND devolver verdade, multiplica os dois nmeros.

ELSE Executa somente se o teste retornou falso.

"ZERO" Devolve a cadeia "ZERO"

END Termina a estrutura condicional.

>>

>>

O seguinte programa tem o mesmo efeito:

<< DUP2 AND IF THEN * ELSE DROP2 "ZERO" END >>


Como funciona a estrutura IF...THEN...ELSE...END: IF comea a clusula do teste,
deixando o resultado do teste na pilha. THEN extrai o resultado do teste da pilha. Se o valor
diferente de zero, executa-se a clusula verdadeira. Caso contrrio, se executa a clusula falsa.
Depois da execuo da clusula apropriada, a execuo do programa continua aps o
comando END.

A Estrutura CASE...END

A estrutura CASE...END permite executar uma srie de casos (testes). O primeiro


teste que tem um resultado verdadeiro causa a execuo da correspondente clusula
verdadeira, finalizando a estrutura CASE...END. Opcionalmente, pode-se incluir aps o
ltimo teste uma clusula de default que se executar se todos os testes forem falsos.
A estrutura CASE...END tem a seguinte sintaxe:

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.

<<

CASE Comea a estrutura do case.

y TYPE 2 SAME Case 1: se o argumento do tipo cadeia,


THEN y 'STR' armazene-o na varivel 'STR'
STO END

y TYPE 5 SAME Case 2: se o argumento do tipo lista,


THEN y 'LIST' armazene-o na varivel 'LIST'
STO END

y TYPE 8 SAME Case 3: se o argumento do tipo programa,


THEN y 'PRG' armazene-o na varivel 'PRG'
STO END

END Termina a estrutura case.


>>
>>

Como funciona a estrutura CASE...END: Ao executar CASE, se calcula a clusula teste1.


Se o teste verdadeiro, se executa a clusula do test1, e a execuo salta para END. Se a
clusula teste falsa, a execuo passa para a prxima clusula teste. A execuo na estrutura
CASE continua at que todas as clusulas teste tenham sido avaliadas como falsas.
Opcionalmente, pode-se incluir uma clusula de default, que executada caso todas as outras
clusulas tenham sido avaliadas como falsas.

O Comando IFT (if-Then-End)

O comando IFT toma dois argumentos: o resultado de um teste no nvel 2 e um objeto


no nvel 1 ( a "clusula verdadeira"). O objeto do nvel 1 executado se o resultado do teste
verdadeiro.

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

A funo IFTE toma trs argumentos: o resultado de um teste no nvel 3, e os objetos


dos nveis 2 e 1. O objeto do nvel 2 (correspondente a clusula verdadeira) executado se o
resultado do teste verdadeiro. Caso contrrio, o objeto do nvel 1 (a clusula falsa)
executado.

Exemplo1: O programa abaixo extrai um nmero da pilha e retorna a cadeia "POSITIVO" se


o nmero for positivo e "NEGATIVO" caso o nmero seja negativo:

<< 0 > "POSITIVO" "NEGATIVO" IFTE >>

Exemplo2: Podemos utilizar a funo IFTE dentro de um algbrico: O programa abaixo


calcula sin(x)/x se x diferente de zero. Se x zero, o programa devolve 1:

<< x 'IFTE( x=0 , S N(x)/x , 1 )' >>

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.

Estruturas Iterativas Definidas


Fazem parte das estruturas interativas definidas as seguintes variaes:

- 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

incio fim START clusula do lao NEXT

Exemplo: O programa seguinte cria uma lista que contm dez cpias da cadeia "ABC":

<< 1 10 START "ABC" NEXT 10 LIST >>

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 :

incio fim START clusula do lao incremento STEP

Exemplo: O programa seguinte toma um nmero x da pilha e calcula o quadrado deste


nmero x/3 vezes:
<< DUP x << x 1 START x SQ -3 STEP >>

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 :

incio fim FOR contador clusula do lao NEXT

Exemplo1: O programa seguinte coloca na pilha os quadrados dos nmero inteiros de 1 a 10:

<< 1 10 FOR j j SQ NEXT >>

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:

<< 1 1 ROT FOR j j * NEXT >>

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 :

incio fim FOR contador clusula do lao incremento STEP

Exemplo: O programa seguinte calcula os quadrados dos inteiros mpares de 1 a 15:

<< 1 21 FOR j j SQ 2 STEP >>

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.

Estruturas Iterativas Indefinidas


Fazem parte das estruturas interativas definidas as seguintes variaes:

- 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:

DO clusula do lao UNTIL clusula de teste END

Exemplo: O programa seguinte calcula n + 2n + 3n + ... para um valor de n. O programa


para quando a soma exceder 10000, e devolve a soma e o coeficiente de n:

Programa: Comentrios:

<<
DUP 1 n s c Duplica n e armazena o valor em n e
s; inicializa o contador c com 1.
<<

DO Comea a estrutura do.

'c' INCR Incrementa o contador em 1 e


devolve para a pilha o novo valor de c.

n * 's' STO+ Calcula c*n, e soma o produto a s.

UNTIL Comea a estrutura de teste.

s 10000 > Repete o lao at que s>10000.

END Termina a clusula de teste.

s c Coloca na pilha s e c.

>>

>>

Como funciona DO...UNTIL...END: DO comea a clusula do lao. UNTIL finaliza a


clusula do lao e comea a clusula de teste. A clusula de teste deixa o resultado do teste na
pilha. END extrai o resultado deste teste da pilha. Se o valor zero, executa novamente a
clusula do lao; caso contrrio, a execuo do programa continua aps o END.

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:

WHILE clusula de teste REPEAT clusula do lao END

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.

<< WHILE DUP 2 MOD 0 == REPEAT 2 / DUP END DROP >>

Como funciona WHILE...REPEAT...END: WHILE executa-se a clusula do teste e


devolve o resultado do teste para a pilha. REPEAT toma os valores da pilha. Se o valor
diferente de zero, continua a execuo do lao; caso contrrio, a execuo do programa
continua aps o END.

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:

- de entrada: inform, choose


- de sada: disp, msgbox

COMANDOS DE SADA :

DISP
Mostra em uma determinada linha da tela um objeto especificado. Por exemplo:

3: "Isto um teste" mostrar na primeira linha do display a


2: 1 string "Isto um teste"
1: DISP

<< 1 100 FOR n mostrar na segunda linha do display


n 2 DISP uma contagem de 1 at 100.
NEXT
>>

<< 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.

<< 1 1000 FOR n calcula e mostra o seno


CLLCD n SIN 1 DISP dos nmeros de 1 a 1000.
NEXT
>>

BEEP
Emite um beep com uma frequncia e uma durao especificadas. Exemplo:

<< 600 .7 BEEP emite um beep de 600Hz durante .7s


1300 .2 BEEP emite um beep de 1300Hz durante .2s
>>

<< CLLCD 1 20000


FOR f
f 1 DISP exibe na tela o valor da freq. do beep
f .3 BEEP emite um beep com uma freq. f durante .2s
20 STEP
>>

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)

<< 700 .4 BEEP << "Pressione qualquer tecla..."


800 .2 BEEP 1 DISP 3 FREEZE -1 WAIT
.4 WAIT "A tecla pressiona :" SWAP +
http:www.li.facens.br/eletronica
32
O site da Eletrnica
Manual HP48G/GX
900 .5 BEEP 1 DISP
>> >>

MSGBOX
Utilizado para mostrar mensagens curtas ao usurio: erros, procedimentos, etc.

<< "Clculo terminado e verificado" MSGBOX >>

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:

3: "Escolha a opo:" - pequena string que ser exibida no topo da caixa.


2: { "LER" "GRAVAR" << 1 >> 'C' } - lista contendo as opes (objetos).
1: 1 - posio inicial da barra sobre o menu.

A barra deve ser deslocada at o objeto desejado e em seguida pressionada a tecla


ENTER ou OK para efetuarmos a escolha, ou CANCEL para cancelarmos. Se a funo foi
cancelada teremos como resposta o valor 0 no stack. Se a funo foi confirmada temos o valor
1 como resposta, e na segunda linha do stack, teremos a opo (objeto) selecionada.

COMANDOS GRFICOS:

TELA GRFICA:

A maneira de acessar um determinado pixel na tela grfica da HP atravs de um par


de coordenadas:

(-6.5, 3.2) (6.5, 3.2) { #0 #0 } { #130 #0}

(-6.5, -3.1) (6.5, -3.1) { #0 #63 } { #130 #63 }


coordenadas - plot coordenadas - grob

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 \>>
\>>

2-Agenda de Telefones e Aniversrios. S


\<< CLLCD
%%HP: T(3)A(D)F(.); " PROCURA (\Ga + INICIAL)"
FONE VARS DUP SIZE
DIR 0 ==
IF
AGEN THEN
\<< CLLCD BIB UPDIR UPDIR
" AGENDA A.J.M" "N\195O H
{ " PROCURAR" CADASTRO."
O site da Eletrnica
Manual HP48G/GX
MSGBOX CLEAR KILL
END 1
\<< "" +
\>> DOSUBS
1 CHOOSE 0 ==
IF
THEN
UPDIR UPDIR KILL
END DUP
DUP " " SWAP +
":
F: " + SWAP
OBJ\-> EVAL DUP NOVAL
\=/
IF
THEN +
ELSE DROP
END
"
A: " + ANIV SWAP
OBJ\-> DUP NOVAL \=/
IF
THEN +
ELSE DROP
END
MSGBOX UPDIR UPDIR
\>>

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:

help ou h - mostra o help do programa.

ta porta1 - roda um programa de inicializao automtica


auto da porta 1
ta porta2 - roda um programa de inicializao automtica da porta 2

set por 1 - utiliza a porta serial 1 para a transferncia.


set bau 9600 - configura a velocidade de transmisso.

send [programa] - manda o [programa] para a calculadora.


recv - prepara o computador para receber um programa.

* Para configurar a serial:


ta porta1

* 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.

COMANDOS DE COMUNICAO SERIAL:


Algumas vezes precisamos receber informaes de um circuito eletrnico ou de algum
outro tipo de dispositivo que no permite a comunicao bidirecional, ou seja a calculadora ou s
transmite dados ou s recebe dados. Por isso devemos conhecer os seguinte comandos de
comunio serial que nos fornecem um controle maior sobre a serial da calculadora.
OPENIO: abre a porta serial, ou seja habilita a recepo de dados e a sua
armazenagem num buffer de no mximo 255 caracteres.
CLOSEIO: fecha a porta serial , ou seja desabilita a recepo de dados limpando o
buffer.
XMIT: envia para a serial da calculadora uma string. (transmisso de dados)
SRECV: obtm uma string de um tamanho especificado do buffer. (recepo de dados)
STIME: especifica o tempo de intervalo entre as tentativas de transferncia de dados.
SBRK: envia para a serial um sinal de Break (parada)
BUFLEN: obtm a quantidade de caracteres recebidos e guardados no buffer de
comunicao serial e um numero que indica se ocorreu algum tipo de erro durante a recepo dos
dados. (0 se ocorreu e 1 se nada ocorreu de errado).

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.

Guia de Referncia dos Comandos


Comando Descrio Entrada Sada
ABS Valor Absoluto. z  |z|
ACK Reconhecimento de alarme vencido no display.
ACKALL Reconhecimento de todos os alarmes passados no display.
ACOS Arco-cosseno. z  acos(z)
ACOSH Arco-cosseno hiperblico. z  acosh(z)
ALOG Antilogartimo comum (base 10). z  10^z
AND AND lgico ou binrio. #n1 #n2  #n1 AND #n2
APPLY Devolve expresses avaliadas como argumentos a nomes locais 'nome' {symb ...} 
sem avaliar.
ARC Desenha um arco em PICT com um ponto central especificado, point xr x1 x2 
raio, e ngulo de incio e fim.
ARCHIVE Faz uma cpia de segurana do diretrio HOME :n: name 
ARG Devolve o ngulo polar O. z  x
ARRY Separa uma formao [array]  z1 ... zn {dim}
ARRY Cria uma formao z1 ... zn {dim}  [array]
ASIN Arcosseno. z  asin(z)
ASINH Arcosseno Hiperblico. z  asinh(z)
ASN Liga uma objeto a uma tecla do modo de usurio. obj lc.p 
ASR Rotao aritmtica para direita de 1 bit. #n1  #n2
ATAN Arcotangente. z  atan(z)
ATANH Arcotangente hiperblica. z  atanh(z)
ATTACH Liga uma biblioteca ao diretrio atual LID 
AUTO Auto-escala o eixo y
AXES Fixa as coordenadas de interseco dos eixos. point 
BAR Seleciona o traado BAR. point 
BARPLOT Plota o diagrama de barra dos dados de DAT.
BAUD Fixa a taxa de transferncia. nbaud 
BEEP Emite um beep nfreq ndurao 
BESTFIT Seleciona o modo de traado que produz o maior valor absoluto
do coeficiente de correlao LR.
BIN Fixa a base binria.
BINS Ordena os elementos na coluna de variveis independentes de xmin xcolunas nbins  [[b1]...[bn]][b<b>]
DAT em n+2 casas.
BLANK Cria um objeto grfico vazio. #ncolunas #nlinhas  grob
BOX Desenha um quadrado a partir de dois cantos opostos. point1 point2 
BUFLEN Devolve o nmero de caracteres no buffer da serial.  n
BYTES Devolve o checksum e o tamanho em bytes de um objeto. obj  #nchecksum xtam
BR Converte binrio para real. #n  n
CASE Comea a estrutura CASE... THEN ... END ... END
CEIL Devolve o nmero inteiro seguinte. x  n
CENTR Fixa o centro da tela do plot no ponto. point 

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

Vous aimerez peut-être aussi