Você está na página 1de 24

1.0.

CALCULADORA HP48G/GX PROGRAMADOR - BSICO (USERRPL)

PABLO DE AVILA SALDO

Calculadora HP48G/GX - Programador - Bsico

SUMRIO
O AMBIENTE
EMULADOR EMU48 HP48 PAD

1
1 3

A LINGUAGEM USER RPL


USER RPL & SYS RPL DEPURANDO SEUS PROGRAMAS DBUG SST SST NEXT HALT KILL MANIPULAO DA PILHA (STACK) SWAP OVER ROT ROLL ROLLD PICK DEPTH DUP DUP2 DUPN DROP DROP2 DRPN VARIVEIS LOCAIS ESTRUTURAS DE REPETICAO START ... NEXT FOR ... NEXT DO ... UNTIL ... END WHILE ... REPEAT ... END ESTRUTURAS CONDICIONAIS TESTES IF ... THEN ... END IF ... THEN ... ELSE ... END IFT IFTE CASE ... THEN ... END TRATAMENTO DE EXCEES DOERR IFERR .. THEN ... END ENTRADA INPUT CHOOSE INFORM SADA CLLCD ... DISP ... FREEZE ... HALT MSGBOX

4
4 4 4 4 4 4 4 4 5 5 5 5 5 5 6 6 6 6 6 7 7 7 8 9 9 9 10 10 11 11 11 11 12 12 12 13 13 13 14 14 14 14 15 15 15

COMANDOS - GUIA DE REFERNCIA

16

1999 Pablo Saldo

Calculadora HP48G/GX - Programador - Bsico

O AMBIENTE
EMULADOR EMU48 Esta uma tela de trabalho do Emu48i, uma HP48G/GX perfeitaii, com alguns toques a mais!! Alm do mouse, voc pode usar o teclado para acionar o emulador. As teclas da calculadora que possuem uma letra tm suas correspondentes no teclado do PC, assim como ., ), @, # e !. Para as teclas +, -, * e / devem ser utilizadas as correspondentes do teclado numrico. As setas direcionais do teclado funcionam tambm, correspondendo as teclas PKQR. As teclas restantes tm a seguinte correspondncia: Tecla da HP48G/GX ; ^ % ` Tecla do PC

