Escolar Documentos
Profissional Documentos
Cultura Documentos
Introduo ao Curso
A idia de um curso de programao em HP48 surgiu de ido ! "alta de uma literatura espec#"ica para a calculadora$ os manuais at ento encontrados trata am o assunto de maneira super"icial e eram geralmente pu%licados em ingl&s' Para o usu(rio e)tremamente "rustrante possuir uma "erramenta poderosa e no sa%er como us(*la' O curso$ nesse sentido$ uma alternati a !+ueles +ue pretendem solucionar os seus pro%lemas de "orma ade+uada' ,nicialmente o curso englo%a a operao e programao %(sica$ no entanto$ a e)peri&ncia no "oi grati"icante$ pois -a ia degraus muito grandes entre os con-ecimentos de cada aluno em relao ! calculadora' Ap.s um estudo so%re o conte/do do curso$ o mesmo "oi separado em dois m.dulos0 * Operao *Programao' Estes por sua e1 so independentes entre si$ pois a estrutura da calculadora permite +ue isto se2a "eito' 3o -( a pretenso de +ue todos se tornem %ons programadores ap.s terminarem o curso' Mas$ de e "icar claro +ue os mtodos e "erramentas$ "ornecidos durante o curso$ sero su"icientes para +ue cada um possa aprimorar suas no4es de programao at tornar*se um %om programador'
Or$ani%ao do t"&'ado(
O teclado da HP48 disp4e de (rios Bn# eisB' Cada tecla tem uma "uno prim(ria +ue aparece impressa em %ranco na pr.pria tecla * por e)emplo$ DE3?E5E$ DFE$ DG*E' ?r&s dentre as teclas prim(rias rede"inem as a4es das demais teclas' Estas teclas$ e suas com%ina4es principais so as seguintes0 * D E 6c-amada de s-i"t es+uerdo8$ ati a as de"ini4es em ro)o so%re as teclas'
-ttp0HHH'li'"acens'%r/eletronica ;
* D E 6c-amada de s-i"t direito8$ ati a as de"ini4es em erde so%re as teclas' * DE 6c-amada de tecla Alp-a8$ ati a os caracteres impressos em %ranco correspondentes !s teclas usadas na escrita de pala ras' * DE F D E ati a os caracteres min/sculos$ e alguns caracteres especiais para o teclado numrico' * DE F D E ati a os caracteres especiais em todo teclado al"anumrico'
-ttp0HHH'li'"acens'%r/eletronica Q
*"&'as Es+"&iais(
Jentre as teclas +ue possuem "un4es especiais$ eremos inicialmente as +ue merecem maior ateno$ pois sero imprescind# eis no decorrer do curso0 DEJ,?E * edita um n/mero real$ comple)o ou %in(rioP ou ainda um programa$ uma string$ etc' Ou se2a$ edita o o%2eto +ue esti er na primeira lin-a do stac< 6pil-a8 da calculadora' DCMJE * apresenta na tela os +uatro /ltimos alores$ programas$ strings digitados' DA5GE * retorna para o stac< os argumentos utili1ados pela /ltima "uno e)ecutada' DCOEA5E ou DJEOE * limpa todas as lin-as do stac<' DJ5OPE ou DE * apaga a primeira lin-a do stac<' D R E * entra no modo de entrada de um o%2eto alg%rico' DBBE * entra no modo de entrada de uma string'
Gra0ando 0ari10"is(
Podemos arma1enar programas$ n/meros$ strings e outros o%2etos' Para isso necess(rio um comando c-amado >?O 6store * arma1enar8 +ue utili1ado da seguinte maneira0 * Colo+ue o o%2eto a ser arma1enado na primeira lin-a do stac<' * Jigite entre os delimitadores X X nome da ari( el +ue arma1enar( o o%2eto' * Pressione a tecla D>?OE para gra ar o o%2eto na ari( el' Ou pelo por um mtodo mais direto e r(pido0 6para uma ari( el 2( e)istente8 * Colo+ue o o%2eto a ser arma1enado na primeira lin-a do stac<' * pressione a tecla D E e em seguida a tecla de menu correspondente ! ari( el +ue guardar( o o%2eto'
-ttp0HHH'li'"acens'%r/eletronica 9
Pi'2a
* Je"inio de Pil-a * Os comandos0 EJ,?$ COEA5$ J5OP$ JLP$>YAP$ 5O?$A5G$ L3JO$ CMJ * Lsando a Pil-a em c(lculos * E)erc#cios de c(lculos * Pil-a ,nterati a * Lsando a Pil-a ,nterati a em c(lculos * Construindo e+ua4es com a Pil-a 6E)erc#cios$ e+ua4es$ c(lculos8
Comandos0 EJ,?$ COEA5$ J5OP$ JLP$ >YAP$ 5O?$ A5G$ L3JO$ CMJ
Estes comandos so considerados os mais /teis durante a manipulao de o%2etos na pil-a' ?emos a seguir um resumo do%re cada um deles0 DEJ,?E edita o o%2eto +ue est( na primeira lin-a do >tac<' DCOEA5E limpa todo o >tac< 6o mesmo +ue DJEOE8 DJ5OPE apaga a primeira lin-a do >tac<' DJLPE duplica a primeira lin-a do >tac<' D>YAPE troca o conte/do da primeira lin-a com o conte/do da segunda lin-a' D5O?E mo e o o%2eto da terceira lin-a para a primeira lin-a' DA5GE de ol e ao >tac< os argumentos da /ltima "uno e)ecutada' DL3JOE retorna o >tac< anterior ! /ltima operao' DCMJE mostra na tela um menu mostrando as +uatro /ltimas entradas ia teclado'
Ap.s dominar as opera4es matem(ticas e as "un4es do teclado$ temos condi4es de aprender a manipular os o%2etos na pil-a$ resol endo pro%lemas e calculando e)press4es'
E-!rc.c"o( d! C*'c+'o(,
Ltili1ando as "un4es DJLPE $D>YAPE e D5O?E encontre as respostas ao lado0
b)
10^22-32 'x' 32 22 10
c) ap ague o stack, a) b) c)
Ainda para os mesmos o%2etos do >tac<$ sem utili1ar a calculadora$ mostre a situao "inal do >tac< para cada se+I&ncia de comandos0 a8 >YAP F JLP * F >YAP / %8 5O? >YAP 5O? F JLP 5O? * / >YAP Z c8 >YAP 5O? J5OP JLP 5O? F Z / d8 >,3 F 5O? CO> * /
Pi'2a int"rati0a(
E)iste um sistema especial de edio e manipulao dos o%2etos arma1enados no >tac<$ esta "uno c-ama*se Pil-a ,nterati a$ e est( dispon# el atra s do menu D E D >?ACME ' Para usar a Pil-a ,nterati a proceda da seguinte "orma0 :' pressione D E D >?ACME' ;' use as setas do cursor para selecionar o o%2eto na lin-a dese2ada' Q' pressione DE3?E5E ou DCA3CEOE para sair da Pil-a ,nterati a 4' para sair sem e"etuar as mudanas "eitas no >tac< pressione D E DL3JOE A seguir temos as op4es de comando dispon# eis dentro da Pil-a ,nterati a0
-ttp0HHH'li'"acens'%r/eletronica [
tecla0 DECHOE
Jescrio0 * Copia o conte/do da lin-a corrente para a posio do cursor na lin-a de comando' DW,EYE * Mostra ou edita o o%2eto na lin-a corrente usando o modo de apresentao mais ade+uado' D E DW,EYE * Mostra ou edita o o%2eto especi"icado pelo nome na lin-a corrente usando o "ormato correto' DP,CME * Copia o conte/do do n# el corrente para o n# el :' D5OOOE * Mo e o conte/do da lin-a corrente para o n# el :' D5OOJE * Mo e o conte/do do n# el : para a lin-a corrente' D O,>?E * Cria um o%2eto lista contendo todos os o%2etos desde o n# el : at o n# el corrente' DJLP3E * Juplica uma poro do stac< +ue ai desde o n# el : a at a lin-a corrente para a parte superior a lin-a corrente$ deslocando para cima o +ue 2( e)istia nesta poro do stac<' DJ5OP3E * Apaga uma poro do stac< +ue ai desde o n# el : a at o n# el corrente' DE * Apaga o o%2eto no n# el corrente
O 3"tos
* Je"inio de O%2etos * Oista dos O%2etos * Criao de O%2etos
o%2etos so estruturas de dados internas da HP48$ por e)0 n/mero real$ comple)o$ matri1$ list$ etc' /"( a do( ob0! o(, Nome do Objeto n/mero real n/mero comple)o string matri1 real matri1 comple)a listas nome glo%al ;\
tipo: \ : ; Q 4 9 =
Nome do Objeto diret.rio li%rar7 %ac<up o%2eto inicio "un4es inicio comandos Ob0! o( d! ("( !%a, sistema %in(rio
tipo :9 := :[ :8 :]
-ttp0HHH'li'"acens'%r/eletronica 8
nome local [ programa 8 o%2eto alg%rico ] inteiro %in(rio :\ o%2etos gr("icos :: targged o%2eto :; o%2eto unidade ;=*Q: XO,@ name
:Q :4
e)tend real e)tend comple) matri1 lin<ada c-aracter o%2eto COJE Oi%rar7 data E)ternal o%2eto
;: ;; ;Q ;4 ;9 ;=
ob0! o( EXTERNA/, so endereos +ue apontam instru4es internas' ob0! o( CODE, so programas em linguagem a anada 6de m(+uina8'
Dir"t#rios
* Estrutura em ar ore de um diret.rio * Os comandos0 >?O$ 5CO$ EJ,?$ PL5GE$ W,EY
M"!#ria
* Comandos do menu MEMO5N * Comandos dos su%*menus J,5 e A5,?H
R-' &E$,+' &RCL' &CHOO!E' & "RG' &*EH.' &#E)' &CO -'
&
MEMO &MO*E'
DEJ,?E * usado para modi"icar o conte/do de uma ari( el total ou parcialmente' D3EYE * utili1ado para criar no as ari( eis ou diret.rios' 6para criar um no o diret.rio o campo o%2ect de e estar a1io8 DCOPNE * copia ari( eis de um diret.rio para outro ou com outro nome no mesmo diret.rio' DMOWEE * mo e ari( eis de um diret.rio para outro' Os su%diret.rios EJ,?$ 3EY$ COPN e MOWE possuem as seguintes "un4es internas0 DEJ,?E * edita o o%2eto presente no campo selecionado DCA3COE * cancela a operao DOME * e)ecuta a operao D5E>E?E Jelete Walue * limpa o campo selecionado 5eset All * restaura todos os campos !s seus alores de"ault
Co%a&do( do M!&+ [
MEMOR;]
DMEME * retorna a mem.ria li re dispon# el ao usu(rio' D@N?E>E * retorna o n/mero de %7tes +ue ocupa na mem.ria o o%2eto colocado no n# el : do stac<' 6retorna ainda o c-ec<sum do o%2eto8 D3EYO@E * cria outra c.pia do o%2eto na mem.ria' &$,R' & A+H' &+*AR!' &CR$,R' &OR$ER' & G$,R' &*AR!'
DPA?HE * retorna o camin-o dos diret.rios desde SHOMET at o diret.rio corrente' DC5J,5E * cria um diret.rio a partir de um nome para o diret.rio DPGJ,5E * apaga um diret.rio e todo o seu conte/do DWA5>E * retorna uma lista contendo o nome de todas as ari( eis do diret.rio D?WA5>E * retorna uma lista contendo o nome de todas as ari( eis com um determinado tipo de conte/do' DO5JE5E * ordena as ari( eis de acordo com uma lista +ue contm os nomes das ari( eis em suas no as posi4es'
* >?OF 0 soma$ +uando poss# el$ o o%2eto do n# el ; ao o conte/do da ari( el indicada no n# el :$ arma1enando o resultado na pr.pria ari( el' * >?O* 0 su%trai$ +uando poss# el$ o o%2eto do n# el ; ao o conte/do da ari( el indicada no n# el :$ arma1enando resultado na pr.pria ari( el' * >?OZ e >?O/ 0 so an(logas as anteriores$ e e)ecutam a multiplicao e a di iso' * ,3C5 0 incrementa em : o conte/do da ari( el indicada$ retornando o no o alor da ari( el para a pil-a' * JEC5 0 Jecrementa em : o conte/do da ari( el indicada$ retornando o no o alor da ari( el para a pil-a' * >,3W 0 calcula a rec#proca 6:/)8 do conte/do da ari( el indicada$ arma1enando na pr.pria ari( el o no o alor' * >3EG 0 in erte o sinal do conte/do da ari( el indicada' * >CO3 0 calcula o con2ugado do conte/do da ari( el indicada$ caso se2a comple)a$ arma1enando na pr.pria ari( el o no o alor'
O %!&+ [
UN8TS] ,
* Para criar um o%2eto com unidade$ digite o alor e em seguida pressione a tecla correspondente ! unidade dese2ada$ o o%2eto pode tam%m ser criado atra s da lin-a de comando usando a tecla B_B' * Podemos incluir pre"i)os +uando estamos criando um o%2eto com unidade$ por e)emplo0 :_uA +ue e+Ii ale a \'\\\\\:_A * Para utili1ar a con erso r(pida utili1e o procedimento0 * colo+ue no n# el : do stac< o o%2eto +ue se dese2a con erter * encontre nos menus de unidades a unidade destino da con erso * e pressione D E D unidade destinoE * Para e)ecutar a con erso r(pida entre sistemas de unidades +ue no se encontram no menu do cat(logo de unidades a soluo ou usar o comando DCO3WE ou criar com um menu C>?
-ttp0HHH'li'"acens'%r/eletronica :;
contendo um %anco de no as unidades de"inidas pelo usu(rio 6para um caso no +ual se precisa repetir a con erso para di ersos alores8'
O %!&+ [
UN8TS],
DCO3WE * con erte o o%2eto com a unidade do n# el ; para a unidade indicada no n# el :$ despre1ando o alor numrico do o%2eto do n# el :' DL@A>EE * con erte o o%2eto de unidades para outro o%2eto +ue possui apenas as unidades %ase do >,' 6muito interessante8 DLWAOE * retorna apenas o alor numrico do o%2eto de unidades' 6/til para con ers4es8 DLKAC?E * "atora a unidade do o%2eto do n# el ; en ol endo a unidade do o%2' do n# el :' [L3,?E * com%ina o alor presente n# el ; com a unidade do n# el :$ despre1ando a o alor do n# el :'
SO45ER 67SICO
Para resol er uma e+uao usando mtodos manuais seguimos o procedimento0 * Escre emos a e+uao' * >e poss# el isolamos a ari( el descon-ecida' * >u%stituimos os alores con-ecidos' * Calculamos o alor da ari( el descon-ecida' Vuando utili1amos o >ol e$ e)ecutamos um processo semel-ante$ porm no necess(rio isolar a ari( el descon-ecida na e+uao'
SO45E
<= SO/>E E?UAT8ON * utili1ado para calcular uma ari( el descon-ecida em uma e+uao ou e)presso +ual+uer$ +uando usamos uma e)presso o sol e calcula o 1ero da mesma' E : rece%e a e+uao ou e)presso +ue ser( utili1ada' E!I": edita o o%2eto do campo selecionado' #$OO%E0 >eleciona uma e+uao ou e)presso +ue este2a arma1enada em alguma ari( el do diret.rio corrente' >e pressionado no amente$ seleciona um no o diret.rio para procurar as e+ua4es ou e)press4es' &'(%: retorna uma lista com as ari( eis da e+uao corrente E)P(: retorna ao stac< o alor da e)presso para um alor pr*determinado de ari( el'
-ttp0HHH'li'"acens'%r/eletronica :Q
IN*O: se pressionado ap.s a calculadora ter e"etuado algum c(lculo no sol e$ retorna o status da ari( el e seu alor' MEN%'+EN%: a, %ign (eversal: a calculadora isolou ; pontos +ue resultam sinais opostos +uando aplicados a e)presso ou a e+uao$ mas no encontrou um ponto$ entre os dois$ +ue possa 1erar a "uno$ isto geralmente ocorre de ido a "alta de preciso ou a descontinuidade da "uno' b, E-tremum: a e)presso ou a e+uao tende a 1ero para alores muito altos ou muito %ai)os$ desta "orma o 1ero 6rai18 o%tido pela "alta de preciso e portanto pode ou no ser um 1ero erdadeiro'
SO45E PO4I8OMIA4
Ltili1ado para resoluo de polinmios de tipo0 AoXn F A:Xn*: F ' ' ' F An*:X: F AnXo b \ #oe.icientes /'n 'n01 . . . '1 'o1: campo utili1ado para a entrada 6ou resoluo8 dos coe"icientes do polinmio' (oots: campo utili1ado para a resoluo 6ou entrada8 das ra#1es do polinmio' %2mb: se o campo selecionado "or Bcoe"icientesB ao se pressionar D>7m%E$ retorna para o stac< o polinmio' >e selecionarmos BrootsB teremos no stac< o produto das ra#1es +ue resulta no polinmio em +uesto' %olve: encontra os coe"icientes ! partir das ra#1es do polinmio e ice* ersa$ de acordo com o campo selecionado'
A, campo utili1ado para a entrada da matri1 +ue possui os coe"icientes das ari( eis' 9, campo utili1ado para a entrada 6ou c(lculo8 dos coe"icientes lineares do sistema' X, campo utili1ado para o c(lculo 6ou entrada8 do alor das ari( eis'
-ttp0HHH'li'"acens'%r/eletronica :4
SO/>ER A>ANADO
6 EV O,@ ME>8
MU/T8#E?UAT8ON SO/>ER
Ltili1ada para calcular ari( eis ! partir de um con2unto de e+ua4es especi"icadas por uma lista0 S REV:R REV;R REVQR REV4R ' ' ' REVnR T * esta lista de e ser arma1anada em REVR 6 ari( el +ue arma1ena as e+ua4es +ue a calculadora de er( processar8 * em seguida de emos iniciali1ar o programa M'E'>' apertando DM,3,?T' * para calcular pressionamos DM>OOWE e o%temos um menu da ari( eis' * agora de emos colocar os alores nas ari( eis +ue 2( con-ecemos$ digitamos o alor e pressionamos a tecla correspondente ! aria el' * podemos calcular o alor de uma ari( el pressionando F 6 ari( el dese2ada8' Z a tecla DAOOE limpa o conte/do de todas as ari( eis e a com%inao DAOOE$ "a1 com +ue a calculadora encontre o alor de todas as ari( eis descon-ecidas'
PROGRAMAO
F+&da%!& o( d! Pro3ra%a7Bo,
* Como introdu1ir e e)ecutar um programa' * Como editar um programa' * Como utili1ar ari( eis locais' * Programas +ue manipulam dados na pil-a' * Como utili1ar su%*rotinas' * E)ecuo de um programa passo*a*passo' Lm programa um o%2eto de"inido pelos delimitadores GG e ^^$ e composto por comandos e outros o%2etos' 3o e)emplo seguinte calcularemos o olume de uma es"era$ primeiro utili1ando a calculadora normalmente e depois utili1ando um programa'
Q D7 E
>e dese2armos calcular o olume de muitas es"eras$ podemos criar um programa' O programa seguinte tam%m assume +ue o raio 2( est( na pil-a0 GG Q ` Z 4 Z Q / 3LM ^^ Como o programa um o%2eto$ poss# el coloc(*lo na pil-a e sal (*lo em uma ari( el' Para 2ogar o programa na pil-a depois de digit(*lo pressione DE3?E5E' Para arma1en(*lo em uma ari( el$ por e)emplo0 RWOOR $ pressione DRE$ escre a o nome da ari( el0 WOO$ e "inalmente pressione a tecla D>?OE para gra ar o programa' Agora calcule o olume de +ual+uer es"era simplesmente e)ecutando DWOOE 6selecione o menu WA5 e pressione DWOOE 8' Pode*se e)ecutar WOO +uantas e1es +uisermos$ pois agora ele tem o mesmo e"eito +ue um comando incorporado' WOO um programa do tipo mais simples +ue e)isteP uma srie de o%2etos e comandos$ escritos na mesma ordem em +ue se escre eria normalmente para calcular o olume de uma es"era'
Este diagrama indica +ue >PH no usa argumentos da pil-a e de ol e o alor do setor es"rico ao n# el :' 6>PH assume +ue 2( se ten-a arma1enado o alor do raio na ari( el 5 e a altura na ari( el H8' A listagem a%ai)o mostra o programa na coluna da es+uerda$ os coment(rios na coluna da direita e como escre er o programa na coluna do meio' 6Oem%re*se0 para digitarmos um comando podemos pressionar a tecla correspondente ou escre er o nome do comando8 Programa: "eclas: #oment3rios:
-ttp0HHH'li'"acens'%r/eletronica :=
DGG ^^E DRE : D/E Q DZE pi DZE H D N) E ; DZE D6 8E Q DZE 5 D*E H DE D E D3LME
Comea o programa' Comea a e)presso alg%rica para calcular o olume' Multiplica por - '
3LM ^^
Multiplica por Qr*-$ completando o c(lculo e "inali1ando a e)presso' Con erte a e)presso para um n/mero' ?ermina o programa' DE3?E5E Coloca o programa na pil-a' DRE >PH D>?OE Arma1ena o programa na ari( el >PH'
Co%o E-!c+ ar +% Pro3ra%a, H( (rias maneiras de e)ecutar o programa >PH0 * Escre a >PH na lin-a de comando e pressione DE3?E5E' * >elecione o menu WA5 e pressione >PH' * >e o programa ou o nome do programa esto no n# el :$ ento pressione DEWAOE' Como e)emplo$ utili1e >PH para calcular o olume de um setor es"rico de raio rb:\ com uma altura de -bQ' Arma1ene os dados nas ari( eis apropriadas 6 :\ DRE H D>?OE Q DXE 5 D>?OE8' Jepois selecione o menu WA5 e ao e)ecutar o programa de eremos encontrar no n# el : a resposta0 ;94'4=\\4]4;
-ttp0HHH'li'"acens'%r/eletronica :[
nome: nome; ' ' ' nomen GG programa ^^ ^^ nome: nome; ' ' ' nome n Re)presso alg%ricaR ^^
Vuando se e)ecuta o comando em um programa$ tomam*se n alores da pil-a +ue so assumidos pelas ari( eis nome: nome; ' ' ' nome n' Por e)emplo$ considere a seguinte pil-a0 40 Q0 ;0 :0 :\ = ;\
onde0 a8 a cria a ari( el local ab;\' %8 a % cria as ari( eis locais ab= e %b;\' c8 a % c cria as ari( eis locais ab:\$ %b= e cb;\' Agora amos calcular o olume de um setor es"rico utili1ando ari( eis locais$ a%ai)o temos o diagrama dos argumentos do programa0 Argumentos0 ;0 r :0 5esultados0 ;0 :0 olume
-ttp0HHH'li'"acens'%r/eletronica :8
Programa: GG
#oment3rios:
r GG R:/QZ Z-`;Z6QZr*-8R
Cria as ari( eis locais r e para guardar o raio e a altura da es"era' Procedimento para a estrutura de ari( eis locais no +ual as ari( eis locais so (lidas' Con erte a e)presso para um n/mero'
3LM
^^ ^^ DE3?E5E DRE >PHWO D>?OE
Para e)ecutar o programa entre com os dados na pil-a e c-ame o programa$ por e)emplo0 raiob:\ e alturabQ' Entre com os dados da seguinte "orma0 :\ DE3?E5E Q DE3?E5E $ e)ecute o programa0 WA5 >PHWO
-ttp0HHH'li'"acens'%r/eletronica :]
#oment3rios:
Juplica o n/mero do n# el : da pil-a' Mo e o n/mero +ue se encontra no n# el Q para o n# el :' Multiplica o raio por Q' ?roca os n/meros do n# el : 6altura8 pelo ; 6raio8 e calcula Qr*-' ?roca a c.pia da altura pelo n# el :$ ac-a a rai1 +uadrada da altura e multiplica por Qr*-' Multiplica por pi e di ide por Q$ completando o c(lculo' Con erte a e)presso para um n/mero' Coloca o programa na pil-a'
pi
3LM
^^ DE3?E5E
Comandos do DEBUG:
D9UG, toma como argumento o nome$ ou o programa a ser e)ecutado passo*a*passo$ comeando a e)ecuo do programa e depois suspendendo como se "osse e)ecutado o comando HAO?' SST, e)ecuta o pr.)imo comando do programa suspenso' SST , igual a >>?$ porm e)ecuta su%rotinas do programa principal passo*a*passo tam%m' NEXT, mostra no displa7 o pr.)imo comando a ser e)ecutado' HA/T, suspende a e)ecuo de um programa na posio do comando HAO?'
-ttp0HHH'li'"acens'%r/eletronica ;\
CONT, retorna a e)ecuo de um programa suspenso' E8//, cancela a e)ecuo e o processamento passo*a*passo de todos os programas suspensos' Exemplo de execuo passo-a-passo: 1. Colo+ue o programa ou o nome do programa no n# el :' 2. Pressione DP5GE D3EX?E 5L3 J@LG' 4. opcional0 pressione 3EX? para mostrar o pr.)imo comando' 5. Pressione >>? para e)ecutar cada passo do programa' o%s0 * para a%andonar a e)ecuo do programa pressione M,OO * para continuar a e)ecutar at o "im do programa normalmente pressione CO3?' >e "or necess(rio e)ecutar passo*a*passo um programa a partir de um determinado ponto no seu interior$ %asta colocarmos um comando de parada0 HAO?' E)ecutamos o programa normalmente$ e ele ir( parar +uando c-egar no comando HAO?$ passando o controle ao JE@LG' A partir da#$ podemos e)ecutar passo*a*passo o programa seguindo os #tens ;$ Q e 4 descritos acima'
#oment3rios:
,K >AME ?HE3 J5OP RW:R >?O EO>E RW:R >?O RW;R >?O E3J ^^ DE3?E5E DRE ?>? D>?OE
Comea a estrutura de teste condicional' Weri"ica se os dois n/meros so iguais' E)ecuta somente se o teste retornou erdadeiro' Apague um e arma1ena o outro na ari( el W: E)ecuta somente se o teste retornou "also' Arma1ene o n/mero do n# el : em W: e o n/mero do n# el ; em W;' ?ermina a estrutura condicional'
Comandos de Testes
Lm teste uma se+u&ncia de comandos +ue de ol em um resultado erdadeiro 6:8 ou "also 6\8' Por e)emplo$ digite :\ 9 ^$ oc& ir( o%ter : signi"icando +ue a condio do teste erdadeira$ ou se2a +ue :\ maior do +ue 9P da mesma "orma podemos digitar 9 :\ ^$ neste caso o%teremos \ indicado +ue a nossa suposio "alsa' Os comandos utili1ados nos testes podem se classi"icar em0 0 .un67es de compara68o. 0 .un67es l9gicas. 0 comandos de teste dos .lags
F+&7F!( d! Co%2ara7Bo,
G ^ G ^ bb b >AME menor +ue maior +ue menor ou igual maior ou igual igual di"erente igual 6F r(pido +ue bb8 retorna : se os dois argumentos so W' retorna : se um ou os dois argumentos so W' retorna : se um ou outro W mas no os dois' retorna : se o argumento "or K'
F+&7F!( /63"ca(,
A3J O5 XO5 3O?
-ttp0HHH'li'"acens'%r/eletronica ;;
ES*RU*URAS CO8DICIO8AIS(
As estruturas condicionais permitem a calculadora tomar uma deciso %aseada em um resultado de um ou mais testes' As estruturas condicionais so0 * ,K ''' ?HE3 ''' E3J' * ,K ''' ?HE3 ''' EO>E ''' E3J' * CA>E ''' E3J'
) 7
GG ,K R)b\R
Cria ari( eis locais ) e 7 +ue contm os dois n/meros da pil-a' Comea a estrutura de teste condicional' Weri"ica se o n/mero di"erente de 1ero$ dei)ando o resultado do teste na pil-a'
-ttp0HHH'li'"acens'%r/eletronica ;Q
Weri"ica se o n/mero di"erente de 1ero$ dei)ando o resultado do teste na pil-a' Weri"ica se os dois testes so erdadeiros' E)ecuta somente se o teste retornou erdadeiro' >e A3J de ol er erdade$ multiplica os dois n/meros' ?ermina a estrutura condicional'
Como funciona a estrutura !"""#$E%"""E%D: ,K comea a cl(usula do teste$ dei)ando o resultado do teste na pil-a' ?HE3 e)trai o resultado do teste da pil-a' >e o alor di"erente de 1ero$ e)ecuta*se a cl(usula erdadeira' Caso contr(rio$ a e)ecuo do programa continua ap.s o comando E3J'
A Estrutura I;<<<*HE8<<<E4SE<<<E8D
,K'''?HE3'''EO>E'''E3J e)ecuta uma se+u&ncia de comandos 6cl(usula erdadeira8 se o teste erdadeiro e outra 6cl(usula "alsa8 se o teste "also' >ua sinta)e a seguinte0 8F clusula de teste THEN clusula verdadeira E/SE clusula falsa END >e a cl(usula de teste "or um alg%rico 6por e)emplo0 RA^@R8$ a e)presso a aliada automaticamente para um n/mero$ no necessitando do EWAO ou de 3LM' Exemplo 1: O seguinte programa toma um alor da pil-a e calcula sin6)8/)' Porm em )b\ a di iso estar( errada$ por isso o programa de ol e o alor lim#te : neste caso0 GG ) GG ,K R)b\R ?HE3 ) >,3 ) / EO>E : E3J ^^
-ttp0HHH'li'"acens'%r/eletronica ;4
Exemplo 2: Este programa$ como o e)emplo ; para ,K'''?HE3'''E3J$ multiplica dois n/meros se am%os so di"erentes de 1ero' Porm o programa de ol e a cadeia BcE5OB se algum dos dois \' Programa: GG #oment3rios:
n: n;
GG ,K Rn:b\ A3J n;b\R ?HE3 n: n; Z EO>E BcE5OB E3J ^^ ^^
Arma1ena nas ari( eis locais os n# eis : e ; da pil-a' Comea a estrutura de teste condicional' Weri"ica se am%os os n/meros so di"erentes de 1ero$ dei)ando o resultado do teste na pil-a' E)ecuta somente se o teste retornou erdadeiro' >e A3J de ol er erdade$ multiplica os dois n/meros' E)ecuta somente se o teste retornou "also' Je ol e a cadeia BcE5OB ?ermina a estrutura condicional'
O seguinte programa tem o mesmo e"eito0 GG JLP; A3J ,K ?HE3 Z EO>E J5OP; BcE5OB E3J ^^ Como funciona a estrutura !"""#$E%"""E&'E"""E%D: ,K comea a cl(usula do teste$ dei)ando o resultado do teste na pil-a' ?HE3 e)trai o resultado do teste da pil-a' >e o alor di"erente de 1ero$ e)ecuta*se a cl(usula erdadeira' Caso contr(rio$ se e)ecuta a cl(usula "alsa' Jepois da e)ecuo da cl(usula apropriada$ a e)ecuo do programa continua ap.s o comando E3J'
A Estrutura CASE<<<E8D
A estrutura CA>E'''E3J permite e)ecutar uma srie de casos 6testes8' O primeiro teste +ue tem um resultado erdadeiro causa a e)ecuo da correspondente cl(usula erdadeira$ "inali1ando a estrutura CA>E'''E3J' Opcionalmente$ pode*se incluir ap.s o /ltimo teste uma cl(usula de de"ault +ue se e)ecutar( se todos os testes "orem "alsos' A estrutura CA>E'''E3J tem a seguinte sinta)e0
-ttp0HHH'li'"acens'%r/eletronica ;9
CASE clusula de teste1 THEN clusula verdadeira1 END clusula de teste2 THEN clusula verdadeira2 END @ @ @ clusula de teste& THEN clusula verdadeira& END clusula default :opcional, END Exemplo 1: O seguinte programa arma1ena o argumento do n# el : em uma ari( el c-amada >?5 se o argumento "or uma cadeiaP numa ari( el c-amada O,>? se o argumento "or uma lista e em P5G se o argumento "or um programa' Programa: GG #oment3rios:
7
GG CA>E 7 ?NPE ; >AME ?HE3 7 R>?5R >?O E3J 7 ?NPE 9 >AME ?HE3 7 RO,>?R >?O E3J 7 ?NPE 8 >AME ?HE3 7 RP5GR >?O E3J E3J ^^ ^^
Comea a estrutura do case' Case :0 se o argumento do tipo cadeia$ arma1ene*o na ari( el R>?5R Case ;0 se o argumento do tipo lista$ arma1ene*o na ari( el RO,>?R Case Q0 se o argumento do tipo programa$ arma1ene*o na ari( el RP5GR ?ermina a estrutura case'
Como funciona a estrutura C('E"""E%D: Ao e)ecutar CA>E$ se calcula a cl(usula teste:' >e o teste erdadeiro$ se e)ecuta a cl(usula do test:$ e a e)ecuo salta para E3J' >e a cl(usula teste "alsa$ a e)ecuo passa para a pr.)ima cl(usula teste' A e)ecuo na estrutura CA>E continua at +ue todas as cl(usulas teste ten-am sido a aliadas como "alsas' Opcionalmente$ pode*se incluir uma cl(usula de de"ault$ +ue e)ecutada caso todas as outras cl(usulas ten-am sido a aliadas como "alsas'
Exemplo: O programa a%ai)o e)trai um n/mero da pil-a e retorna a cadeia BPO>,?,WOB se o n/mero "or positi o0 GG \ ^ BPO>,?,WOB ,K? ^^
A .uno I;*E
A "uno ,K?E toma tr&s argumentos0 o resultado de um teste no n# el Q$ e os o%2etos dos n# eis ; e :' O o%2eto do n# el ; 6correspondente a cl(usula erdadeira8 e)ecutado se o resultado do teste erdadeiro' Caso contr(rio$ o o%2eto do n# el : 6a cl(usula "alsa8 e)ecutado' Exemplo1: O programa a%ai)o e)trai um n/mero da pil-a e retorna a cadeia BPO>,?,WOB se o n/mero "or positi o e B3EGA?,WOB caso o n/mero se2a negati o0 GG \ ^ BPO>,?,WOB B3EGA?,WOB ,K?E ^^ Exemplo2: Podemos utili1ar a "uno ,K?E dentro de um alg%rico0 O programa a%ai)o calcula sin6)8/) se ) di"erente de 1ero' >e ) 1ero$ o programa de ol e :0 GG ) R,K?E6 )b\ $ > 36)8/) $ : 8R ^^
ES*RU*URAS I*ERA*I5AS(
As estruturas iterati as e)ecutam uma parte de um programa repetidamente' E)istem dois tipois %(sicos de laos0 0 Para um la6o de.inido, o programa especi"ica pre iamente +uantas e1es ser( e)ecutada a cl(usula do lao' 0 Em um la6o inde.inido, o programa utili1a um teste para determinar se de e e)ecutar no amente a cl(usula do lao'
-ttp0HHH'li'"acens'%r/eletronica ;[
A Estrutura S*AR*<<<8EX*
>?A5?'''3EX? e)ecuta uma parte do programa um determinado n/mero de e1es' >ua sinta)e 0 in)cio fim START clusula do lao NEXT Exemplo: O programa seguinte cria uma lista +ue contm de1 c.pias da cadeia BA@CB0 GG : :\ >?A5? BA@CB 3EX? :\ O,>? ^^
Co%o 5+&c"o&a START@@@NEXT, >?A5? toma dois n/meros da pil-a 6in#cio e "im8 e os arma1ena como alores inicial e "inal para o contador do lao' Jepois$ e)ecuta a cl3usula do la6o' 3EX? incrementa o contador em : e eri"ica se este alor menor ou igual ao "im' >e $ e)ecuta no amente a cl3usula do la6o.
A Estrutura S*AR*<<<S*EP
>?A5?'''>?EP "unciona e)atamente da mesma "orma +ue o >?A5?'''3EX?$ e)ceto +ue permite especi"icar um incremento di"erente de :' >ua sinta)e 0 in)cio fim START clusula do lao incremento STEP Exemplo: O programa seguinte toma um n/mero ) da pil-a e calcula o +uadrado deste n/mero )/Q e1es0 GG JLP ) GG ) : >?A5? ) >V *Q >?EP ^^ Co%o 5+&c"o&a START@@@STEP, >?A5? toma dois n/meros da pil-a 6in#cio e "im8 e os arma1ena como alores inicial e "inal para o contador do lao' Jepois$ e)ecuta a cl3usula do la6o' >?EP toma o incremento da pil;a e incrementa o contador com este alor' O incremento pode ser positi o ou negati o' >e positi o$ e)ecuta no amente a cl3usula do la6o +uanto o contador menor ou igual ao "im' >e o incremento negati o$ e)ecuta o lao +uando o contador maior ou igual ao "im'
A Estrutura ;OR<<<8EX*
Lm lao KO5'''3EX? e)ecuta uma parte de um programa um n/mero especi"icado de e1es$ utili1ando uma ari( el local como contador das itera4es' Pode*se utili1ar esta ari( el dentro do lao' >ua sinta)e 0 in)cio fim FOR contador clusula do lao NEXT
Exemplo1: O programa seguinte coloca na pil-a os +uadrados dos n/mero inteiros de : a :\0
-ttp0HHH'li'"acens'%r/eletronica ;8
GG : :\ KO5 2
2 >V 3EX? ^^
Exemplo2: O programa seguinte calcula o "atorial de um n/mero da pil-a0 GG : : 5O? KO5 2 2 Z 3EX? ^^ Co%o 5+&c"o&a FOR@@@NEXT, KO5 toma dois n/meros da pil-a 6in#cio e "im8 e os arma1ena como alores inicial e "inal para o contador de itera4es$ depois cria uma ari( el local contador como contador de itera4es' Jepois$ se e)ecuta a cl(usula do lao' 3EX? incrementa o contador em : e eri"ica se este alor menor ou igual ao .im' >e $ e)ecuta no amente a cl3usula do la6o' Ao sair do lao o contador apagado$ ou se2a ele s. e)iste dentro da cl(usula do lao'
A Estrutura ;OR<<<S*EP
KO5'''>?EP "unciona e)atamente da mesma "orma +ue KO5'''3EX?$ e)ceto +ue permite especi"icar um incremento di"erente de : ao contador' >ua sinta)e 0 in)cio fim FOR contador clusula do lao incremento STEP Exemplo: O programa seguinte calcula os +uadrados dos inteiros #mpares de : a :90 GG : ;: KO5 2 2 >V ; >?EP ^^ Co%o 5+&c"o&a FOR@@@STEP, KO5 toma dois n/meros da pil-a 6in#cio e "im8 e os arma1ena como alores inicial e "inal para o contador de itera4es$ depois cria uma ari( el local contador como contador de itera4es' Jepois$ e)ecuta a cl(usula do lao' >?EP toma o incremento da pil-a e incrementa o contador com este alor$ e eri"ica se o alor do contador menor ou igual ao .im' >e $ e)ecuta no amente a cl3usula do la6o' Ao sair do lao o contador apagado$ ou se2a ele s. e)iste dentro da cl(usula do lao'
-ttp0HHH'li'"acens'%r/eletronica ;]
A E( r+ +ra DO@@@UNT8/@@@END
JO'''L3?,O'''E3J e)ecuta repetidamente um lao en+uanto a cl(usula de teste retornar um alor "also' Como se e)ecuta primeiramente a cl(usula do lao e depois a cl(usula do teste$ e)ecuta*se ao menos uma e1 o lao' >ua sinta)e a seguinte0 DO clusula do lao UNT8/ clusula de teste END Exemplo: O programa seguinte calcula n F ;n F Qn F ''' para um alor de n' O programa para +uando a soma e)ceder :\\\\$ e de ol e a soma e o coe"iciente de n0 Programa: GG JLP : n s c GG JO RcR ,3C5 n Z RsR >?OF L3?,O s :\\\\ ^ E3J s c ^^ ^^ Co%o 5+&c"o&a DO@@@UNT8/@@@END, JO comea a cl(usula do lao' L3?,O "inali1a a cl(usula do lao e comea a cl(usula de teste' A cl(usula de teste dei)a o resultado do teste na pil-a' E3J e)trai o resultado deste teste da pil-a' >e o alor 1ero$ e)ecuta no amente a cl(usula do laoP caso contr(rio$ a e)ecuo do programa continua ap.s o E3J' Comea a estrutura do' ,ncrementa o contador em : e de ol e para a pil-a o no o alor de c' Calcula cZn$ e soma o produto a s' Comea a estrutura de teste' 5epete o lao at +ue s^:\\\\' ?ermina a cl(usula de teste' Coloca na pil-a s e c' Juplica n e arma1ena o alor em n e sP iniciali1a o contador c com :' #oment3rios:
A E( r+ +ra GH8/E@@@REPEAT@@@END
YH,OE'''5EPEA?'''E3J a alia repetidamente um teste e e)ecuta a cl(usula do lao se o teste erdadeiro' Como a cl(usula do teste ocorre antes da cl(usula do lao$ nunca se e)ecuta um lao sem antes eri"icar se a cl(usula do teste erdadeira' >ua sinta)e a seguinte0 GH8/E clusula de teste REPEAT clusula do lao END
-ttp0HHH'li'"acens'%r/eletronica Q\
Exemplo: O programa seguinte reali1a uma di iso por dois so%re o n/mero +ue est( na pil-a repedidamente sempre +ue o resultado da di iso se2a di is# el por um n/mero par' GG YH,OE JLP ; MOJ \ bb 5EPEA? ; / JLP E3J J5OP ^^ Co%o 5+&c"o&a GH8/E@@@REPEAT@@@END, YH,OE e)ecuta*se a cl(usula do teste e de ol e o resultado do teste para a pil-a' 5EPEA? toma os alores da pil-a' >e o alor di"erente de 1ero$ continua a e)ecuo do laoP caso contr(rio$ a e)ecuo do programa continua ap.s o E3J'
PROGRAMAS I8*ERA*I5OS(
Para escre ermos programas interati os necessitamos de comandos espec#"icos +ue permitam a comunicao do programa com o usu(rio' Estes comandos possuem "un4es espec#"icas$ e so %asicamente de dois tipos0 * de entrada0 "&5or%H c)oo(! * de sa#da0 d"(2H %(3bo-
COMA8DOS DE SA?DA (
D8SP
Mostra em uma determinada lin-a da tela um o%2eto especi"icado' Por e)emplo0 Q0 B,sto um testeB ;0 : :0 J,>P GG ^^ : :\\ KO5 n n ; J,>P 3EX? mostrar( na primeira lin-a do displa7 a string B,sto um testeB mostrar( na segunda lin-a do displa7 uma contagem de : at :\\'
GG
^^
-ttp0HHH'li'"acens'%r/eletronica Q:
C//CD
Oimpa a tela da calculadora' E)emplo0 GG COOCJ BEL >E, P5OG5AMA5B : J,>P ^^ mostra um messagem na tela'
9EEP
Emite um %eep com uma "re+u&ncia e uma durao especi"icadas' E)emplo0 GG ^^ GG COOCJ : ;\\\\ KO5 " " : J,>P " 'Q @EEP ;\ >?EP ^^ =\\ '[ @EEP :Q\\ '; @EEP emite um %eep de =\\H1 durante '[s emite um %eep de :Q\\H1 durante ';s
e)i%e na tela o alor da "re+' do %eep emite um %eep com uma "re+' " durante ';s
FREEIE
Congela uma determinada (rea do displa70 : K5EEcE * (rea de status ; K5EEcE * (rea da pil-a 4 K5EEcE * (rea do menu GG BA@C JEK GH,B COOCJ : J,>P Q K5EEcE ^^
GA8T
Pro oca uma pausa na e)ecuo do programa em n segundos' 6se nb*: espera at +ue uma tecla +ual+uer se2a pressionada$ retornando a posio da tecla pressionada8 GG [\\ '4 @EEP 8\\ '; @EEP '4 YA,? GG BPressione +ual+uer tecla'''B : J,>P Q K5EEcE *: YA,? BA tecla pressiona 0B >YAP F
-ttp0HHH'li'"acens'%r/eletronica Q;
: J,>P
MSG9OX
Ltili1ado para mostrar mensagens curtas ao usu(rio0 erros$ procedimentos$ etc' GG BC(lculo terminado e eri"icadoB M>G@OX ^^
COMA8DOS DE E8*RADA(
EE;
5etorna o resultado de um teste para eri"icar se alguma tecla est( sendo pressionada$ em caso a"irmati o retorna tam%m a posio da tecla pressionada 6lin-a$ coluna8' E)emplo0 GG YH,OE MEN 3O? 5EPEA? B3en-uma tecla pressionadaB : J,>P E3J BA tecla pressionada "oi0B >YAP F : J,>P Q K5EEcE ^^
8NFORM
Cria uma estrutura de entrada de dados no padro dos menus da HP' Ltili1ando este comando podemos inserir dados atra s de menus e 2anelas$ utili1ando comandos ! eles associados 6EJ,?$ CA3CEO$ OM$ 5E>E?$ CAOC$ ?NPE>8' Os argumentos para a utili1ao do comando so os seguintes0 stack: 90 Bcon-ecendo o in"ormB * pe+uena string +ue ser( e)i%ida no topo da cai)a' 40 S BAbB B@bB BCbB T * lista de strings contendo a identi"icao dos campos' Q0 S : 9 T * lista contendo o n/mero de campos por lin-a e a distdncia entre a identi"icao e o campo' ;0 S \ \ \ T * alores assumidos pelos campos +uando se d( um 5E>E? :0 S : ; Q T * alores de"aut 6iniciais8 Este comando retorna o alor \ se a entrada "oi cancelada e : se a entrada "oi con"irmada$ neste caso o comando retorna uma lista$ na ; lin-a do stac<$ contendo os no os conte/dos dos campos apresentados'
-ttp0HHH'li'"acens'%r/eletronica QQ
CHOOSE
O comando CHOO>E utili1ado +uando necessitamos +ue o usu(rio "aa uma escol-a dentro de um programa' O comando gera um menu de %arras$ contedo as opc4es$ ou o%2etos dese2ados' O comando utili1ado com os seguintes argumentos0 Q0 ;0 :0 BEscol-a a opo0B * pe+uena string +ue ser( e)i%ida no topo da cai)a' S BOE5B BG5AWA5B GG : ^^ RCR T * lista contendo as op4es 6o%2etos8' : * posio inicial da %arra so%re o menu'
A %arra de e ser deslocada at o o%2eto dese2ado e em seguida pressionada a tecla E3?E5 ou OM para e"etuarmos a escol-a$ ou CA3CEO para cancelarmos' >e a "uno "oi cancelada teremos como resposta o alor \ no stac<' >e a "uno "oi con"irmada temos o alor : como resposta$ e na segunda lin-a do stac<$ teremos a opo 6o%2eto8 selecionada'
COMA8DOS GR7;ICOS(
*E4A GR7;ICA(
A maneira de acessar um determinado pi)el na tela gr("ica da HP atra s de um par de coordenadas0 6*='9$ Q';8 6='9$ Q';8 S e\ e\ T S e:Q\ e\T
O%ser e +ue as coordenadas do pi)el so dadas em "orma de uma lista contendo dois %in(rios inteiros$ o primeiro idicando a coluna e o segundo indicando a lin-a' Estas coordenadas so a "orma mais co eniente de se tra%al-ar com o%2etos gr("icos' f( as coodenadas do plot so de"inidas atra s da ari( el PPA5 e indicam pontos na tela de uma "uno matem(tica traada atra s do plot$ por isso seu uso no muito /til pois "re+I&ntemente alteradas'
COMA8DOS GR7;ICOS(
-ttp0HHH'li'"acens'%r/eletronica Q4
P8CT
Wari( el na +ual est( arma1enado o o%2eto gr("ico corrente'
PD8M
Jimensiona o taman-o da tela gr("ica de acordo com a coordenada do canto in"erior direito da no a tela$ colocadas nos n# eis ; e : do stac< 6 altura largura8'
/8NE
Jesen-a uma lin-a na tela gr("ica corrente entre dois pontos colocados no stac<'
T/8NE
Jesen-a uma lin-a na tela gr("ica corrente entre dois pontos colocados no stac<$ trocando o estado de cada ponto encontrado no camin-o 6on*o"" )or8'
9OX
Jesen-a um retdngulo na tela gr("ica usando duas coordenadas no stac< +ue indicam a diagonal do retdngulo'
ARC
Jesen-a um arco na tela gr("ica centrado na coordenada presente no n# el 4 do stac<$ com um raio especi"icado no n# el Q$ com o dngulo inicial e "inal indicados nos n# eis ; e : respecti amente'
P8XON
Oiga o pi)el da tela gr("ica ndicado no n# el um do stac<'
P8XOFF
Jesliga o pi)el da tela gr("ica ndicado no n# el um do stac<'
P8XJ
5etorna : se o pi)el da tela gr("ica indicado no n# el um do stac< esti er ligado$ e 1ero se esti er desligado'
P>8EG
Mostra a tela gr("ica corrente a partir de um ponto especi"icado 6geralmente Se\e\T8'
PXC
Con erte as coordenadas de pi)el para coordenadas do tipo plot'
CPX
Con erte as coordenadas do tipo plot para coordenadas de pi)el'
GRO9
Con erte o o%2eto 6n# el ;8 para o o%2eto gr("ico usando o n/mero real n 6de \ a Q no n# el : do stac<8 para especi"icar o taman-o do caracter' O o%2eto gr("ico resultante uma string cu2o taman-o do caracter pe+ueno 6nb:8$ mdio 6nb;8 ou grande 6nbQ8' Para nb\ o taman-o do caracter o mesmo +ue para nbQ$ e)ceto para o%2etos alg%ricos e unidades$ o o%2eto gr("ico resultante neste caso ser( uma tela do E+uation Yriter'
9/ANE
-ttp0HHH'li'"acens'%r/eletronica Q9
Cria um o%2eto gr("ico em %ranco a partir da largura e da altura especi"icadas nos n# eis ; e : respecti amente'
GOR
>o%rep4e o o%2eto gr("ico presente no n# el : do stac< ao o%2eto gr("ico presente no n# el Q do stac<$ a partir da coordenada especi"icada no n# el ; do stac<'
GXOR
>o%rep4e$ usando um XO5 l.gico$ o o%2eto gr("ico presente no n# el : do stac< ao o%2eto gr("ico presente no n# el Q do stac<$ a partir da coordenada especi"icada no n# el ; do stac<'
SU9
E)trai uma regio do o%2eto gr("ico presente no n# el tr&s de"inida por duas coordenadas presentes nos n# eis ; e : do stac< +ue de"inem a diagonal do retdngulo e)tra#do'
REP/
,nsere o o%2eto gr("ico presente no n# el : do stac< ao o%2eto gr("ico presente no n# el Q do stac<$ a partir da coordenada especi"icada no n# el ; do stac<'
/CD
Mostra o o%2eto gr("ico do n# el : no displa7*stac<'
/CD
5etorna para o n# el : o o%2eto gr("ico +ue est( sendo mostrado na tela'
S8IE
Para um o%2eto gr("ico presente no n# el :$ retorna a largura 6n# el ;8 e a altura 6n# el :8 em pi)els'
AN8MATE
?oma a partir do n# el ; at nF: uma se+u&ncia de gro%s e do n# el :0 o n/mero de gro%s 6n8 uma lista contendo 4 #tens0 a8 o n/mero de gro%s' %8 uma lista contendo as coordenadas de pi)el 6 en) en7 8 do canto superior es+uerdo da regio onde a animao ser( "eita' c8 o dela7 6em segundos8 entre cada +uadro da animao' d8 o n/mero de e1es +ue a se+I&ncia de animao ser( repetida 6\ para repetir inde"inidamente$ at +ue uma tecla se2a apertada8'
-ttp0HHH'li'"acens'%r/eletronica Q=
-ttp0HHH'li'"acens'%r/eletronica Q[
" A6E(DA A.9.#" " " PR!C RAR" " I(CL IR" " E7CL IR" % & CH!!*E / :: IF THE( PDIR ;ILL E(D D P " PR!C RAR" :: IF THE( CLEAR * ;ILL E(D " I(CL IR" :: IF THE( CLEAR E ;ILL E(D CLEAR D \,, 6I6 DIR D \<< CLLCD F!(E " E7CL *<!" )AR* D P *I$E / :: IF THE( CLEAR "(<! H= CADA*TR!" #*68!7 PDIR PDIR ;ILL E(D & \<< "" 2 \,, D!* 8* & CH!!*E / :: IF THE( PDIR PDIR ;ILL E(D PDIR !89\+, D P F!(E P R6E PDIR A(I) P R6E PDIR PDIR \,, S \<< CLLCD " PR!C RA (\6a 2 I(ICIAL)" F!(E )AR* D P *I$E / :: IF
O site da Eletrnica Manual HP48G/GX THE( PDIR PDIR "(\&>?! H= CADA*TR!." #*68!7 CLEAR ;ILL E(D & \<< "" 2 \,, D!* 8* & CH!!*E / :: IF THE( PDIR PDIR ;ILL E(D D P D P " " *WAP 2 ": F: " 2 *WAP !89\+, E)AL D P (!)AL \:4 IF THE( 2 EL*E DR!P E(D " A: " 2 A(I) *WAP !89\+, D P (!)AL \:4 IF THE( 2 EL*E DR!P E(D #*68!7 PDIR PDIR \,, E \<< A(I) "I(CL *\&>?! (F!(E@A(I)\+,*TRI(6)" " "(!#E:" "F!(E:" "A(I):" % " & 3 % " % " % I(F!R# / :: IF THE( PDIR PDIR ;ILL E(D !89\+, DR!P R!T D P "" 2 D P "E" :: *WAP D P
-ttp0HHH'li'"acens'%r/eletronica Q]
"*" :: *WAP D P "D" :: *WAP D P "A(I)" :: *WAP "F!(E" :: !R !R !R !R & :: IF THE( CLLCD CLEAR " )ARI=)EL RE*ER)ADA." PDIR PDIR #*68!7 ;ILL E(D D P E)AL TAPE B \:4 IF THE( CLEAR PDIR PDIR " (!#E 9= *AD! ! I()=LID!. ( *E )ARI=)EL)" #*68!7 ;ILL E(D D P R!T *WAP *T! )AR* *!RT !RDER PDIR F!(E *T! )AR* CLLCD " A.9.#." 3 DI*P " !RDE(A(D!..." ? DI*P *!RT !RDER PDIR PDIR \,, ;O8E DIR CE;E* ''3CC3? 4UCIA8O "'B'B&33R33" E8D A8I5 DIR CE;E* (!)AL 4UCIA8O (!)AL E8D E8D E8D
COMU8ICAO SERIA4
PARAME*ROS
Antes de iniciarmos a trans"er&ncia de dados preciso a2ustar os pardmetros de comunicao serial da calculadora0 PORT, seleciona o modo de comunicao 6 <ire para $P0P# ou In.rared para $P0$P8' T;PE, seleciona o protocolo de comunicao 6=ermit ou )Modem8' FMT, seleciona o "ormato dos dados 6'%#II ou >inar28' X/AT, seleciona o tipo de traduo de caracteres usado no "ormato A>C,,' CHE, seleciona o metodo de eri"icao de erros 6c-ec<sum8 usado na trans"er&ncia' 9AUD, seleciona a elocidade de trans"er&ncia de dados 6:;\\ ;4\\ 48\\ ou ]=\\8' PAR8T;, seleciona o tipo de mtodo para gerar a paridade durante a comunicao' O>RG, -a%ilita ou no a ga ao 6o erHrite8 de ari( eis 2( e)istentes'
COMU8ICAO HP,HP
Podemos trans"erir +ual+uer tipo de o%2eto entre duas calculadoras HP atra s da comunicao por in"ra ermel-o' Para a esta%elecer a trans"er&ncia de programas entre duas calculadoras seguimos os seguintes passos0 :* Entre no menu de comunicao ,/O 6pressione D E D,/OE 8 ;* >elecione D?rans"er'''E Q* Con"igure os pardmetros do mesmo modo nas duas calculadoras0 6imprescind# el0 portb,5 8 6recomendado0 t7pebMermit "mtb@in Xlatb3one c-<b: 8 4* Pressione D3EX?E DOME 9* Entre no amente no menu de comunicao ,/O 6pressione D E D,/OE 8 =* >elecione D>end to HP 48'''E na calculadora +ue ir( mandar os programas' [* Pressione DCHOO>E e selecione os programas +ue sero en iados pressionando a tecla D_c-<E$ caso o programa este2a em outro diret.rio pressione no amente DCHOO>E e selecione o no o diret.rio' 8* Antes de mandar o programa pressionando D>E3JE necess(rio entrar em DGet "rom HP 48E na calculadora +ue ir( rece%er' ]* Kinalmente podemos mandar o programa pressionando D>E3JE
COMU8ICAO HP,PC
A trans"er&ncia entre a calculadora e o computador praticamente igual ao processo descrito acima$ com algumas modi"ica4es0
:* Entre no menu de comunicao ,/O 6pressione D E D,/OE 8 ;* >elecione D?rans"er'''E Q* Con"igure os pardmetros do mesmo modo nas duas calculadoras0 6imprescind# el portbYire 8 6recomendado t7pebMermit "mtb@in Xlatb3one c-<b: 8 6recomendado %audb]=\\ parit7b3one 8 4* Pressione D3EX?E DOME 9* Entre no amente no menu de comunicao ,/O 6pressione D E D,/OE 8 =* >elecione D>end to HP 48'''E no caso da calculadora ir mandar os programas' [* Pressione DCHOO>E e selecione os programas +ue sero en iados pressionando a tecla D_c-<E$ caso o programa este2a em outro diret.rio pressione no amente DCHOO>E e selecione o no o diret.rio' 8* Antes de mandar o programa pressionando D>E3JE necess(rio preparar o computador para rece%er' ]* Kinalmente podemos mandar o programa pressionando D>E3JE :\* 3o caso em +ue a calculadora de e rece%er o programa$ de e*se entrar em DGet "rom HP 48E e atra s do computador mandar o programa'
BERMI*
Para utili1ar a trans"er&ncia de programas do computador para a calculadora necess(rio con-ecer os seguintes comandos do Mermit0 -elp ou - * mostra o -elp do programa' ta porta: * roda um programa de iniciali1ao autom(tica da porta : ta porta; * roda um programa de iniciali1ao autom(tica da porta ; set por : * utili1a a porta serial : para a trans"er&ncia' set %au ]=\\ * con"igura a elocidade de transmisso' send DprogramaE * manda o DprogramaE para a calculadora' rec * prepara o computador para rece%er um programa' Z Para con"igurar a serial0 ta porta: Z Para mandar0 send Dnome do programaE Z Para rece%er0 rec
SER>ER, entra no modo de ser idor' EGET, rece%e um o%2eto cu2o nome en iado em "orma de string' F8N8SH, en ia uma mensagem de trmino de trans"er&ncia de dados ou do modo ser er' RECN, rece%e um o%2eto mudando o seu nome para outro +ue esta indicado no stac<' PET, en ia um comando ia serial em "orma de string' EERRM, o%tem o c.digo do /ltimo erro ocorrido durante a transmisso de dados'
http://www.li.facens.br/eletronica 4Q
/!3!&da(
legenda
Darra7E date SdimT RnomeR gro% -ms inde) O,J SlistT mn Dmatri1E en o%2
!escri68o
Wetor ou matri1 real ou comple)a' Jata na "orma MM'JJAAAA ou JJ'MMAAAA' Oista de dimenso da "ormao' 3ome glo%al' O%2eto gr("ico' Kormato -oras minutos segundos 6H'MM>>s8' 3/mero real especi"icando um elemento de um o%2' 3/mero de %i%lioteca' Oista de o%2etos' 3/mero real ou inteiro positi o' Matri1 real ou comple)a' ,nteiro %in(rio' Vual+uer o%2eto'
legenda
P,C? point lc'p 6r$8 BstringB Rs7m%R W/K time D ectorE )7 )_unit 6)$78 1
!escri68o
O%2eto gr("ico atual' Ponto Sen emT de tela ou 6)$78 de plot e+' lin-a$ coluna e plano de tecla' 3/mero comple)o na "orma polar' Cadeia de caracteres' E)presso$ e+uao ou nome tratado como alge%rico' 5esultado de um teste 6 erdadeiro ou "also8' ?empo na "orma HH'MM>>s' Wetor real ou comple)o' 3/mero real' O%2eto de unidade' 3/mero comple)o na "orma retangular' 3/mero real ou comple)o'
!escri68o
Walor A%soluto' 5econ-ecimento de alarme encido no displa7' 5econ-ecimento de todos os alarmes passados no displa7' Arco*cosseno' Arco*cosseno -iper%.lico' Antilogar#timo comum 6%ase :\8' A3J l.gico ou %in(rio' Je ol e e)press4es a aliadas como argumentos a nomes locais sem a aliar' Jesen-a um arco em P,C? com um ponto central especi"icado$ raio$ e dngulo de in#cio e "im' Ka1 uma c.pia de segurana do diret.rio HOME Je ol e o dngulo polar O' >epara uma "ormao Cria uma "ormao Arcosseno' Arcosseno Hiper%.lico' Oiga uma o%2eto a uma tecla do modo de usu(rio' 5otao aritmtica para direita de : %it' Arcotangente' Arcotangente -iper%.lica' Oiga uma %i%lioteca ao diret.rio atual Auto*escala o ei)o 7 Ki)a as coordenadas de interseco dos ei)os' >eleciona o traado @A5' Plota o diagrama de %arra dos dados de JA?' Ki)a a ta)a de trans"er&ncia' Emite um %eep >eleciona o modo de traado +ue produ1 o maior alor a%soluto do coe"iciente de correlao O5' Ki)a a %ase %in(ria' Ordena os elementos na coluna de ari( eis independentes de JA? em nF; casas' Cria um o%2eto gr("ico a1io' Jesen-a um +uadrado a partir de dois cantos opostos' Je ol e o n/mero de caracteres no %u""er da serial' Je ol e o c-ec<sum e o taman-o em %7tes de um o%2eto' Con erte %in(rio para real'
Entrada
1 i1i
%a?da
1 1 1 en: en; RnomeR Ss7m% '''T point )r ): ); 0n0 name 1 Darra7E 1: ''' 1n SdimT 1 1 o%2 lc'p en: 1 1 O,J point point n%aud n"re+ ndurao
http://www.li.facens.br/eletronica 44
)j BstringB
)normacoluna Rs7m%R; Cn$m Darra7E Darra7ZE )Q_unit; )correlacion cos618 cos-618 )co ariana
RnomeR D etor:E D etor;E 6)$78 6)$78 date ndias date date: date; RnomeR Rs7m%R nalarme ) lc'p RnomeR Dmatri1E O,J o%2 nlin-a BstringB Darra7E Darra7E
n )det
o%2 o%2:'''o%2n n o%2: o%2; 0tag0o%2 o%2 o%2:'''o%2n n o%2: o%2; )graus
o%2 o%2 o%2 o%2:'''o%2n o%2:'''o%2n o%2: o%2; o%2: o%2; )rad
ncasas
http://www.li.facens.br/eletronica 49
gro% gro%Q
Dmatri1E
?/K o%2 erd ?/K o%2 erd o%2"also 6)$78 RnomeR 1 ) Rs7m%:R RnomeR
gro%
http://www.li.facens.br/eletronica 4=
en: en; S name '''' T o%2: o%2; enlargura enaltura n m RnomeR o%2:'''o%2n n point point point So%2 ''''T o%2proc RnomeR Darra7:E inde1 1 Darra7:E inde1 1 point S en em T ) )
en: O5 en; o%2: o%2; o%2: S HOME name ''' T P n$m o%2:'''o%2n o%2: P,C?
?/K npos Darra7;E Darra7;E inde1; 6)$78 Rs7m%R Rs7m%R ) o%2 S alarm T S es7stem euser T So%2 lc'p''' o%2n lc'pnT ) n Darr7;E )
RnomeR nalarm
o%2Q
0n0 nome o%2:'''o%2n n o%2:'''o%2n n o%2: o%2; o%2Q n ) 7 )rad o%2: o%2; RnomeR S Rnome:R Rnome;R ''' T RnomeR m 1: 1 1 RnomeR o%2 RnomeR 1
o%2:'''o%2n o%2: o%2n o%2:'''o%2n*: o%2; o%2Q o%2: en 6)$78 )graus ?/K
http://www.li.facens.br/eletronica 4[
BstringB o%2; o%2; o%2: @LM 0tag0 o%2 tan618 tan-618 etic<s time
time point: point; S o%2: ''' o%2n T data time ntipo o%2 )_unit ):_unit: );_unit; )_units 7
) S glo%al '''T ntipo D): );E D): ); )QE ): ); en: XO5 en; nA
http://www.li.facens.br/eletronica 48