Professional Documents
Culture Documents
COLEc;Ao MSX
COMO USA SEU HOTBI
LUIZ TARC(SIO DE CARVALHO JR. PIERLUIGI PIAZZI
ROBERTO WATANABE
RENATO DA SILVA OLIVEIRA
SHARP
® 1987 Editora ALEPH
EXPEDIENTE
Cocrdenaeao Editorial Coordenacao Dldatica €ditorar,:ao
Ar1e
Produr,:ao
Pierluigl Piau! Betty Fromer Piazzi
L. Tarcisio de Carvalho Jr. Ana Lucia Antico
Rosa K. Fromer
ALEPH
Publtcacdes e Ass. Pedagogica Ltda. C.P. 20.707 CEP 01498
Sao Paulo SP
Tel: (011) 813·2033
EPCOM
Equipamentos Eletronlcos Ltda.
R. Jose Carlos de Macedo Soares sin Bloco B • Pavilhao 11
Tabeao da Serra SP
Dados de Cataloqacao na Publlcacao (CIPl Internacional (Camara Brastletra do Livro, SP, Brasil]
87·0985
COD·001,64
C329c
Carvalho Junior, Luiz Tarcisio de, 1955-
Como usar seu HOTBIT I l.uiz Tarclsio de Carvalho Jr .. , Jet al.] , - Sao Paulo : Aleph, 1987.
[Colecao MSX)
1, HOTBIT [Computadoresl 2, MSX (Computadores) l. Titulo.
Indices para cataloqo sistematico:
1. HOTBIT : Computadores : Processamento de dados 001.64 2, MSX : Computadores : Processamento de dados 001,64
SUMARIO
Capitulo 1
COMO INSTALAR SEU HOTBIT 007
Capitulo 2
HOTBIT E SEUS APLICATIVOS . . . . . . . . . . . . . . . . . . . . .. 019
Capitulo 3
INTRODUCAO AO HOT-LOGO 027
Capitulo 4
INTRODUCAO AO HOT BASIC............ ...... 079
Capitulo 5
HOT DATA - Gerenciador de Dados
132
Capitulo 6
HOT PLAN - Planilha de Calculos .
Capitulo 7
HOT WORD - Processador de Textos
Ap~ndice I
149
155
Como Usar a Gravador Cassete Apendice II
Caracteres do HOTBIT 172
166
Apendice III
Mensagens de Erro ..... . . . . . . . . . . . . . . . . . . . . . . . . . .. 176
Apendice IV
Funcoes Matemattcas Apendice V
Usa da Impressora 182
180
COMO INSTALAR SEU HOTBIT
Para que seu HOTBIT esteja instalado e pronto para usa e indlspensavel a leitura cuidadosa deste capitulo. Com isso voce evltara danas ao aparelho e pod era utiliza-lo adequadamente.
Inicialmente um canselha: NAO L1GUE 0 HOTBIT NA TOMADA antes de completar aleitura destas instrucdes passa a paSSD.
PRIMEIRO PASSO: DESEMBALAGEM
Retire 0 aparelho da caixa (figura 1.1] manuseando-o com cuidado para que nao caia e nem receba pancadas. Verifique se todos os itens relacionadas na fjgura estao presentes. Voce esta recebendo um verdadeiro sistema de cornputacao e nao uma simples rnaquina. Se faltar algum item reclame imediatamente com 0 revendedor.
Figura 1.1 - Relar;ao dos componentes.
$-~
Cabo RF
'"baa
-- __ Cabo do Gravador
Manual do Usuario
Manual de Basic
7
SEGUNDO PASSO: RECONHECIMENTO
Segurando 0 HOTBIT com cuidado olhe para as fiquras seguintes para se farniliarizar com as pr.incipais conectores e interruptores.
Lembre-se: e um habjto bern braslleiro nao se ler os folhetos e manuais de Instrucoes. Nesse caso, porem, nao se trata de urn simples radinho ou video-game: voce esta lidando com um microcomputador, equipamento que exige urn processo de aprendizagern par parte do usuarro para que possa ser utllizado a contento ..
Figura 1.2 - Parte Superior
SLOT - conector para cartuchos (jogos. programas. expans6es. etc.)
CD
r
8
TECLADO
"'----_ CAPS - lampada que indica quando a trava de malesculas (CAPS LOCK) esta ativada.
'-----FONTE - lilmpadaque indica quando 0 computador esta em funcionamento.
Figura 1 J - Parte Trasei ra
CABO DE ALiMENTACAO (nao Ilgue na tornadal)
CONECTOR DE RF
(para ligar na anlena de uma TV)
CONECTOR DE VIDEO
(para ligar num monitor de video)
Figura 1 ,4 - Vistas Laterais
CONECTOR DE IMPRESSORA lparale!a CENTRONICS)
CONECTOR PARA GRAVADOR [para ligar num gravador cassete}
CON ECTOR DE AUDIO
(para ligar no terminal de um monitor de TV ou num amplificador de alta fidelidade)
c::::::::1 'T )
CHAVE INTERRUPTORA [Iiga-desliga)
{~I= ~?J
RESET - Lirnpa 0 conteudo da memoria Tampa do segundo SLOT
Figura 1 5 - Vista Frontal
CON ECTOR DO JOYSTICK 1 L- __ - CQNECTOR DO JOYSTICK 2
9
Figura 1.6 - Parte Inferior CHAVE SELETORA DE VOLTAGEM
[poslclone-a conforme a tensao local: 120 V
ou 220 V mas Olinda NAO L1GUE 0 COMPUTADOR NA rOMADA!
CHAVE PBICOR~
--_...,--
---
---
---
---
CHAVE SELETORA DO CANAL DE SAiOA DO RF
[canal 3 OLi 4 da TV)
TERCEIRO PASSO: LOCALIZACAO DO MICRO
!:: Nao manipule seu micro com violencia. subrnetendo-o a choques ou vibr acoes. Nao coloque objetos pesados sobre ele. ;;: Nao instale seu micro em local muito quente, (imido, com poeira au onde bata sol.
;;: I nsta I e seu rn iero longe de tortes ; nte r+erenc ias el etromaqneticas, especialmente se for usar urn gravador cassete para ler e arrnazenar proqra-nas Sao fontes de interferencia: bobinas e enrolarnentos eletricos como os encontrados em reatores de larnpadas fluorescentes, motores eletricos. aparelhos de TV, transformadores. Imas fortes, al to-falantes, etc.
o proprio micro tern, em seu interior, um mini- transmis-
sor de TV que pode ser regulado no canal 3 ou 4. Esse transrnissor pede causar interferencia em um aparelho de radio ou de TV. se estiverem muito pr6ximos.
!;: Verifique a tensao da rede (120 V au 220 VJ e regule a chavinha na parte interior do micro (fig. 1.6) antes de liqa-Io na tomada.
Em funcionamento 0 micro consome uma potencia de 24 watts.
10
QUARTO PASSO: CONEXAO A UM TELEVISOR COMUM
Seu HOTBIT pode ser ligado a urn televisor cornurn, a cores ou preto e branco.
Procure escolher urn canal que nao seja usado em sua cldade e sintonize 0 televisor nesse canal (3 ou 4), usando 0 seletor de canais do televisor. Coloque a chave seletora situada na parte inferior do micro (fig. 1.6) no canal correspondente e ligue os cabos conforme a figura 1.7.
Figura 1.7 - Uga<;:ao do HOTBIT aos termlnais de antena da TV com flo paralelo.
PARA 0 COMPUT ADOR
ANTENA TIPO FlO PARALELO [300 m
~,
~--..::::
:--.....::;:-.::::-.____...J
TERMINAlS DE ANTENA DA TV
o 0
lUI., .J
rVNfl
Dessa torma, comutando-se a chave de antena, 0 televisor pode receber tanto a proqrarnacao comum quanto 0 sinal emitido pelo pequeno transmissor do micro (no canal 3 ou 4 conforme a escol ha feita anteriormente).
Se a sua antena nao tern um fio paralelo tipo "talharini M (300 OJ mas urn cabo coaxial .. rollco", voce precisa de um "baleen" conversor para ligar a antena externa a chave seletora (figura 1.8).
Se voce conectou seu HOTBIT a urn televisor como foi descrtto, pode pular 0 quinto e passar a ler 0 sexto passo.
11
Figura 1, B - Ugacao do HOT81T aes tsrrnlnals de antena da TV com cabo coaxial.
TERMINAlS DE ANTENA DA TV
~--ANTENA TlPO CABO COAXIAL (75 m
CONVERSOR "BALOON" DE CABO COAXIAL A FlO PARALELO
QUINTO PASSO,: CONEXAO A UM MONITOR DE VIDEO
Se voce tern urn monitor de video ou urn televisor comum preparado para funclonar como monitor, ha outra saida do HOlBIT que voce deve utilizar: V'IDEO.
Dessa forma, ligando pelo cabo de video, 0 terminal VIDEO com 0 VIDEO IN de seu monitor. voce obtera urna imagem de alta qualidade. Para obter a sorn voce conectara, com urn cabo extra, a saida AUDIO do HOTBIT com 0 AUDIO IN do monitor (figura 1.9).
Figura 1 9 - Ligaciio do HOTBIT a urn monitor de video.
--
AUDIO
12
Se 0 seu monitor nao tern entrada de audio, voce pode conectar a salda A.UDIO do HOTSIT com 0 arnplificador de seu equlpamento de sorn.
Ligar 0 HOTBIl num monitor de video implica numa melhor qualidade de imagem. Analisando a figura 1.10, note que 0 sinal gerado pelo computador sofre rnenos "processamento", ficando livre de lima serie de possiveis tnterferenclas.
Figura 1.10 - A diferanca entre urn sinal de video e de RF.
MONITQR
SINAL DE [ . r=71
._VI_O_EO _ __..t-----t vIDEO--_VIDEO IN ..__ ~ __ . _ . .;;,y.
RF
DEMODULACAO DE RF PASSANDO PARA SINAL DE VIDEO
MObULACAO EM RF lcenal 3 au 4) I---I-+-----t
Quando voce se familiarizar mais com seu HOTSIT podera inclusive fazer urna serie de expertencias com um gravador de vi d eo-ca ssete.
SEXTO PASSO: USANDO 0 TECLADO
Agora voce pode ligar seu HOTSIT na tomada.
Ao ligar seu HOTBIT a tela de TV (au seu monitor) surge a mensagem da figura 1. 11.
Figura 1.11 - A prlmerra tela do HOTBIT.
HOTBIT
MSX 8R
EPCOM [Z_F.MANAUSJ 1985
13
A seguir. a tela muda para 0 que e mostrado na figura 1 .12.
Figura 1.12 - A segunda tela do HOTBIT.
HOT-BASIC V1.2
EPCOH [Z.F.HANAUSJ 1985 Me ... Livre 28815
Ok
Util ize essa segunda tela para ajustar a sintonia e 0 contraste de sua TV.
Apenas para voce se fami liarizar com 0 teclado, pressione a teela da letra A. 0 quadradinho abaixo do Ok (chamado cursor) se desloca de uma posicao e a letra A aparece no video (flgura 1.13).
Figura 1.13 - Pressione a tecla A.
OJ
•
HOT-BASIC V1.2
EPCOM [Z.F.HANAUSJ 1985 HEm. Liv .... e 28815
Ok
A •
Se VOCe quiser apagar 0 que acaba de escrever, basta pressionar a tecla indicada na figura 1.14 e 0 cursor volta apagando.
14
Figura 1.14 - 0 uso da tecta "borracha",
HOT-BASIC Vl-2
EPCOH [Z.F.HANAUS~ 1985 He •• Livre 28815
Ok
......
Pressione agora a tecla CAPS, destravando as mirnisculas - a luztnha CAPS apaqa-se - e digite novamente a tecla A, mantendo-a pressionada algum tempo. Como voce pode observer na figura 1.15. a letra agora e mlnuscula (pOis 0 CAPS foi desatlvado) e fol escrita uma porcao de vezes. Realmente. mantendose uma tecla pressionada por algum tempo, ativa-se urn processo de repeticao autornatlco.
Figura 1.15 - A repetlcao autornatlca e a trava de rnalusculas (CAPS).
OJ
..
HOT-BASIC V1.2
EPCOH [Z.F.HANAUS] 1985 He •• Livre 28815
Ok
aaaaaaaaaaaaa..
15
Seu HOTBIT permite gerar no video todos os caracteres rnatusculos e rniruisculos que aparecem no teclado. Alern desses existem muitos outros caracteres ocultos que podem ser obtidos atraves das teclas GRAPH e CODE.
Par exemplo, experimente apertar a tecla GRAPH e, enquanto a rnantern pressionada, digite 0 ntrrnero 7.
Voce vera 0 sinal de .. raiz quadrada" aparecer na tela (fi· gura 1.16).
Figura 1.16 - Descobrindo caracteres ocultos.
HOT-BASIC V1.2
EPCOH [Z.F.HANAUS] 1985 HR __ Livre 28815
Ok
aailililaililaaaaa r.
Nas figuras seguintes VOCe ve a teclado baslco. a posicao dos caracteres "ocultos " e como obte-los, Se voce for brincar um pouco com eles, vera que alguns aparecem "quebradas", au seja, incampletas do lado dlreito. lsso ocorre porque seu HOTBIT. ao ser ligado, ativa a tela de 40 colunas e esses caracteres aparecem completamente apenas na tela de 32 colunas.
Para ativa-la, aperte 0 RETURN algumas vezes (nao se preocupe com as mensagens de errol, ative a CAPS (fazendo a luzlnha acender outra vezl. digite SCREEN 1 e pressione 0 RETURN.
A tela fica limpa e voce pode brincar a vontade. familiarizando-se com as teclados do HOTBIT.
Toda vez que voce quiser limpar a tela, basta presslonar simultaneamente as teclas
+
16
IcLSl ~
Figura 1.17 - Os caracteres basicos.
Normal
Com SHIFT CAPS :
Observacao :
Letras rnlnusculas e simbolos inleriores. letras matusculas e simbolos superiores. Trava em maiusoulo so as letras.
As teelas de acentuacso so sao executadas apes a pressso da vagal.
Figura 1.18 - Caracteres obtidos pressionando a recta GRAPH .
• As teclas sornbreadas sao descritas no capitulo 4
17
f~gum II 11'9 - C!lrl;ic~er'I!lS o~'tido:s ~fft:SSlUmlnu{l 'SHIFT + GRAPH"
rn ~I
,. As 'leels:; sombreadas sao' descrltas no capitulo 4
HI,
HOTBIT E SEUS APLICATIVOS
!?/
HOTBIT HB·8000
Este e um microcomputador eonstruido segundo 0 padrao i nte rnac iona I MSX.
Alern do teclado e das conexoes. que ja foram descritos no capitulo 1 deste manual, ele tem em seu interior alguns dlspositivos que devem ser conhecidos.
o m icroprocessador e seu cerebro prine ipa I: no pad rao MSX utiliza-se 0 Z-BO, a mais moderno, veloz e eficiente mlcroprocessador de B bits ja fabricado.
o VDP (Video Display Processor) e um cerebra auxillar que gerencia as funcces de video do HOTBIT, permitindo os incrfveis efeitos grMicos a 16 cores do seu micro. Ele e assistido por uma memoria RAM {ou seja, memoria na qual podemos escrever e ler] de 16 Kbytes (cada Kbyte equivale a 1024 caracteres).
o PSG e 0 outro cerebra auxillar que gerencia os efeitos sonoros do HOTBIT. Ele perrnlte produzir ruidos, SOnS e rrulslca em 3 vozes!
Alern dlsso. voce tern 64 Kbytes de memoria RAM para armazenar as lnformacoes e os programas.
Seu micro ja vem de fabrica com 32 Kbytes de memoria ROM gravados.
A ROM e uma memoria que podemos ler mas na qual nao podemos escrever. Nela estao gravadas as lnstrucoes do Sistema Operacional e 0 Interpretador Basic.
Este Interpretador Basic e um verdadeiro tradutor que transforma as instrucoes dadas pelo usuario em linguagem Basic (de facll aprendizado, como voce vera no capitulo 4) para a complicada linguagem de Maqulna que so o' Z-BO entende.
19
HOTLOGO
Neste cartucho voce tern urn interpretador de linguagem LOGO. Ao utiliza-lo. seu HOTBIT torna-se um poliglota!
EI e passa a traduzi r comandos de outra I inguagem: 0 LOGO, Esta linguagem foi desenvolvida especial mente para principiantes e representa a chave de aura para se abrir a primeira porta do fascinante universo da Informatica.
HOTWORD
Este cartucho transforma seu HOTBIT num versatil processador de texto. ligando·se 0 micro a uma impressora de boa qualidade. damos um pass a gigantesco para 0 futuro, fazendo a maqulna de escrever ficar tao obsolete quanta uma vitrola de 78 r.p.m.!
o texto e escrito. apagado, reescrito e corrigido na tela do computador.
Somente apos flcar do jeito que voce quiser, e que ele e impressa ou gravado em fita (au disquete).
Eo fim do corretor e da borracha! E se voce quiser produzir um texto parecido com urn pre-qravado, par exemplo, urn cantrato no qual voce quer mudar um nome e uma clausula. basta carregar 0 texto anterior e fazer apenas as correcoes necessarlas. sem precisar digitar tudo de novo!
HOTDATA
Neste cartucho esta contido um gigantesco Hchar!o no qual voce pode fazer desde um controle de estoque ate uma agenda.
Em relacao a urn ftcharlo de papel ele tern a vantagem de ter uma certa inteligencia propria: voce pode pedir, par exernplo, a relacao de tad os as seus clientes que fazem arnversar!o no mas que vem e obte-la em questao de segundos!
HOTPlAN
Se alguma vez voce ja fez uma complicada sequencia de calculos e foi obrigado a refazer tudo porque apareceu, no meio do caminho uma rnudanca na taxa de cambia ou um Plano Cruzado. voce e urn serio candidato para 0 cargo de usuario fanatlco do HOTPLAN.
Com este cartucho voce transforma seu HOTBIT numa enorme planilha de calculus que permite desde a conteccao de um
20
orcarnento dornestico ate a elaboracao da tolha de pagamento de uma pequena empresa.
COMO SE INICIAR EM COMPUTACAO
Os capitulos seguintes deste livro podem ser lidos em qualquer ordem, em fum;:ao de seu interesse e de seus conhecimentos 'previos sobre a cornputacao.
Se voce tem interesse em se iniciar na linguagem BASIC, aconselha-se a leitura atenta do capitulo 4.
Apes essa leitura introdutoria, se voce qulser uma reterencia mais completa sobre 0 BASIC-MSX, aconselha-se a leitura do "M anual de Basic" ad itado pela EPCOM.
Ouerendo aprofundar seus conhectrnentos sabre 0 BASIC e a arqultetura da maqulna, aconselha-se a seguinte literatura:
* MSX - Guia do Usuario - Paul Hoffman - Editora McGraw-HiI.1 - Discute exaustivamente 0 BASIC·MSX e orienta 0 leitor no usa do DISK BASICe MSX DOS (para usa de discos maqnetlcos].
* APROFUNDANDO-SE NO MSX - Plazzl, Oliveira, Maldonado et al. - Editora Aleph - Discute com detalhes as caracterfsticas da arquitetura da rnaqulna. Indicado para quem domina 0 BASIC e quer cornecar a elaborar programas em Linguagem de Maquina.
* COLEQAO DE PROGRAMAS PARA MSX vol 1 e 2 - Oliveira et aL - Editora Aleph - Jogos, deserrhos, rnuslcas e utilitarios em BASIC-MSX. Indicado para principiantes na linguagem BASIC.
* MSX - PRATICA E DOMfNIO - Nelson Casari - Editors Atlas - Programas comentados em BAS.IC-MSX. lndicado para principiantes ..
21
* JOGOS MSX vol. l e ll - Young e Burd - Editora McGrawHill - Coletanea de programas listados em BASIC-MSX.
* MSX - GUIA DO OPEAADOR - Young e Burd - Editora McGraw-Hili - Manual de referencla raplda dos comandos e funcoes do BASIC-MSX.
* JOGOS DE HABILIDADE - Martins, Sung. Dias e Guazelli - Editora Aleph - Coletanea de programas em BASIC e Linguagem de Maquina para MSX.
* PROGRAMACAO AVANCADA EM MSX - Figueredo.
Maldonado e Rossetto - Editora Aleph - Para os programadores mais experientes que querem usar recursas descobertos no livro .. APROFUNDANDO-SE NO MSX", utilizando a velocidade da Linguagem de Maquma.
Se voce quer aprender a programar numa linguagem mais acessivel que 0 BASIC. aconselha-se cornecar pel a leitura do capitulo 3.
Nesse capitulo. voce tera uma introduc;:ao ao LOGO, linguagem desenvolvida especial mente para crlaneas e de incrivel potencial em apllcacces didaticas. Algumas pesqulsas mostram que quem se .. alfabetlzou" em LOGO, tern muito rnals facilidade para aprender outras linguagens, incluinda 0 BASIC.
Nesse caso, aconselha-se, depois de ler 0 capltulo 3, a leitura do livra:
* HOTLOGO - Godoy, lacerda, Lepiscopo e Mendes - Editora Aleph - Livra dldatlco especialmente escrtto para crlancas, mas indicado tarnbern para programadores principiantes nessa linquaqern.
Numa prirneira etapa do seu cantata com a cornputacao. voce pode decidir nao cornecar pela proqramacao, Ha a posalbilidade de se lnlciar na utlllzacao de urn aplicativo util para usar seu HOTBIT como uma maquina de escrttorlo bastante sofi sticada.
Se voce dlspoe de uma impressora e quer utlllzar seu HOT· BIT como uma sofisticada rnaqulna de escrever, conecte 0 cartucha HOT WORD e comece pela leitura do capitulo 7.
22
D£I mesma fertna. se ","oe,' quisar ccmecar crtande urn SUI· per·'Jlicluirio eletrOnllco, corrects '0 C;:!lrluchO do HOT DATA e lela o ~~plftuio 5,
Se voce j,~ c,uviu falarem plallilhas el'etrDr1Iic~Si e qulser se ini'cial" nn mundo de informatica sprendendo a IIda,r c,o:m um8 delas; t;Onect8o cariJ;l.Jlcho HOl PLAN Ie leta atantamante 0 CH''pitulo 16.
Anters pgrem, urn 'Iembr,e'hi; CD:NEC1E OU DESCONIECTl~ 06 CAATUGIH'OS SIEMPIFtE COM S'EIlJ HOlan DESUGADO!
Como (I usn clesses tre9 esrtuehus e desertte de Imaneira Ire:s,umllda nDS oapltuhJs 5 [HOoT IDA1A), S I[HOT PlAN] e 1 (IHOT WORDJI, acnnaelhe-ee a lettura d08 livroiS:
* I-liOTDA1A - R. M.Watanabe ~. Edltol!'8 ,Aleph. * ~-ilQHJlAN ~ R. M. Wat,anabe - EditlQra Ah~'ph. * H01WDR'D - IR. M, Watam!lbel - Edlr:o,ra A'I'eph.
Nos Uvro5 aelrna c,itados, todas as, p'Dtenola~ldades dnse-a lires programas, 580 des'crit8s de maneirQ detalhada ,e extremamen te d idlirU C,91.
A:pesl:.lt de ser p05,sive:1 () usc de Uta eessete par,1lI ar,qu.lv,ar es dados p rodlJ.z~dos 'P 01' esses p rogrramas. a corn sellha.se (J usa de um dusk drive de menelra (I, !l'erillif [lliquhros am disco, magneti:co. Ap,en8s des sa form.a '0 usa' dos plr'lJgram~8 HOT DATA. HOT PLAN B 1&-101 WORD pod e ser cons Iderado 'rea I rn entsp roflls,si,on Ell.
Para sefamlll~aril311' ,CDm '0' usn de urn disk drill/,e, ac::onselhase a laitura do Uvro:
:1: USA'NDO 00 D'ISK DAIIVE INO MSX: ~ Rube'ns, Perel ra Jr. - EdUor:EI Aleph -IDescrh;:ao e 1000 da9~Lln~Oes e eornendos dCl, IJS,K IB.A-SIC 'e dO!8,Sllhs:~emas opera Chlfil'B is, HIIS.OOS EI IMB·MOP.
Ou IiII:quer que se~aa sua oPQa,I), 16l111brfj·se de e'xtfl!Hniill velfsa,· tllldade do SilI'Y eomputadcr e 111'180 se IIiImite ill uma 'OIU dus,s a;pli. tacoes till! IllinglJagetHli .
.0 MaX e Ufll'l pad rao extJlI'e m am8fne e lastleCi. j:I errrrdtlllilldo a cOfl,iiixio com uma gama, vastii5JsiRl!ll1 de pBrUBricos. de mane_riB a Implem'!:!ntar ,IiIS mama veri.ades ,apUca!;:oes .•
,Reilaci:ona·se a segUlir ~!I,g,iJns, perif~i']cDliI l' exlstel'lltes no Ime'i'cado e sua utlUdade qll'aqdo conectM'·Q,9, 81 seu HOTBIIT.
2Ji
* GRAVADOR CASSETE - Oualquer gravador cassete de boa qualidade pode ser conectado ao HOTSIT para gravar programas e arquivos sequencia is. 0 HB·2400 e um gravador cassete fabricado pela SHARP especialmente para 0 usa com 0 HOTSIT, permitindo alta confiabilidade na grava<;ao de dad os em fita.
* IMPRESSORA - Oualquer impressora com conexao paralela padrao CENTRONICS pode ser conectada ao HOTBIT. Certlfique-se de que a impressora tem a tabela de caracteres MSX ou ABleOM? para poder imprimir os caracteres acentuados.
Existem no mercado interfaces que permitem a conexao do HOTBIT com maquinas de esc rever eletr6nicas.
* DISK DRIVE - Existem no mercado actonadores e centroladores de disco padrao MSX. 0 acionador de disco deve ser padrao IBM-PC e a interface controladora padrao MSX, ou seja, ela deve trazer uma cornplernentacao da linguagem BASIC restdente no micro. 1550 torna seu HOTSIT apto a gerenciar discos.
A SHARP lancou seu HB-3600 que permite operar 0 disco com 0 DSK BASIC e, alern dissc, permite 0 uso de dais sistemas operacionais: 0 HS-DOS, compativel com 0 MSX-DOS, e 0 HBMCP, compativel com 0 CP/M.
A unidade acionadora de discos que deve operar com a interface citada e a HS-6000, tarnbern fabricada pela SHARP.
E a pertferico indispensavel para usos profissionais de seu computador que permite rodar uma quantidade enorme de software desenvolvida anteriormente para outros computadores.
::: JOYSTICK - Apesar de estar associado a imagem de "video-game", a joystick e um perlferlco muito uti I nao 56 para jogos como para utilizar determinados softwares para desenho.
* MOUSE - Alern de funcionar como .. paddle". 0 mouse conectado ao seu HOTSIT pode ser usado como substituto do Joystick.
* CARTUCHO DE EXPANSAO - ~ urn cartucho que contern ' memoria RAM e. ao ser conectado ao micro, arnplla sua memoria disponivel. Ouando 0 HOTSIT esta ligado a urn controlador HB·3600 acoplado a urn acionador HB-6000 e esta sob a gerencia do HS-Mep, reconhece a cartucho como drive F. 1550 significa que, apesar de ter urn unico drive, a usuario pode operar como se
24
hv fi:S.!i·l!I dDi:1l. 881':10 Q U m del as de ace ssaextrema mente ve~.o.z. M u ito uti I. per e~empil o, pa ra quem uttl ~z:a 0 dB iIDlse II.
*RAM DISK- I~ urn banco, de memdna qus 3ub5t~Wlli au eamplementa '0 d~sk drive a ~ tie ~u;.e!lSo e'xtremameme rollpido_
~t EX PAN SCU~ 'I) IS U:lIil'S - !: tlm~, espec Ie de ~ b enjamlm '. que aerrntte a cone)(;1!i[ij de vB'rk.ls carnu:::hos e/~m ,expa!il!soes. 0 padrao M ax lP~wmHe 0 e 11 d III rll::ca rn ante d~ t 6 X 1J4 klby11e:s, IJ U ~e.~'a .11 M (:jig abyte:. A tr~ve5 de ex,pariU3:or de slots teda essa petenclahdade podeser utlliz,ada.
* ,PL~,CA, ID:EBfIi ,CO:LllJNAS - PermitI;'! ~jgar 0 HOTBlla urn m'ontltor de video. prodUl'~ndo, urna tela de' 00 eolunas. tndtspensavel PM.:! 0' 1LJ8'C de eertes priOg.ramasqulll L}.'I(,iigem 80 C:aJNICht·, re.s pn r hnha ne tel a.
:::: MOIDEM - D~ Sl=lOS i t i:vo' qlle een e eta '[l' is eu HOTSll a La ma I j n ha tEi I ef,ij n iea, If,l,erm ~ t Iindo comunl Cal!;; ao m I,em ,;]1 mi e m, a01;l39,O' ~, VfDEO·HX10 e CIIRANDAO, scesso 1iiI. computado,res del banens, 'lise do m~cro como pSG'uda.-telex., ere.
:$ P~O,"EIA - Irata-se deum dispo:sr'uVQ, dr1! c"H~enho nn qual uma caneta se m,ov[menta para. n3Qar desenh.o,s r comand.!IDGil!! pe,le rnlera. No Bfe:9i~ Iii exi~~e urn modele de plotter de batxo CUS~C1 cQ,nectavel il saida CENTRONICS [d.,1 impreSilSOr8l) que pa rm,~le pmduOl: i r G I:i,sernh ~JS, em fQ,~has de pa&a e I !lIa d rao A4 (:2', ,em .11 3'0 eml
,lEss a p loner p ods usa r llI'm'!;'I calm e'tilt de M !Jo,nts pDfosa '. OUl' Clii ",918 ~ nan k Lm ~ . P'ritfEi desenhoiS 'teen ~CICl5 e~em u m ,a.lfab€'~o I"U.S idente CfJ m d e:z tam anhos de ~ etras, se !'!llci on ~ve ils per snft· ware.
E S~:IiL\I ~ 1:11 r ilfi8rh;;o ., Imul~to I mpDrt'alnte ipara us ill F s'e:u IHOTielT em des:enhos teon~cos (mlnICAO).
(;,(1 me VOGe p ode peraeber, sell! H OllElHe lapenaJs 0' co m€lQc de urn ststema que p:ode se tOtlU'ar e.xtlremam~nte sof]:s~ic.e,d'll ,e lI.::ompte'!io,.,
Pan em,cerlfar ,e,s~a caplitu 10 :llndici::IimOS a t:e I aCB I) das edn(lras c uJos Ii v,ras fc,ra.m oi tados ~
25
ALEPH - Av. Brig. Faria Lima, 1451 - conj. 31 01451 - Sao Paulo - SP
ATLAS - R. Cons. Nebias. 1384
01203 - Sao Paulo - SP
McGRAW-HILL - R. Tabapua, 1105
04533 - Sao Paulo - SP
Para maiores lnforrnaccss sobre os pertferlcos citados e sobre outros softwares disponiveis no mercado contacte:
Nucleo de Apoio ao Usuario - SHARP Estrada do Campo Limpo, 6197
CEP: 05787 - Siio Paulo - SP Telefone: (011) 842·9461
26
INTRODUCAO AO HOT-LOGO
Info rrnatl ca, co m p utado r, prog r a maGa o. Es 5 as p a I avras ca usam, rnuitas vezes, urna sensacao de lntlrrtldacao, distancia, e nao rare, um clima de "guerra nas estrelas ",
Para a maioria dos educadores e pais que se preocupam em preparar seus ftlhos para 0 futuro, os computadores sao encarados como "alqo " alienante e temeroso. A rapida e recente expansao da industria de cornputadores colocou a nossa dlsposiyeo e uso, todo 0 potencial dessa .. maqulna estranha ", !: compreensfvel, portanto, que nao estando Iamlltarlzadcs com os rec u rsos co rnputa do nzados: ex i sta m reservas qua nto 0 futuro um tanto impessoal que os computadores produzlrao no cotidiano de nossas crlaneas.
Os computadores, por terem ampla abranqencia, reallzarn um numaro de tarefas multo rnaior que as dernais maqulnas, Consequenternente. e valldo supervalortzar seus desempenhos e imaginar estruturas complexas e de dificels oompreensao.
Entretanto, como os computadores estao mars facilmente disponfveis nos dias de hoje,e rnals simples nos farniliarlzarmos com eles e atuarmos para detectar modos por meio dos quais melhoraremos nossa qualidade de vida.
Saymour Papert, professor do Instituto de Tecnologia de Massachusetts, criou uma linguagem de proqrarnacao denornlnada LOGO, que torna 0 cornputador acessfvel ate para crlancas de baixa faixa de idade. A proposta de Papert e levar a crlanca a ensinar, com toda sua vlvencia.o computador ..
Papert imaginou que cada crranca tera num futuro, um computador a sua dtsposicao. Ele crlou 0 LOGO na esperance de que a criarrca rnanipulara seu computador como se fosse um poderoso lapis.
A SHARP, por sua vez, criou 0 HOT-LOGO, que e uma linguagem compatrvel com 0 LOGO idealizado por Papert.
A grande facilidade de acesso ao computador por meio do HOT-LOGO vem, em parte, da sua pr6pria simplicidade.
A linguagem consiste de um vocabularlo composto par palavras baslcas em portuques tais como parafrente, paratras, pa rad i re ita e par aesqu e rd a.
27
P,arEli e'X8cutar os eurnaudcs do HOr·LOGQ di~8p(Jmos de TAR1ARUGA. Ela e' uma entldada 9if,Ujca e lurnlnusa, que vlve n8 tala do compulitador e Que pertenca an Unlverso HOT·LOGO.
,E8so=l T,AATARUGA f,ln'~1 os deaenhes qU'9 emdnarmos. pots e~a pede 50 mDvl mentor pe la t.il! I a e del x Elf urn ra'stfq;J1 par onde
ela passar., .
COMO IINSTALA'R 0 HOT·'L.OGOI
Para USSr (I HOT-lOGO, slg.a as IIl'lstrur;;O'8~ iii S8gllif!
~ - Com ,Q H()TIEIH deslig'ado. co,~oqu~' 0 ,car·ttuclilo do HOT· lOGO num cos slots, mantendo sempre 0 furo do cartueha voltado ,para 0 lado ,e~'tIU,e,do e ill leUqu,eta vo,ltad;;l panil yoci.
2 - 8e \!loci vai UiWizar 0 9U!lIadQj"'1 veri~lique sle e~e ,e.sta eenec tade 1iI0 cemputador.
:3 - Ugu:e " compUitador 19, depo,j,s de alguns, lnstantee. 0=1 00 1.El, dev,e,r~ sa rnostrar cQ,nform:e' 8 figulra 3 .. 1 .
..... D':I"-II-ODO y· .. r'lllla tl ~ i IEP C,OH £996
O .. ny I n,do ';,II;) LDJlO 1'.
••
Essa tela tndtca qll.!le vace lest~ nn untversn HOT"tOGO. A u.ll1:~ruga que 8panl,oe no eli3: n Iro da te 1,i'Jj estill pr'D.nta p'ara re aebel" suas, ordens.
o pontio, de interrogS'lj!ao (1) I~ ,chamado, 51inal de ,prO!'litid80 €I 0 pequenD Cluadra_do que aparec,e piscamdo 00 seu lad,o, e (I C'iUIl'SOI' qLU!' IndlcllI 0 IliIQ'ar '011'1013 vai 8psreeer (I, car,aci!e:1' UBt!ra, nUffier(h eu:.), que: ,",oelli €Hgltaili'.
A'TE:N'eA'O': v'eraiqUiIil 86 ,a luz verde rB~etente l! 00010 CAPS estl';i, i1IpDgod~. Se esUver aceaa, pre:s.s:~one e:SSQbil'c'lal. Iss'o, deve set' teilO pOiis o HOT·LOGO SIO' nD5" permlte '!lJUU:zar ~etlras rnlnuscul'as ernseus coma ndos.
CONVERSANDO COM A TARTARUGA
Vamos tentar conversar urn pouco com aquela tartaruga que esta no meio da tel a ever 0 que ela e capaz de fazer.
Para lsso. vamos tentar alguns comandos. Agora lernbre-se: pressione a tecla RETURN apes a digitac;ao de cada comando. Essa tecla faz com que 0 HOT-LOGO interprete a ordem que esta sendo dada.
Experimente dig itar:
alo
Pressione a tecla RETURN e obtera como resposta:
Ainda n~o aprendi al0
Essa mensagem significa que a pafavra al6 nao pertence ao vocabularlo HOT-LOGO, lsto e, ainda nao Ihe foi ensinado como proceder com esse nome.
Agora comande:
paraf"rente
E obtera como resposta:
Nic ha entradas su~icientes ~) para paraf'rente
Isso significa que 0 cornando primitivo parafrente necessita de uma entrada: 0 nurnero de passos que a tartaruga deve se deslocar.
Apague a tela de texta camandando att e tente agora:
paraf'rente 50 au
pf' 50
Voce devera obter a tela da figura 3.2.
Da rnesrna maneira podemos deslocar a tartaruga para tras utilizando a comando prlrnitivo paratras (pt). Tente, par exernplo:
paratras 70 cu
pt 70
29
Figura 3.2 - Tela apes a comando parafrente 50.
A tartaruga pode tarnbern girar. Ela ~ entende " as giros a serem dados como anqulos medidos em graus a partir da direcao em que se encontra.
Se quisermos, par exempla, girar a tartaruga para a direita 1/4 de volta (90 graus) devemos digitar:
paradireita 90 au
pd 90
Observe que a tartaruga obedeceu ao comanda paradireita, giranda 1/4 de volta mas manteve a sua POSi<;:80, isto e, nao satu do local ande estava.
Se voce quiser girar a tartaruga para 0 lado contrarto, utilize 0 comando paraasquerda (pel. Par exempla, para dar 1/2 volta (girar 180 grausl para a esquerda, digite:
parallsquerda IS0 au
Pll' IS.
DESENHANDO FIGURAS
Para iniciarmos uma nova figura vamos primeira Iimpar a tela. Para issa, comande:
tat
30
Esse comando e a abrevlacao de "tartaruga apague tudo ".
Ouando executado. a tela gnlfica e de texto sao limpas e a tarturaga e colocada em sua postcao original.
Se quisermos apagar apenas 0 desenho e manter a posicao e crlentacao da tartaruga usaremns:
ad
au lIPllguedesenha
Com alguns comandos, podemos desenhar ate figuras complexas. Vamos no entanto, cornecar com algo mats simples como um quadrado.
Antes de cornecar. lembre-se de separar com um espaco comandos sucessivos e as comandos de seus parametres. Nao se esqueca tarnbern de pressionar a tecla RETURN apes a digitacao dos mesmos.
Para obter um quadrado, comande a sequencia que se apresenta a seguir:
pf" 90 pd 90 pf" 90 pd 90 pf" 90 pd 9. pf" 90 pd 90
Para obter a mesmo quadrado, voce tarnbern pode simplesmente comandar:
,.. .. p it:a 4 [pf" 9. pd 90]
o comando primitivo repita permite ordenar ao HOT-LOGO um determinado nurnero de instrucoes que se repetem. Esta lista de lnstrucoes deve vir sempre entre colchetes ([]).
Sempre limpando a tela apos cada desenho com 0 comando tat. tente agora desenhar as figuras da tabela 3.1.
Note que para obtermos a circunferencia, pedimos para que a tartaruga tracasse um poligono regular de 360 lados. E clare que nao faz sentido falarmos em lados de circunferencla. 0 efeito e apenas visual. Por ser um polfgono regular de muitos e pequenos lados, ele se confunde com uma circunfer encia. Para fazer areas e circunferenelas de outros tamanhos, varie 0 mimero de repettcoes, 0 valor do passo e do angulo.
31
Experimente:
rep ita IS0 [p. 0.5 pd 1]
rep ita 9 (p. 10 PH 10]
Tabela 3 _ 1 - Figuras
FIGURA C(}M~~IOO A SER O~OO
TR I !tIGULO reo I t a 3[Df 5~ pd lC'~l
POLrCDND DE 6 LADDS replta S(p! 50 pd S0J
POLfGONO DE 12 LADOS rep I ta , 2 Cp f 20 pd 30J
CIAGUNFER!NCIA r e e i t a 360(pf 1 P ~ 1J A llrnitacao do HOT-LOGO e praticamente a sua imaqinacao.
Procure fazer alguns desenhos como par exemplo os mostrados na figura 3.3.
Figura 3.3
Para que voce tenha alguns recursos adicionais ao tentar fazer as suas figuras, e interessante conhecer mais alguns comandos:
1. Para andar com a tartaruga sem deixar rastro: usenada (un).
2. Para voltar a deixar rastro: use lapis lull,
3. Para apagar linhas: useborracha (ub). Para desativar ub use ul.
4. Para tirar a tartaruga da tel a: desaparecatat (dt).
5. Para que ela volte a tela: aparecatat (at).
32
PROGRAMANDO EM HOT·LOGO: PROCEDIMENTOS
a HOT-LOGO s6 reconhece uma serie de comandos chamados primitivos, mas 0 seu vecabularlo pode ser arnpllado.
Programar em HOT-LOGO consiste exatamente em "ensmar a tartaruga" como proceder diante de uma nova palavra au comando. Jsto e, programar 0 HOT-LOGO e enriquecer 0 seu vocabularlo.
Por exemplo, ao digitarmos
ret" angula
a HOT-LOGO respondera:
Ainda n~a aprendi retangula
Teele agora,
aprenda ret"ingulo au
ap ret"ingulo
Dessa forma, entramos no modo de "Edicao de Pro cedi mentos " e enquanto nao sairmos dessa rnodalidade 0 HOT-LOGO nao executara as nossas ordens. Elas irao diretamente para a memoria do computador onde serao armazenadas ate desligarmos 0 HOTBIT ou pressionarmos 0 batao de RESET ou ainda se ordenarmos que 0 HOT-LOGO os esqueca.
A tela mostrara:
aprend. retin~ul0 -Fi.
Aperte a tecla RETURN, e obtera como resultado
aprenda ret"ingulo •
f"i.
Voce pode, a partir deste ponte. digitar as suas lnstrucoes para desenhar urn retanqulo e a tela flcara asslrn:
aprend. retingulo
repita 2 [p-F 50 pd 90 P-F 10 -) pd 90J
f"i.
33
n~iildo tell"mi!1l~do 8S in!arlJqOes. pre.ssio:nEi a t~ecla ESC para sail' da ,edl.:;:llo e 0 HOT-LOGO dalr;iilI D seglul!'1i11:e m,iltl1sagem:
~.t~ngUlD .prvnd.do ?
Com esta mensanam 0 HOT·LOGO avlsa 'qu,a '~aprell'ldeu" 0 reUinglJ~o que: im.agllnamo:s. 0 lrnpestante 2g,'0r.1J e que Iteliingulo pass'ou ii, fazer p8rte~ dos cemandoe do HOT.LOGO. Para te8tilJr, comande:
o HO],~LOGO antendeu 0 ql:.ie e retlnguiu e!iltartarug,9J 0 desenhou na tela.
1N'9SSE!' ex,emiplo. retiDgolu e urn eomando seclUndid1ri,a e racebe '0 nom e de IP AOC!EO I MENTO. EI e p ode SIU LD U UIado (I I!.I ehamadn sempre que voce' quis,er.
Digite ;ag,Dra,
.p ,c: .. t ."".111'11:: a p~ 45
~~~~ta 4 t~.tinBUlg p~ ,8] pd .. 5 ,pic S.
f' ~.
Comande entao
tat
c.t ~ ..... n:D
Voci deve obtido aflgur,a 3.4. IsfO mostra qlUD ,0 HOT-LOGO, a'iem deter aprandldo ret5.ngu]o, e usa,..I(I' agor'~ como um SUBPROCEDIMENTO" 8,ptendeu tambem cat,av,eniWi,
Como outras linguagens modernas, programas em HOTlOGO consistem de pequenos e claros procedimentos cada um com um trabalho especifico a executar, Vejamos um exemplo.
Deseja-se desenhar a cara do palhac;o da figura 3.5. Depois de cuidadosamente planejada, podemos digitar:
figura 3.5
a,pr-enda ,palh ... ~a cabe~a
chapliu
othos
nariz
boc;jl
f'l.
o 0 L:::. <::>
Agora devemos ensinar ao computador como desenhar cada parte, como par exernplo:
apr-enda ca,be~a
rep ita 4 [pf' ~. I'd 90] f'i.
ap chapeu
r-epit ... 3 (pf' 50 I'd 120] f'i.
Em seguida definem-se olhos, nariz e boca, porern antes de mandar executar 0 procedimento palhar;:o deve-se ehama-lo novamente com 0 comando
editR -palha~o ou
ed .... palh ... ~o
Usando as aetas e a teela RETURN devemos inserir as linhas com as lnstrucoes de posicionamento. Assim, 0 procedlrnento palhaco ficara estruturado da seguinte maneira:
apr-enda palha~o
cabe~a linha de posicionamento para que 0
«e ~.pd 3.-----cha'peu tique aclrna da cabeca chap.ru
35
Asslm, 110 HOT-LOGO, prnhlemaa padem ser dividido!ll em paqusnas partes .. P'roGt!dimentO!'l pcdsrn ser criados em sepa· rsdo para cad,a parte. ,o'86~e modo, podlemos dl'll~d.r trabalhos em preeedlmanms menores e d6POW:S, combhiH!i.los para '~ormr;!Jr SUPERP'AOCEOIMENTOS. P,odemos aiflda f.az,e'r Intera.:;i'iftl entre os iPl!'ooedfmefilitos.
Essefato evideRci81 que HOT~LOGO e e~f;la,nsliy.rill" pOlis ,0' usuari 0 e ns,i na eo CiD m Ilutador I'll Oi~OS C,ij m Eilfil,[:hllS, C IlJ iJ'al'~a'llras.
o HOT.LOGO ,~ tambem ~"tll:lrath/!). isto e, (I, 'Inoglr,amadQr ppde d~g~tar urn eemando ou IIJroglram'a e ~ VEllf" sua ,~xecul;iD I medmatamenilte ,
Alem d~S5D, D !-IOT·tOGO e. recursivo. I,sto Ie. urn prccedi· menta pnde - chamar" ;;I ail meSilla OU faze .. uma W oopia ~ dele p rrip rfo. Arulii's,Q 0 pro cedi menlo !'II $ e gt! i r:
fir.n," ."C;!J
hflliiiill.t.
pd 9. pf 2. p. 99 c:.,.,c'.
'fll.
ond~ haste pode ser d~finido como
aIP .... ndli lliliiiiit e fI".t, inl3llu'l a
IP i' 58 p,d :;I,. tr Hin~u10 IP~ 3,. ,pt 5.
" hi!
o p'I'ocedlmento l'IefiPQIUlfa jafo:i ens I naidol para F,az'8fmos (I CO\l,tfJv,ento. mes a I nda fa Ita - d~fp n'I i r tr.iingIllID. Ith:~s,ta form a.
~p~.nd. tfl"lln9U~O r_plt. 3 EpF Ie pd 12.J If' ,I m
A'90ra llmpa III tella com 'tat, c:omandle ceres ,ev1eJa ,0 Iresultade.
IPara interromper e:s~el p~Oicediimento ba:sta preS8~on8Ifmo9 S i mu It81f1l ilU!IM,BI1'tie' B Si tee I as, eTA L III STOP.
A t6 fisse POIiI/to, pa ra 'h!u::ern1 D!lI a mas rna fl~gura del d i ferle:ntes tEimanhos. dev,erl!amos .. en s!ina·,1 as ~ separadamante, AJ8slm. p,ilIlral 'obterrno<s um ,quadradc de lamo -1 (I b:~lri,'lImos umproc,ed:imBIJ'ito.
36
para urn 'q uad rade tie' ! ado 20, ~ ens! li1a r lamas· eutro preeed i mente e assl m filii cessi V,alm ente,
:1 mag~ne ae ~ i vessemos ill pess i bll id;e,d e de de fin irma,s, IJI m procedl me nto qUi El' des e n hess e figtlJras, d 6 U!ma n has 'q us;!!;;,!! lJe r.
QI H 01 ~LQiGO nos t,raz" para torner puss ivtld: fils$<a h,l.EiI ia; urn oubO "e,curs p: a, vairil~veL
A ''IIOWIaV!l!I !1~df:l m~,is e do qlue uma ~ gaveta Ii reservada niil memoria do, C'Qmp~ta,dof. ende depo,s,i,li:!lmii],s irl~orma'C~es,.
IPar,aensinalr urn If!)rQGBd~lrn~nto eern entr,ed~s, ~,Shl' e,. Ultili7 :i!lal'l do varl avei s, d evem,oI50'D edecs r '~8rtlllS r~9r,~8. IPs ra ill:USltN1IJ i Vf!'J~II'I'H)5 U,ffi exem,p~o .
• 'pr iiiii-lill d'. C. II H. Ii '~ ;.d'D' r~p~ta • [p' ;lado ~d 9.] 'f' I !!!!!
ObS'!lII'V~ que .Iogo depois do pli'ocedi~mento eaiXiil co'~oC:aJmos :lado quel ,e (I Inome: dO'!!: ~ 98ve,t,a ~ !)l1I:d:e: :!l'e r~ ewmBze lliill,d,[I' CI fUliflllil:et'D carre s P Iilndenrte aa tam,mho do ~Ia do, de leil~l';i!!!. i£e !!.at.iilll'!lll e !1tt1j! (Ii S!inal ~ [dois ,pa:ntasJ ,que tndleeeo HOT·lOGO qU!1!I esta pal.~vr.!ill de<U nl! uma valriav€:! (! nio urn prooe·d i me",~ol.
Pr~UhJ!1 and I) 81recla lESe va ItJlre mas :liD modo d~lI"ao.
Par~ 'fU,8ClJJ~a,rrmos Ii!! SUI pn::u)e d i mente, deve mmlos s~imp~.€i 51- mente digltar:
('l. obi~ill,mrrl;Ll),s 'COfll'lO rill suitado um quad rado de 5'[1 P~Ui'5gS dt!tar~a· nu:gfll ,eCIiITn.(!J' l,flId:D.
Pa 1'8 que te nham OIS quad~adQ:S de d ife rel1i~eSi tam anh,o. basta m udantJt~Hi a ~n!itr ad a. i sto i~. 0 numer'o' ql!.il e se ra a,Jl'm'llilelITu;u:J;oi n a ~ 9 iilveta m des I'g nada,
D,i gl'~e entaQ,:
~ .. II ~J., ·4,. ca II >I. :3:.' c., ~ H:_, ,~.
Usando ;;!J l"e'ClIlr$aO '1:1 a V'flri ~vt!ll. podiemos c!ria rum I~noce· di rnentc 'q us desen ha quad radeae Ilju·a: pare quando lima de~ef'· Imhll eda I[mind i'Qilafor verdad el ra. !Par ,axe mp,lol;
:3'1
~prenda CaiMas :lado se =lado )1. Cpare3 COl i ><111 ; 1 ada
caixa. IIOldo-5
f'i.
Experimente executar este procedimento e tente explicar o que aconteceu. Para isso, digite, apes pressionar a tecla ESC, as restrtcoes:
caixa. se caix •• 1. e.ix •• S
MAIS TARTARUGAS
Trabalhamos ate aqui, somente com uma tartaruga: a de numero O. a HOT-LOGO nos permite desenhos com ate 30 tartarugas. Para isso precisamos chama-las com 0 comando prlrnitivo atenc;aotartaruga (atat) e dar-lhes ordens. Por exemplo, digite 0 seguinte proqrarna:
atat 1 pd 45
.. tat 2 pd 9.
.t at 3 pd 135
atat .. pd 18e
.tat 5 pd 225
atat 6 pd 27.
atat 7 pd 315
atat tad ... at pf' :sa Observacoes:
1 - Os comandos pd 225, pd 270 e pd 315 poderiarn ser substituidos respectivarnente por pd -135. pd -90 e pd -45.
2 - 0 cornando todas chama todas as tartarugas, isto e, a llsta [0 ..... 29].
3 - No exemplo aclrna, aparecem as tartarugas apenas quando 0 comando todas e executado.
Se quiserrnos que as tartarugas 0, 2. 4 e 6 desenhern um cfrculo alternadamente e que as tartarugas 1, 3, 5 e 7 desenhem urna estrela nas mesmas condtcoes. faremos assim:
38
.11" C 1:1' II ·Ii,. ra 'tat
.!lit .It :t pd 45 ,.,~ • t :Ii!! P<i:ll ;p·e atalt :I pd i 3~ .1: at 4 11"£11 113'. a,tat 5 pod 225 .t ii!j'!i:: 6 P' ell 27 • • t~t '7 pd 3:t~
.tat tod.~ .t UA pr 50 u~
,Ii,t III/I: C. ,2 .. &J le.,da [II'"'IIIP I 't ill -,) 5 [p. 3. pd i443]
;.t.t [l 3 5, 7.] le.d. [pd ".' r-,) _pit. 36. Cp¥ •• 2~ pd ~Jl
fl.
ri observe a figlura apli'esentada.
o com andOl cadI!! hilz com qlll e ,as tartar ug8S: 'execul~e m as hlslrm;:oes da ltsta s'eguinttl, sequenetalmente.
Perceb~ qlle no Inlclo do Ipmced~roento c€l~lsa foi usadc 0' coma ndD r9'. E:sse cam i!lindc e mu ito pod erose, al e apaga a tel18 Igraflca e leva as tartarugas para as suas con.diQaes tnlolais. Para me ~ore'5 deta U'IIE'!S Cion sui te a U 5 talglem doe eemandos no tinal deste ca,pltul,o.
COLoe,ANDIO A 'TARTARUGA IE,M MOVIMIENTO
A tarteruga no seu leataCio o rl,g:illna I esta corn velocldad,e O.
Se qutserrnes que ella se movimell't,e pala tela, basta mudar a sua \f,ell DC i!dade, q UJ"e IPodelol'a r jar de - 128 aN:i '1'28.
E._:w:p er im8l'1te:
IEUa comecara ,21 8'8 rnovlmentar na (ilif'leQao qua uUi indicado. A,pesar do mOlvllmento, lil80 nerdemos contrele sobre ela, OU sej it. 018 calma ndos pod em 5 e r da;dlolS; nerma lm Ililnt'G'. Ex·p erl mentla:
li'I"d 3'. pili 12e' pf! 2,.8
39
Podemos a i nda faz e-!a aiJi:lgm as Ii nhas por onde ela passa usando 0 comando useborracha (ub) ou andar sem deixar rastro com usenada Iun),
MEXENDO NO TEXTO
Voce notou que no HOT-LOGO trabalhamos ao mesmo ternpo com uma tela qrafica (onde desenharnos) e uma tela de textn (onde escrevemos l. Para que possamos vlsualiz ar melhor o nosso desenho, pndernos apagar OJ tela de textos com 0 cornando primitivo apaguetexto (aU).
Podemos tarnbern fixar 0 nurnero de linhas a serem usadas.
Por exemplo:
.. udet:ext:o 2.
Assim fixaremos as 4 ultirnas linhas para texto.
AS CORES DO HOT·LOGO
o HOT-LOGO oferece 16 pass i bi I idades de cores.
Para trocar a cor de fundo uti I ize 0 comando mudecf segui-
do do nurnero da cor desejada (consulte a Tabela 4.1 da
pag 92). Por exernplo:
.udecof' 1
Para trocar a cor do lapis use mudecl seguido do mirnero da Gar. Exemplo:
.udecl 2 pof' 20 .udecl 4 P' 2-) o Mudecl 6 pf'" 28
Para alterar a eor da tartaruga cornande mudect e 0 mirnero da Gar. Exemplos:
.udect: 2 IIIudect 10 .",dect: 13
Podemos tambern pintar fiqur as. Assim, S8 desenharmos urn quadrado na tela e posicionarmos a tartaruqa no seu interior, podemos pinta-lo com 0 comando primitivo pinte. Par exemplo:
40
rg
replt~ 4 [p' 4. PW 9.]
pe 45 un p' 5 ul .ud.cl 6 pinte
o quadrado sera pintado de vermelho.
Sempre que quiserrnos plntar urna figura, devemos colocar a tartaruga dentro da area limitada pela figura. Em sequida colocamos 0 lapis da cor que escolhermos e s6 entao damos 0 comando pinte. 0 lapis nao pode estar sltuado sobre qualquer linha.
Alern de pintar, 0 HOT·LOGO permits carirnbar um determinado esoaco, com figuras da tartaruga em usa e com a cor do lapis em questao, Experimente a sequencia:
rg .udec' ~ .udecl 6 repit~ 6 [p' 5. pd 6.J
pd 3. un p' 1. ul .udecl 12 c~ri.betudQ
EDITANDO FIGURAS
o HOT-LOGO nos permite trabalhar com 60 figuras diferentes, a titulo de "tartaruga ". numeradas de 0 a 59. Veja a tabela 3.2.
A tartaruga que utilizamos quando entramos no HOT-LOGO e a figura 36. Para "charnarrnos " outra figura devemos usar 0 comando primitivo mudef.ig seguido do rulmero da fiqura desejada. Por exemplo, tente:
.udc'lg 1 .UdEf" i II .7
t: possive! tambern alterar uma figura ou .criar uma nova.
Para isso devernos utilizar 0 editor de figuras.
Com a telagrafica restaurada Irg) e sem tartaruga (dt) proceda da seguinte maneira para redefinir a figura 10 por exemplo:
edf"ig 1.
Na tela aparecera urn grande quadrado em cute vertice superior esquerdo localiza-se 0 cursor piscando.
41
Experimente pressionar as teclas de seta e observe como o cursor se movimenta.
Pressione agora a barra de espaeo e uma seta qualquer.
Note que 0 lugar que 0 cursor estava ocupando flcara em branco. Isto significa que aquele ponto estara apagado na figura 10 que estamos criando. Tabela 3,2 - Fi~uras do HOT-LOGO
••• .
•••• ...
••
..
•
•
•
•
••
••
•••
....
••••• ......
••••••• ........
• • .. ...
•••• .....
•••••• ... _ ....
... ..
• •
.-iiii----- .iii:ii.
I ••••
••• • •••
... . ...
••• •• • ••• .. .. . ...
• •••••••••
· .
• •••••••••••
• •••••• • .1
. ...•......••••. ................
· ................
ill .
.. . .
I " •••• ••
• •• II
· .. . ..
•• •••• .1 •••• I. ••••• • a •••••••• ' ••••
•• •••••• • ••• .. ... .
.1 •••••••••••••
.............
o - Crrculo 1 - Co~a~ao 2 - Gato 3 - Cacho~~o
................ ..................
•••••••••••••••• .....••••••.•...
•••••• •••••• . .. . ..
:
•••••••••••••••• ...... . ...
•••••• • ••• ................
•••••••••••••••• ............•...
• •• 11 •••• ' ••••••• ....... . .....
...... 1111 ••••••
••••••• .lilli •••
....... . .
.......... . .
....... . .
..... . .
.... . .. .... . ..
::: .. .. :: ::: .:': ::.::
••• ••• • •••• ... ••••..... ..
................
.... .
.... .
................ ••••••• ••••••• ••••••• •••••••
•••• ••••••• •••
.... .
•••• ••••••• •••
••••••• •••••••
....... .
••••••• •••••••
4 - Caminhao 5 - Foguete 6 - TIJolos 7 - He Li c dp ,
••••• ••••••••••
... .
••••••• • •••• .. .. .. .. ....
•••••••••••••••• ........... . ..
•••••••••• • ••
...... .
:: : : :::
•• :=
••• ... . ..... .
••• • •• II ................
• ••••••••••••••• .......•........
•••••••••••••••• ..............•.
.. ' .
.......•.......•
• ·
: : : : : : : ::
• •• •
· . . ..
I • • ••
................
• •••••••••••••••
....... . .
•••••• • ••••• •••••• • •••••
...... '. . .
.... .
••• • •• •••• • ••••
•••• • •••
•••• • •••
•••• • •••
••••• • •••• ••••• • •••• ••• •• •• • •• •••••••••••••••• .............•..
8 - Locomotiva 9 - Vagao 10 a 35: 36 a 59:
Quad~ado ch~lo Td~ta~ugas
Para treinar um pouco tente fazer a llustracao '(a) da figura 3,6,
Figura 3,6 (aJ
42
(b)
(e)
(d)
Podemos ainda apagar toda a figura 10 pressionando as teclas CTRL e K simultaneamente.
Quando voce terminar sua .. obra de arte ", saia do modo de edicao de figuras apertando a tecla ESC.
Para voce visualizer a figura crlada comande at e em seguida mudefig 10.
Para apurar seu sense artistico tente tarnbern fazer as ilustracoes (bl, (c) e (d) da figura 3.6. Para tsso, siga os seguintes
passos:
,..g dt edf'ig 11 Copie a llustracao B e tecle ESC. edf'ig 12
Copie a ilustracao C e tecle ESC. edf'ig 13
Copie a ilustracao 0 e tecle ESC.
Para" charnar " as figuras criadas, comande: at .. udef'ig 11
..... def'lg 12
.ud.,f"ig 13
OBJETOS HOT·LOGO
o HOT-LOGO e uma linguagem facil, simples e interessante para a exploracao de jogos, qraficos e geometria. Mas seu poder nao para ai, Como no HOT BASIC, a HOT-LOGO manipula mimeros e cadeias de caracteres atraves de palavras e de listas compastas de palavras. NLimeros, palavras e listas sao chamados de OBJETOS HOT-LOGO.
Em HOT-LOGO uma palavra e uma sequencia de caracteres sem espacos. Uma lista e uma sequencia de palavras au de outras I istas.
Enquanto no HOT BASIC uma cadeia de caracteres deve ser manipulada caracter per caraeter, no HOT-LOGO pode ser manipulada como um todo, au palavra par palavra, au alnda caracter par caracter.
Como jii vimos, a HOT-LOGO superpoe duas telas, a de texto e a gratica. Para rnanipular os OBJETOS HOT-LOGO usamos apenas a tela de texto e para tanto tiramos a tartaruga edt).
Para escrever na tela quaisquer OBJETOS HOT-LOGO, usamos 0 comando prirnltlvo escreva (esc). Digite, por exemplo:
43
Alii
o resultado apareee na linha seguinte:
Repare que as aspas sao obrigat6rias antes da palavra para que 0 HOT-LOGO nao as eonfunda com nome de procedimentos.
Quando usamos numeros, as aspas sao desnecessarlas. pois HOT-LOGO nao aceita proeedimentos com mimeros como nome. Par exemplo, digite:
esc 4:5
Vamos agora, par exemplo, trabalhar com uma lista de anirnals. Para lsso, digite;
atr Uani.al. ~gato cachorro -) pato •• po]
o comando prtrnltlvo atribua (atr) rotula com um nome um espaco na memoria do HOT-LOGO. Com este cornando. aeabamas de reservar uma "gaveta" de nome animals, onde foi arrnazenada a linha [gato cachorro pato sapo]. Veja a figura 3.7.
Figura 3.7 - "Gaveta",
[gato cachorro pato sapo J
Para vermes, na tela. a conteudo de tal gaveta pedimos ao HOT·LOGO:
o resultado e:
gato cachorro pato .apo
44
N ere (I USD de do i s POrlitos l: JI po lis sa CQ m~llI!d~,srseimQS ;;:10 ,HOT-tOGO eSC "sntrnals, lerU£lJfii,QS como resultado natela 3 pa lav ra a II! i m a is e nio " (;o!liJ~euda da 'g ~Vli:lt2i1 chi amada ani mars.
Podemostambem '(;01'1 cate n~r pa Ilaivr.ascomo can't eudo de urns II lsta. Co rnande, p ~r exe mp le:
o nl'sUI.itadoe!
~o ~1.'iI ~"030-
g~t~ c~chor~D ~~to •• po
10 ueo d~ b1:lrr8 invertid€il r'J permlta triElltalr ii!:l' siniFlill de iilgu,al (=) como urn caracter normai a niio, como urn compa~aclor. p,ara, Obtl~::r a pal,i;1j\l'lra entmats Eli a saida da :I:~st;a anilmai.s nUfI1:!IJ rn es rn a Ii 111 11211, linti 1 ~:z€t pall'!!nrteses;
~n~.~~.~ a~to c~~ho~rD p~~g -) ji,IIPO
~ imp arts ntl'! sa ~ hlmt.a1rq u e Oltlfi bu.ilI p e rmrte arm a2!eIil2l1l' qUla~quer OBJETO Hor-LOCO.
0$ Ci(lm~ndos primitiv'Os ,prjmelro (prU, o~timo (u'il]. rsre~'Fl.' meiro (5;pll~ selfH!ll:tim~ (suI,. 11;!1,ementfl' e: nUm1lU~~BIiIIl 1[II1BU nos dao tnnmeres p~!5sibil~d'adesdfJ manilpuhu;:,a,o dc~ objetos. Siio 'IoI,i!ili~
destanto IP,a,ra ll sta 5 C~ me Ipara pa 1~~lr.as. .
V,ejam:I:l<S! alguns .exemplos utili;!::eilflldo como 'tH'Itrada 0< conUlludQ da mga'l.rieta: ~ de nome anlmais atribuida antertermente.
o 1'~:3:lu~tado c'~~reSFHH'Ide aD p,dm~lro e~~emento da llsta an·i:· m"~:s:
Agora digite.:
ESC ult= .. nl.ais
A res posta e 0 ultimo elemento da lista:
SOlPO
Tente agora:
o resultado deve ser 0 elemento ruimero 2 da lista animals.
cachorra
Comande agora:
A resposta deve ser 4, pois trata-se do nurnero de elementos existente na lista animals.
Vamos agora atribuir e rotular uma outra gaveta na mem6ria do HOT-LOGO:
Armazenamos na gaveta A a palavra LOGOMANIA. Note que o HOT-LOGO aceita letras rnaiusoulas como nome de varlavels apesar de nao aceita-las em seus comandos.
Se quisermos ver na tela 0 ultimo elemento de A faremos:
Se quisermos 0 terceiro elemento de A:
ESC prj sp SP = A
au
ESC Ele~ento 3 =A
Imagine agora se pudessernos digitar um comando e obter na tela as seguintes saidas:
45
LOGOMANIA LOGOMANI lOGAMAN ILOGAMIA lOGOM l.!OGO
LOG
lO
l
ou
A
III.
NIA
AN'IIIA.
MAN~'A. OMANIA (~OMANIA OGOMANIA IlOGOMANIA
P,ar,aJ ee obter esses resu hados. 0 HOT ·lO G 0 usa dOli S lP~iIJ. ted! mentes rn u 1110 sl m pI G'S. \11;1 mes bal~il,"hl's de h;iallligiu lar1 iI;! f:~~anllilh:I1'.2'.
'h:llr'lloS ens i n'I.Cllr 0 plr{l eed i mei1l~o lJ'h:w,g;u'I';m11;
.p' t,l'" I a!n.1iIull ... t InQ.e
~.~. = !l'O." - .N! ['p •. I'""R J
.·'Sc !!,no ••
t!'" l ;!!J!flIlJjjJ ~ <l!lr' t ~YI ~ .n"!:IlaR "'11.
Ap'p9 ~reSi:sio,"alr IESO pElIrB SSllir do 0001:1:01 de edi~.io ,e limpsr atel a eom ~H: d,i9 nte:
'tl" ! IIJfi!IiI!UJ it iIIi.-l "'LODOHAHIAI ou.
Itr ,ian!lliu 1 ... 1i" iI. ,t.
Veja '0, resultado.
r es~:e eSiS:e' ;p rocedhll1e!'l~Q tamb~ rn com OIJ trs s pa~a,:vras. POI" Bxemlpio:
t: II'" II al!l!l!lu I· .... :l. ....COi"P !lJITADo:R' ~ H'O'liBI- ~. :n
~p tli"'."gq~.r2 ~no •• 5'!It ; pf:ill.· ... •• [p.r.:JI
It I!" 'an g'u'l ::III" 2: .pl nlO_,_ •• £ Ina.i.
""hil
Para vi sua ltaa r aseglii n t:h)1 I~esu~t:ad:lill preeeda da m 6lS mal m ~ neir3 q,uea ,eXfJtlllltada em ·lriliiUlgumar1.
N~o~e Qlue 'COrni peq'lUII1.:!IS mudanaas no, p~ocedim:ento I(!'btemes resultados mumto di~erent~s.
Vejamos um exemplo simples usando procedimento de listas (Iembre-se que Iistas devem vir sempre entre colchetes).
ap su.indo :~~a~e
SR :F~aSR =[] (pa~e]
su.indo su I~~ase ~i.
Digite:
su.lndo [EU VOU SUHIR AGORAJ-)
Como resultado voce deve obter:
EU YOU SUMIR AGORA EU YOU SUMIR
EU YOU
EU
OS OBSERVADORES
o observador e urn recurso muito poderoso do HOT-LOGO.
Permitindo urn modo de proqrarnacao que funciona independente de todo 0 procedimento em execucao. Ele fica atento a determinados acontecimentos e, assirn que as detecta, executa uma lista propria de instrucoes.
Temos dois comandos primitivos que produzem observadores: em.colisao e quando.
Os observadores do comando em.colisao, vigiam colisao entre tartarugas e as do comando quando observam a producao das occrrenclas de acordo com a tabela 3.3.
Tabela 3.3
N6MERO OCORR!NC'!
0 a p r 0 I( r m a d am e n te urna vel ~ 0 r segundo
1 pr.ssiio d e uma lee"
2 pressiio do be tao do j 0,5 tick 1
3 pressao do botao do jOJstick ;:
'I movlm.ntc do J 0 1st I c k 1
5 mavlm.nlo do j (J , I; t jell: ;: Para desativar os comandos em.eollsao e quando usamos elobs (elimine observadoresl au rg (restaure graficos).
Para exemplificar. vamos definir urn procedimento chamado demobs. Sua funcao sera vigiar 0 teclado. Toda vez que uma
48
teela ~Ilr presstenada, sora desenhade urn sel e com e comandUlI toque SIEm':! pfoduzido urn lOom sequencral.
Den a fo rma. dig tta:
.p dle.Db ..
Fill .t t !!'ludec: £!' i qu'.nd,o i ['_'E11 J f"ill!!l
ap IIIC!11 t.1l'
.,t!'" .... 1 1
.t" "'r9 &e,
F.P~t. 72 tr.~a II I~ .tr d1-J ~1+~ at~ ~¥ 1~.45J
,. I! II!!
'ap ... I CI 11 ~ .l' un
IPf' ,;!e' .,11'1::1'.1:'1 ,_ 'I
lul
pf' 5,.
t oqluli!! :It 11:,,, lUI I.
qn pI: ;t8
pd 5 ul
r ilii
C'omandre
e vej,a (I eFeito pI"'Od'iJ~idol.
IPara e ~ I m ln ~r ta I efe i ~o. coma nde le,I'obs: ~ u 1'19' mea me qu e !.I()~ nlJo aossa VitlUit,uz81i 0 que teclou.
o ~rocedimento ~D'ke,. deHnido al seg!!Jir, observa a t;oUsao eli1trl[! duJ~'s tartelNJgas e quando 165(1 aeonteee, Ie escrtta a palalJra HOT~lOGO;
~p MIil'Ii. Ir"li!
"lot:
I.U,i!I.,C f '1
.. ta.t, • pd 9'., .1II,dect II •
• t at 1 IP~ " •
• u,d.'c,t :I a
.t ii!lt 1:. 1 J ,1IIOt un, p' 1 • • udle .... ltl ,2_
ei!!i _ colll'i!iiIlia • 1 '1:." I'_Qd'.C!JIF'.a,~ J If' (liI.. 12:1 •• c [,1'1:0'1' L..'(U~OJI]
1'1.
Note '0 1.1501 do conH:l[1do mUd8GUrSOr 'qUI:! coloca e CliJlisor n a [II nha e eolun a especH~ cadas.
P,lIIr<! de,sativall' 0 comando 8D1M;:ol'isi.iol dlgit,ee:I'oIb5 au II'\g.
0\6 OPEIIflADORES MATEMIATICOS
Os IOJ)'~radores iTUiltemlliticos bliilsicos d'o HOT·tOGD :s,io: *. +. /. e '-. Com elee pod,gmOl!I, uti[lizar 0 ,compl.I~ador como uma ca leu ladora.
VeJamo,s como llsa·los na tabela J..4.
lobe'IEi 3 4 - OpaflltiO'rn Mat>lImlitiOO:!l
,
O~'EfUD:O~ fUNi;IQ [ EIIEf.1FlUI ~E5POS~'lI,
I
• P""ililll!l IUle :u-s H"
+ !\dido ~ ,,1: 2 .. 5 '1
I [] ~ ~ 1'5,10 1'1 e il!5/5 I~
~ !iLi ~ ~ r n lio !~~ 2:5-1'~ I~ as resultados dills opera'itoes t,illFl'llbdm podle.m ser usadns como leil1t!l'ada pa ra eutros coma "doe. POor I:Ixemplo:
p~ 31) '. '2 p' t ," 'q 2:::U'.
0. ope'radoil' Irq f,lii'oduz OOITiOI Ii'Bsl.:III'lado a ral,z quadrada de num(ll'io, Indlca,do.
o o,per,ador' sen produz ceme reeultade 0' ,seno do numera indh:ad,o tom ado como valoll' d;o angu~,o, em grraus ..
EJdstem alnda outro~ oper,adores martemtitlc[ls tala como a~. quOCi!enhl', $Olillla. eu;. Para tanto consulre ,i Iistag,em dlls cemandos no fl nal dess'El cap:lwlo.
A I'~m des m atema'tlcos, d isplJlm [l'S Iii 01 HOl,·LOGO d'i:iiSi ope. radores 16{11iCiOS 'que nos permltern c;omparar' nUlIflifllrOS Otl el<pf,es;. soes. IEles SliD apresE!ntados ria ~abella, 3 .. 5.
ObservaQD es~
1: - (,11 Icomlpal"ador == pode ser usado com qualql.ler 08JE'lrO HOT~LOGO (num:eros, pallavt,as ill' lisms).
'2 - Os Oil m,p,Bradil res ::> • < e =: norm allD'lenre sao uti iii· zado,s dentro ,de' progt'amas juntamel'll'te eom I) operBl,dor condlr:. clonal 51B, eorno hi vlmna em exemples anteriorEls.
50
3 - as operadores mate maticos e 16gicos sao simbolos reservados pelo HOT-LOGO, portanto nao podem ser utilizados como caracteres comuns.
Por exemplo, digite:
esc II.
e obtera como resposta a seguinte mensagem:
NaD ha entradas su~iciEntes -) para *
Agora digite:
esc ",.
A resposta agora sera:
•
Tabela 3. 5 - Ope rado res Log icos
OPERAOOA [)(U1PLOS RE2POSTA fLlNe'l]
= esc le=3+7 VHd rndlc~r vera ~. a elpres-
) e.c 10)5 lalso sao for v e r e a c e l r a " '.150
< esc i e cs v!'rc C3S0 c c n r r a r r n . Conforme jii vimos, a barra invertida ("-1 permite usar as caracteres reservados como se fossem caracteres normals,
GRAVACAO E CARREGAMENTO
Todos os procedimentos, varlaveis e figuras que definimos no HOT-LOGO, sao guardados em urn local denominado espaco de trabalho (memoria livre do computador).
Ouando desligamos a computador todo a conteudo do espaco de trabalho e perdido e se voce quiser preserva-lo, ele deve ser armazenado em disco au fita.
Antes, porern. de gravarmos 0 espaco de trabalho vamos ver a que nele se encontra. Comande:
m,otudD
51
o HOT-lOGO mostrara os procedimentos e variavsis arrnazen ados em sua mem6ria.
Se nao quisermosgravar todos eles, devemos eliminar do espac;o de trabalho os que nao nos lnteressarn. Para tanto, usamos os comandos eln ou elns para eliminar variave!s e el ou elps para eliminar procedimentos.
Agora, tendo no espaco de trabalho 56 a que precisamos, podemos gravar da seguinte manetra:
9 r ....... et ud 0 ":NOME ou
gravetudoo::: "'NOME
o primeiro comando grava em disco e 0 segundo em fita cassete.
o nome dado para 0 arquivo e aleat6rio, porern sernpre deve vir precedido de aspas l "I.
Para gravar figuras, 0 HOT·LOGO utiliza numeros que representam a confiquracao dessa figura. Assim, antes de gravar uma figura, devemos arrnazena-la em urna varlavel.
Por exemplo, se tivermos editado urn robo na figura 10, procedemos da seguinte maneira:
Feite lsso. 0 robo esta armazenado na memoria do cornputador. Para grava-Io, basta usar gravetudo (ou gravetudoc) sucedido pelo nome que quiser dar ao seu arquivo. Nao se esqueca das aspas.
Para carreqar urn arquivo do disco ou fita para a mem6ria do cornputador, usamos, respectivamente, as cornandos:
o:::arregUR "NOME
ou
o:::arrRSlUI!:'C "'NOME
DICIONA.RIODO HOT·LOGO
ENTRADAS
A seguir sao relacionadas varlas palavras, simples au compostas, sem qualquer espac;o entre seus caracteres. Nos diversos comandos e operacoes do HOT-LOGO cada uma dessas palavras representa umaentrada necessaria a sua slntaxe,
52
CANAL: um inteiro de 0 a 2.
CARACTEA : uma letra do alfabeto. Um numero ou um sinal de pontuacao,
COLUNA : um nurnero inteiro de 0 a 28.
CORNUMERO: um nurnero intelro de 0 a 15. 0 HOT~LOGO aceita nurneros maiores, divid indo-os par 16 e uti iizando 0 resto como nurnero de entrada. Exemplo : se 0 nurnero for 16 0 resto sera 0 e entao este sera 0 nurnero utilizado.
DEC: um nurnero decimal inteiro de 0 a 255. ENDEREQO : um nurnero inteiro de 0 a 65535.
FJGURALISTA : Jista de 32 numerus que representam a forma de
urna figura de tartaruga.
FREQUENCIA : um nurnero de 40 a 4095. JOYSTICKNUMERO : 0 inteiro 1 au 2. lINHA : um nurnero inteiro de 0 a 23 ..
USTA : in+orrnacoes contidas entre colchetes, LlSTAINSTRUQOES : lista de procedimentos executavels pelo
HOT-LOGO, entre colchetes.
lISTANOMES : llsta de palavras que nomeiarn procedimentos., variaveis au llstas de propriedades. Deve estar entre colchetes ..
USTANUMEROTARTARUGA: lista de nurneros intetros de 0 a 29, entre colchetes.
NOME : palavra que denornina um procedimento, uma vartavel au uma lista de propriedades.
NOMEARQUIVO : palavra unlca que denomina um arquivo. A palavra pode ter no maximo 8 caracteres para disco e 6 para fita-cassete. Nao pode incluir pontos au virgulas e deve ssr precedida de aspas (").
NOVONOME : palavra uttlizada para denominar um novo procedimento.
NUMERO : um rnirnero qualquer.
NUMEROFIGURA ou NUMERONOVAFIGURA : um inteiro de 0
a 59.
OBJETO : pode ser uma palavra, uma lista ou um rnirnero. OCORRENC1ANUMERO : urn lnteiro de 0 a 5.
PALAVRA : uma sequencia de caracteres sem espacos, PORTA : um ruimero de 0 a 255.
PRED : predicado, e uma operacao que produz como salda a palavra "fa lso " ou "verd",
53
PROP: palavra que denornina urna propriedade. TARTARUGANUMERO : urn inteiro de 0 a 29.
TEMPO : urn inteiro que varia de 0 a 255 (60 equivale a 1 se-
gundo).
SOM : um inteiro de 0 a 31. VOLU ME : um i nteiro de 0 a 15.
X ou Y : ruimeros que representam as coordenadas x ou y.
apaguetexto
Apaga todo 0 texto da tela.
(apaguetexto = att)
COMAN DOS PRIMITIVOS E OPERA<;:OES
algum PREDt PRED2
I nd ica "verd " se a Iguma das suas entradas for verdadeira e
"false" se todas as entradas forem falsas. Exemplo: aprenda teste :x
se algum :x>3 :x>7 [esc [maior que 3]] [esc [menor que 3]]
apaguedesenho (apaguedesenho = ad)
Apaga a tela grafica sem alterar a poslcao da tartaruga.
aparec;atat (aparer,;atat = atl
Torna visfvel a tartaruga ou as tartarugas que estao sendo usadas.
aprenda (aprenda = ap)
Perrnite que ensinernos novas comandos ao HOT-LOGO ativando 0 modo de edlcao. Para sair do editor pressione ESC. Exemplo:
ap quadrado
arctan N U M ERO
Signifiea areo tangente, produz um valor em graus (-90 a
90) da tangente do ruirnero. Exemplo: esc arctan 20
arquivos
Lista todos os names contidos no arquivo em disco. Equiva-
54
Ie a mostrar 0 indice dos arquivos ou diret6rio. Exemplo: arquivos
arredonde NUMERO
Arredonda 0 valor de urn numero para inteiro. Exemplo: esc arredonde 2,7
ascii CARACTEA
Produz 0 numero correspondente ao codiqo ASCII do caracter em questao. Exemplo:
esc ascii "c
atencaotat NUMEROTARTARUGA
atencaotat LI STAN U M EROT ARTARUGA (atencaotat = atat)
Ativa a tartaruqa ou tartarugas que obedecerao aos comandos subsequentes. Exemplo:
atat 0 pf 50 atat 1 at pt 50 atat 2 at pd 90 atat [0 1 2] rep ita 4 [pf 20 pd 90]
atribua NOME OBJETO (atribua = atr)
Cria uma gaveta na memoria do computador que armaze-
nara objetos HOT-LOGO. Exemplo:
atr "cor [amarelo azu I branco] atr "A 1 0
atr nome" Maria
aumentelimite (aumentelimite = al)
Estabelece uma modalidade qrafica em que a tela constitue uma janela muito maior, nao permitindo que visualizemos a tartaruga fora dos limites da mesma.
cada LIST AINSTRUCOES
Permite que cada tartaruga ativada execute sequenclalrnente a lista de lnstrucoes. Exemplo:
pe 90 atat 1 pd 90 dt
atat [0 1] cada [repita 360 [pf 0,5 pd 1]]
caractere NUMERO (caractere = car)
Produz como saida 0 caracter, cujo c6digo ASCII se espect-
55
fica em NUMERO. Exemplo.: esc car 65
care.ntrada (car. entrada = care)
lnterrornpe a execucao do procedirnento, se for 0 caso e espera uma entrada via teclado (1 caracter). Exemplo:
esc care (e digite qualquer tecla)
(esc [eu pressionei] care)
carimbe
Carimba na tela uma c6pia da figura da tartaruga ou tartarugas ativadas na posicao que elas se encontrarem. A figura carimbada tera a cor do lapis que estiver sendo usada. Exemplo: carimbe pf 50
rep ita 18 [carimbe pf 20 pd 20]
carimbetudo
Carimba a figura da tartaruga ativada com a cor do lapis per toda a tela. Se quisermos carimbar a figura da tartaruga dentro de uma regiao limitada. basta coloca-la nesta reqlao e nao deixa-la sobre 0 limite. Exemplo: se quisermos um quadrado carimbado com a figura 1.
repita 4 [pf 80 pd 90]
pd 45 un pf 10 ul mudefiqt carimbetudo
carregue NOMEAROUIVO
Carrega 0 arquivo NOMEAROUIVO do disco para a area de trabalho (mem6ria do cornputador}. Exernplo:
carregue ~ trabalho
carreguec NOMEARQUIVO
Significa carregue cassete. Carrega 0 arquivo NOMEARQUIva da fita cassete para a area de trabalho. Exemplo:
carreguec .. trab
Observacao: E i mprescindive I que a tecla PLAY do gravador esteja pressionada e que a arquivo NOMEARQUIVO exista, pais senao 0 HOT-LOGO ficara procurando-o indefinidamente.
carreguedes NOMEAROUIVO
Significa carregue desenho. Carreqa a desenho NOM EAR-
58
QUIVO do disco para a area de trabalho. Exemplo: carreguedes "carro
coloque OBJETO NOME (coloque = col)
Cria uma vartavelanaloqa ao atribua porern, com as entra-
das invertidas. Exemplo: col 10 "A
col "Maria "nome col [ abc] "Ietras
coloqueprop NOME OBJETO
Cria urna gaveta com a nome da propriedade que armazena
um valor. Exemplo:
co loqueprop "zerar "can 0 ap contar :con
S8 : can> 10 [esc: con atr "con prop ~ zerar "con esc: con] [mo :con contar :con + 1]
fim
com i mpressora
Ativa 0 canal de salda da impressora. Use-o apenas se vocs tiver uma.
congele
Suspende a velocidade da tartaruga ou tartarugas ativadas ate que se descongele. Exemplo:
mudevel 20 congele espere 90 descongele
conteudo NOME
Indica 0 conteudo da varlavel NOME. Exemplo: atr "forma "trianqu 10
esc conteudo "forma
trlanqulo
coorx
Significa coordenada x. Indica a coordenada x da tartaruga em uso. Exemplo:
pd 90 pf 70 esc coorx
coary
Significa coordenada y. Exempla: mudey (coary + 30)
57
copiafig NU M EROFI G U RA N U MERONOVAFI G U RA
Significa copla figura. Copia a figura especiftcada em NUMEROFIGURA para ser a figura de NUMERONOVAFIGURA. Exemplo:
copiafig 1 15
Observacao: agora a figura 15 sera tarnbern um coracao.
cordefundo
Indica cor do fundo. Exemplo: esc cf
(cordefundo
cf)
copie NOME NOVONOME
Faz uma ccpia de modo de edlcao do procedimento NOME com NOVONOME. Exemplo:
copie "quadrado U quadrtlatero
Observacao: 0 procedimento quadrado deve ter sido definido anteriormente.
cordebaixo (cordebalxo = cb)
Indica a nurnero da cor existente sob a lapis da tartaruga.
Exemplo:
esc cb
cordolapls lcordolapts = cl)
Indica a cor do lapis que a tartaruga esta usanda. Exemplo: esc cl
cortat
Indica a cor da tartaruga ativada. Exemplo: esc cortat
cos NUMERO
Significa cosseno. Indica 0 casseno de NUMERO em graus.
Exemplo:
esc cos 60
criafigl NUMEROFIGURA FIGURALISTA
Significa cria figura lista. Concede a NUMEROFIGURA. a
58
forma definida em FIGURAUSTA. Veja expllcacoes de listafig. Exemplo:
criafigl 10 listafig 3
Observacao: tara com que a Figura 10 tenha a mesma forma que a Figura 3.
cursor
Indica a poslcao do cursor na forma de uma lista [x y].
Exernplo:
esc cursor
defina NOME LlSTA
Define urn procedimento sem entrar no modo de edic;:ao.
Exemplo:
defina "clrculo [[] [repita 360 [pt 0,5 pd 1]]] cfrculo
Observe que 0 HOT-LOGO exige que a primeira lnstrucao da lista seja 0 nome da entrada do procedimento. No caso, como circulo nao exige entrada, a primeira lnstrucao e uma lista vazia.
desaparecatat (desaparec;:atat = dt)
Torna lnvisivel a tartaruga ou tartarugas ativadas.
descongele
Desativa 0 comando congele, fazendo com que as tartarugas voltem a ter a velocidade definida no comando mudevel.
diferenc;:a NUMER01 NUMER02
Indica 0 resultado da subtracao dos nurneros lndlcados.
Exemplo:
esc diferenca 50 10 esc - (diferenr,;:a 10 50)
dire~ao Idirecao = de)
Indica em graus e no sentido horarlo a orientacao da tartaruga em relacao a sua direcao original que e a norte. Exemplo: de;:
rnudedc 50+dc;:
direc;:aopara [X YJ
Indica em graus 0 giro a ser dado pela tartaruga para apontar
59
o ponto [X Y] a partir do norte. Exemplo: esc dlrecaopara [20 20]
dlstanela [X YJ
Indica a distancia entre a tartaruga ativada e a poslcao [X V]. Exemplo:
esc dlstancia [25 30]
e PRED1 PRED2
Indica "verd " sempre que todas as entradas forem verda-
dei r as e "fa I so" qu ando u ma del as fo r fal sa. Exem pi 0: ap inter :x
se e .x > 10 :x < 20 [Iesc :x [pertence ao intervalo]) pare]
(esc :x [nao pertence ao intervalo]) fim
edHg NUMEROFIGURA
Significa edite a figura. Coloea a figura NUMEROFIGURA no modo de edicao de fiquras. Exernplo:
edfig 10
edite NOME ou lISTANOMES fedite = ed}
Entra no modo de edicao de procedlrnentosvldentlco ao do eomando aprenda s6 que admite a edicao de um ou rnais procedimentos. Exemplo:
ed "desenho1
ed [desenho1 desenh02 desenh03]
edns
Signifiea edite names .. Coloca no modo de edlcao todas as variaveis ja criadas.
elemento NUMERO OBJETO
Indica 0 elemento que esta na poslcao NUMERO em OBJETO.
Exemplos:
esc elemento 3 "Maria
A resposta deve ser r, pais se trata do elemento nurnero 3 de Maria.
esc elemento 2 [Ana Maria da Silva]
60
A resposta deve ser Maria. pais se trata do segundo elemento da lista.
eJimine NOME ou LlSTANOMES Elimina da area de trabalho eados. Exemplo:
el "circulo
(elimine = el) o(s) proeedimento(s) especifi-
eliminearq NOMEARQUIVO
Signifiea elimine arquivo. Apaga do disco 0 NOMEARQUIVO.
Exemplo:
eJiminearq .. arqulvo i
eln NOME au LIST ANOMES
Signifiea elimine nome. Apaqa da area de trabalho 0 NOME ou LIST ANOMES de variavels espeeificadas pelos eomandos atribua e coloque. Exemplo:
atr "cor [azu 1 amarelo bran co] el n ~ cor
elns
Signifiea elimine nomes. Apaga da area de trabalho todas as variaveis.
elps
Signifiea elimine procedimentos. Apaga todos os proeedimentos da area de trabalho.
eltuda
Signifiea el im i ne tudo. Apaga da area de trabal ho todos as proeedimentos, variaveis e propriedades. Deve ser usado com mu ita atencao.
em.colisao TARTARUGA1 TARTARUGA2 LlSTAINSTRUCOES
Ativa um "observador " que ficou atento a uma colisao entre as duas tartarugas determinadas. Quando elas se chocam executa a LlSTAINSTRUCOES. Veja explieac;6es de observador. Exemplo:
ern.collsao 0 1 [mudevel 50]
envie OBJETO
Detern 0 procedimento em curse e envia 0 resultado para
61
o nivel superior. Deve-se usar dentro de procedimentos. Exemplo:
ap en
envie .. Maria tim
ap Frase
(esc [eu me chama] en) fim
escreva OBJETO
Imprime 0 OBJETO designado
linha seguinte. Exemplos: esc 1
esc" Maria
esc [eu sou uma lista]
Ohservacao: Este comando s6 permite uma entrada porern. podemos amplia-lo usando parenteses. Exemplo:
(esc "eu "sou Maria)
(esc "ola [eu sou 0 HOT-LOGO])
(escreva = esc) na tela e coloca 0 cursor na
espere NUMEAO
Provoca uma pausa na operacao, cuja duracao sera NUMERO 60 avos de segundo. Exemplo:
espere 120
Deve provocar uma pausa de aproximadamente 2 segundos.
falso
Indica a paJavra reservada "falso ",
fa~a lISTA
Manda executar as instrucoes que estiverem em LlSTA.
Exemplo:
faca elemento 2 [[pf SO] Cpt SO] [pd 90] [pe 90]]
fig
Indica 0 numero da tartaruga em usa. Exemplo: mo fig
62
tim
E usada para determinar a fim de urn procedirnento enslnado pelo coman do aprenda.
gravedes NOMEAROUIVO
Significa grave desenho, isto e, armazena a imagem da tela no arqulvo NOMEARQUIVO. Exemplo;
gravedes "dese1
gravetudo NOMEARQUIVO
Grava todos as procedimentos, variaveis. propriedades que estiverem na area de trabalho em um arquivo de disco denominado NOMEARQUIVO. Exemplo:
gravetudo "arqu ivo1
gravetudoc NOMEARQUIVO
Grava tudo que estiver na area de trabalho em um arqulvo de fita cassete chamado NOMEAROUIVO. Exemplo:
gravetudoc "arq1
Observacao: NOMEAROUIVO s6 pode canter 6 caracteres,.
Nao aceita virgulas, pontos ou espacos em branco.
int NUMERO
Indica a parte inteira de nurnero. Exemplo: esc int 3.7
inverta
Substitui a figura da tartaruga em uso pelo desenho que estiver sob a mesma. Deve-se tornar muito cuidado para usa-lo pois, se a tartaruga em uso for de nurnero 36 a 59, rnudar-se-a a sua conflquracao e nao poderemos rnais te-la de volta.
t aconselhavel usar 0 comando inverta apenas com as figuras de 10 a 35 e quando a area sob a tartaruqa nao estiver em branco. sense teremos urna tartaruga i nvisivel.
joy JOYSTICKNUMERO
Indica um nurnero de 0 a 8, que se refere a poslcao atual do joystick. Exemplo:
esc joy 1
juntenofim OBJETO LIST A (juntenofim = jf)
Acrescenta urn OBJETO no fim da L1STA indicada. Exemplo: rna jf "seis [quatro cinco]
Deve resultar em [quatro cinco seis].
63
juntenoinicio OBJETO LlSTA (juntenoinfcio ji)
Acrescenta urn OBJETO no lnicio da LIST A indicada.
Exempla:
rna ji [urn] [dais tres ]
Deve resultar em [[urn] [dais tres j ],
Iiberemem
Significa libere memoria. Rearranja a memoria do computador, crianda rna is espaco.
lin.entrada (lin.entrada = line)
Interrompe a execucao do procedimento, se for 0 caso, e espera uma entrada via teclado, devolvendo uma lista depois de pressionada a tecla RETURN. Exemplos:
mo line
esc line
lista .. 0 BJ ETO 1 OBJ ET02
Indica uma lista formada por suas entradas. Se as entradas farem duas palavras, forrnara uma lista com as duas porern, se as entradas forem duas listas formara uma terceira lista contendo as duas primeiras. Comando similar a sentence. porern conserva as colchetes das entradas. Exemplos:
esc (Iista .. eu .. sou .. uma .. lista) esc linha [eu sou] [uma lista]
Observacao: usando 0 parenteses podemos utilizar lista com mais de duas entradas.
listafig NUMEROFIGURA
Produz uma lista de 32 elementos que representa a configuraC;ao da tartaruga NUMEROFIGURA. Utilizado na crtacao de figuras por lista normal mente com a criafigl. Exempla:
atribua .. coracao I istafig 1
memlivre
Signifiea memoria livre. Indica a area de trabalho disponfveJ.
mons
Significa mostre nomes. Imprime na tela 0 nome e a conteudo de tadas as variavels armazenadas na area de trabalho.
64
moobs
Significa mostra observadores. Mostra todos os "observedores " definidos pelos comandos em.collsao e quando. Veja explicacao de observadores.
mop NOME lISTANOMES
Significa mostra procedimento. Mostra 0 procedimento NOME ou os procedimentos especificados em L1STANOMES que estiverem na area de trabaJho. Exemplos:
mop .. circulo
mop [circulo quadrado retanqulo ]
moprop
Significa mostra propriedades. Mostra todas as propriedades incluidas na area de trabalho.
mops
Mostra procedimentos. Exibe na tela todos as procedlrnentos incluidos na area de trabalho.
mostra OBJETO (mostra = rna)
Mostra na tela 0 OBJETO especificado. Se for uma lista conserva os coJchetes. 0 cursor e colocado na linha seguinte. Exemplo:
atr .. cor [azul arnarelo verde] mo : cor
Deve resultar em [azul amarelo verde].
mostrearq NOMEARQUIVO
Significa mostre arquivo. Mostra 0 conteudo do arquivo de nome especificado por NOMEAROUIVO que esteja armazenado em disco. Exemplo:
mostrearq .. meuarq
mots
Significa mostra tftulos. Mostra a nome (titulos) de todos as procedimentos incluidos na area de trabalho.
motu do
Significa mostra tudo. Mostra todos as procedimentos, varlaveis e propriedades incluidas na area de trabalho,
65
mudecf CORNUMERO
Signifiea mude cor do fundo. Muda a cor do fundo para a CORNUMERO especificada. Exemplo:
mudecf 1
mudecl CORNUMERO
Muda a cor do lapis da tartaruga au tartarugas ativadas para a cor especificada em CORNUMERO. Exemplo:
mudecl 3
mudecor CORNUMER01 CORNUMER02
Troea a cor do qrafico desenhado na tela e do texto da CORNUMER01 para a CORNUMER02. Exemplo:
mudeeor 15 8
mudect CORNUMERO
Muda a cor da tartaruga au tartarugas para a cor especlflcad a em CORNUMERO. Exemplo:
mudect 8
mudecursor [COLUNA LlNHA]
Muda 0 cursor para a [COLUNA LlNHA] especificada.
Exemplo:
mudecursor [20 10]
mudedc NUMERO
Muda a orientacao (em relacao ao norte) da tartaruga au tartarugas. cctocando-as na dlrecao espeeificada em NUMERO em graus. Exemplo:
rnudedc 90
mudefig NUMEROFIGURA
Muda a figura da tartaruga ou tartarugas ativadas para a figura especificada em NUMEROFIGURA. Exemplo:
mudefig 3 .
mudepos [X YJ
Coloea a tartaruqa ou tartarugas ativadas na pOSiC;:BO [X YJ espeeificada. Nao se esqueca que a tartaruga deixa rastro, Exemplo:
mudepos [-30 40]
66
mudeproporcac NUMERO
Modifica para NUMERO 0 tamanho do passo da tartaruga no eixo x em relacao ao eixo y. 0 valor habitual de prOpOt980 e 1,1. Exemplo:
rnudeproporcao 0,5
mudeteto LlNHA
Apaga a tela de texto e fixa 0 cursor na LlNHA determinada, deixando a margem superior livre para graficos. Exemplo: mudeteto 20
mudevel NUMERO
Muda a velocidade da tartaruga ou tartarugas ativadas para o rnirnero especificado. A velocidade normal da tartaruga e a e pode variar de -128 a 128.
mudevelx NUMERO
S.ignifica muda a velocidade x. Estabelece a componente x da velocidade da tartaruga au tartaruqas ativadas fixando-a em NUMEAO. Exemple:
mudevelx 20
mudevely NUMEAO
Significa muda a velocidade y. Estabelece a componente y da velocidade da tartaruga ou tartarugas ativadas fixando-a em NUMERO. Exemplo:
mudevely 10
mudex X
Faz com que a tartaruga se desloque para a postcao X especificada. Nao altera a poslcao y. Exemplo:
mudex 30
mudey V
Mantem a posicao X da tartaruqa, fazendo com que ela se desloque para a postcao V especificada. Exemplo.
mudey 70
nurn.elem OBJETO (num.elem = nell
Devolve 0 nurnero do elemento que compos OBJETO. Se for uma lista, devolve 0 ruirnero de palavras. Se for uma palavra.
67
devolve 0 nurnero de caracteres. Exemplos: esc nel [ABCD]
esc nel "Hot
nivelinicial
Cancela a execucao de todos os procedimentos e devolve o controle ao HOT-LOGO. Exemplo:
esc [vau voltar ao Logo] nivel inicial esc "ADEUS
nao PRED
Indica "verd" se PRED for falso, ou "falso " se PRED e ver-
dadeiro. Exemplo: ap emaior :X
se nao :X>O [esc [menor que zero]] [esc [maior que zero] ]
tim
e maier 10
Observacao: Nao entre 0 valor zero neste exemplo ou ocorrera urn erro.
palavra PALAVRA1 PALAVRA2 (palavra == pal)
Concatena PALAVRA1 com PALAVRA2 sem deixar espac;:os.
Exemplo:
esc pal • Mari "ana
esc (palavra .. Ma "ri "ana)
Ambos as exemplos devem resultar em Mariana.
paracentro (paracentro == pc)
Leva a tartaruga au tartarugas ativadas para a centro da tela delxando-as na sua posi(,':ao orrqinal. Nao se esqueca que a tartaruga deixa rastro ao se deslocar.
paracentroa (paracentroa == pea)
Leva a tartaruga au tartarugas ativadas para a centro e apaga a tela grMica.
paradireita NUMERO (paradireita == pd)
Vira a tartaruga ou tartarugas ativadas para a direlta de urn numero de graus especiflcado par NUMERO. Examplo:
pd 90
68
pal'Si:!squBrda NUMERO [paraesqLlfrrda, = pel
Vlira a ta'rtll1r1uga ou tartarugillJS atlvadas para 8 esquliI'rda de urn mjmerQ de ,graus especincado par NUMERO: Ex,emplo:
pe 90
parafflll!nte NUMEAO [parafrente = pU
De s: I (lea a ~aJl"~a ru g,a au tartarugas atlvadas pa r8 f rel'lll~,e' 0 rlilmero de passoa sspi1lciiiijcado par NUMEAO. Exelmp,~o:
pf 1,00
Ipal'at11',as, NIJMERO l[p,I!!Jr'a,trolis = pt}
D'esl'oca a tall'taruga Oll tartarugas ativad<ls para trssl 0 numero de passes especilieade pair NU,MERO. Exemplo:
pt 1100
,paine
lntarrompe 01 prccedtmento ati'i,l"~Jdij'. So, S'I:!! usa denlrQ de procedlrlmen~05 •
IPWnllle'
Preenche a tela, ou parte dsla, que Bste]a llmltada corn a co~ do lapis us-ado pela t,l1!Jrtaruga. Esse cornandn SD tern efei~o se a tartalruJga nio estiver sabre' um t rliil<j 0. Exem,p,I'il':
mudecl a pllnte
ponha OBJ ETO
Mos ~ra, 08JIETO n a tel ill e eeleca Q c ursnr il,!ii mesma In ntn 8.
S8' usa do com ~I!I i s de Uma entlroda. concaeen ill sam d:ei xa r esp:a~o,. A,1iI ~l OgiD ~Ujl coma n do pa ~.elI'l;rlra. ExetrlFII.os;
pcnha " 0 lie
(pDnh~ M ola ~ 11,'0
ponhaponto [X V] (ponhapolilto,
Colocal urn ponto na eeordenade [)C, V]i. E!(emplo.: mudeof 1
pp nm 20]
posi !jl30 (pos iCi::iD == pas)
Ilndh::lt a posrC;~o a~uilll da t.artarug,aJ ,at:iv,ada Ina f'CrflillEi LX V]. bemplo;
esc pas h;; aD
primeiro OBJETO (primeiro = pri)
Devolve a primeiro elemento do OBJETO. Exemplos:
esc pri .. Logo
esc pri [gato cachorro pato]
primitivas
Mostra na tela a lista de palavras primitivas Icornandos) reservadas no HOT-lOGO.
produto NUMER01 NUMER02
Indica a produto de NUMER01 par NUMER02. Exemplos: esc prod uta 3 5
esc (produto 3 5 10)
proporc;ao
Devolve a atual proporcao entre 0 passo vertical e 0 passo horizontal da tartaruga. Exemplo:
esc proporcao
propriedade NOME PROP (propriedade = prop)
Devolve 0 valor da propriedade NOME. Exemplo:
coloque prop .. tartaruga "cor 5
esc prop "tartaruga .. cor
quando OCORRENCIANUMERO LlSTAINSTRUC;OES
Estabelece um "observador " para que execute a lISTA· INSTRUC;OES quando houver uma OCORRENCIANUMERO. Veja expilcacoes de observador. Exemplo:
quando 0 [pf 5 pd 5]
quem
Mostra a I ista de tartarugas que estao ativadas no mornento. Exemplo:
esc quem
quoclente NUMER01 NUMERO 2
Devolve 0 resultado da divisao de NUMER01 par NUMER02.
Exemplo:
esc quociente 30 5
70
raizq NUMERO (raizq rq)
Indica a raiz quadrada de NUMERO. Exemplo:
esc rq 9
repita NUMERO LlSTAINSTRUC;OES
Executa a LlSTAINSTRUCOES 0 NUMERO de vezes determinado. Exemplo:
repita 4 [esc "HOTBIT]
reproduza
Armazena a numero ou sequencia de nurneros sorteados.
Exemplo:
reproduza scrteieate 10
resto NUMER01 NUMERO 2
Indica 0 resta da divisao do NUMEROt pelo NUMER02.
Exemplo:
esc resta 7 3
retireprop NOME PROP
Retira a propriedade PROP e seu valor da lista de propriedade especificada em NOME. Exemplo:
retire prop .. zerar .. can
reti retodasprop
Apaga todas as listas de propriedades da area de trabalho.
rg
Signifjca recomer;:a graticos. Restaura a tela gratica ill sua ccndicao inicial. Apaga as observadores, as desenhos, leva as tartarugas para 0 centro e devolve a cor branca para textos e desenhos e azul para 0 fundo.
saoiguais OBJET01 OBJET02
Verifica se OBJET01 e OBJET02 sao iguais devolvendo "verd " ou "falso ", Exemplos:
esc saoiquals "A "a
esc saoiquals 2*3 6
S8 PRED LlSTA1 LlSTA2
Se PRED for "verd" executa a LlSTAl de lnstrucdes senao
71
executa a lISTA2 ou a linha seguinte do procedimento.
Este coman do deve ser escrito na mesma linha e LlSTA2 e um pararnetro opcional. Exemplo:
se postcao = [0 0] [pf 90J [pt 90]
sem impressora
Desativa 0 canal de saida da impressora.
semprimeiro OBJETO (semprimeiro :::: sp)
Retira 0 primeiro elemento de OBJETO e retorna 0 que restou. Exemplo:
esc sp "Logo
semulttmo OBJETO (sernulttrno = su]
Retira 0 ultimo elemento de OBJETO e retorna 0 que restou.
Exemplo:
esc su [HOT LOGO]
sen NUMERO
Indica 0 sene do anqulo especificado em graus par NUMERO.
Exemp.lo:
esc sen 90
sentence OBJET01 OBJET02 (sentence = sn)
Concatena suas entradas com espacos formando uma lista unlca. Retira as colchetes externos de objeto. Analoqo ao cornando lista .. Exemplos:
esc sn "a [b c]
esc Isn "a "b [c [d]])
som TOM VOLUME TEMPO
Emite urn ruldo com as caracterfsticas TOM. VOLUME e TEMPO. Exemplo:
sam 20 7 50
soma NUMER01 NUMER02
Indica a soma dos nurneros fornecidos. Exemplo: esc soma 25 36
esc (soma 20 10 40)
72
sorteleata NUMEAO
Gera urn rulrnero pseudo-aleatorlo de 0 a 1. Exemplo: repita 3 [esc sorteiate 10]
s6tat TAATAAUGANUMEAO USTA ou USTANUMEAOTAATAAUGA USTA
Permite que a TARTARUGANUMERO ou a USTANUMERO TARTARUGA executem uma USTA de instrucees. Nao altera a lista de tartarugas .ativadas pelo comando atat (atencaotatl Exemplos:
s6tat [13] [repita 3 [pf 50 pf 120]] sotat 2 [pf 50]
tartaruga (tartaruga = tat)
Apaga a tela greifica e de texto, colocando a tartaruga no seu estado original ou seja, no centro da tela com velocidade 0 e orientada para 0 norte.
temcar
Indica "verd " depois que alguma tecla for pressionada. Em caso contrario indica "falso ", Exemplo:
esc terncar
temvalor NOME
Indica .. verd " sempre que 0 nome tenha s ido defi nido como variavel. Em caso contrarlo indica "falso ". Exemplo:
esc temvalor .. nome
texto NOME
Indica em forma de lista as instrucoes do procedimento NOME. Exemplo:
rno texto "quadrado
tirelimite (tirelimite = tl)
Quando a tartaruga sai da tela, permite a continuidade do desenho no lade oposto da mesma. Corresponde ao estado normal do HOT-LOGO.
todas
Gera uma lista de 0 a 29. E utilizado para ativar todas as
73
30 tartarugas. Exemplo: atat todas pf 30
todasprop NOME
Indica uma lista de todas as propriedades relacionadas com NOME. Para criar propriedades usa-se 0 cornando coloqueprop. esc todasprop "zerar
toque CANAL FREQUENCIA VOLUME TEMPO
Emite urn som pelo CANAL desejado, na FREQUENCIA, VOLUME e duracao (TEMPO) especificados. Exemplo:
toque 2 500 10 50
troquesinal NUMERO ou NOME
Indica NUMERO ou conteudo de NOME com sinal invertido.
Exemplos:
esc troquesinal 7
en (soma 7 troquesinal 4)
useborracha (useborracha = ub)
Faz com que a tartaruga ou tartarugas ativadas apaguem as Iinha par onde passarem. Para desativar usa-se ul.
useinversor (useinversor = ui)
Permite que a tartaruga ou tartarugas ativadas tracem Iinhas onde elas nao existam ou apague-as se ja existirem. Para desativar usa-se ul. Exemplo:
quadrado ui quadrado
Observacao: 0 procedimento quadrado deve ser definido previamente.
uselapis [uselapls = ul)
Faz com que a tartaruga use lapis e deixe rastro par onde passar, Corresponde ao estado natural do HOT·LOGO.
usenada (usenada = un)
Permite que a tartaruga se locomova sem deixar rastro. Para desativar use ul. Exemplo:
un pf 100
74
vel
Significa velocidade. Indica a velocidade da tartaruga ativada. Exernplo:
esc vel
velx
Indica a componente horizontal da velocidade da tartaruga ativada.
vely
Indica a componente vertical da velocidade da tartaruga ativada.
verd
Indica a palavra "verd ",
versao
Indica a versao do seu HOT-LOGO.
ultimo OBJETO (Ultimo = ult]
Devolve 0 ultimo elemento de OBJETO. Se 0 objeto for uma palavra, devolve um caracter, se for uma llsta, devolve uma palavra. Exemplo:
esc ult .. Logo
esc ult [HOT LOGO]
ebotao JOYSTICKNUMEAO
Indica .. verd" sempre que 0 botao do JOYSTICKNUMERO estiver pressionado; caso contrario, produz "falso ". Exemplo: esc ebotao 2
ejoy JOYSTICKNUMEAO
Indica "verd" sempre que 0 JOYSTICKNUMERO estiver acionado: caso contrarlo, produz "falso ". Exemplo:
esc joy 2
elista OBJETO
Indica "verd" sempre que 08JETO for uma lista; case contrario. indica "false". Exemplo:
atr b i cho [gato pato]
esc elista :bichos
75
enumero OBJETO
Indica "verd " sernpre que OBJETO for um nurnero: caso contrarlo. indica "falso ". Exemplo:
esc enurnero 10
epalavra OBJETO
Indica "verd" sempre que OBJETO for uma palavra: caso contrarto. i nd lea "falso ". Exemplo:
esc epalavra "Logo
eprimitiva OBJETO
Indica "verd " sempre que OBJETO for uma palavra reservada do HOT-LOGO. Exemplo:
esc eprlrnitlva "palavra
eprocedimento NOME
Indica "verd " sempre que NOME for um procedimento defintdoe que esteja na area de trabalho: caso ccntrario, indica "false". Exemplo:
esc eprocedlmento .. 9
evazia OBJETO
Indica "verd " sempre que OBJETO seja vazio; caso contrario, indica .. falso ", Exemplo:
€ovazia .. palavra
evisivel
Indica "verd" sempre que a tartaruga ativada for vis ivel; caso contrarto, indica .. false". Exemplo:
evlslvel
COMANDOS PRIMITIVOS ESPECIAIS
Os comandos primitivos especiais no HOT-LOGO vem precedidos de ponto [.J para evidenciar sua importancla e 0 seu perigo.
Os cornandos especiais .entra e .sal sao especfficos para ver ou enviar mensagens a qualquer uma das 2.56 portas de entrada e salda disponiveis.
Os comandos .chame, .deposite e .examlne permitem utili-
76
zar rotinas em linguagem de maquina e ter acesso direto a memoria do computador.
A seguir, mostramos a sintaxe e descrlcao dos comandos especiais .
. entra PORTA
Produz como salda 0 rnimero que tenha encontrado na porta especificada pelo nurnero PORTA. Exemplo:
esc .entra 168
.sai PORTA DEC
Envia a porta especificada pelo numero PORTA 0 numero
DEC. Exemplo:
ap zumbido
.sai 170 255 .sai 170 127 zumbido tim
Execute 0 procedimento zumbido e adivinhe 0 resultado .
. chame ENDEREC;O
Transfere 0 contra Ie a urna sub-rotina em linguagem de rnaquina que corneca no endersco especificado pelo nurnero ENDEREC;O. Exemplo:
.chame 192
Deve ser produzido urn "beep ft •
. deposite ENDEREC;O DEC
Escreve no sndereco especificado pelo rulmero ENDEREC;O a nurnero DEC. Exemplo:
.deposite 65533 12
.examine ENDEREf,;O
Produz como saida 0 numero que se encontra armazenado no endereco especificado pelo ruirnero ENDEREf,;O. Exemplo: esc .examine 65533
CARACTERES ESPECIAIS
Ha urns serie de caracteres que em HOT-LOGO tern urn significado especial. Para entende-Ios passarernos a descrever suas func;:6es e sintaxes.
77
" (aspas)
Colocadas antes de qualquer palavra, lndlcarn que essa palavra e urn conjunto de caracteres que deve ser utilizado conforme fot digitado. Nao e. por exemplo. um nome de procedimento ou conteudo de uma variavel. Os nurneros nao precisam de aspas. Exemplo: esc" Maria
: Idols pontos)
Colocados antes de uma palavra, indicam que estamos nos referlndo ao conteudo de uma varlavel.
Exemplo: atr .. A 10
esc :A
[ ] (colchetes)
Os colchetes sao us ados para definir listas. Sempre que uma entrada for uma llsta, devera vir entre conchetes.
Exemplos: esc [Maria Jose]
atat [0 1 2 3J repita 4 [pt 10 pd 90]
() Iparenteses)
Sao utilizados para modificar a ordern das operacoes maternaticas. Permitem ainda variar 0 numero de entradas de alguns comandos primitives e operadores.
Exemplas: esc 2*(5+2)
(esc .. batata .. frita .. gostosa) esc (pal ~ an .. da .. va)
esc (soma 20 10 15 40)
(esc (pal .. Ma ., ri .. ana) .. gastou (produto 25 450] .. cruzados.l
".. (barra invertida)
Permite tratar como caracter normal os delimitadores (par exemplo um espaco ou um sirnbolo maternaticol. Para tanto. devemas inclul-la antes dos sfmbolos [, (, I. +. -, *. I, =. <. >. y. "... e ainda -antes de um espaco em branco.
Exemplos: esc "<, ".. ".. oi
(esc .. 3".. *5".. = 3*5)
esc r-.-. -, -, HOr".. <, ->. -, LOGO]
78
INTRODUCAO AO HOT BASIC
Para controlar um computador, voce deve dar instruc;6es numa linguagem que ele "entenda". 0 HB-8000 entende, assim como a rnaiorta dos micro computadores pessoais, varlas lingens como COBOL, ASSEMBLY, C, LISP. BASIC. etc. Para que ele entenda uma determinada linguagem, ela deve ser carregada atraves de um programa especltlco.
U rna dessas li nguagens, porern, ja vem "carreqada n da fabrica e 0 computador ja a entende assim que e ligado: e 0 BASIC (Beginner's All Purpose Symbolic Instruction Code).
Esta I inguagem apresenta varios dial etas que diferem entre si nas var ias rnaquinas. 0 HOT BASIC, ou BASIC MSX, desenvolvido pela Microsoft. e constituido por um conjunto de palavras do idioma ingles e determinadas regras de sintaxe com as quais voce pode instruir a computador a realizar irnimeras func;6es.
A fi nal idade desse capitu 10 nao e explorer a fundo tadas as recursos que a poderoso HOT BASIC oferece mas apenas dar a voce um impulso inicial que Ihe possibilite fazer seus prirneiros programas. Casa haja interesse em aprofundar-se, recomendamos que leia a livro .. Manual de Basic" editado pela EPCOM.
o TECLADO
Para cornunicacao com a computador deve haver um modo de Ihe fornecer lnstrucoes e outro dele responder.
Geralmente 0 teclado e 0 meio utilizado para dar instrucoes ao computador. E a tela de TV e 0 que ele utiliza para responde-las.
Quando voce liga 0 rnicrocornputador sao apresentadas algumas mensagens de ldentificacao do sistema (veja as figuras 1.11 e 1.12) e apos alguns segundos deve aparecer a palavra "Ok ". Essa e a lndtcacao de que a computador esta pronto para aceitar as seus comandos. Surge tarnbern um quadrado branco logo abaixo da palavra "Ok ". Ele e chamado de "cursor" e sua oostcao na tela indica a local da proxima letra que voce for digitar.
Quanta ao teclado, parece 0 de uma maquina de escrever.
No entanto, ele contern algumas teclas especiais que se fazem
79
necessanas para que haja uma comunicacao efetiva entre voce e 0 computador. Estas teclas encontram-se sombreadas na figura 4. 1 e suas funcoes sao descritas a seguir.
(1) SHIFT: Essa tecla e usada para digitar letras rnauisculas au para obter os caracteres impressos na parte superior das teclas. Quando pressionada juntamente com a tecla GRAPH (3), obtern-se a grupo de simbolos qraficos mostrados na figura 1 .19.
(2) CAPS: Cada vez que essa tecla for pressionada, havera rnudanca na apresentacao das letras: se estiverem sendo mostradas em rnlnusculas passam a ser maiusculas e vice-versa. Possui uma lampada que, se estiver acesa, indica a modo ~ maiuscula ". Ela nao influl sobre as caracteres impressos na parte superior das teclas.
(3) GRAPH ou (4) CODE: Mantendo-se uma dessas teclas pressionadas ao digitar-se outras, obtemos a apresentacao na tela dos caracteres e simbolos graticos apresentados nas figuras 1 .1 B e 1.20.
(5) RETURN: Essa tecla e uma das mais importantes e mais utillzadas. Deve ser pressionada invariavelmente apes a digita- 9.3.0 dos dados, comandos ou lnstrucoes para que sejam enviados a memoria do computador.
(6) BACKSPACE : Ao ser presslonada, cancela 0 caracter situado a esquerda do cursor. Todos os caracteres situados a direita do cursor permanecem inalterados mas sao deslocados para a esquerda ao pressionarmos BACKSPACE.
(7) SETAS : Essas teclas movem 0 cursor nas dlrecoes e sentidos Indlcados e nao afetam os caracteres ja digitados.
(8) DEL : Cancela 0 caracter sobre 0 qual se encontra 0 cursor. Todos os caracteres seguintes sao deslocados em uma posicao a esquerda.
(9) INS: Essa tecla deve ser utilizada quando voce quiser acrescentar caracteres dentro de urna linha. Mova a cursor para a poslcao posterior aquela em que voce deseja acrescentar alga, pressione INS e digite 0 texto a ser inserido.
(10) CLS/HOME : Pressionando essa tecla, 0 cursor se poslciona no canto superior esquerdo da tela (POSi9ao denominada HOME). Se for pressionada juntamente com a tecla SHIFT, obtern-se a funcao CLS que significa "Clear Screen", ou seja, ~ Lirnpe a Tela". Nesse caso, a tela e limpa e 0 cursor se desloca para a pOSir;80 HOME.
80
· , d HOTBIT.
Teclas Espectais 0
Figura4.1- _
81
(11) F1 ... F10: Pressionar uma dessas teclas equivale a introduzir 0 comando a ela correspondente. Elas existem para reduzir 0 trabalho de diqitacao pois, ao pressiona-las. 0 computador executa 0 comando nelas programado. evitando-se desta forma. que voce tenha que digitar cada caracter que compos esse cornando. As funcoes Fl ate F5 sao acionadas diretamente atraves da simples pressao de cada uma delas. As teclas F6 a F10 sao acionadas com a pressao slrnultanea da tecla SHIFT.
Na parte inferior do video sao visualizados os comandos relativos a F1 ate FS. Ao pressionar SHIFT. sao visualizados os relativos a F6 ate FlO.
(12) SlCT : Nao e usada para proqrarnacao BASIC.
(13) STOP: Ao ser pressionada, detern a sxecucao de um programa em HOT BASIC. Pressionando-a novamente, a execucao continua a partir do ponto da Interrupcao.
Para efetivar a lnterrupcao deve-se pressionar simultaneamente as teclas CTRL eSTOP.
(14) ESC: Essa tecla e rnuitas vezes usada em aplicacoes de software, Nao tern qualquer eteito se utilizada diretamente. (15) TAB : Pressionando essa tecla, 0 cursor se desloca para a direita apagando os caracteres sobre os quais ele passar. a cursor s6 para ao encontrar uma coluna multiple de 8.
(16) CTRl : Essa tecla, quando pressionada junto com outras. serve para acessar funcoes especiais. como STOP. por exemplo.
DIGITACAO E EDICAO
Para que voce se fa mil iarize com 0 tecl ado, acompanhe passe a passo a diqltacao de urn pequeno prograrna. Nao se preocupe. por enquanto. em entender como ele funciona, pais 0 que importa agora e aprender a digitar.
Figura 4.2
10 COLOR lS.1.1 20 SCREEN 2
30 FOR 1=1 TO 20 40 X:RNO(1)*2'56 50 Y=RNO(1)*192 60 R=RND(1)*40
70 CIRCLE (X,Y).R.RNO(l)*lS B0 NEXT I
90 GOTO 90
82
Inicialmente, presaione uma uruca vez a tecla CAPS de modo que sua larnpada fique acesa. Isso faz com que as letras sejam mostradas em maiusculo assim como a listagem da figura 4.2.
Comece digitando a primeira linha e observe que 0 cursor vai se movendo para a direita.
Se voce errar a dlqitacao de algum caracter. basta apertar BACKSPACE e 0 cursor volta e apaga a caracter errado:
Ao terminar a diqitacao da primeira linha, pressione a tecla RETURN. Dessa forma, a cursor pula para a pr6xima linha da tela e a linha do programa dig.itada e armazenada na mem6ria do microcomputador. Para verificar isso, lirnpe a tela (SHIFT + HOME/CLS) e liste a conteudo da mem6ria comandando LIST seguido da tecla RETURN.
A te 18 deve f.icar como a i nd lcado na fi gura 4.3.
Figura 4.3
LIST
10 COLOR 15,1,1 Ok
•
Continuando a diqitacao do programa, vamos novamente limpar a tela {SHIFT + HOME/CLS) e digitar alinha de nurnero 20.
N°ao S8 esqueca de teclar RETURN ao chegar £10 fim da linha digitada.
Para verificar 0 conteudo da memoria, limpe nova mente a tela (SHIFT + HOME/ClS) e liste 0 programa com a comando LIST (seguido de REJURN). A tela deve agora se mostrar conforme a figura 4.4.
Figura 4.4
LIST
10 COLOR 15.1.1 20 SCREEN 2
Ok
•
83
Antes de continuar. podemos aprender um pequeno truque que facilita 0 seu trabalho toda vez que voce quiser limpar a tela e a seguir listar 0 programa. Como essa operacao e muito repetitiva, e canveniente atribui-la a uma tecla de funcao.
Para programar uma tecla de funcao, comande:
KEY n , "Iconteudo do comando)"
Onde n e 0 ruimero da tecla que voce deseja programar (1 a 10).
Se voce quiser que a comando armazenado na tecla seja automaticamente executado sem que a tecla RETURN seja pressionada, entao comande:
KEY n r "(conteudo do comando)" + CHRS(13)
Par exemplo, vamos programar a tecla F1, substituindo 0 comando COLOR nela existente par CLS+ LIST + RETURN. Assim digite:
Ap6s pressianar RETURN, a listagem das palavras armazenadas nas teclas de funcoes que aparece na ultima linha da tela e alterada. Observe que a palavra "color" foi substituida par "ClS:L1Sr.
Experimente agora apertar a tecla F1 e veja 0 resultado. A tela e limpa e 0 programa e listado sem a necessidade de pressionar RETURN. 1550 acantece, pois a c6diga do caracter relativo a tecla RETURN tarnbern fOi arrnazenado na programa- 9030 da tecla F1 (CHR$(13)).
Digite agora a linha 30 e nao esqueca 0 RETURN no final.
Aperte a tecla F1 e a tela que surge e conforme a figura 4.5.
Figura 4.5
LIST
.1.0 COLOR 15.1.1 20 SCREEN 2
30 FOR 1'"'1 TO 20 Ok
•
84
Vamos supor agora que voce queira alter ar a linha 30 para:
30' FOR 1""1 TO 50'
Para corrigir a lnstrucao que ja esta armazenada na memoria ,temos duas solucoes:
a) Aedigitar tada a nova linha e, neste caso, ao teclar RETURN, a antiga linha 30 e substituida, na memoria.
b) Editar a linha que [a esta na tela. Nesse caso, leve 0 cursor ate ° dfgito a ser corrigido com ° auxilio das teclas do cursor. Teele 0 5 em cima do 2 e pressione RETURN. Verifique esse procedimento na figura 4.6.
Figura 4.6
• PrE5sione IE e ~ ate obter: 30' FOR 1~1 TO ~
* Pressione S e obtenha: 38 FOR 1:1 TO SIll
• Teele RETURN e obtenha: 30' FOR 1=1 TO 58
Do:
Aperte agora F1 e note que a rnudanca foi executada. Agora altere a I inha
30' FOR 1=1 TO 50' para, 30' FOR 1 :1 TO 520'
Nesse casa, leve a cursor ate 0 0 do nurnero 50 e tecle INS [INSert). 0 cursor muda de forma, indicando que 0 proximo caracter a ser digitada nao se sobrepoe ao O. Digite 0 2 que voce quer inserir e note que a 0 e deslocado para a direita. Tecle, a seguir. RETURN.
Acompanhe 0 procedimento na figura 4.7.
Figura 4,7
• PressionelE e ~ ate obter: 30' FOR 1"'1 TO ~
• Teele ~ E obtenha: 30' FOR 1=1 TO 51IJ
• Diyite ~ e obtenha: 30' FOR 1=1 TO 5~
* Teele RETURN e obtenha: 30' FOR 1=1 TO 520'
Do:
85
Teele novamente F1 e perceba a mudanca etetuada.
Vamos agora estabelecer a lnstrucao original. Leve 0 cursor ate a caracter 5 e digite DEL {Delete] e depois RETURN. Veja a figura 4.8.
Figura 4.8
* Pressione ~ e ~ ate obter= 30 FOR 1=1 TO 520
* Pressione IDELI e obtenha: 30 FOR 1=1 TO ~
* Teele RETURN e obtenha: 30 FOR 1=1 TO 20
D
Aperte F1 e continue a diqitacao do programa com a linha:
40 X=RNO(1).256
Nao se esqueca do RETURN!
Olhando para a programa original (figura 4.2), notamos que as linhas 50 e 60 sao muito parecidas com a 40. Para poupar trabaIho de dlqltacao, podemos usar a linha 40 para qerar as outras duas. Para iSso, desloque 0 cursor para 0 4 e digite 5. A seguir, desloque 0 cursor para a X e digite Y e, finalmente, digite 0 numero 192 sobre 0 nurnero 256. Ao teclar RETURN, essa nova linha e incorporada na mem6ria sem que a 40 seja apagada. Veja a sequencia das operacoes descritas na figura 4.9.
Figura 4.9
• Use a teela ~ para obter: ~ X=RNO(1)*256
• Oigite ~ e obtenha:
SIll X=R NO ( 1 )<0256
* Use a teela ~ ate obter: 50 IKFRNO(1).2'56
* Oigite ~ e obtenha: 50 Y(3;!NO(1).256
* Use a teela ~ ate obter: 50 Y=RNO(1)-I:!I56
• Oigite ~.~ e ~ e obtenha: 50 Y=RNO(1).t92.
• Teele RETURN
Para se certificar que a nova linha foi armazenada, lirnpe a tela (SHIFT + HOME/CLS) e comande LIST 40·50. Voce deve obter na tela a listagem das linhas 40 e 50.
86
Voce pode agora gerar a linha 60, usanda a de nurnero 50 canfarme a figura 4. 10.
Figura 4.10
* USE a teela ~ para obter:
ISI0 Y=RNO(1.)*1.92
* Digite ~ e depois ~ ate obter: 60 rlJ=R NO (1 ) ,.. 1. 92
* Digite ~ e depois ~ ate abler: 60 R=RND<1.)*iII92
* Digite ~.~ e ~ para obter: 60 R=RND( 1.) *40.
,.. Teele RETURN
Aperte agora a tecla F1 e depots digite as linhas 70. 80 e 90, nao esquecenda de pressionar RETURN apes a digita9ao de cada uma delas.
Nao se preocupe com a ordem na qual as linhas sao inseridas na memoria. Se voce introduzir a de numero 90 e depois as linhas 70 e 80. 0 HB-8000 se encarrega de arquiva-las em ordem nurnerlca crescente.
Ao terminar a dlqitacao. aperte a tecla F1 para apagar a tela e I istar 0 programa. A tela deve rnostrar-se identlca a figura 4.2. Confira com cu idado. pois cada virgu la e essencia I para que 0 programa funcione.
Se houver necessidade de efetuar correcoes. use tudo 0 que foi aprendido ate aqui. E nunca se esqueca de pressionar RE· TURN para inserir uma nova linha na memoria.
Outros recursos de edicao sao mostrados no Apendice II. Limpe a tela (SHIFT + HOMEjCLS) e execute 0 programa comandando RUN (seguido da tecla RETURN) ou pressionando a tecla FS.
A tela deve se por no modo grafico e devem ser desenhados varies circulos de tamanhos, cores e em poslcoes diferentes. Para pa rar 0 programa e voltar a Ii sta-le. comande CTRL + STOP e depots F1.
Quando voce desligar 0 computador, 0 conteudo da memoria em que sao escritos os programas em BASIC (RAM) e apagado. Isso acontece tarnbern se for executado 0 comando NEW. Dessa forma, para preservar 0 programa digitado ele deve ser gravado.
A gravac;:ao pode ser feita em fita cassete atraves do comando CSAVE. Posteriormente. a recuperacao (Ieitura) sera feita
87
com 0 comando CLOAD. Para utilizar 0 gravador para arquivar programas. leia 0 Apendice I.
PROGRAMACAO
o computador executa as instrucoes a ele fornecidas de duas formas:
I) MODO DIRETO ou IMEDIATO: a lnstrucao e executada assim que for diqitada e seguida da pressao da tecla RETURN. Nesse modo. uma linha de instrucoes nao e precedida de um numero.
Por exemplo, digite:
PRINT"ESSE COMANDO IHPRIME ALGO NA TELA"
Pressione RETURN e veja 0 resultado.
A palavra PRINT pode ser substitufda por um ponto de interrcqacao (?). Por exemplo:
deve resultar em:
"21"
Nesse comando executou-se a trnpressao de aspas (") com o auxflio da funcao CHR$(34). a ruimero que aparece entre parenteses e 0 c6digo ASCII do caracter desejado (consulte 0 Apendlce II).
II) MODO INDIRETO ou PROGRAMA: a lnstrucao nao e executada imediatamente apos sua introducao com a tecla RETURN. Ela e armazenada na memoria para posterior execucao. Nesse modo. as linhas de instrucoes devem ser precedidas de urn mirnero.
Uma sequencia de Instrucoes contidas em linhas numeradas na ordem em que devem ser executadas e 0 que chamamos de programa.
Para exemplificar, digite 0 programa da figura 4. t t ,
as nurneros das linhas devem estar compreendidos entre 1 e 65529. Eles normalmente estao em intervalos de 10 para facilltar futuros acrescirnos de novas linhas.
Para executar 0 programa da figura 4.11, pressione a
88
tecla F5.
Seu funcionamento e simples:
Li nha 10: li mpa a tela com 0 comando CLS.
linha 20: imprime na tela 0 texto "A RAIZ OUADRADA DE 25 E". 0 ponte e virgula (;) colocado no final da linha, instrui 0 computador a realizer a proxima rmpressao a partir da posigao seguinte a do ultimo caracter impressa.
Li nha 30: i mprime a raiz quadrada de 25 (SOR(25) = il SQuare Root" de 25).
Linha 40: imprime uma linha em branco. Tem 0 efeito de "pular " uma linha.
linha 50: imprime a palavra FIM.
F.igura 4.11
10 CLS
20 PRINT-A RAIZ QUADRADA DE 25 ~-~ 30 PRINT SGR(25)
40 PRINT
50 PRINT"FIH"
Se voce quiser apagar ou el iminar alguma linha desse programa, isso pode ser feito de dais rnodos: um e digitar a ruimero da linha a ser apagada e depois teclar RETURN. 0 outro e usar 0 comando DELETE, como par exemplo:
DELETE 20: apaga a linha 20.
DELETE 3~-50: apaga da linha 30 ate a 50.
DELETE -30: apaga desde a primeira linha do programa ate a de ruimero 30. inctuslve.
Se voce quiser acrescentar qualquer linha. basta dlqita-la e depois pressionar RETURN. Atribua a ela um rrurnero contido no intervalo definido pelos ruirneros das duas linhas entre as quais voce quer inseri-Ia. Par exernplo, para incluir uma linha entre as de nurnero 40 e 50 digite:
Ha tarnbern a possibilidade de colocar rnais de uma instrugao em uma unica linha. Para tsso, separe as instrucoes par dais pontos (:) e respeite um rnimero maximo de 255 caracteres por linha. Par exemplo:
45 PRINT-HB-B000" : PRINT"HEH6RIA DISPON IVEL=";FRE(0);"BYTES- : PRINT
89
AS TELAS DE TEXTO
Existem dais tipos de telas no HB-8000 que permitem escrever textos. A escolha de cada uma delas e feita atraves do comando SCREEN.
Comandando SCREEN 0, e selecionada uma tela de 24 linhas de texto com, no maximo, 40 caracteres cada. Esta e a tela que 0 computador apresenta assim que e ligado.
Selecionando a outra tela de textos com a comando SCREEN 1, obtern-se uma tela que permite introduzir 24 linhas de texto com no maximo 32 caracteres em cada uma.
o numero de caracteres par linha pode ser alterado nas duas telas com 0 comando WIDTH. Seu formata e:
WIDTH n
onde. n=numero de caracteres par linha. Deve estar compreendido entre 1 e 40 na SCREEN 0 e entre 1 e 32 na SCREEN 1.
Par exemplo, comande:
SCREEN 0 e depois
WIDTH 20
Note que qualquer texto digitado a partir de agora tera no maximo 20 caracteres par linha. Para retornar ao estado inicial da SCREEN 0 comande WIDTH 39 e da SCREEN 1 execute WIDTH 29.
Uma das diferencas entre a SCREEN 0 e a SCREEN 1 e que na primeira as caracteres grMicos sao "truncados " e na segunda eles sao impressos "por inteiro". Par exemplo, comande SCREEN 0 e digite as teclas GRAPH e D simultaneamente. A seguir selecione a SCREEN 1 e volte a digitar GRAPH e D. Note a diferenca.
Note tarnbern que ao selecionar qualquer SCREEN a tela e previamente limpa. Isso ocorre porque e imposslvel a co-exlstencia de dois tipos diferentes de telas no HOT BASIC.
Manipulando textos, um dos comandos mais utilizados e 0 PRINT. Ele pode vir acompanhado de alguns sinais de pontuacao ou de outros comandos que possibilitam organizar a exlblcao dos textos na tela.
Para exemplificar. digite 0 programa da figura 4.12.
90
Figura 4,12
10 KEY OFF
20 SCREEN 0 : WIDTH 30
30 PRINTHMICROCOMPUTAOOR HOTBIT- 40 PRINT
50 PRINT TAB{S)-HB-8000-TABC20)-SHARpH 60 LOCATE 2.6
70 PRINTHTEXTO POSICIONAOO POR LOCATEH
80 PRINT .
90 PRINTHABc-.HI23- 100 PRINT-ABC-;-123- 110 PRINT
120 PRINY-TEXTO SEM-
130 PRINT-PONTO E UjRGULAH 140 PRINT
150 PRINTHTEXTO COM -;
160 PRINT-PONTO E UjRGULA"
A linha 10 do programa utiliza 0 comando KEVOFF que slrnplesrnente "desliqa" a vlsuallzacao na parte inferior da tela dos comandos associados as teclas de funcao. Para vlsuallaa-los nova mente utilize KEVON.
A linha 20 seleciona a SCREEN 0 e define uma larqura de 30 caracteres para 0 texto com 0 comando WIDTH.
A linha 30 efetua uma lrnpressao a partir da primeira posic;:eo da tela.
A linha 40 tem 0 efeito de "pular " uma linha de texto na tela.
A linha 50 efetua uma lrnoressao a partir da col una 5 e outra a partir da coluna 20 contadas desde a margem esquerda da tela. Era utiliza a funcao TAB (TABular). igual ao tabulador de uma rnaqulna de escrever.
A linha 60 utiliza 0 comando LOCATE que tem por funC80 poslcionar a proxima irnpressao. Sua sintaxe e:
LOCATE a.b
onde, a = nurnero da col una (0 a 39). b = ruirnero da linha (0 a 23).
As coordenadas das telas de texto sao definidas de acordo com a figura 4. 13.
As linhas 90 e 100 most-am a diferenea entre separar textos por vlrgulas ou ponto-e-virgulas.
As demais linhas do programa sao auto-explteattvas.
91
Figura 4,13 - Coordenadas das telas de textn,
o 1 2 3 39
1& r.==========::::;:"( 1
2
3
, ,
SCREEN ()
!Ill 23 31
QJ r;::==========::::::;~ 1
2
3
,
SCREEN 1
23 '-- -'
,
23L- -J
CORES
Ouando se liga 0 HB-BOOO, a tela apresentada e a SCREEN 0 em fundo azul escuro e caracteres impressos em branco. Essas cores podem ser alteradas com 0 comando COLOR. Sua sintaxe e a seguinte:
COLOR x,y,z
onde. x = c6digo da cor do texto Ifrentel, y = c6digo da cor da tela (fundol.
z = c6digo da cor das bordas da tela.
Os c6digos e as cores correspondentes sao mostrados na tabela 4.1.
Tabela 4.1
C6DIGO DA COR NOME OA COA
0 I n c o I c r
, preto
2 verde
3 verde el.ro
4 a~ul EI'5curo
5 azul claro
6 v e r m e I h o escuro
7 azul • n I I
8 v e r m e r h o
S v e r me r no cl~ro
'0 amarelo aura
11 amarelO
12 verde escuro
13 rOXD
14 cinza
15 branco Se, por exernplo. VOCe comandar:
COLOR 1.11
92
deve ohter caracteres pretos em fundo amarelo. Experimente agora:
COLOR 8.B
o texto desaparece e a tela fica toda vermelha. Se voce digitar qua Iquer col sa, apenas ouvi ra 0 .. cl ic H das tedas mas os caracteres digitados nao aparecerao,
Isso ocorre porque voce esta tentando escrever com tinta vermelha sabre papel vermelho. Para voltar a visualizar os caracteres pressione RETURN duas ou tres vezes e a seguir presslone SHIFT + F1 (F6).
o terceiro ntimero do comando COLOR e referente a cor da borda. Ele nao foi utilizado ate agora pols a borda nao aparece em SCREEN O. Se, por outro lado, voce estiver em SCREEN 1, podem ser especificadas as tres cores: de frente, do fundo e da borda. Por exemplo, para obter-se texto em cinza sobre tela vermelha de bordas amarelas, comande:
SCREEN 1 e depois
COLOR 14.B.ll
CONST ANTES E VARIAVEIS
A memoria do computador esta capacitada a armazenar nao somente linhas com instrucoes mas tarnbern outros elementos bastante lmportantes para a elaboracao e exeeucao de prnpramas. Esses elementos sao as constantes e as varlavels.
CONSTANTES
As canstantes contsm informacoes que nao mudam durante a execucao do proqrarna. Elas podem ser de dois tipos: alfanurnericas (" string ") ou nurnerlcas.
As constantes alfanurnerericas podem canter urn maximo de 255 caracteres que devem sernpre ser colocados entre aspas ("). Par exernplo. .. COMPUTADOR" au "2378" .. Note que apesar dos caracteres que camp6em a constante "2378 W serem rulmeros, ela nao e tratada como urn e nao podera ser utilizada diretamente em calculos.
Uma constante numerlca pade ser positiva ou negativa, intetra au nao, No cornputador. assirn como nas rnaqulnas de cal-
93
cular, a virgula decimal deve ser substituida por um ponto. Por exernplo. 0 numero 378.75 deve ser escrito como 378.75 (nota- 9aO anqlo-saxontca).
o HOT BASIC reconhece sels tipos de constantes numertcas:
1) INTEIRA : numero inteiro compreendido entre -32768 e 32767. Exemplos: 279 ou -577.
2) PONTO FIXO : nurnero real positivo ou negativo que contern casas decimais. Exemplos: 72.7ou -23.15.
3) PONTO FLUTUANTE : nurnero positivo ou negativo reo presentado na forma exponencial. analoqa a notacao cientfflca. Uma constante com ponto flutuante e constituida por uma constante inteira ou de porrto fixo (positiva ou negativa) seguida da letra E (au 0) e 0 numero de poslcoes que 0 ponto decimal deve andar (se 0 deslocamento for para a esquerda. esse rulrnero e negativo).
Exemplos: -373.97E5 = -37397000 ou
797.2E-3 .7972
As constantes de ponto flutuante devem estar compreendi· das entre 10 elevado a - 64 e 9.9999999999999 vezes 10 elevado a 62.
4) HEXADECIMAL: numeros hexadecimais precedidos por &H. Exemplo: &HFB.
5) OCTAL: rnirneros octais identificados pelo preflxo &0.
Exemplo: &037.
6) BINARIA : numeros binartos precedidos por &B. Exernplo: &810001101.
As constantes nurnericas podem tambern ser declaradas como nurneros de precisao simples (6 algarismos significativos) ou dupla (14 algarismos significativos).
o computador reconhece uma constante como sendo de precisao simples quando. em ponto flutuante. utlliza-se a letra E. au entao se ela e seguida por urn ponto de exclamacao (I). Par exemplo:
378.23E9 au 277.23!
A constants e tratada como de preclsao dupla se, em ponto flutuante. for utilizada a letra 0 ou se ela for seguida par # . Exemplos:
279.2D-3 ou 44.55 #
94
Alern dlsso, se nenhum expoente, ! au # for atr ibuido a uma contante ela sera tratada com precisao dupla.
VARIAVEIS
As varlavels podem ser entendidas como ~ caixas que
guardam lnforrnacoes. Essas lnformacoes podem ser alfanurnericas au nurnericas e podem ser atrlbuldas diretamente pelo programador au atraves de calculus real izados pelo programa.
Para que a computador saiba loealizar as lnforrnacoes, eada "caixa " que as guarda deve ter um nome.
o nome de uma variavel pode ter qualquer tamanho. Ele pode conter letras au ruimeros mas a prirnelro caraeter deve ser sernpre uma letra.
Alern disso. 0 nome da variavel nao pode coincidir com a de qualquer comando, funcao au termos do HOT BASIC, tais como OR, PRINT, IF, etc.
Convern notar tarnbern que a computador considera apenas as DOIS PHIMEIROS earacteres do nome de uma variavel para lderrttftca-la, lsto e, os names PRECO e PRAZO sao ldenticos para 0 BASIC·MSX pols ambos cornecarn cam PRo
Assim como as eanstantes, as variaveis padem ser alfanurnericas au nurnericas.
As alfanurnericas devem sempre terminar com Seas numer1fas podem terminar cam % Hntelrasl, ! (preclsao simples) au ~_ Ipreclsao dupla),
Ouando 0 nome de urna varlavel nao termina com qualquer urn dos caracteres mencianados aclrna (S, %, ! ou # ), 0 HOT BASIC a considera nurnerica e de prectsao dupla.
Exemplos:
A$ = nome de variavel alfarrumerica.
1% = nome de varlavel nurnerlca inteira.
AZ~I = nome de variavel nurnerlca de preclsao simples. PI = nome de variavel nurnerica de precisao dupla.
I = nome de variavel nurnerica de precisao dupla.
MANIPULANDO AS VARIAVEIS
Assim que voce liga 0 computador, todas as "catxas" que podem conter informac;6es lvartavelsl estao vazias. Se as variaveis sao nurnericas. elas contern inicialmente zeros (0) e caso
95
sejam alfanurnerlcas contern cadeias vazias de caracteres (" ").
Para "quardar " alguma inforrnacao numa varlavel. devemos usar 0 cornan do LET. Esse comando atribui a uma varlavel uma lnforrnacao como se a estivesse guardando na U calxa " correspondente.
Par exemplo, rode 0 programa da figura 4,14.
Figura 4.14
10 SCREEN 0 20 LET A=20 30 LET B=6
40 LET AS=-.ultipl icado porN S0 LET P=A*B
60 LET BS=-~ igual aH 70 LOCATE 8.1.
80 PRINT AJAS;B;BS;P 90 END
No programa anterior foram atribuidos os valores 20 e 6 as variaveis A e B, respectivamente. Na linha 50 foi feito 0 produto dos dais nurneros e 0 resu Itado foi .. guardada" na varlavel P.
Se voce quiser, nao ha necessidade de utilizar a comando LET para atribuir algum conteudo a uma variavel. Assim, as linhas 20 a 60 podem ser substituidas pelas que aparecem na figu· ra 4.15.
Figura 4.15 20 A=20 30 B=6
40 AS=-.ultiplicado porn '50 P=A*B
6. BS=-i igual a-
Acrescente agora a linha:
25 A=30
Note que a lnforrnacao guardada na variavel A na linha 20 (A = 20) e simplesmente substituida na linha 25 (A = 30).
Mude agora a linha 25 para:"
25 A=A+30
Pode parecer estranho para um maternatlco a lnstrucao cantida na linha 25. Para ser entendida, essa lnstrucao nao deve
96
ser encarada como uma equacao e sirn como uma atribulcao de urn novo valor a varlavel A. Ou seja, 0 computador executa a linha 25 tomando a valor antigo da varlavel A atribuido na linha 20 (A = 20) e adiciona a ele mais 30 unidades. 0 resultado (50) e entao atrlbuido a mesma variavel: A. 1550 equivale a acrescentar 30 unldades as 20 originais contidas na "calxa A". Veja a figura 4.16.
Figura 4.16 - Atrtbulcao de valores a varlavets.
A=2fD
Outra forma de atribuirmos uma inforrnacao a uma varlavel e atraves do comando INPUT, Sua sintaxe e:
INPUT nome de variavel
Ouando executamos um programa, 0 computador interrompe a execucao ao "encontrar " 0 comando INPUT. E. mostrado urn ponto de lnterroqacao e se aguarda que "alqurna cotsa" seja introduzida como resposta.
A resposta digitada pode ser urn rnirnero ou uma sequencia de caracteres que serao atribuidos a varlavel associada ao comando INPUT utilizado.
Para exernplificar, digite 0 programa da figura 4.17.
Figura 4.17
10 SCREEN 0
20 INPUTuQual 0 s£u prj.eiro nomeH;H$ 30 PRIHT:PRIHTUEntre dois nd.eros.- 40 INPUT-QuaID priMeiro-;A
50 INPUT-Qual 0 se9undo-:B
60 LOCATE 0.10
70 PRINT N$;ll. 0 produto deles ~-;A*B
97
o comando INPUT pode ser usado tarnbern sem qualquer texto associado. Por exemplo, as linhas 40 e 50 podem ser digitadas como;
40 INPUT A 50 INPUT B
Nesse case. surgem apenas os pontos de interroqacao. Alern dtsso, podemos pedir a entrada dos dois valares num unlco comando INPUT. Para verificar isso. cancele a linha 50 e troque a de numero 40 par:
40 INPUT A.B
Para entrar os valores agora. separe-os por virgula. Por exemplo, quando surgir a ponto de lnterroqacao. digite:
38.47 e depois tecle RETURN.
OPERACOES
o HOT BASIC permite que seja realizada urna serie de aperacces com constantes au variaveis. Essas operacces padem ser divididas em quatro grupos:
1) Aritrnetlcas.
2) Rei acionais.
3) L6gicas.
4) Funcionais.
Os operadares arttmeticos sao. em ordem de prioridade, os refacionadas na Tabela 4.2.
Para mudar a prioridade (ordem de execucao), devemos utilizar parentesas.
Todas as operacoes aritmeticas s6 podem ser efetuadas com constantes au variaveis nurnericas. a excecao da adlcao, que pode tarnbern ser uti I izada para "sornar " vanaveis alfanurnerlcas (concatenacao de .. strings "). Por exemplo:
A~ = "COHPUTADOR " B~ = "HB-Bee."
A~+B~ - "COHPUTADOR HB-Beeen
As ooeracoes relacionais permitem cornparacao de canstantes ou variaveis. Os operadores relacionais estao na Tabela 4.3.
98
Tabela 4,2 - Operadores Arltmettcos
PRIORloaOE Of'ER~OQR OPERACAO EXEMPLO SIGNlflFICADO
I ... Expo n e n c i .can 8 ..... 'I 8 e t s v a e c • "l
2 - Mudanca de 51 n a I -10 -10
3 * MU I tip lie a ~ iii 0 7 * 6 7 -x 6
3 / Drvlsiio 20/4 20 4
4 \ Q,vlsiio t n t e t r a 10 \ 3 10 \ 3 - :3
5 MOO Resto da Oivisiio 10 HOD 3 10 MOO :3 = ,
S + Adl~ao 10 + 5 10 -t 5
6 - s u n t r e c s n 20 - 7 20 - 7 Tabela 4,3 - Operadores Relacionais
A" E r. A DOR OPER~CAO [XfMPLO
= I 9 u a I • A : B
< > d l I e r e n t e d e A < > 8
< me n or que A < B
> malor que A > B
< : menor ou 19 u a I • A < : B
> e rna lor ou Igu.1 a A > = B Os aperadares 16gicos SaO usados para determinar condlc;6es rnultiplas, Os principais sao: OR e AND.
Para entender esses aperadores imagine duas express6es que podem ser verdadeiras ou falsas. Assim:
* (expressao 1) OR (expressao 2) = VERDADEIRO se a expressao 1 au a expressao 2 au as duas forem verdadeiras.
* (expressao 1) OR (expresseo 2) FALSO se as duas
express6es forem falsas.
* (expressao 1) AND (expressao 2) = VERDADEIRO se as duas express6es forem verdadeiras.
* (expressao 1) AND [expressao 2) = FALSO S8 a expressao 1 ou a exprassao 2 ou as duas forem falsas.
99
Exemplos:
(5 = 5) OR (3 = 1) = VERDADEI RO
(5 =6) OR r ABC" =" 123") = FALSO
(2 = 2) AND {" ABC" = " ABC"J = VERDADEI RO (7=7) AND (8=6) = FALSO
As operacoes funcionais sao as que utilizam as func;:6es do HOT BASIC tais como, LOG. SIN, CHRS, etc. Ha um nurnero bastante grande delas e alern disso, 0 usuario pode definir novas func;:6es utilizando DEF FN. Para conhece-las, consulte 0 Dlcionario do HOT BASIC, no tim desse capitulo.
DECISOES
Durante a execucao de um programa, muitas vezes 0 seu fluxo normal pode ser alterado, dependendo do resultado de algamas operacoes.
Para que lsso seja possivel. utllizarnos os comandos GOTO elF/THEN.
o comando GOTO (~va para") provoca um desvio na execucao do programa para a linha especificada. Por exemplo, GOTO 100 provoca um desvio para a linha de nurnero 100 do programa.
o comando IF/THEN ("se/entao") faz um "teste" e sua estrutura e:
IF (a condilfao e verdadeira) THEN (execute um comando)
Por exemplo.
IF A~B THEN GOTO ~ ••
pode ser traduzido como: ~ se 0 conteudo da varlavel A for igual ao da vartavel B entao desvie para a I inha 100 do proqrarna".
Para ilustrar 0 expasto selma. analise 0 pragrama da figura4.18.
Nesse programa, se 0 numero introduzido for par entao 0 resto de sua divlsao par 2 e igual a zero (A MOD 2 = OJ. Assim, ocorre desvio para a linha 60. Casa 0 nurnero introduzido seja impar. nao ocorre tal desvio e sao executadas as linhas 40 e 50 do programa.
100
Figuril 4,1S :1,'11 CLS
2~ IHPUT~En~r~ ~. "~~~rg-~~
3. IIF j:/! !,,!~IO ~ '" t!< WII'!EN ~O'1rQ 6''"''
~0 PRINT~O nd~er~ ~fil~o~y~~~O ~ i~P~R~ 58 DDTO ~.
~0 ~RINTnO n~~~~D in~~Ddu~~dD ~ PA~~ 79 G'~'1H) :~e
Execute es se pf\ograrma earn andando RUN ..,1 ~ntl!ilo~:hJz:1 ndrn allguns m:imetos. Para tnterromper, ciomarndle ClRL+SJ'OP.
Me d ifi q IJi e agora 0 programs canca I,'-Ino,o a s Un ha s 60 e 70 e :!II ~era ndo a de n!]lm era ,30 p'!i!ra:
3. l[ F ill! H,!)!!)' ~ - '. i!"1o! E:i!'I IP'IR !U"T "0 In,!ill .'.'" ~ lin trQd~~~~g • PAR~ ~ GOTa ~.
0< ~uwu::lonamefll~,(Ii do programs, ",aos alter:e,d(!l. NlC'i~e que a i nstru(:ao GOTO :20 Il'Intlrod !i.!li da na m eSI'Il8 Iii nha P81SS8 f;lIH:III'~enCie r 21(1 teste executad'o par ~ F /l~IEN.
Outra lITlud:an'~1iJ que pod8Set fel~a 61 lolimlUn<lI!l" a ~lnh{J, 40 e novamentea lfie rar (I, denlume'!i\o, 30 para:
38'iI:IF AI HOD' 2 - I. T'j.I,E:N P'IR':I NIli' '~PAR '" e!!..s~ P'N 11"1i' "'l"P~R""
A tradUCHO dess!l!i I~nhf) e; ~ SE [IF] 0 reSIO da divisii~' pot' 2' fo r~glUa I a zen:!1 EN" AO (11"1 EN) i rn iJ'r i rna P'AA, C,ASO leo NllRAAIO (ELSE) impr~ma 'IMPA,R ~ .
D,ilgU,~1ilI9:oral aprotJlrama da Hguta 4.19.
Fflgur~4. ~9 UJ clbs 2,0 A-I
3. LOCATE A.~
~~ PRI~T flHB-se.eY ~'!i!' ~"'A+1
,6,6 I!l= A(~:Il TH'EIN !JOTO' 3., 7., E~'D
Esse prognilm<a estebeteee equ e c ham1a mOS de ~ ~aco·. N a Mnha 201 ,~,aI'l:ribllJid,o um Wl~OI' Inlernal 3varl.i3iv,el A (11fI(:ICa<&o. 11. N a II nha30. pos ich::IJ1i'8-Sa ,81 pn5xima i It'Ipl'1e&s~o' de modoq ue tanto a eeluna qUaJfilltq)l CI llnha 8mJ qlil~{!11l! dl€lvese' inieiar eerresp L'),l'Idia mao v01,lor de A,. .A II nha40 e'fe'hJ3 a i mpressio. IJ\ Unh a 501 at r ! bu! UflI'll n avo v,9iI~or ml vaJ~~.ve:l, A com 0< sendo 0 sen va I'~ratua I
1'01
acrescido de uma unidade. A linha 60 verifica se a varlavel A e menor que 21 e se for, ocorre desvio para a linha 30, .. fechando o laco" e repetindo 0 processo. Quando a variavel A assumir 0 valor '21, a programa "ascapa " do laco definido pelas linhas 30 a 60 e termina.
o efeito do programa acima pode tarnbern ser obtido com as ccmandos FOR e NEXT. Teste isso rodando a programa da figura 4.20.
Figura 4.20 10 CLS
20 FOR A=i TO 20 30 LOCATE A.A
40 PRINT HHB-8000H 50 NEXT A
60 END
o comando FOR dec lara 0 nome da varlavel e de quanta a quanta ela deve variar. 0 comando NEXT fecha 0 laco. Ambos devem ser sempre utilizados canjugadamente. Nao use um, sem a outro.
o incremento da vartavel e sernpre igual a 1 a nao ser que voce especifique outro incremento com 0 comando STEP. Par exemplo, substitua a linha 20 por:
20 FOR A ~ 1 TO 20 STEP 2
Note agora que as impress6es sao realizadas em linhas e colunas alternadas pots a variavel A assume os valores 1,3,5, ... ,17 e 19.
AS TELAS GRAFICAS
Existem mais duas telas, alern das ja mencionadas, no HOT BASIC. Elas permitem que sejam desenhados grMicos e figuras. Tambern devem ser selecionadas pelo comando SCREEN.
Comandando SCREEN 2, obtemos a tela para desenhar em Alta Resolucao Graflca. Ela contern 192 linhas e 256 colunas.
Ao executarmos SCREEN 3, selecionamos a tela para desenhar em Baixa Resolucao Gratica. Ela disp6e de 48 linhas e 64 colunas.
As telas qraficas sao desativadas toda vez que urn programa termina ou e interrompido por CTRL+STOP. Nesses casos, ativa-se automaticamente a SCREEN 0 au a SCREEN 1.
102