e l t `

Os botes superiores do emulador tambm so de muita utilidade:

Inicia uma nova sesso do Emu48 Abre uma sesso Salva a sesso corrente Copia a tela Reseta a calculadora Configuraes Troca o script 1999 Pablo Saldo

Carrega um arquivo na pilha Salva em um arquivo externo Diminui o contraste Aumenta o contraste Tela de Copyright Todos estes botes tm seus correspondentes nos menus. Os nico submenus ausentes nos botes so Save As... e Backup

Calculadora HP48G/GX - Programador - Bsico Uma caracterstica importante do emulador a possibilidade da comunicao de dois emuladores, em computadores separados, ou entre um emulador e uma HP48G/GX! Para isso, nas configuraes do emulador necessrio indicar por qual porta serial de comunicao (COM), ser feita a transmisso/recepo dos dados. A porta mais comum a COM2, j que a COM1 geralmente utilizada pelo mouse, e as portas COM3 ou COM4, pelo modem. A comunicao entre emuladores feita atravs de um cabo serial nulo, enquanto que a comunicao entre um emulador e uma HP48G/GX feito atravs de um cabo especial. O emulador permite tambm a simulao de cartes de memria, atravs de um programa externo chamado CREATE.EXE, que permite utilizarmos um carto de at 4MB de memria (o sonho de todo usurio)! A porta 1 j automaticamente disponibilizada com 128KB. O emulador s trabalha com arquivos no formato binrio, por isso necessrio, as vezes, converter-se um arquivo ASCII. Isso pode ser feito pelo programa ASCTOBIN (A2B), presente dentro do ambiente do emulador.

1999 Pablo Saldo

Calculadora HP48G/GX - Programador - Bsico HP48 PAD O HP PAD um editor de textos especial para produzir textos que iro ser carregados na HP48G/GX. Nele podem ser confeccionados tanto texto, quanto programas. Seu funcionamento semelhante ao dos editores de texto mais comuns, com opes para recortar, colar, desfazer, trabalho em mltiplas janelas, lista de arquivos recentes, etc. Seu diferencial est nas caractersticas que o fazem ideal para trabalhos de digitao para a HP48G/GX: R Cria novos arquivos j com o cabealho dos arquivos de programas para a HP48G/GX, %%HP: T(1)A(D)F(,);. Esse cabealho necessrio para a calculadora identificar o arquivo como um programa; R Barra de ferramantas com caracteres especiais e lista de comandos da HP48G/GX. O problema de outros editores que os smbolos da HP48G/GX no correspondem aos smbolos normais destes editores; R Opo de abir e limitar arquivos a 22 colunas. Utilizado principalmente para textos Assim todo o texto digitado ser visualisado na tela da HP48G/GX sem necessidade de rolagem; O editor gera arquivos ASCII, o que permite a abertura destes arquivos em outros editores. O editor em espanhol, o que ajuda para aqueles que no conhecem o ingls.

1999 Pablo Saldo

Calculadora HP48G/GX - Programador - Bsico

A LINGUAGEM USER RPL


USER RPL & SYS RPL Voc pode programar para as calculadoras HP48G/GX utilizando duas linguagens distintas: linguagem montadora (assembly) ou Reverse Polish LISP (RPL). A linguagem RPL pode ainda ser trabalhada de duas formas: Sys RPL e User RPL. A linguagem Sys RPL a linguagem utilizada junto com o assembly para construir a calculadora. Somente podemos programar nesta linguagem utilizando um compilador. o compilador que transformar nosso cdigo-fonte em algo compreensvel para a calculadora, e uma vez compilado, o cdigo no pode mais ser alterado (semelhante a um programa feito em Pascal ou C). J a linguagem User RPL (UserRPL) est disponvel diretamente nas calculadoras HP48G/GX e com ela que iremos trabalhar neste curso. A UserRPL nada mais do que uma linguagem scripting (de roteiro), onde podemos armazenar sequncias de comandos que utilizamos normalmente, com algumas facilidades adicionais, tais como uso de variveis locais e estruturas de controle. A linguagem interpretada, isto , o cdigo-fonte fica disponvel em uma forma compreensvel para o programador, e analisado cada vez que o programa executado, o que permite que faamos alteraes no cdigo na prpria pilha da calculadora e executemos o programa imediatamente. Voc provavelmente j se deparou com um programa em UserRPL, ou talvez j tenha at construdo um. Um programa em UserRPL um objeto que pode ser armazenado na calculadora e delimitado pelos caracteres e . DEPURANDO SEUS PROGRAMAS A fim de que voc possa analisar e testar seus programas, a HP48G/GX prov uma srie de ferramentas utilitrias, que permitem o acompanhamento passo a passo da execuo do programa, localizadas em hl$RUN$ ) DBUG Armazena o programa do nvel 1 da pilha na memria, para depurao. SST Avana o programa armazenado na memria passo a passo, considerando subrotinas como um passo nico. SST Avana o programa armazenado na memria passo a passo, executando rotinas tambm passo a passo. NEXT Mostra o prximo passo (ou at os dois prximos passos), sem execut-los HALT Colocado em um trecho do programa, para a execuo, que pode ser continuada com SST ou SST. KILL Desliga o anncio HALT, cancelando a execuo do programa.

1999 Pablo Saldo

Calculadora HP48G/GX - Programador - Bsico MANIPULAO DA PILHA (STACK) SWAP

Troca de posio os objetos dos niveis 1 e 2 da pilha. OVER

Retorna uma cpia do objeto do nvel 2. ROT

Rotaciona os 3 primeiros objetos, movendo o objeto do nvel 3 para o nvel 1. ROLL

Move o objeto de um nvel especificado para o nvel 1. ROLLD

Move o objeto do nvel 1 para um nvel especificado.

1999 Pablo Saldo

Calculadora HP48G/GX - Programador - Bsico PICK

Retorna a cpia do objeto de um nvel especificado. DEPTH

Retorna o tamanho (profundidade) da pilha. DUP

Retorna uma cpia do elemento do nvel 1. DUP2

Retrorna a cpia dos 2 primeiros objetos da pilha. DUPN

Retorna a cpia dos primeiros n objetos da pilha.

1999 Pablo Saldo

Calculadora HP48G/GX - Programador - Bsico DROP

Remove o primeiro elemento da pilha. DROP2

Remove os 2 primeiros elementos da pilha. DRPN

Remove os n primeiros elementos da pilha.

1999 Pablo Saldo

Calculadora HP48G/GX - Programador - Bsico VARIVEIS LOCAIS Os programas que fizemos at agora no necessitaram de variveis, assim como no necessitaram de entradas do usurio. Mas a maioria, para no dizer a totalidade dos programas que desenvolvemos, necessita de entradas do usurio, que no decorrer da execuo do programa sero utilizadas, alteradas e descartadas. Para um pequeno nmero de variveis fica fcil control-las, mas quando esse nmero comea a aumentar, a coisa comea a piorar. Poderamos armazen-las em variveis com o comando STO e utiliz-las com RCL, STO+, STO-, etc., e apag-las ao fim do programa usando PURGE. Mas e se o nome da varivel que iremos utilizar j existir, ou se o programa terminar com um erro. No primeiro caso, perderamos informaes importantes, enquanto que no segundo ficaramos com variveis armazenadas que no fazem nenhum sentido para ns. A soluo do nosso problema a utilizao de variveis locais dentro de nossos programas, ou apenas em trechos deles. Uma varivel local pode ter qualquer nome vlido de variveis e s visvel dentro do bloco de programa exatamente aps a sua declarao. A declarao se d utilizando o operador : var1 var2 bloco local fim do bloco As variveis var1 e var2 s so visveis dentro do bloco local. Toda informao sobre elas deve ser deixada na pilha, se quisermos utiliz-las no fim do bloco. O valor das variveis retirado da pilha. No exemplo acima se tivssemos uma pilha 3: 3 2: 2 (var1) 1: 1 (var2) var1 seria inicializada com o valor 2, e var2 com 1. Programas que utilizam variveis locais so mais simples e mais fceis de depurar, porm so mais lentos do que programas que manipulam a pilha diretamente. O ideal mesclarmos em um programa trechos que manipulam a pilha com trechos que utilizam variveis locais.

1999 Pablo Saldo

Calculadora HP48G/GX - Programador - Bsico ESTRUTURAS DE REPETICAO START ... NEXT incio fim START comandos NEXT A estrutura recebe dois nmeros da pilha, e executa comandos at que o valor recebido como incio seja igual ao valor recebido como fim. A cada execuo da srie de comandos, o valor de incio incrementado. n 1 10 START n 1 'n' STO+ NEXT O programa acima tem como sada n, n+1, n+2, ..., n+9. FOR ... NEXT incio fim FOR var comandos NEXT A estrutura recebe dois nmeros da pilha, inicializa a varivel var e executa comandos at que var seja igual ao valor recebido como fim. A cada execuo da srie de comandos, var incrementada. A principal diferena entre START ... NEXT e FOR ... NEXT que, usando FOR, temos acesso ao valor do contador: n n DUP 9 + FOR n n NEXT O programa acima tem a mesma sada do programa anterior. possvel tambm mudar o incremento do lao, utilizando STEP ao invs de NEXT em qualquer um das estruturas acima: n 10 1 START n 1 'n' STO-1 STEP Esse programa devolve a seqncia n, n-1, n-2, ..., n-9. n n 9 + n FOR n n -1 STEP O programas devolve a seqncia n+9, n+8, n+7, ..., n. 1999 Pablo Saldo

Calculadora HP48G/GX - Programador - Bsico DO ... UNTIL ... END DO comandos UNTIL condio END Nesta estrutura, comandos executado pelo menos uma vez, e seguir sendo executado at que condio seja verdadeiro. O programa abaixo devolve a soma dos nmeros pares de 100 a 200: 0 100 soma n DO 'soma' n STO+ 2 'n' STO+ UNTIL n 200 END soma WHILE ... REPEAT ... END WHILE teste REPEAT comandos END Nesta estrutura, comandos s executado se teste for verdadeiro, e repetir enquanto assim o for. O programa abaixo equivalente ao exemplo da estrutura DO ... UNTIL ... END: 0 100 soma n WHILE n 200 < REPEAT 'soma' n STO+ 2 'n' STO+ END soma

1999 Pablo Saldo

10

Calculadora HP48G/GX - Programador - Bsico ESTRUTURAS CONDICIONAIS TESTES A calculadora HP48G/GX no prov tipos lgicos, utilizando os nmeros reais. Qualquer valor diferente de 0 considerado como verdadeiro. Existem quatro operaes bsicas com valores lgicos: NOT, AND, OR e XOR. As tabelas-verdade esto demonstradas abaixo: NOT A F V AND A F F V V OR Sada A F F F F F V V V XOR Sada A F F V F V V V V

Sada V F

B F V F V

B F V F V

B F V F V

Sada F V V F

Existem ainda sete funes lgicas: == (igual), SAME (igual, mais rpido), M (diferente), < (menor), > (maior), K (menor ou igual) e L (maior ou igual). Temos ainda os flags, registradores especiais, utilizados como marcadores pelo usurio. So 64 flags disponveis ao usurio, numerados de 1 a 64 (valores negativos representam flags do sistema), e os primeiro cinco ficam sinalizados no visor. Manipulaes com os flags podem ser feitas utilizando-se os seguintes operadores: SF (Set Flag): Aciona o sinal do flag. CF (Clear Flag): Limpa o sinal do flag. FS? (Flag Set?): Testa se o sinal do flag est acionado. FC? (Flag Clear?): Testa se o sinal do flag est limpo. FS?C (Flag Set? Clear): Testa se o sinal do flag est acionado e limpa o flag. FC?C (Flag Clear? Clear): Testa se o sinal do flag est limpo e limpa o flag. IF ... THEN ... END IF teste THEN comandos END Se teste verdadeiro, ento comandos executado. X IF 'X0' THEN "Positivo" END IF ... THEN ... ELSE ... END IF teste THEN comandos1 ELSE comandos2 END Se teste verdadeiro, ento comandos1 executado, seno executado comandos2. X IF 'X0' THEN "Positivo" ELSE "Negativo" END

1999 Pablo Saldo

11

Calculadora HP48G/GX - Programador - Bsico IFT teste objeto IFT 'IFT( teste, objeto)' O mesmo que IF ... THEN ... END, mas em uma forma mais enxuta e rpida. Se objeto for um comando, ele deve ser encapsulado em uma lista. 0 "Positivo" IFT IFTE teste objetoV objetoF IFTE 'IFTE( teste, objetoV, objetoF)' A verso IFT de IF ... THEN ... ELSE ... END. Se teste verdadeiro, objetoV avaliado, seno objetoF avaliado. Segue as mesmas regras de IFT quanto aos uso de comandos. 0 "Positivo" "Negativo" IFTE CASE ... THEN ... END CASE teste1 THEN comandos1 END teste2 THEN comandos2 END ... testen THEN comandosn END comandos_seno END Utilizada para substituir IFs aninhados, para manter a clareza do cdigo, esta estrutura primeiro testa de teste1 verdadeiro; se for executar comandos1, descartando o restante da estrutura. Se teste1 falso, testa teste2 e, se este for verdadeiro, executa comandos2, descartando o resto da estrutura, e assim subseqentemente. Se nenhum dos teste for verdadeiro, executa comandos_seno (opcional). O programa abaixo diz se o objeto do nvel 1 menor, maior ou igual ao objeto do nvel 2 X Y CASE 'X>Y' THEN "Menor" END 'X<Y' THEN "Maior" END X Y SAME THEN "Igual" END

1999 Pablo Saldo

12

Calculadora HP48G/GX - Programador - Bsico TRATAMENTO DE EXCEES DOERR

Recebe da pilha uma cadeia de caracteres e devolve uma mensagem de erro no alto do visor, com os caracteres da cadeia IFERR .. THEN ... END IFERR comandos1 THEN comandos2 END IFERR comandos1 THEN comandos2 ELSE comandos3 END Nestas duas estruturas, semelhantes s estruturas IF ... THEN ... END e IF ... THEN ... ELSE ... END, uma seqncia de comandos executada conforme o resultado de um teste. A diferena de que, neste caso, a condio que aciona a execuo do cdigo uma condio de erro durante a execuo de outro trecho de cdigo, isto se ocorrer um erro durante a execuo de comandos1, comandos2 executado, e na segunda estrutura, comandos3 executado se nenhum erro ocorrer. O programa abaixo d uma mensagem de erro personalizada caso no haja valores na pilha, caso contrrio, devolve uma cpia do objeto do nvel 1 avaliado: IFERR DUP THEN "ERRO: Pilha Vazia" DOERR ELSE EVAL END

1999 Pablo Saldo

13

Calculadora HP48G/GX - Programador - Bsico ENTRADA INPUT

Trava a execuo do programa e solicita uma entrada do usurio. O formato do comando "mensagem" "valor" INPUT ou "mensagem" {"valor" opes posio}. As opes podem ser ALG, que pe a calculadora no modo algbrico, , que liga o teclado alfanumrico`, ou V, que checar a sintaxe da entrada do usurio. A sada se d na forma de uma cadeia de caracteres. Dica: Aps INPUT, utilize o comando OBJ, que abrir o string, traduzindo a sada para o formato desejado. CHOOSE

Disponibiliza a escolha de um item. A entrada tem o formato "Ttulo" { itens } item_inicial. Se item_inicialfor 0, ento o formulrio serve como informativo, no permitindo nenhuma seleo. A sada pode ser { item } 1, se o usurio efetuou a seleo, ou 0, caso o usurio tenha pressionado CANCEL. INFORM

Cria um formulrio personalizado, semelhante aos das aplicaes imbutidas. A entrada tem o formato "Ttulo" { campos } formato {Valores_limpa} {valores_iniciais}, onde cada campo pode assumir uma dentre as quatro formas: "nome" { } { "nome" "Texto de Ajuda"} { "nome" "Texto de Ajuda" tipo1 tipo2 tipon} Onde tipon segue a correspondncia numrica do comando TYPE. Dessa forma s so aceitos valores de um dos tipos especificados.

1999 Pablo Saldo

14

Calculadora HP48G/GX - Programador - Bsico formato pode ter uma das quatro formas: { } colunas {colunas} {colunas distncia}, onde distncia a distncia entre o nome e o valor do campo. {valores_limpa} so os valores correspondentes dos campos quando se pressiona @. {valores_iniciais} no necessita demais explicaes SADA CLLCD ... DISP ... FREEZE ... HALT

A combinao CLLCD DISP FREEZE HALT mostra no visor uma mensagem at que &(seja pressionado. O formato de uso CLLCD "mensagem" linha DISP rea FREEZE HALT: CLLCD apenas limpa o visor DISP recebe como argumentos uma cadeia de caracteres e a linha de exibio (de 1, a linha superior, at 7, a linha inferior do visor) FREEZE congela uma parte do visor de acordo com o valor do nmero passado como argumento: NMERO REA DO VISOR 1 rea de status 2 Pilha 3 rea de status e Pilha 4 Menu 5 rea de status e Menu 6 Menu e Pilha 0 ou 7 Todo Visor MSGBOX

Produz uma bonita caixa de mensagem no centro do visor. Recebe como entrada uma cadeia de caracteres. Dica: Utilize CLLCD para dar um visual mais limpo. 1999 Pablo Saldo

15

Calculadora HP48G/GX - Programador - Bsico

COMANDOS - GUIA DE REFERNCIA


COMANDO ABS ACK ACKALL ACOS ACOSH ALOG AND APPLY DESCRIO Valor absoluto Reconhecimento de alarme vencido no display Reconhecimento de todos os alarmes passados no display Arco-cosseno Arco-cosseno hiperblico Antilogartimo comum (base 10) and lgico ou binrio Devolve expresses avaliadas como argumentos a nomes locais sem avaliar Desenha um arco em pict com um ponto central especificado, raio, e ngulo de incio e fim faz uma cpia de segurana do diretrio home Devolve o ngulo polar Separa uma formao [array] z1 ... zn {dim} z z obj lc.p #n1 z z lid point point nbaud nfreq ndurao z z z #n1 #n2 'nome' {symb ...} Point xr x1 x2 :n: name (x,y) z z1 ... zn {dim} ACOS(z) ACOSH(z) 10^z #n1 AND #n2 ENTRADA z SADA |z|

ARC

ARCHIVE ARG ARRY

ARRY ASIN ASINH ASN ASR ATAN ATANH ATTACH AUTO AXES BAR BARPLOT BAUD BEEP BESTFIT BIN BINS BLANK BOX BUFLEN BYTES BR CASE CEIL CENTR CF %CH CHR

Cria uma formao Arcosseno Arcosseno hiperblico Liga uma objeto a uma tecla do modo de usurio Rotao aritmtica para direita de 1 bit Arcotangente Arcotangente hiperblica Liga uma biblioteca ao diretrio atual Auto-escala o eixo y Fixa as coordenadas de interseco dos eixos Seleciona o traado bar Plota o diagrama de barra dos dados de sdat Fixa a taxa de transferncia Emite um beep Seleciona o modo de traado que produz o maior valor absoluto do coeficiente de correlao lr Fixa a base binria Ordena os elementos na coluna de variveis independentes de sdat em n+2 casas Cria um objeto grfico vazio Desenha um quadrado a partir de dois cantos opostos Devolve o nmero de caracteres no buffer da serial Devolve o checksum e o tamanho em bytes de um objeto Converte binrio para real Comea a estrutura case... then ... end ... end Devolve o nmero inteiro seguinte Fixa o centro da tela do plot no ponto Desativa um flag especfico Calcula o variao percentual Converte o cdigo de um caracter em uma cadeia de

[array] ASIN(z) ASINH(z)

#n2 ATAN(z) ATANH(z)

xmin xcolunas nbins #ncolunas #nlinhas point1 point2

[[b1]...[bn]] [b<b>] grob

n obj #n x point m xinicial yfinal n #nchecksum xtam n n

x% "string"

1999 Pablo Saldo

16

Calculadora HP48G/GX - Programador - Bsico


um caracter CKSM CLEAR CLKADJ CLLCD CLOSEIO CLUSR CLVAR CLS CNRM COLCT COLS COMB CON CONIC CONJ CONT CONVERT CORR COS COSH COV CR CRDIR CROSS CPX CR DATE DATE+ DATE DDAYS DEC DECR DEFINE DEG DELALARM DELAY DELKEYS DEPND DEPTH DET DETACH DISP DO DOERR DOT Fixa o tipo de checksum de e/s Apaga todos os dados no stack Ajusta o clock da calculadora em ticks (1/8192 seg) Limpa a tela Fecha a porta serial Igual a clvar Apaga todas as variveis de usurio no diretrio atual Apaga sdat Calcula a norma da coluna de uma matriz Une termos semelhante de uma expresso Seleciona as colunas de estatstica independente e dependentes Calcula as combinaes de n elementos tomados de m em n Cria uma matriz constante Seleciona o modo de traado cnico Devolve o conjugado de um complexo Continua a execuo de um programa Executa converso de unidades Calcula o coeficiente de correlao Cosseno Cosseno hiperblico Calcula a variana Retorno do carro/salto de linha Cria um diretrio Produto vetorial de vetores Converso de unidades do usurio a coordenadas na tela Converso de nmero complexo em real Devolve a data corrente Soma a uma data um determinado nmero de dias Ajusta a data corrente Nmero de dias entre duas datas Fixa o modo decimal Decrementa e devolve o valor de uma varivel especificada Cria uma varivel ou funo definida pelo usurio Fixa o modo de graus Apaga um alarme da lista de alarmes do sistema Fixa o tempo entre as linhas impressas Desativa as ligaes de programas s teclas do modo usurio Especifica o nome da varivel dependente para o plot Devolve o nmero de objetos do stack Determinante de uma matriz Desconecta uma biblioteca do diretrio atual Mostra o objeto na linha especificada Comea a estrutura do...until...end Aborta a execuo de um programa, mostra a msg de erro Produto escalar de dois vetores "string" [array] [array] [matriz] lid obj nlinha nalarme x lc.p 'nome' n xdet 'nome' 'symb' x date ndias date date1 date2 'nome' [vetor1] [vetor2] (x,y) (x,y) z z x1_unit1 x2_unit2 x3_unit2 xcorrelacion cos(z) cosh(z) xcovariana [array] [array*] [array] 'symb1' nind ndepen n m {dim} z Cn,m [array] xnormacoluna 'symb2' nchecksum obj1 ... objn nmarcas

[vetor3] {#n #m} x y date date2

ndias

1999 Pablo Saldo

17

Calculadora HP48G/GX - Programador - Bsico


DRAW DRAX DROP DROPN Traado da funo em eq Traado dos eixos Elimina o objeto do nvel 1 do stack Elimina n objetos do stack obj obj1 ... objn n obj1 obj2 :tag:obj obj obj1 ... objn n obj1 obj2 xgraus obj obj obj obj1 ... objn obj1 ... objn obj1 obj2 obj1 obj2 xrad

DROP2 DTAG DUP

Elimina dois objetos do stack Apaga todas as etiquetas do objeto Duplica o objeto do nvel 1 do stack

DUPN

Duplica n objetos do stack

DUP2 DR E ELSE END ENG EQ ERASE ERRM ERRN ERRO EVAL EXP EXPAN EXPFIT EXPM FC? FC?C FINISH FIX FLOOR FOR FP FREE FREEZE FS? FS?C FUNCTION GET GETI

Duplica os objetos dos nveis 1 e 2 do stack Converso de graus em radianos Constante simblica e (2.71828182846) Comea a estrutura else Acaba estruturas de programas Fixa o modo de engenharia Separa equaes nos lados direito e esquerdo Apaga pict Retorna a ltima mensagem de erro Devolve o nmero do ltimo erro Apaga o timo nmero da mensagem de erro Avalia um objeto Eleva a potncia exponencial o objeto do nvel 1 Expande o objeto algbrico Fixa o modelo de regresso para a curva exponencial Exponencial natural menos 1 Comprova se o flag especificado est desativado Comprova se o flag est desativado, se no o ativa Termina com o modo server do kermit Seleciona o modo fix Inteiro seguinte mais pequeno Comea a estrutura for ... next ou for ... step Devolve a parte fracionria de um nmero Libera a memria ligada Congela uma determinada rea do display Comprova se o flag especificado est ativo Comprova se o flag especificado est ativo, se no o ativa Seleciona o traado de grficos no modo function Obtem elementos de uma formao ou lista Obtem elementos de uma formao ou lista e incremente o ndice Sobrepe o grfico do nvel 1 sobre o do nvel 3 no ponto especificado Seleciona o modo radianos Ativa o modo grfico Converte uma cadeia de caracteres em um objeto grfico Usa um or-exclusivo para sobrepor dois grficos

ncasas 'symb1=symb2' 'symb1' 'symb2' "mensagem de erro" #n obj z 'symb1' e^z 'symb2'

x mflag mflag date ncasas x x {name/lid} nporta n mflag mflag [array] index [array] index1 grob1 point grob2

e^x-1 0/1 0/1 nalarm

FINDALARM Devolve o alarme da hora especificada

n FP(x) 0/1 0/1 0/1

z [array] index2 z grob3

GOR GRAD GRAPH GROB GXOR

"string" nsize grob1

grob grob3

1999 Pablo Saldo

18

Calculadora HP48G/GX - Programador - Bsico


point grob2 HALT HEX HMS+ HMSHMS HMS HOME I IDN IF IFERR IFT IFTE IM INCR INV IP ISOL KEY KILL LAST LASTARG LCD LCD LINE LIST Suspende a execuo de um programa Fixa o modo hexadecimal Soma em formato hms Subtrao no formato hms Converte hms para o formato decimal Converte um nmero decimal para o formato hms Seleciona o diretrio home Constante simblica i Cria uma matriz identidade de um tamanho especificado Comea a estrutura de deciso if...then..[else]...end Comea a estrutura de erro iferr...then..[else]...end Comando ift/then Comea a estrutura de deciso ifte...then..[else]...end Devolve a parte imaginria de um nmero Incrementa e devolve o valor da varivel especificada Inverso Parte inteira de um nmero Isola a varivel especificada de um lado da equao Devolve um nmero indicando a ltima tecla pressionada Aborta todos os programas suspensos na memria Igual a lastarg Devolve o ltimo argumento da pilha Obtem a imagem atual do display em forma de tela grfica Mostra um objeto grfico Traa uma linha entre dois pontos grob point1 point2 obj1 ... objn n grob 0/1 objverd 0/1 objverd objfalso (x,y) 'nome' z x 'symb1' 'nome' y x 1/z IP(x) 'nome=symb2' 0 ou lc.p 1 n [matriz] hms1 hms2 hms1 hms2 hms x hms3 hms3 x hms

Cria uma lista a partir dos objetos do stack

LIST LN LNP1 LOG MAX MEM MENU NEG NEWOB NOT NUM NUM OBJ OCT OFF OR ORDER

Separa uma lista {obj1...objn} Logartmo neperiano Logartmo neperiano de (x+1) Logartmo base 10 o maior nmero entre dois Memria disponvel ao usurio Cria um menu de usurio Negativo do argumento do nvel 1 Cria uma nova cpia do objeto Not lgico ou binrio Devolve o cdigo do primeiro caractere da string Avalia objetos no modo numrico Devolve os componentes do objeto na pilha Fixa a base octal Desliga a calculadora or lgico ou binrio Reordena os diretrios #n1 #n2 { name .... } { obj... } z obj #n1 "string" obj z x z x y

{ obj1...objn} obj1 ... objn n LN(z) LN(x+1) LOG(z) MAX(x,y) x -z obj NOT #n1 n

#n1 OR #n2

1999 Pablo Saldo

19

Calculadora HP48G/GX - Programador - Bsico


OVER PATH PDIM PERM PGDIR PICK PICT PIXOFF PIXON PIX? POS PURGE PUT Duplica o objeto do nvel 2 Devolve o caminho do diretrio atual Muda o tamanho da tela grfica Permutao de n objetos tomados de m em m Elimina um diretrio Copia o objeto do nvel n para o nvel 1 Devolve a pict para o nvel 1 Apaga um determinado ponto da tela grfica Acende um determinado ponto da tela grfica Verifica se um determinado ponto da tela grfica est aceso Devolve a posio de um objeto em uma lista ou string Apaga um ou mais variveis Insere em uma lista ou formao um determinado objeto Igual a put, porm incrementa o ndice Mostra a tela grfica a partir de um determinado ponto Converso de unidades de pontos para unidades de usurio Converte nmeros a suas fraes equivalentes Compara coecientes e tenta por o nmero sob forma de *a/b x Fixa o mode radianos Devolve um nmero aleatrio 0 < x < 1 Devolve o contedo de uma varivel para a pilha Devolve um alarme da lista de alarmes do sistema Devolve o estado dos flags do sistema e do usurio Devolve a lista da ligaes das teclas de usurio Devolve a posio da pgina do menu atual Obtm o tamanho do maior inteiro binrio Redimensiona uma formao Devolve a parte real de um nmero (x,y) Recebe um programa via kermit e o guarda na varivel especificada Recebe um programa via kermit(entre hp-hp ou pchp) Adiciona em uma lista, string, objeto grfico ou pict o objeto especificado no nvel 1, na posio no nvel 2 Restaura um backup armazenado via kermit obj1 objpos obj2 :n: nome obj1 ... objn n obj1 ... objn n obj1 obj2 obj3 n x [array1] {dim} x 'nome' 'nome' nalarm x obj { alarm } { #system #user } {obj lc.p ... objn lc.pn} x n [array2] point point point {obj ....} objproc 'nome' [array1] index z [array1] index z point { #n #m } x (x,y) 'symb' 'symb' 0/1 npos #nlargura #naltura n m 'nome' obj1 ... objn n obj1 obj2 obj1 obj2 obj1 { home name ... }

Pn,m obj1 ... objn obj1 pict

[array2] [array2] index2

PUTI PVIEW PXC Q Q RAD RAND RCL RCLALARM RCLF RCLKEYS RCLMENU RCWS RDM RE RECN RECV REPL RESTORE

obj3

ROLL

Move o objeto do nvel n para o nvel 1

ROLLD

Move o objeto do nvel 1 para o nvel n

ROT RB RC

Move o objeto do nvel 3 para o nvel 1 Converso de real para binrio Converso de real para complexo

obj1 ... objn obj1 objn obj1 ... objn-1 obj2 obj3 obj1 #n (x,y)

1999 Pablo Saldo

20

Calculadora HP48G/GX - Programador - Bsico


y RD SAME SCI SCONJ SEND SERVER SF SIGN SIN SINH SINV SIZE SNEG SQ START STD STEP STEQ STO STOALARM STOF STOKEYS STO+ STOSTO* STO/ STR STR STWS SUB SWAP SYSEVAL TAG TAN TANH TICKS TIME TIME TLINE TMENU TSTR Converso de radianos para graus Testa a igualdade de dois objetos Fixa o modo cientfico Conjuga o contedo de uma varivel Envia um programa, um diretrio, ou uma lista de programas e diretrios via kermit. (entre hp-hp ou hp-pc) Seleciona o modo servidor via kermit Habilita o flag indicado Devolve o sinal do nmero Calcula o seno de um nmero Calcula o seno hiperblico de um nmero Atualiza o contedo de uma varivel com a sua inversa Obtem o tamanho do objeto Nega o contedo de uma varivel Eleva ao quadrado o objeto do nvel 1 Comea a estrutura start...next ou start...step Seleciona o modo standard Termina o lao definido incrementando o contador em n Armazena a equao em `eq' Armazena um objeto em uma varivel especificada Armazena um alarme na lista de alarmes do sistema Restaura os flags do sistema e do usurio faz mltiplas ligaes de objetos a teclas de usurio Atualiza o valor da varivel com o valor especificado (soma) Atualiza o valor da varivel com o valor especificado (subtrao) Atualiza o valor da varivel com o valor especificado (multiplic) Atualiza o valor da varivel com o valor especificado (diviso) Executa objetos contidos em cadeias Converte o objeto do nvel 1 em uma cadeia de caracteres Fixa o tramanho das palavras em binrio Extrai parte de uma lista, cadeia, matriz, obj grficos ou pict Troca de posio os objetos dos nveis 1 e 2 Avalia um objeto do sistema interno da calculadora a partir de um endereo especificando o incio do objeto external ou code Liga a um objeto do nvel 2 uma etiqueta identificando o obj Tangente Tangente hiperblica Devolve a hora como inteiro binrio em unidades de ticks Devolve a hora atual como um nmero no formato hms Atualiza o clock da calculadora Desenha uma linha entre dois pontos usando xor Cria um menu de usurio temporrio Converte a data e a hora para o formato de string: ``date time'' time point1 point2 { obj1 ... objn } data time "data time" n 'symb' obj 'nome' time { #system #user } {obj lc.p ... objn lc.pn} z 'nome' z 'nome' z 'nome' z 'nome "string" obj n obj1 ninicio nfim obj1 obj2 #n bum obj "tag" z z :tag:obj TAN(z) TANH(z) #ticks time "string" nalarm m z1 z z 'nome' obj 'nome' z z^2 n ou {dim} z2 SIN(z) SINH(z) 'nome' { 'nome1' 'nome2' ... } ou 'nome' xrad obj1 obj2 xgraus 0/1

obj2 obj2 obj1

1999 Pablo Saldo

21

Calculadora HP48G/GX - Programador - Bsico


TVARS TYPE UBASE UFACT UNIT UNTIL UPDIR UVAL VARS VTYPE V2 V3 V WAIT XOR ! Devolve uma lista das variveis de um determinado tipo Devolve o nmero identificando o tipo do objeto Converte o objeto de unidades em unidades bsicas do si Fatora uma determinada unidade em um objeto de unidades Pega a unidade do objeto do nvel 2 e coloca no obj do nvel 1 Comea a estrutura until Sobe um diretrio do nvel atual Devolve a parte numrica de um objeto de unidade Devolve a lista de variveis do diretrio atual Devolve o nmero do tipo do obj armazenado na varivel Cria um vetor a partir de dois nmeros Cria um vetor a partir de trs nmeros Separa um vetor em seus componentes Detm a execuo de um programa por n segundos ou-exclusivo lgico ou binrio Fatorial de um nmero 'nome' x1 x2 x1 x2 x3 [x1 x2] n #n1 #n2 n x_unts x { global ...} ntipo [x1 x2] ntipo obj x_unit x1_unit1 x2_unit2 x_units y { global ... } ntipo y_base-unts x3_unit2*unit3 y_units

[x1 x2 x3] x1 x2

#n1 XOR #n2 n!

Emu48 1.04 - Copyrigth 1997 Sbastien Carlier. O autor utiliza o script Enhanced, de autoria de Casey Patterson, Sebastien Carlier e Eran Rivlis, com algumas alteraes de punho prprio.
ii

1999 Pablo Saldo

22

Você também pode gostar