microhobby_15

53
8 ci o I:"- N 'l! {) :5 ~ li) .; '" ;;; - ..; ." 'e - o o. I :z: o oc: = .li o = ~ o< ~ '0 1 o li: '" ti o< '" Q' -li lQ ... Õ g ti g: :E ti o< .li Q a :z: ! ~ oc: à I '! ~ ~ ti :z: ." ;j à ~ fii l! U2 o< .!! lIo:I li: Q ~ ~ :, o o. 1: :E o Ao B ti li :. J ~ ti A INTEIJGÊNCIA ARTIFICIAL ESTÁ AQUI Programa do mês: GABRIELA, UM COMPUTADOR QUE APRENDE Para o Apple: , OBSERVANDO OS CEUS Para o TI( 83/85: 'O PULO DO CAVALO Calculadoras: VMA SEÇÃO VOLTADA AS CALCULADORAS PROGRAMÁVEIS

Transcript of microhobby_15

Page 1: microhobby_15

8cioI:"-N'l!{)

:5 ~li).; '";;; -..; ."'e -o o.

I :z:o

oc: =.li o=~ o<~'0

1oli:•'"ti o<'" Q'-li lQ...

Õgti g::Eti o<.li Qa :z:! ~oc:à I'!

~~ti :z:

." ;jà~ fiil! U2•• o<.!! lIo:Ili: Q

~~:,

o o.1: :EoAo

Btili:.J~ti

A INTEIJGÊNCIAARTIFICIAL ESTÁ AQUIPrograma do mês:GABRIELA, UM COMPUTADORQUE APRENDE

Para o Apple: ,OBSERVANDO OS CEUSPara o TI( 83/85:'O PULO DO CAVALO

Calculadoras:VMA SEÇÃO VOLTADAAS CALCULADORASPROGRAMÁVEIS

Page 2: microhobby_15

A 111Feira Internacional de Informá-tica conseguiu ser o maior evento já rea-lizado na área. Contou com a presençade representantes de diversos paísesestrangeiros como Paquistão. Asempre-sas fecharam contratos para exporta-ção çe seus produtos e o público ficou,de certa forma, satisfeito. Como no anopassado, as empresas não deixaram delado os brindes para cativar a atenção dopúblico presente. As recepcionistas daItautec, vestidas de moleque, nas coresazul e amarelo, distribuiram bonequi-nhos na forma de passarinho brancocom chapeuzinho amarelo que lembra-vam o micra Itautec-JR. Os brochinhos,sacolinhas, adesivos e até mesmo pe-quenas agendas telefônicas fornecidaspela Xerox foram outras atrações quenão faltaram nos cerca de 300 estandesda Feira. Uma atração à parte foram asesculturas existentes logo na entrada doRiocentro, uma promoção feita pela Em-bratel, graças ao talento de J.R. AlIe-grettJ~funcionário da empresa.

Afora os brindes houve, como se

esperava, alguns inconvenientes. Logono início, quase que não teve exposi-ção dos trabalhos realizados pelas uni-versidades. Este foi um problema oca-sionado pela não liberação de verbasporparte do BNDES, porém, de última ho-ra, a poderosa IBM entrou em cena. li-berou US$ 20 mil para a SUCESU, e asinstituições de pesquisa puderam com-parecer ao evento desde que mostras-sem os projetos desenvolvidos em con-junto com a empresa.

Muitas empresas apresentaram lan-çamentos ou inovações em seus equipa-mentos. Houve uma grande preocupa-ção, principalmente as maiores, emmostrar a imagem de empresa consoli-dada no mercado, principalmente pro-fissional: Uma preocupação demonstra-da pela IBM que levou a mesma con-cepção de seu estande na última feira.Um túnel da tecnologia com o tema"Tecnologia, Aqui, Agora e para o Fu-turo".

Na maioria dos estandes as moçasbonitas estavam sempre sorridentes

apresentando os equipamentos que fi-cavam à disposição da curiosidade dopúblico. Houve também inúmeras pa-lestras promovidas por empresas comoPrológica, SID, IBM, Serpro, Embratel,Jornal do Brasil, entre outras. Outraatração presente na Feira foi o famosoApple-Machintosh, que dej~ou muitosvisitantes com água na bOds, não so-mente pelo Apple, mas também pelosPC's americano presentes no estande daIBM.

Os lançamentos foram em maiorquantidade, mais uma vez, na área demicroinformática (mais de 20). As gran-des novidades foram os compatíveis na-cionais com os TRS-BOColor e os mi-cros da linha de 16 bits, compatíveiscom o IBM PCxt. Além dos micros algu-mas empresas trouxeram à feira, asgrandes novidades na área de informá-tica: os super-micros e os mini nacio-nais. Por exemplo, a Cobra com o Co-bra 480 e a Elebra com o VAX-750 na-cional. ALA.

Novos equipamentos da linha TK

A Microdigital foi à Informática/84 com um dos maiores estandes daFeira (na forma de um disco voador) evários lançamentos, tanto em termos dehardware como de periféricos e soft-ware. Mas o seu grande destaque ficoua cargo de duas novidades: o TKS-800,compativel com o TRS-80 Color, que in-corpora uma outra linha de micropes-soal na empresa, e o TK-2000 li, com-patível ao TK-2000 I e que destina-se,principalmente, ao mercado profissionalde microcomputadores, além do robôdourado que recepcionava os visitan-tes.

Os dois equipamentos foram apre-sentados juntamente com software eperiféricos, objetivando dar um maiorapoio técnico ao usuário e dimensionar,qualitativamente, os equipamentos. Noestande, a empresa mostrou os microscom o software Multicalc, uma planilhaeletrônica que, segundo seu diretor deprodutos, Paulo Rodrigues Lauand,equipara-se ao Supervisicalc e caracte-riza um dos lançamentos, o TK-2000-1I,

como o micro profissional - Visicalcmais barato, disponível no mercado na-cional. Além do Multicalc, a Multisoft -uma das empresas do grupo - lançouprogramas como o Multifile, o Mala-Direta e a série Vestibular, um pacote de20 programas educacionais.

O TK-2000 11será comercializadonas versões de 48 K e 128 K. Sendo que,tanto a versão de 48 K do 2000-11como oTK-2000 I, que possui 64 K, poderão serexpandidos para 128 K através das ex-pansões de memória que a estará colo-cando no mercado.

Além destes novos equipamentos,a Microdigital apresentou também, ainterface serial RS-232 C. Esta interfacepermite a conexão dos dois micros aredes, assim como irá possibilitar a co-municação de dados entre micros, atra-vés de modem - que, conforme disse orepresentante da empresa, está em fasede desenvolvimento - ou de outros pe-riféricos. Com o lançamento da RS-232C, Lauand acredita que os micros dalinha TK poderão participar, assim, de

projetos do tipo Cirandão da Embratel eda rede Videotexto. "Mais isto - acres-centou -, só será possível apenas de-pois do primeiro trimestre de 85, poisestá dependendo da liberação de soft-ware específico para este tipo de apli-cação".

O novo micro TKS-800 foge da li-nha de produtos desenvolvidos até ago-ra pela Microdigital. Compatível emhardware e software com o TRS-80 Co-lor, será comercializado nas versões de16 K e 64 K com opção de expansão de16 para 64 K. Utiliza o microprocessador6809; tem nove cores; saídas para moni-tor de vídeo profissional; impressora se-rial e para até dois joyststicks analógi-cos, além de permitir também, a cone-xão de cartuchos e de comunicaçãomais específica. O teclado, profissional,é do tipo máquina de escrever com 55teclas e traz incorporado a ele um co-mando duplo de RESET.

Uma das interfaces apresentadas,foi desenvolvida especificamente paraele. Trata-se de um dísplay com saídaRF PalM para televisão colorida.

O TKS-800 atingirá um mercado jábastante concorrido. Ele irá atuar junta-mente com o CP-400, da Prológica, namesma faixa de mercado. Porém, con-forme disse o diretor da empresa, "omicro possue uma qualidade diferenteda dos seus concorrentes que é a co-nexão com CP/M". O preço médio daversão TRS-80 Color da Microdigítalserá aproximadamente 50% acima dopreço do TK-2000. A.L.A.

Page 3: microhobby_15

Impressoras e superminina Elebra

o Sistema MX 850 foi o primeiroproduto da Elebra Computadores, lan-çado durante a Informática/84. O siste-ma MX 850 é um supermini computa-dor de 32 bits projetado para utilizaçãoem processamentos de dados nas áreasindustriais, científicas e comerciais.

Seu sistema operacional VMS su-porta, simultaneamente, processamentoem tempo parfilhado, interativo, em lo-tes e em tempo real. O MX850 tem es-paço endereçável a 4 Gigabytes. O ta-manho físico de sua memória varia de 1a 8 Megabytes, permitindo que umagrande variedade de aplicações seja pro-cessada ao mesmo tempo.

O sistema MX850 oferece ao usuá-rio todos os benefícios de hardware esoftware para a arquitetura de redes pú-blicas, locais e internacionais, e ainda deconexão a sistemas de maior porte,co-mo IBM, CDC, entre outros. Através deredes, processadores isolados ou siste-mas múltiplos configurados em c1uster,podem trocar mensagens, transferirarquivos, atualizar registros em bancode dados, além de executar programas epartilhar recursos de periféricos e pro-cessadores, de forma transparente aousuário e ao programa.

O MX850 pode utilizar os seguintesaplicativos entre outros: Datatrive, ma-nipulador de dados e relatórios; RMS,arquivos indexados, seqüenciais;DBMS, banco de dados codasil; RDB,banco de dados relacional; FMS, geren-ciador de telas.

O MX 850 é um supermini de tec-nologia digital, fabricado aqui no Brasilatravés da transferência de tecnologia,conforme determinação da SEI, e suacomercialização será iniciada em janei-ro do próximo ano.

A Elebra Informática também feztrês lançamentos durante a Feira. Fo-ram apresentadas as impressoras Môni-ca Plus; Alice 9051 e a EI 8035. A Ele-bra Telecom também esteve presentemostrando o sistema de controle distri-buído MAX/SD. F.F.

Embratel e Inteligência ArtificialA Embratel esteve com força total

na Informática/84. Durante a Feira, aempresa lançou comercialmente o servi-ço REMPAC - Rede de Comunicaçãode Dados por Comutação de Pacotes.Em sua primeira fase, o serviço funcio-nará com cinco dos oito centros de co-mutação - Rio de Janeiro, São Paulo,Belo Horizonte, Brasília e Curitiba.

Segundo o presidente da Embratel,engenheiro Helvécio Gilson, colocar aoalcance das pequenas e médias empre-sas os benefícios da teleinformática é oobjetivo do serviço REMPAC. Ele expli-cou que as tarifas serão aplicadas deacordo com o tempo de utilização doscanais REMPAC e de acordo com aquantidade de informações utilizadas, oque reduzirá os custos, democratizandoas comunicações de dados no pais.

Os serviços da REMPAC poderãoser acionados, através de terminais dedados inteligentes e com canais especi~ficos via rede telefônica ou via telex. Epossível interligar, um terminal operadoem Modo Caractere, a 1200 bits por se-gundo, a uma porta de um computador

Versacad: lançamentoda Comicro

A Comicro lançou na Feira de In-formática o produto que está sendo con-siderado a menina dos olhos da empre-sa:o Versacad, um software onde ocomputador ajuda no desenho de proje-tos. Este novo software pode ser aplica-do a todos os projetos que envolvam anecessidade de desenho, como na enge-nharia mecânica, arquitetura, engenha-ria civil, estatística, etc.

O Versacad funciona para todos osmicros compatíveis da linha Apple eIBM~PC e já está sendo comercializadodesde julho, embora só agora na FeiraInformática'84 tenha sido lançado dire-tamente ao mecado.

A Comicro distribui com exclusivi-dade o Versacad no Brasil e está tra-zendo também outros softwares da li-nha CAD. O lmages 2 D, programa des-tinado ao cálculo estrutural, e o Bil ofMateriais, quantitativo de materiais queforam utilizados no projeto, ambos in-terligados ao Versacad.

Segundo representantes da empre-sa, a Comicro detectou no mercado anecessidade que engenheiros e profis-sionais das áreas envolvidas com dese-nhos e gráficos tinham de encontrarsoftware disponíveis que pudessem ace-lerar seus trabalhos. O Versacad tem ummanual em português, traduzido pelaComicro, elaborado por profissionais dedocumentação, através do qual qual-quer pessoa pode operá-Io sem a pre-sença de técnicos. F.F.

operando a 4800 bits por segundo emModo Pacote.

Outra novidade da Embratel, apre-sentada na Informática/84, foi o projetode Inteligência Artificial, que provocoumuito interesse.

"Olá, como vai? Fico muito conten-te com a oportunidade de conversar-mos." Este é um dos tipos de diálogoque o computador dotado de inteligên-cia artificial pode manter com o usuário.A tecnologia do processador natural delinguagem, ainda em testes, está sendodesenvolvida desde janeiro pela Embra-tel, em convênio com o Instituto de Nu-trição da Universidade Federal do Rio deJaneiro. O primeiro programa, mostradodurante a Feira, é um Orientador Nu-tricional.

Segundo o chefe do DPD da Em-bratel, Mário Pinto da Luz, dotar umcomputador de inteligência artificial é oprimeiro passo para o país provar que épossível desenvolver tecnologia atual-mente disponível apenas para os paísesindustrializados. F.F.

O microcomputador Ômega 4000foi lançado pela Omega durante a Feirade Informática do Riocentro. O MPC4000 é compatível com o IBM/PC e sis-temas compatíveis da linha Apple. Suaunidade central possui memória RAM de256 kBytes e memória ROM de 40 kBy-tes; interface paralela e seria I assíncro-na.

O MPC 4000 conta com 5 slots deexpansão para unidade de di,sco rígidoou flexível; impressora paralela; impres-sora serial ou outro computador (RS232); Winchester de 5/10 Mb e modem.Tem também acionador de discos fle-xíveis dupla face, dupla densidade e ca-pacidade de 320/360 kBytes.

Também foi lançado pela Omega oterminal de vídeo VDX 100 e o micro-computador MC 400. O MC 400 contacom memória RAM de 64 kBytes, duasentradas de chaves para jogos, saída so-nora e 8 slots de expansão. Possui até 14unidades de disco (de 51/4 ou 8), vídeode 80 colunas por 24 linhas, winchester5 Mb, entrada analógica de 16 canais,sintetizador de voz, módulo OM 8088 de16 bits, módulo Z80 e expansão de 128kBytes com coprocessador aritimético8087. Como opção, o MC 400 faz cone-xão com microcomputadores e com mi-nicomputadores nacionais funcionandocomo terminal inteligente. Tem comosoftware aplicativos o supervisicalc; ja-nela mágica; controle de estoque, con-tabilidade, mala direta e muitos outros.F.F.

Page 4: microhobby_15

A LZ Equipamentos, segundo LuizAntonio Zenobio da Costa, diretor téc-nico da empresa, surgiu há dois mesescomo uma extensão da LZ Sistemas. Osurgimento da nova empresa foi conse-qüência dos projetos que vinham sendodesenvolvidos na área de hardware.Junto com a LZ Equipamentos surgiutambém os três produtos que a novaempresa apresentou em seu estande. OColor 64, um micro compativel com oTRS-80 Color, o TPV - Terminal dePonto de Venda e o CRC - Computa-dor de Recursos (um periférico que sedestina a aplicações educativas).

"Ultra", O Banco deDados da Cincom

Com mais de 6 mil instalações emtodo o mundo, a Cincom é uma softwa-rehouse independente que oferece solu-ções a mais de 30 diferentes computa-dores e, pelo menos, 45 diferentes siste-mas operacionais. Para a Informática/84, a Cincom levou, entre outros, oNET/MASTER, que permite gerenciaruma rede empresarial como se fosseuma unidade singular. A rede pode con-tar com uma única ou várias CPU'S.

O NET/MASTER, carro-chefe daempresa na Feira, fornece controle úni-co operador sobre um ambiente de redede CPU local e aplicações múltiplas re-motas. Possui quatro componentes inte-grados: gerenciamento avançado de re-des; integraç(ío de redes; processamen-to distribuído e suporte ao gerencia-mento de dados, e comunicações entreos sistemas.

Outra novidade da Cincom, apre-sentada na Feira, é o "Series One Plus",com quatro programas: O "Execu/ File",que permite processar, recuperar, exporarquivos individuais e entrar ou recupe-rar dados sem ter conhecimentos deprogramação; O "Execu/Writer", queedita, organiza e faz o layout de toda acorrespondência, incluindo memoran-dum, cartas, comunicados técnícos edocumentos; "Execu/ Model" que per-mite a construção de modelos despreadsheet facilmente e com perfeição.E indicado para orçar e processar proje-ções volumosas, projetar c.ontasa pagare receber outros planejamentos. O "Exe-cu/ Reporter" seleciona informações dequalquer programa e coloca-o em qual-quer formato, além de outras funções. O"Seris One Plus" tem ainda o "Execu/Plot" ea Cincom oferece mais seis pro-gramas adicionais para informações es-pecializadas, como o "Series One PlusFinancia!", que se dedica aos profissio-nais da área financeira.

A Cincom apresentou, também,seu novo lançamento ULTRA, o softwa-re de Banco de Dados interativo para oVAX. F.F.

O Color 64 pode ser conectado como projeto Cirandão como um videoga-me, e ser utilizado em aplicações queenvolvam a linguagem LOGO em até 64kBytes. A LZ Equipamentos mostrou, nafeira, o micro comutado com outros mi-cros através do CRC. Estecomutador foidesenvolvido com o intuito de agilizarqualquer método de ensino que se utili-ze de um micro como instrumento com-plementar na educação. Como afirmouo diretor técnico da empresa, o profes-sor, através do CRC, pode unir até 11micros de seus alunos com o seu, assimcomo pode ter também, 11 micros utili-

o Informática/84 realizado noRiocentro, Rio de Janeiro foi,como muita gente esperava, umespetáculo estupendo. A feiraocupou todos os pavilhões (commais de 300 expositores) e foi di-vidida em setores. O Congressoteve uma freqüência calculadaem aproximadamente 5000 parti-cipantes contando com cerca de350 painéis, envolvendo pales-tras, seminários, debates, entreoutros.

Com o tema "Onde Estamos? ParaOnde Vamos;>" a SUCESU - 'Nacionalapresentou o XVII Congresso Nacionalde Informática. Uma das promessas fei-tas pelos organizadores - 18 terminaisespalhados em diversos locais, com aintenção de evitar filas - não foi cum-prida, pelo menos nos primeiros dias,quando muitos congressistas perderampalestras, pelo fato de estarem nas filastentando pegar seu material e crachás.Outra promessa, de 40 recepcionistas foicumprida em parte, pois estas nem sem-pre tinham condições de responder àsperguntas do público, por falta de infor-mações. Mas tirando os contras, o Con-gresso de Informática este ano, em rela-ção aos anteriores, foi o que apresen-tou o maior número de atividades.

Nos primeiros dias, algumas pales-tras foram canceladas. Secões como àsdestinadas a temas relacionados a in-fluência e conseqüências do uso da in-formática na sociedade tiveram poucareceptividade. Porém, as seções técni-cas, as conferências internacionais e aspalestras que envolviam temas acerca daformação e reciclagem profissional fo-ram, como se esperava, as mais fre-qüentadas.

Dentro das diversas seções apre-sentadas no Congresso de Informática/84 algumas mereceram destaque porparte da Microhobby. Entre estas, res-saltamos àquelas relacionadas a Reci-clagem e Formação Profissional.

zando apenas uma única impressora.O novo equipamento foi lançado

já contando com o apoio da LZ Siste-mas, que desenvolveu cerca de 12 soft-ware para aplicações como: SistemaDentista, Cadastro de Cliente e Empre-sas, Agenda Eletrônica, entre outros.

Já o TPV, um outro lancamento,destina-se a aplicações que visam a re-solução dos problemas de estoques dasempresas. Suas características técnicassão: proteção contra queda de energia.podendo ser ligado On-line ao micro, emgrupos de até 4 terminais, etc. A.L.A.

Proferida pela professora Ligia AI-ves Barros da UFRJ, a palestra" A Infor-matização do Ensino" não teve um pú-blico muito grande. Foi constituído, namaior parte, de estudantes epedagogos.

De início, a professora destacou seressencial, a partir da introdução do com-putador na escola, uma modificação naeducação para que haja viabilizaçãodeste uso no ensino. Ligia Alves Barrossalientou que deve-se levar em conta alinha de pensamento da criança e, a par-tir daí, traçar-se o seu aprendizado. Aprofessora afirmou que o computadordeve ser encarado como um novo ins-trumento tecnológico, auxiliar no apren-dizado e de maneira,-alguma deve in-fluenciar a maneira de pensar do indi-viduo.

Um oútro ponto levantado pelaprofessora nesta palestra foi o fator deque o suporte produzido (software) pa-ra tal finalidade -- o uso do computa-dor na escola - ou é desenvolvido porum informático, que tem uma formaçãotécnica, ou por um pedagogo que, poroutro lado, não possui conhecimento deinformática. Estesdois fatores, segundoela, geram divergências na aplicação dainformática no aprendizado. Conformeacrescentou Ligia Alves, esta divergên-cia é ocasionada, muitas vezes, por umsuporte baseado em softwares educa-cionais que trazem implícitos uma rea-lidade educacional que não a brasileirae, muitas vezes, não levam em conta alinha de pensamento da criança.

A professora Ligia Alves Barrosconcluiu no final, que é preciso haverno processo de aprendizado, um agenteque ela denominou de "catalizador"."O efeito químico da catalização temcomo principal agente o professor, poisé ele que viabiliza a 'reação química' doindivíduo e a sociedade". E, conformeafirmou, o computador deve ser usado,se muito necessário, como um instru-mento auxiliar do professor e não comoprincipal agente desta catalização pois- concluiu - este não tem condicõesde passar pelas mesmas experiêrÍciassociais do indivíduo. A.L.A.

Page 5: microhobby_15

Considerado pela empresa comoum-produto de tecnologia de vanguar-da, a Microtec lançou durante a Feira deInfbrmática o microcomputador XT-2002. O equipamento, segundo a Micro-tec, foi concebido com o que há de maisavançado em hardware e software, ten-do como principal característica a inte-gral compatibilidade com o microcom-putador IBM-XT.

O XT-2002 oferece solucões com-pletas a diversas aplicações, através depoderosos softwares operacionais, lin-guagens e pacotes multi-funcionais. In-terfaces e placas de expansões elevamsua capacidade de processamento, mul-tiplicando duas memórias RAM e mag-néticas e seus recursos de comunicaçãode dados entre diversos sistemas. O no-vo micro emula terminais IBM, termi-nais Burroughs e possui processamentoem redes com outros sistemas XT-2002e PC- 2001.

O novo micro tem algumas caracte-rísticas específicas tais como: memóriaROM de 48 kBytes e memória RAM ini-cial de 256 kBytes; interface seriaI pa-drão RS-232C para comunicação de da-dos ou impressoras, com velocidade deaté 19.200 bauds; placa controladora deunidades de discos flexíveis 5 1/4, comcapacidade para controlar até 4 unida-des de discos flexíveis de 320 kBytes;placa controladora de unidades de dis-cos rígidos, com capacidade para con-trolar até 4 unidades de discos tipo Win-chester de 5 ou 10 mBytes. O XT-2002

A SID e a nova concepçãode apresentaçãodos equipamentos

A SID levou à feira este ano umanova concepção na montagem de seuestande para apresentação de seus equi-pamentos. A principal preocupação daempresa foi mostrar ao público os pro-jetos em desenvolvimento. Para isto di-vidiu seu estande em setores: micro-computadores, automação bancária,microcomputadores emulando termi-nais Bourroughs e IBM, produtosSharp, multiusuário conectado à rede detelex e os minicomputadores, além deum auditório para palestras.

A empresa apresentou o projeto deseu terminal de ponto de venda, umconcentrador de 16 bits para automaçãobancária que possui capacidade de su-portar até 512 terminais financeiros,além do projeto do supermicro multiu-suário. Este tem capacidade de atenderaté 32 diferentes usuários, memória va-riando, modularmente, de 0,5 a 8 MBy-tes, e possui ampla capacidade de co-municação.

Além dos equipamentos, a SIDpreocupou-se em mostrar os serviçosexistentes para seus produtos. A.L.A.

possui também monitor de vídeo mono-cromático, fósforo verde, 12 polegadas,com reprodução da informação de corcom tonalidade de intensidades variá-veis, além de 85 teclas com repetíçãoautomática de caractéres, contendo 10teclas de funcões e bloco numérico se-parado. .

Além do novo micro, a Microtecapresentou na Informática/84 toda a li-nha de comunicação com o XT-2002,como a placa MEM LL, módulo de me-mória de 512 kBytes, até 1 MByte dememória e processamento multi-usuário. O MCOX, módulo de comuni-cação coaxial, que capacita do PC-2001e o XT-2002 a operar como uma esta-ção local inteligente de mainframesIBM, emulando os terminais 3278-mode-los 2, 3, 4 e 3279 - modelos 2A e 3A.F.F.

Suprimentos na BASF e ainauguração de novaFábrica

Dentro do programa de comemora-ção dos 50 anos do lançamento da pri-meira fita magnética, a BASF apresen-tou na Feira, um estande fechado e re-servado para um público específico.

Logo de início a empresa patroci-nou o coquetel de lançamento do even-to Informática/84, assim como a divul-gação do Congresso de Informáticaatravés de apoio financeiro para a con-fecção de posters e cartazes.

Porém, a atividade em que a BASFesteve mais fortemente presente foi nolançamento do sêlo comemorativo inau-gurado pelo presidente Figueiredo naabertura da Informática/84.

O representante técnico da empre-sa, LUlz Cabizuca, afirmou que o fatoque mais mereçe destaque dentro dascomemorações dos 50 anos da apresen-tação da fita magnética é o lançamentoda fábrica de f!exidisk em Guaratingue-tá, São Paulo. Cabizuca disse que a no-va unidade industrial da BASF será inau-gurada no próximo ano e possibilitaráuma maior participação da empresa naárea, já que é o primeiro projeto aprova-do para a fabricação de flekidisks noBrasil. A.L.A.

Verbatim e o Manualde Operação

O Que é um disquete. Cuidadosque você deve ter ao manipular seu dis-quete. Como adquirir o modelo de dis-quete adequado ao seu equipamento.Estas são algumas dicas que o usuárioda Verbatim encontra no manual deorientação ao usuário, elaborado pelaempresa e que foi também distribuído naFeira de Informática.

Sem muitas novidades, a Verbatimcolocou em exposição disquetes de 5114 e 8 polegadas, além de fitas magné-ticas. Seus produtos são fabricados emManaus e a Verbatim dá cinco anos degarantia ao comprador. Mas, para isso,no entanto, é preciso ler com atenção aoManual do Usuário. A Verbatim se res-ponsabiliza apenas pelos defeitos de fa-bricação do disquete Datalife e nãopelos que são conseqüência de um ma-nuseio incorreto. F.F.

Prol6gica: Periféricose micro de 16 bits

Foram vários os lancamentos daPrológica na Feira de Informática, tantoem equipamentos como em periféricos esoftwares. Uma das novidades é a P500gráfica, nova impressora da Prológica.

A P500 gráfica permite que um de-senho gráfico de alta resolução possaser copiado pela impressora sem a alte-ração da qualidade. As agulhas podemser controladas uma a uma. Tem capaci-dade para fazer um programa para ge-rar qualquer tipo de gráfico - de esta-tístico à área da engenharia - o que le-va vantagem em relação às impressorasnão gráficas. E acoplada, tanto a umasaída paralela quanto a uma saida serial,aos CP300, 400 e 500 e a qualquer microcompatível com a linha Apple. Possuidisco rígido de 5, 10 ou 15 Mgbytes quepermite um armazenamento maior sema troca dos disquetes, o que é útil prin-cipalmente para cadastros e arquivosgrandes. A P500 é uma impressora pes-soal e pode ser usada até com um su-per 700.

O Sistema Profissional 16 é um ou-tro lançamento da Prológica, que foimostrado durante a Informática/84. OSP 16 aproveita os softwares hoje exis-tentes para o Sistema 700 e permite oaproveitamento dos aplicativos que ro-dam em 16 bits. O Sistema Profissional16 dispõe de um sistema operacional, oSO-16, que permite rodar o que há demais atual no mercado e é compatívelcom o MS DOS. Possui um poderosoBASIC com recursos para geração degráficos coloridos e sons. O equipa-mento aceita software para DOS 700,compatível com CP/M 2.2, através deuma placa de expansão. O Sistema Pro-fissional 16 pode atingir até 320 kBytesde memória RAM sem a necessidade deplacas de expansão. F.F.

Page 6: microhobby_15

Monitor e terminal videotexto da SpliceCOMP-K 7 é o novo lançamento da

Splice que fez sucesso atraindo a aten-ção de muita gente, principalmente dosjovens, na Feira de Informática. OCOMP-K 7 substitui os cartuchos con-vencionais do ATARI por simples fitaspara gravador cassete. A partir de janei-ro, cerca de 25 jogos já estarão sendocomercializados em fitas K-7, em tercei-ra e quarta gerações. Entre os jogos:Rock, War Games, Buck Rogers, RiverRade, Jaxcon, Tarzan e Destructor,além de Gorf, Basquet, Space Panic,etc.

A Splice mostrou também seu novoterminal videotexto em duas versões:VR-1oo e V1-1oo. O modelo VR-1oo temadaptador videotexto residencial, in-cluindo teclado remoto para ser ligado aum aparelho de TV em côres. E compa-tível com o padrão Antiope (CEPT) e uti-liza 8 kBytes de memória de programasEPROM, com reserva para expansões e16 kBytes de memória RAM que permi-

te o .armaienamento das últimas páginasrecebidas, até 5 jogos de DRCS e versa-tilidade operacional. Conta com interfa-ce para impressora e interface para lei-tora de Cartões Magnéticos.

O V1-1OOé uma unidade de video-texto institucional, composta com adap-tador, com vídeo incorporado, incluin-do teclado. O V1-1oo tem saída RGBpara televisão em cores; saída para gra-vação e reprodução em K-7; tecladocom controle remoto infravermelho.Permite edição em modo local com osrecursos de movimentação de cursos,escrita de texto na tela, manipulação deatributos (tamanho da letra, cor de fun-do, sublinhamento, criação de gráficosutilizando mosaico separado ou junto ecolocação de grade na tela para visuali-zaçãol.

Foi lançado ainda pela Splice o Spli-cevídeo, monitor de vídeo em duas ver-sões: o MVB-7oo, em preto e branco e oMVC-7oo, em cores. F.F.

Atracões americanas da H.P..A Hewllet-Packard trouxe novida-

des para a Informática/84 que deixaramseu estande completamente lotado du-rante os sete dias da Feira. Os microsHP 11e HP 150, lançados nos EstadosUnidos, foram trazidos apenas para ex-posição, já que não podem ser comer-cializados devido a Lei recém aprovadaque protege a indústria nacional.

O HP-110, com impressora e dis-quete, é portátil e opera à bateria. UsaINTEL 80/86 de 16 bits; c10ck de 5.3Mhertz, possui memória RAM de até272 K e memória ROM de 384 K. Namemória ROM já estão incluídos 4 pro-gramas: Lotus 1, 2, 3, que é um progra-ma tipo visicalc; memomaker (processa-dor de textos); emulador de terminais,podendo ser ligado a equipamentosmaiores e o sistema operacional MSDOS. O HP 110já vem com um modeme sua tela é de cristal líquido de 80 co-lunas por 16 linhas. O micro aceita toda

a linha de periféricos da HP. Para ele, noentanto, foram desenvolvidos 2 perifé-ricos específicos: impressora a jato detinta, operada à bateria com 150 CPS(2 K 112) e unidades de discos de 31/2polegadas com capacidade de armaze-namento de 710 K por disco.

O HP 150 possui proce5sador 80/88 INTEL e c10ck 8 Mhertz, 256 K de me-mória RAM, podendo ser expandido até640 K e MS DOS. O micro usa um visorde alta resolução de 512/390 pontos'. Ésensível ao toque, bastando ao usuárioencostar o dedo na tela para acio'1ar amáquina. Tanto o HP 150 como o HP110 são compatíveis com o IBM/PC.

Outro lancamento da HawleetPackard é o analisador de protocolo4951 A, que opera por unidade de fitaK7. O 4951 A não tem similar e serveprincipalmente para detectar problemasde comunicação de dados nas linhas en-tre computadores e terminais. F.F.

Novos QI's apresentados pela QuartzilA Ouartzil apresentou dois novos

produtos na feira. O primeiro, é o micro-coleto r de dados. Chamado de 01-200, omicrocoletor é caracterizado pela em-presa como um microcomputador por-tátil destinado a aplicações como leiturade medidores de água, luz e gás e tam-bém no apontamento de mão de obra.Suas características técnicas principaissão memória RAM de 2 kBytes, memó-ria EPROMem 16 kBytes montados emcartuchos contendo, sistema operacio-nal, a aplicação e os dados a serem cole-tados. O micro portátil pesa 1,2 kg, pos-sui 290 mm de comprimento e 140 mmde largura e pode ser alimentado com 4

pilhas alcalinas de 1,5 V com opção deeliminador de pilhas.

Além do microportátil, a Ouartzil. apresentou o 01-900, um micro profis-sional destinado a aplicações comer-ciais como sistema de gestão de ven-das, sistemas de controle de financeiras.

O 01-900 tem memória de vídeocom capacidade de gerar telas de 27 li-nhas de 100 caracteres, possue micro-processador "c1ock" de 4 MgHz, umconjunto de 158 instruções de máquina,compatíveis com o 8080/8085, 19 regis-tradores e memória de 64 ou 128 KBytesde RAM e 40 kBytes de memóriaEPROM. A.L.A.

Periférioos: uma presençamarcante na feira

Uma das empresas que apresentouduas novidades em impressora foi a Eco-data. Em seu estande, a empresa mos-trou a EL-8OOQ- impressora hard-copye a EL-8105lançada na feira.

O maior destaque de seu estandefoi a EL 8105 que tem velocidade de 6cps, cabeça de 9 X 7, gráfica e possueresoluções gráficas de 62,7 até 166,6.Segundo Reynaldo João Zemella, ge-rente de marketing, a EL-8105 será co-mercializada com um preço médio de140 ORTN e já encontra-se disponívelcom entrega prevista para 90 dias a par-tir da compra.

A EL 8105 possue controle por mi-croprocessador, escríta bi-direcional,imprime em diversos idiomas e pode de-senhar, fazer gráficos, reproduzir qual-quer imagem que o micro produzir emseu vídeo, além de outras característi-cas.

Já a outra impressora apresentadanão é novidade, pois foi lançada em ju-lho e está sendo comercializada em tor-no de 160 ORTN. Suas característicasprincipais é que ela possui duas interfa-ces (serial e paralela), utiliza papel deformato contínuo, soltos ou bobinas.Possue 6 cps de velocidades, resolu-ção de 62,7 até 166,6 além de 103 dife-rentes tipos de escrita. A. L.A.

Proteja seus olhosConsiga em sua TV de 12H o mesmo

efeito dos monitores de vldeomais sofisticados.

•.....•-,.. .~"

Microtela é um filtro anti-reflexo fa-cilmente adaptável ao seu TV, compostopor uma tela poliester montada sobre ba-se de acrflico, fornecido nas côres verdeou ambar para TV's preto e branco e in-color para TV colorida.

O ofuscamento causado por quais-quer fontes de luz do ambiente refleti·das na tela e o cansaço visual naturalap6s um perlodo mais longo de utiliza·ção do seu micro são totalmente elimi-nados.

Microtela proporciona uma soluçãobarata e efetiva para o "problema" queestá tirando o seu prazer de programar.

Master Sti ng Ltda.Caixa Postal 18708São Paulo - SP

Page 7: microhobby_15

EDITORIAL

o tema é interessante e apaixonante. Tanto que nós já falamosdele mais de uma vez (lembra-se do artigo "Podem as Máquinaspensar?").

O assunto, longe de se esgotar, está ainda no seu início, pelomenos aqui no Brasil, e, por este motivo, optamos por dedicar estenúmero à Inteligência Artificial.

E não sem razão. Notamos que no exterior o assunto jáentrou no domínio do público, deixando até de aparecer naspáginas da imprensa não-especializada. Enquanto que, naspáginas da imprensa especializada, deixa-se de discutirpossibilidades e problemas de ordem filosófica, para'passar-se aproblemas de ordem prática, como, por exemplo, onde aInteligência Artificial é necessária, quais osaplicativos disponíveis, etc.

E o que temos no Brasil? Algunsartigos de caráter informativo publicados emalgumas revistas especializadas, algum trabalho depesquisa em Universidades e Faculdades isoladas, nemsempre divulgado (melhor: quase nunca), alguma ficçãocientífica e só.

Diante disto, resolvemos fazer o que estava em nosso alcance:mostrar ao público leitor da Microhobby que alguns princípios dainteligência artificial não são tão difíceis de compreender. Que umcomputador pessoal como o TK 2000 (ou mesmo do TK 83/85,conforme demonstramos no programa Carta, publicado na revista 12),pode ser "inteligente", rodando determinados programas.

A Inteligência Artificial está aí, à sua frente, na forma de umcomputador pessoal. Será que ele "pensa'? Acreditamos que agoraesta pergunta não tem sentido, pelo menos tecnicamente falando.Quer seu computador pense ou não (e a resposta afirmativadepende apenas de como definimos "pensar"), ele é capaz de fazeralgumas coisas que, às vezes, o deixam um pouco perplexo,coisas que parecem estar além daquilo que se espera dele. Istodepende apenas da habilidade do programador que "ensina"certos "truques" para máquina; truques estes que podem ser, ounão, considerados programas de inteligência artificial. O queimporta é a criatividade que, somada à técnica e à honestidadede propósitos, só pode trazer benefícios.

Page 8: microhobby_15

,Indice

ArtigoGabriela, o computador queaprende . . . . . . . . . . . . . . . . . . . .. 20

Micropress .. . . . . . . . . . . . . . . . 3Editorial . . . . . . . . . . . . . . . . . . . . 8Cartas 10Desgrilando . . . . . . . . . . . . . . . .. 12Livros . . . . . . . . . . . . . . . . . . . . .. 54

ArtigosOperações usando Assembly 15Inteligência Artificial 46

ProgramasO pulo do cavalo 36Teoria das Filas 42Cara ou coroa (um programainteligente para o TK 83/85) .... 44

Por Dentro do AppleApresentando o Macintosh . . .. 26

Q

CalculadorasCurso de programação da HP 41 29

Seção DidáticaObservando os céus . . . . . . . . .. 32

Explorando o TK 2000O TK DOS .. .. .. . . .. . .. .. . . . . 38

Quebra CabeçasA Torre de Vogel 41Criptoanagnose (resposta) 53

AnalisandoPlanilha Analítica . . . . . . . . . . . .. 48

DicasO INKEY$ para o TK 2000 50

CursosCurso de Assembly 51

Expediente

DIRETOR RESPONSÁVELPaulo LauandGERENTE GERALDijalma PeinadoEDITORÁlvaro A.L. Domingues .JORNALISTA RESPONSAVELAna Lúcia de Alcântara - Mt. 14.495EDiÇÃO DE NOTíCIASAna Lúcia de AlcântaraREDAÇÃO E ANÁLISECaio Marques BulhõesRogéria Gomes da Silva (secretária)Vivia R BernardoAna Luisa Mahlmeister (colaboradora)Solange Aparecid.a Menezes (revisão)ASSESSORIA TECNICAFlavio Rossini

Wilson José TucciAroldo Possuelo CarvalhoAngel D. zaccatO ConesaDIAGRAMAÇAOPaulo SérgioCORRESPONDENTESNew York - Flavio RossiniRio de Janeiro - Fátima FrançaPUBLICIDADEAurio José Mosolino (supervisor)Eduardo Garcia de SouzaASSINATURASMarcia Regina DominiquiniMarcos LorenziCIRCULAÇÃOJosé Aparecid.9 BuenoDISTRIBUIÇAOFernando Chi!)aglia Distribuidora SI ACOMPOSIÇAO E FOTOLlTOSPonto Reproduções Gráficas Ltda.IMPRESSÃO E ACABAMENTOEditora Parma Ltda.

MICROHOBBY é editada mensalmentepor MICROMEGA PUBLICAÇÕES EMATERIAL DIDATICO LTDA., INPI2992 Livro AEndereço para correspondência:Caixa Postal 54096 - Fone 826-5001CEP 01296 - São Paulo, SPPara solicitar assinaturas (12 números)envie cheque nominal à MICROMEGAP.M.D. LTDA., no valor de Cr$ 27.000,00.Tiragem desta edição: 30.000 exemplares

MICROHOBBY 15Só é permitida a reprodução total ou parcialdas matérias contidas nesta edição, parafins didáticos e com a prévia autorização,por escrito da Editora.Os artigos e matérias assinaladas são deresponsabilidade exclusiva de seus autores,não estando a Editora obrigada a concordarcom as opiniões aí expressas.

Page 9: microhobby_15

CARTAS

Meu hobby preferido e Jogar Xa-drez e, em 1979, fui campeão do torneioda Prefeitura de Poços de Caldas. Emnovembro de 1983 tomei conhecimentodo programa TKadrez 11 e comprei umTK 85, com 16 k, para observar como osmicros jogam xadrez. A curiosidade emsaber como o programa jogava me fezinteressar-me pela Informática e, a partirde maio de 1984, comprei vários livrossobre BASIC e Assembly. Agora já co-meço a por as "manguinhas de fora".

Atualmente, continuo estudandoAssembly com o objetivo de entender oTKadrez 11, que até agora continua inde-cifrável para mim, apesar de já ter con-seguido melhorar os letreiros.

Agora, se vocês me permitirem al-gumas críticas sobre a nossa Micro-hobby, a partir da n? 10 observei que emcima do título da revista não vem mais afrase: "A revista dos usuários do TK".E venho observando que a Microhobbyestá se diversificando, abrangendo in-formações para várias linhas de micros.Essaé uma diretriz que coloca a Micro-hobby ao lado das várias revistas exis-tentes no mercado e isso faz com que osassinantes se desinteressem em assiná-Ia, já ,que será mais eficiente folhear vá-

10 MICROHOBBY

rias revistas antes de optar pela qual vaicomprar, pois todas elas dedicam gran-de parte editorial aos usuários do TK.Neste momento, estou folheando a Mi-crohobby n?12 com um pouco de de-cepção, porque tenho em mãos umabela revista, mas com fraco conteúdo.

(, .. )Como meu único objetivo é ajudar a

construir uma Microhobby cada vezmais forte, aqui vãos algumas suges-tões:

aI A seção Dicas é muito boa e po-deria ser aumentada.

b) Programas do tipo "ferramen-ta", como o Merge, são bem recebidos.

c) Pequenas modificações eletroeletrônicas, tais como: inversão de ví-deo, alimentação do TK com bateria decarro, etc., também são bem recebidas.

d) O curso de Assembly, .que é umresumo do livro Linguagem de Máquinapara o TK, de Flávio Rossini, deveria sersubstituído por artigos e programas emAssembly.

e) O Curso de BASIC deve conti-nuar, porque as aulas estão mais aoalcance do grande público.

f) Análise das rotinas da ROM doTK são de grande interesse. O ideal se-ria a publicação de, pelo menos, umarotina analisada por número e, com o

tempo, teríamos um mapa completo daROMdoTK.

Marco Daniel de Barros AcciolyPoços de Caldas - MG

o tema principal desta revista é aInteligência Artificial, assunto de grandeinteresse aos nossos leitores. Nessaciência estão os princípios que nortea-ram a construção de vários programasjogadores de xadrez, entre eles o TK-drez 11,fabricado pela Microsoft. Pro-gramas como o Gabriela, Carla, Damas,publicados na Microhobby, são bonsexemplos desta técnica em ação e o aju-darão a entender o que se passa em seucomputador quando você jogar xadrezcom ele.

Você acha que um provável assi-nante não optará pela Microhobby porela não ser inteiramente voltada para oTK e compativeis. Nossa experiênciademonstra o contrário: o número de re-novações de assinaturas foi muito alto eo de novas assinaturas também. Alémdisso nossa presença nas bancas temsido bastante efetiva, crescendo a cadadia.

Page 10: microhobby_15

A revista que você disse estar fracatinha um interessante programa que po-deria ensinar-lhe alguma coisa sobreinteligência artificial e, portanto, com-preender mais sobre o TKadrez 11.Tra-ta-se do programa Carfaque nos consu-miu muito tempo de preparo. Este pro-grama simula um diálogo inteligente en-tre o psicanalista (micro) e seu paciente(usuário), e o micro utilizado foi umTK85.

Nesta edição, publicamos outroprograma que "aprende" a jogar: é oGabriela, qu.e foi desenvolvido para TK2[X)(), mas que tem sua estrutura minu-ciosamente descrita e permite ao leitorum melhor entendimento de como sefaz este tipo de programa.

Sou assinante desta revista e, ape-sar de o ser há muito pouco tempo,tenho acompanhado a sua publicaçãodesde o primeiro número e percebe-sedurante a sua tragetória, um aumentoindiscutível do seu conteúdo e, conse-quentemente, do nível da revista.

O tratamento que vocês passaram adar a outras lógicas, que não a dos com-patíveis com o TK 85, eu acho válido.Apesar de possuir um TK-85, entendoser necessário o conhecimento deoutras linguagens, para aumentar nossaintegração neste universo tão vasto queé o da Informática.

Também a inclusão de novasseções e o aprimoramento das já exis-tentes contribuiram para uma melhorqualidade da revista. Em particular açhomuito interessante as seções "Dissecan-do" e "Vice-Versa"; a primeira pelaexcelente qualidade e a segunda pelautilidade, podendo ser usada como fer-ramenta para nos auxiliar na conversãode programas de uma linguagem paraoutra que melhor nos convenha.

A variedade e a qualidade dos pro-gramas têm melhorado muito, indo des-de aplicativos como "Dinheiro no Tem-po" até os de lazer, como o excelenteCarla.

Isso prova o esforço e a dedicaçãode vocês no sentido de elevar o nível darevista "Microhobby" o que, acredito,vocês podem conseguir mais.

Mesmo assim, gostaria de fazeralgumas sugestões e observações queme parecem viáveis no momento:- Incluir mais vezes as Traduções parao BASIC TK;- Continuar com as dicas: elas são uti-líssimas.- Incluir, sempre que possível, nas se-ções "Por dentro do Apple" e "Os Oi-tenta", listagens com programas equi-vàJentespara o TK 83/85 e uma compa-ração entre elas.

José Eduardo ZanardiSão Carfos - SP

Agradecemos as suas sugestões,bem como os elogios. As seções quevocê indicou aparecerão sempre que sefizerem necessáriase, se o interesse dosleitores por elas for significativo, fare-mos o possível para torná-Ias regular.

Escrevo para congratulá-Ios peloexcelente software desenvolvido na re-vista Microhobby. Refiro-me, especial-mente, ao programa CarJa,publicado narevista número 12, que "rodei" em umTK-85 de um amigo. Mas sou possuidorde um Apple e não consegui fazer omesmo rodar no meu computador.

Benedito Campos Lima JúniorSão Luiz - MA

o programa Carfa, da forma comofoi apresentado, utiliza-se das funçõesde "fatiamento de strings" do TK 85,que tem uma forma particular, diferentedas do Apple ou do TRS-80. Na revistanúmero 7, mostramos como isto ocorre,no artigo "Um Editor de Cartas".

De qualquer forma, vamos estudara possibilidade de escrever uma adap-tação para o Apple e para o TK 2000, oupara o TRS-80.

PROTEJASEUM/eRO

LANÇAMENTOTerminal com

teclado profissionaltecnologia ITT

compatível com todalinha Sinclair NE e TK.

Teclado com feed-backtáctil com todas as

funções gravadas naprópria tecla. Caixa em ABS expandido 6 mm deespessura pronta para receber seu microcomputador com todas as interligações instaladas.Acompanha manual para montagem com opçõesde fixação da fonte internamente ou usandoexternamente.

Saídas: Expansão memórialimpressoraFonte externa ou internaRedeGravação EAR/MICChave Liga/DesligaChave 110/220 VaCJoystick

INTER·COL IND. E COM. LTDA.Deplo. Vendas· Av. Alda, 805 . Diadema (Centro)fone: 456.3011

CONTRA:. PICOS DE VOLTAGEM- TRANSIENTES DE TENSÃO- RuíDO ELÉTRICO-INTERFERÊNCIA:

RÁDIO FREQÜÊNCIA (RF)POTÊNCIA: ATINGE ATÉ 1,5 KVATENSÃO: 220 V ou 110V

ELETRONICA,INDÚSTRIA E COMÉRCIO LTDA.NO BREAK ESTABILlZADORES DE TENSÃO

Av. Vitor Manzini. 410/414CEP 04745 - Santo Amara - S. Paulo

Tels.: 011) 522-2159 e 548-0651

Uno., tia Fauiicação:Chaves comutadorasreclas e tecladOS sem i profiSSIonaisTeclas e teclados profiSSionaIS

Page 11: microhobby_15

(. .. ) Sou possuidor de um TK2000e queria saber como implementar a fun-ção INKEY$ no mesmo.

Fawzi Mikhail Abd el SayedVolta Redonda - RJ

Informamos a você, bem como atodos que nos têm escrito sobre o IN-KEY$ no TK 2()(J(), que esta pergunta foirespondida em duas oportunidades:uma na revista 13, na seção "Desgrilan-do", onde resolvemos o problema comuma pequena sub-rotina em linguagemde máquina; outra na revista 15, na se-ção "Dicas", onde um leitor descobriu oendereço PEEK (39) que fornece um va-lor diferente para cada tecla pressiona-da, embora diferente do código ASCII.Uma pequena conversão resolve o pro-blema.

Inicialmente gostaria de congratu-lá-Ias pelos ótimos temperos dessa deli-ciosa revista Microhobby.

Desejaria saber, também, se é pos-sivel, para nós leitores, alterar algunsprogramas publicados na Seção "PorDentro do Apple" de forma que possamser rodados num TK 2000 pois, segun-do o manual e também um artigo mos-trando as diferenças entre o Apple e oTK 2000, publicado na Microhobby n~10, existem basicamente três comandostlN, PR, FLASH) que são executadosnum Apple e não no TK 2000. Todavia,num programa recente da Seção "PorDentro do Apple" (Disco Voador, Mi-crohobby n~ 12), encontrei dois coman-dos (SCRN e POP) que não existem noTK2000.

Em suma, como seria possíveladaptar os programas da Seção "PorDentro. do Apple" para suplementar aescassa safra de programas para o TK200Q?

Edgard da VeigaLion NetoSão Paulo - SP

As instruções que você aponta co-mo sendo do Apple e não do TK 2()(J(),na realidade, pertencem ao conjunto deinstruções de ambos os computadores.

A instrução SCRN fornece a cor deum determinado ponto na tela e a ins-trução POP faz com que uma sub-roti-na, ao invés de retomar ao programaprincipal, execute a próxima sub-rotina,ou linhas de programa que lhe são pos-teriores.

As dicas para adaptar essesprogra-mas serão fornecidas paulatinamente, amedida que forem surgindo oportunida-de para isso. No momento, aconselha-mos a tomar cuidado com PEEKs, PO-KEs e programas que envolvam gráfi-cos.

Por outro lado, os programas parao TK 2()(J() serão cada vez mais freqüen-tes em nosaspáginas.

Solicito que a Microhobby me auxi-lie esclarecendo as seguintes dúvidascom relação ao TK 2000:

1) Li na Microhobby n~ 10 que, pa-ra programas com mais de 6 kBytes, de-veremos usar a segunda página de ví-deo. Acontece que, antes de ler tql arti-go, havia digitado um programa com 12k sem apresentar nenhum problema. Oque aconteceu?

2) Quanto aos jogos da Microsoftque possuo, todos com mais de 6 k, de-vo chamá-Ios em qual página.

3) Considerando que o Ml' permi-te o acesso a 38 k de RAM, como pode-rei digitar programas como o apresenta-do na coleção "Enciclopédia Prática deInformática", Minidata, para computa-dores de 64 k, e indica o TK 2000 comoum dos que aceitam tal programa?

Cláudio C. A1vesde MouraSão Paulo - SP

O artigo que publicamos na Micro-hobby n~ 10 tratava de compatibilizaçãoentre TK 2000 e Apple e os conselhosdados eram relativos à adaptação deprogramas de uma linha para outra. Dequalquer forma, programas que ocupa-rem mais de 6 kBytes, com telas gráfi-cas, devem sofrer as modificações cita-das. Quanto aos jogos da Microsoft oude qualquer outro fabricante, você nãoprecisa preocupar-se em chamá-Ios napágina adequada, uma vez que isto está"embutido" no próprio software. Em re-lação ao programa "Minidata" nada po-demos responder, uma vez que não oconhecemos. Sugiro que você escrevapara a Editora Abril, procurando solu-cionar seu problema.

Sou médico e, para usar um micro-computador no consultório, optei peloTK 2000. Consegui faler vários progra-mas (o manual de instrução é muito cla-ro, auxiliando muito, pois mesmo semcurso de BASIC consegui fazer váriosprogramas), mas tive dificuldade de gra-var dados em fita (como DSAVE eDLOAD do TK 2000). Sei que isso é pos-sível através de uma sub-rotina em lin-guagem de máquina, que seria coman-dada pelo BASIC (. .. ) mas como te-nho o micro s6 desde junho, e não te-nho nenhuma experiência de programa-ção, tentei e não consegui. Assim, ape-Io para "Explorando o TK 2000" paraconseguir a solução.

(. .. )E indiscutível que a Microhobby é a

revista ideal para apoiar os possuidoresde TK 2000 e a seçãó "Explorando o TK2000" é uma magnífica idéia. Como a si-milaridade entre o TK 2000 é grande, su-geriria que, no "Por Dentro do Apple"viesse também uma indicação de comoalterar esses programas para "rodar" noTK2000.

João José de Araujo Moura FilhoRio de Janeiro - RJ

Em primeiro lugar agradecemos,em nome do professor Tucci e seus co-laboradores, os elogios que faz à seção"Explorando o TK 2()(J()". Quanto à suapergunda, informamos que existemduas instruções específicas no TK 2()(J()destinadas à manipulação de dados emfitas: STORE e RECALL, que estão des-critas no manual do TK 2()(J() na página113.

Estas instruções são específicas pa-ra gravação ou leitura de matrizes nu-méricas.

Como se trata de matrizes numé-ricas, elas devem ter sido pré-dimencio-nadas (pela instrução DIM) antes da gra-vação e antes da leitura.

Page 12: microhobby_15

A instrução STORE armazena emfita o conteúdo de uma matriz numé-rica. Suponha que você tenha uma sé-rie de dados a ser armazenados, porexemplo, 200 flUmeros quaisquer. Vocêpoderá, por exemplo, colocar estes va-lores numa matriz de 10 x 20 números.Assim, no início do programa, para evi-tar redimencionamento, coloque a se-guinte linha:

A matriz poderá ter qualquer nome,e quaisquer dimensões, desde que com-porte o número de dados que você de-seja armazenar.

Em algum ponto do programa, vocêdeve carregar os dados na matriz A.

No final do programa ou onde jul-gar conveniente, acrescente a seguintelinha:

As letras "n" indicam que pode serum número qualquer de linha. Eviden-tejTIente, o gravador deverá estar ro-dando no modo "REC". Você poderáincrementar esta operação usando o co-

mando MOTOR. A maneira correta deutilizá-Io está descrita na página 114 domanual do TK 2000. A sua função é ligare desl7gar um dos gravadores por meiode sua entrada REMaTE. Assim, vocêpoderá deixar o gravador no modo"REC", conectar o cabo apropriado naentrada REMaTE e comandar a sua liga-ção por meio de MOTOR " se o REMa-TE do gravador estiver conectado à en-trada A, ou MOTOR3 se o REMaTE dograv.ador estiver conectado na entradaB. E necessário o uso de uma pausa de-vido à inércia do circuito. Por exemplo,supondo que a instrução STORE está nalinha 100, acrescente as seguintes ins-truções:

95 MOTOR 196 FOR I = 1 TO 100: NEXT I

lOOSTOREA101MOTOR()102FOR I = 1 TO 100: NEXT I

A linha 95 liga o gravador A, a linha96 executa um loop vazio para permitiruma pausa, a linha 100 carrega a matrizem fita, a linha 101desliga o gravador A(se estivéssemos usando o gravador B,deveríamos usar MO TOR2) e a linha 102executa um loop vazio, originando uma

pausa antes da continuação do progra-ma.

A instrução RECALL lê uma matrizgravada em fita, previamente gravadapor uma instrução STORE. As dimen-sões deverão ser as mesmas, mas o no-me da matriz poderá ser outro. Se você,por exemplo, desejar recuperar a matrizgravada pela instrução STOREdo nossoexemplo, poderá fazê-Io da seguinteforma:

a) dimensionar a matriz no começodo programa com as mesmas dimen-sões do programa anterior (ou, na me-lhor das hipóteses, com a última dasdimensões maior que a do programaanterior):

b) carregar, da fita, a matriz nocomputador por meio da instruçãoRECALL, estando o gravador funcio-nando no moêlo "PLAY": 100 RECALLD.

c) dar prosseguimento ao progra-

Da mesma forma que utilizamos noprograma anterior, poderemos nos uti-lizar do comando MOTOR, facilitando otrabalho com a fita.

Dê-Iheum

0p~~eae'el~terá:Vantagens:O Maior dinamismo na entra(ja de· dadosO Vida útil maior que 2 milhões de operações·0 IJm teClado profissional com switches individuais e acionamentú·mecânico ..O GabineteênfFiber-Glass que suporta vídeo de 12 polegàâas e acondiciona micro,

expansão e fonte. . .

j;Yi > _ _ ._

speed Eletr~Eletrônica lida. - Rua I (i) n? 395 - Bernardo Monteiro - 32.000 -Contagem- MG· Caixa Postal 1036 - Tel: (031) 463-3171 - 351-1887~ '. ,

Page 13: microhobby_15

Operações Aritméticas no TK 83/85usando o Assembly

A maioria dos cálculos necessários em rotinas escritasem linguagem de máquina são feitas usando simplesmente osregistradores disponíveis. Desta forma, com apenas um regis-trador, podemos manipular números entre 0 e 256. Aprovei-tando o recurso da CPU, interligando dois registradores paraformar um par, temos éf possibilidade de realizar cálculos comvalores entre 0 e 65535.

Colocando o resultado no par BC, podemos imprimireste número usando o comando:

o exemplo da figura 1 demonstra como podemos somar doisnúmeros.

LD HL, (número)LD BC, (número)ADDHL, BCLDB,H

LDC,LRET

; soma os números; transfere o resultado

para BC

; retorna ao BASIC

2100000100000944

4DC9

Isto demonstra que, colocando valores relativamentepequenos em HL e BC, obtemos o resultado na tela com ocomando PRINT USR 16514. O resultado corresponde sempreao valor correto quando este não ultrapassar o limite máximo65635 (figura 21.

CF 025E 24

LD HL, + 719LD BC, +9310ADD HL,BCLD B,HLDC,LRET

dará após PRINT USR 16514 o valor 10029

14 MICROHOBBV

Rgura3

Exemplo: somar 38510 com 40000

LD HL, +38510LD BC, +40000ADDHL,BCLDB;HLDC,LRET

21 6E 9601 40 9C09444DC9

dará após PRINT USR 16514 o valor 12974 (m.Na figura 3 temos um exemplo prático do que foi fa-

lado anteriormente. Como o resultado ultrapassou o valor65535, o número na tela representa a diferença entre o resul-tado real menos 65636 (o número 65636 será impresso como01.

65535 .65636 .65637 .78510 .

65535o1

12974

ou ainda, expressando, esta "divergência" do resultado numafórmula matemática: Valor em BC = resultado correto INT{resultado correto/65536) *65536.

O caso é semelhante subtraindo, multiplicando oudividindo os números. Quanto a subtração, as rotinas escri~tas em linguagem de máquina não são complicadas, poistemos a nossa disposição OS mnemOnicos.

SUB (subtração normal)SBC (subtração em observação do Carry-Flag)

A multiplicação já complica um pouco mais, pois em-pregando apenas um mnemOnico podemos· apenas realizarmultiplicações na base de 2 (*2, *4, *8 etc.1. Este mnemO-nico é o SLA A(shift left), que desloca todos os bits do acu-mulador A uma casa para a esquerda, que corresponde aodobro do valor'inicial:

A ='3após SLAA

00000011 (valor inicial)00000110 (o valor agora é 6)

Page 14: microhobby_15

Assim, se quisermos multiplicar o valor 3 por 8, pode-mos escrever a seguinte rotina:

16514 LD A, + 3SLAA

3E03 ; valor inicialCB 27 ; multiplica por 2 (3*2 = 6)

SLAASLAA

CB 27 ; multiplicapor2(6*2= 12)CB 27; multiplicapor2(12*2=24)

e, para imprimir o resultado na tela, teremos ainda que car-regar o par BC com este resultado:

LD B,0LD C,ARET

06004FC9

Se o valor no acumulador A, após a instrução SLA, ul-trapassar o valor 255, teremos novamente resultados irreais:

Ex.: A = 201 11001001após SLA A 10010010 (= 146)Também aqui podemos prever o resultado, aplicando

a seguinte fórmula: Valor em A = resultado correto INT (re-sultado correto /256) *256

Para realizar multiplicaçOes diferentes aos de base 2,podemos usar somas repetidas até chegar ao resultado final:Exemplo: multiplicar 83 por 7

16514 LD HL,0 210000 ; define o parHL-0

LD DE, +83 115300 ; define o par DEcom 83

LD B,7 0607 ; B controla aquantidade dassomas

ADD HL,DE 19 ; soma DE ao HLDJNZ 10 FD ; repete a soma até

completar 7 loopsLD B,H 44 44 ; carrega o resul-

tado de HL paraBC

LDC,L 4DRET C9

Após o comando PRINT USR 16514, teremos o resul-tado 581 na tela. Deve-se observar também aqui o limite má-ximo traçado pelo número 65535.

Da mesma maneira podemos, dentro dos limites já co-nhecidos, dividir números usando o Assembly. Semelhante aoSLA para a multipl~cação, temos para a divisão o SRA A, quedesloca todos os blts do acumulador A uma casa para a direi-ta, dividindo, desta maneira, o número por 2 (figura 4).

Exemplo: A = 16apósSRAA

A = 78apósSRAA

0001000000001000 (valor = 8)0100111000100111 (valor = 39)

Podemos observar que, neste caso, não precisamosnos preocupar com o valor máximo permitido (255), pois o re-sultado sempre será menor do que o número inicial. Toda-via, não podia deixar de ser, este método apresenta uma ou-tra desvantagem não menos despresível.

LDA, +17SRAALB B,0LDC,ARET

3E 11CB2F06004FC9

.; define o valor inicial; divide por 2; passa o resultado para BC

; volta ao BASIC

Após PRINT USR 16514 teremos o resultado 8, en-quanto o resultado correto seria 8,5. O motivo é evidente, pois"perdemos" o último bit após a instrução SRA A:

antes: A = 17 00010001APÓS SRA A 00001000 ( = 8)

Podemos concluir, que somente números pares po-dem ser divididos usando o SRA, pois não há condiçOes deapresentar as fraçOes. Expressando também esta deficiêncianuma fórmula matemática, temos:

Continuando com estes recursos, percebemos logo oslimites dos mnemOnicos disponíveis, principalmente quandoqueremos realizar cálculos mais complexos, como extrair rai-zes, logaritmos ou outros cálculos no campo da trigonome-tria. Você seria, por exemplo, capaz de desenvolver uma roti-na em linguagem de máquina, que eleva o valor 3,1506 napotência de 5,01137

Para estes casos, está a nossa disposição o monitor donosso micro, que contém várias sub-rotinas específicas, faci-litando cálculos complexos. Estas sub-rotinas ocupam cercade 3 kBytes dos 8 kBytes originais, e são acessadas com ainstrução RST28. .

Este mnemOnico RST28 significa "restart at 28", queleva a CPU a executar a rotina localizada neste endereço. Éa inicialização para cálculos com ponto flutuante, e cada ins-trução após RST28 será interpretada como uma função, e nãomais como um mnemOnico usual. A única instrução capaz deindicar ao micro que terminaram os cálculos em ponto flu-tuante é a instrução FIM (valor 34 em hexadecimal). Temos,portanto, a seguinte configuração usando RST28:

LANCAMENTOI

Você já imaginou a importância dos disquetes para o seumicro?Agora no mercado o mais recente sistema de arquivamentopara disquetes 51/4" para seu micro.- Protege o disquete do pó, sol, umidade, contato, etc.- Facilidade no manuseio e ordenação de seus programas e

jogos.Possui índice interno (para duas faces) para que você possaclassificar e localizar seus programas:Possui visorlíndice externo para ordenação e localizaçãodo seu conjunto de disquetes.Com capacidade para 10 unidades (51/4"1.Bonito, leve, resistente, prático e de fácil locomoção.

A venda nas melhores lojas do ramo.

) FORMULÁRIOS INTEGRADOS SISTEMAS• CONSULTORIAEORGANIZAÇAOLTDA. •fls"o R.lbirapitanga, 216 - V. Pires

111 Santo André - SP - CEP 09000Fones: 440-2674/440-5412/412·1408

Page 15: microhobby_15

(rotina ASS~mbIY)

RSt28J

linstruçõesdecálculo) aqui são feitos os cálculos1

34

(. ~rotina Assembly)

tAntes, porém, de entrar na rotina de cálculos de ponto

flutuante é necessário definir os valores iniciais, com osquais se quer efetuar a operação matemática.

O procedimento para esta preparação é o seguinte:1. carregar o primeiro número no par BC2. chamar a sub-rotina em 15203. carregar o segundo número em BC4. chamar novamente a sub-rotina em 15205. iniciar os cálculos com o RST 286. programar as funções desejadas7. "fechar" os cálculos em 348. continuar com o programa normal

A rotina no endereço 1520 em hexadecimal transfor-ma o valor em BC para uma configuração de 5 bytes, dife-rente da que n6s já conhecemos. Esta transformação é ne-cessária para cálculos em ponto flutuante e, por hora, não hánecessidade de nos preocuparmos como esta transformação éfeita.

Se quisermos colocar números menores do que 256 nostack do calculador, podemos também usar o acumulador Aao invés do par BC, s6 que neste caso deve ser chamada asub-rotina do endereço 151D. Na verdade, esta última rotinanada mais faz do que carregar o registrador B com 0 e o re-gistrador C com o valor contido em A.

Sabendo que para a adição temos o código 0F, po-demos somar os números 31000 e 7112 da maneira mostradana figura 6:Figura 616514 LD Be, + 31000

CALL 152001 1879 ; define o primeiro númeroCD 20 15; coloca o número no

stack do calculadoro C8 1B ; define o segundo

númeroCD 2015; coloca o número no

"stack" do calculadorRST28 EF; prepara o calculadorAdição 0F; soma os dois númerosFIM 34; final dos cálculos

Nesta altura, o resultado já se encontra no topo dostack do calculador, porém ainda em forma de 5,bytes. Deve-mos retirar este valor do stack pois, caso contrário, o microentra "no ar" voltando ao BASIC. Uma das maneiras de colo-car o resultado no par BC é chamando simplesmente a sub-rotina própria para este fim, localizada no endereço 0EA7.Assim, a rotina acima deve continuar com as instruções mos-tradas na figura 7.Figura 7CALL 0EA7 CD A7 0E ; transfere o resultado para o par BCRET C9 ; volta ao BASIC

Após PRINT USR 16514, teremos novamente na tela,exatamente como aconteceu anteriormente. Por enquanto,não há vantagem aparente entre esta maneira, usando RST28,e o método convencional já descrito. Vamos ver como o pro-grama reage quando o resultaqo ultrapassa o valor 65f;j5,somando, por exemplo, 40000 com 60000 (figura 8).

Figura 8 16514 LD BC, + 40000CALL 1520LD BC, + 60000CALL 1520RST28AdiçãoFIMCALL0EA7RET

16 MICROHOBBY

01409CCD20150160 EACD2015EF0F34CDA70EC9

Dando PRINT USR 16514, percebemos que o progra-ma pára com a indicação de erro B no canto inferior esquerdoda tela, demonstrando que houve um cálculo fora do limitepermitido. Esta é a diferença fundamental entre o RST28 e ométodo comum, pois, toda vez que o resultado se tornar ne-gativo, ou ultrapassar o valor 65535, a rotina retorna ao BASICdurante a execução da sub-rotina em 0EA7.

O resultado real, no caso 100000, foi realmente encon-trado e fica no topo do stack do calculador, porém, ainda emforma de 5 bytes. A questão é: o que fazer para "ler" o resul-tado sem correr o risco de parar o programa.

A solução é mais simples do que se imagina. Bastasubstituir a sub-rotina em 0BF5 pela sub-rotina no endereço0B55. Esta última rotina imprime o número localizado no topodo stack do calculador na tela, independente do seu valor egrandeza.

Alteramos, portanto, a rotina acima a partir da instru-ção "FIM" conforme segue:

FIMCALL0B55RET

34CD 550BCS

O comando certo agora é RAND USR 16514, e nãomais PRINT USR 1651.4,pois deixamos de usar o par BC paraimprimir o resultado ria tela. E para a nossa satisfação, apa-receagora, finalmente, o resultado correto na tela!

Criando coragem, vamos ver se o programa é real-mente capaz de imprimir qualquer número (figura 9).Figura 9

Ex: subtrair de 5 o valor 13LDA, +5 3E05CALL 1510 CD 10 15LDA,+133E0DCALL 1510 CD 10 15RST28 EFSubtracão 03FIM . 34CALL0B55RET C9

que leva realmente ao resultado -8 após RAND USR 16514,ou ainda, provocando resultados fracionados, dividindo, porexemplo, 7por4(figura 10}.Figura 10

LDBC, + 7CALL 1520LD BC, +4CALL 1520RST28DivisãoFIMCALL0B55RET

010700CD 2015010400CD 2015EF0534CD 550BC9 ; seguido de RAND

USR 16514

Na tabela I, vemos uma listagem das funções dispo-niveis após RST28.

Tabela I

Função Código Função Código

adição 0F subtração 03MUL TIPLlCAÇÂO 04 divisão 05EXP 23 ABS 27SQR 25 SEN 1CCOS 10 TAN 1EASN 1F ACS 20ATN 21 SGN 26USR 29 VAL 1ACODE 19 PEEK 28LN 22 INT 24STRS 2A CHRS 2BNOT 2C OR 07potenciação 06 deletar 02trocar 01 duplicar 2D

Page 16: microhobby_15

Temos ainda uma área reservada para cálculos emponto flutuante, onde podem ser guardados ~t~ seis números-de 5 Bytes cada. Esta área abrange 30 poslçoes. (tabela 11)

Tabela 11

Endereço Conteúdo164n (4050) '1~ número16482 (4062) 2'? número16487 (4067) ~ número16492 (406Cl 4~número16497 (4071) 5~número16502 (4076) 6~número

As instrucões necessárias para colocar, ou retirar, os valoresnesta áreá são simples:

C0 - Coloca o último resultado na memória 0C1 - Coloca o último resultado na memória 1C2 - Coloca o último resultado na memória 2C3 - Coloca o último resultado na memória 3C4 - Coloca o último resultado na memória 4C5 - Coloca o último resultado na memória 5

e, para chamar estes valores de volta temos, respectivamente,E0, E1, E2, E3, E4e E5.

Após o RST28, podem ser efetuados diversos cálculo.sde uma só vez. Utilizamos este recurso, bem como a possIbI-lidade de usar as memórias, no exemplo da figura 11.Figura 11

Exemplo:calcular o resultado de V(7/5) * 73

Solução:16514 LD A, + 7 3E 07

CALL 1510 CD 10 15

LDA,+5 3E05CALL 1510 CD 10 15

RST28 EFDivisão 05Store MEM 0 C0

LD A, +73 3E 49CALL 1510 CD 10 15

RST28 EFCALL NEM0E0

Multiplicação 04SQR 25

FIM 34CALL 0B55 CD 55 08RET C9

; define o primeiro número; leva o número ao stack docalculador; define o segundo número; lev ao segundo número aostack; inicia os cálculos; calcula 7/5.; guarda o resultado namemória 0; retoma ao Assemblernormal; define o terceiro número; leva o terceiro número aostack; inicia os cálculos; recupera o resultadoanterior; multiplica (7/5) com 73; extrai do resultado a raizquadrada; fim dos cálculos; imprime o resultado na tela; retoma ao BASIC

Confira o resultado impresso na tela após RAND USR16514, com o resultado obtido através de um programa equi-valente escrito em BASIC.

Chegamos à conclusão de que é muito fácil de realizar,desta maneira, operações matemáticas. Ficou, porém, aindauma dúvida no ar:

"E se eu não quero ter o resultado na tela?"Isto na prática é bastante comum, principalmente

quando se trata de resultados intermediários. Já sabemos queraramente podemos usar a sub-rotina em 0EA7 para "limpar"o stack do calculador, por motivos de paradas indesejadas doprograma. .

A solução é guardar o resultado numa das seis me-mórias disponíveis e realizar, antes da rotina em 0EA7, umaoperação matemática que, com certeza, não resultará numvalor negativo ou maior que 65535. Por exemplo, podemosfazer uma multiplicação com 0 e chamar tranqüilamente, aseguir, a sub-rotina em 0EA7. O exemplo da figura 12 ilustraeste procedimento.

FigUf812

Problema: multiplicar 9000 por 10,5 e guardar o resultado ncendereço 20480, sem que o resultado apareça na tela.

Solução:16514 LC BC, + 105016900

CALL 1520 CD 2015LD BC, + 10010A00CALL 1520 CD 2015RST28 EF

Divisão 05STORE MEM 0 C0

FIM 34LD BC, +9000012823CALL 1520 CD 2015

RST28 EF

CALL MEM 0 E0

Multiplicação 04STORE MEM 0 C0

; para chegar ao valor 10,5 .teremos antes que fazer umpequeno cálculointermediário

; estamos dividindo 105 por10, obtendo assim, o valor10,5 desejado

; guarda o valor 10,5 namemória 0; final do primeiro cálculo; define o segundo número; leva 9000 ao stack docalculador; início dos cálculos(continuação); recupera o resultadoanterior (10,5); multiplica 9000 com 10,5; guarda o resultado namemória 0

Até aqui, nada mais fizemos do que calcular o produtode 9000 e 10,5 e guardamos o resultado na memória 0. Restaainda uma pequena rotina adicional para limpar o stack.(figura 13)

FAÇA COMO OSFUNCIONARIOS DA

AlCAN. XEROX.SEARlE. COPAS.

INTElPA, DARlING.AIR SERVICE:

MATRICUlEoSE NA5.0.5. COMPUTADORES.

CURSOS DE

• Número limitado de alunos porclasse • 1/3 de todas as aulas com uso

díreto dos computadores, inclusive nos cursos deCobol • Professores altamente qualificados • Cursos

apostilados e apresentados com transparências. Modernasinstalações com vários equipamentos Dismac. Prológica.Sysdata entre outros • Preços extremamente acessíveis.

NÚCLEO l-S. PAULOAv. Paceembú. 1.280Fone.: 66-78li6186-1513

NUCLEO 11- S. PAULOR. To"". CaNalhal. 380(Próximo EstaçAo Metrô Paraíso)Fone: 570-6097

A NOVA MANEIRA DEAPRENDER A PROGRAMAR

NÚCLEO l-S. PAULOAv. Pacaambú. 1.280Fone: 82lHI466NUCLEO IV - ITANHAEMR. Zeperino Soares. 19 - sala 25Fone: 92-1492NÚCLEO V - SANTOSR. Mato Grosso. 450

Page 17: microhobby_15

Figura 13LD BC,0 01 00 00CALL 1520 CD 20 15 ; leva o valor 0 ao topo dostackRST28 EF ; multiplica com 0Multiplicação 04FIM 34CALL 0EA7 CD A7 0E ; "limpa" o stack

Nesta altura, já terminamos com todos os cálculosnecessários, faltando ainda a transferência do resultado para oendereço 20480 (figura14l.

Figura 14 .O BC, + 5 01 05 00 ; são 5 bytes a serem

transferidosLD HL, + 16477 21 5D 40 ; HL aponta para a posição

do resultado~D DE, +20480 1100 50 ; DE aponta para onde deve ser

transferido o resultado.LDIR ED B0 ; é feita a transferênciaRET C9 ; retoma ao BASIC

Agora podemos ter' acesso a este resultado quandodesejamos, transferindo-o, por exemplo, novamente para aárea das memórias do calculador, para efetuar novas ope-rações.

Após ler e estudar este artigo, creio que você seja ca-paz de solucionar qualquer problema envolvendo operaçõesmatemáticas, familiarizando-se com estas técnicas, desco-brindo macetes e - assim espero - divulgar suas experiên-cias aos programadores menos experientes.

Aliás, voltando um pouco, como é mesmo o resultadoda elevação do valor 3,1506 na potência de 5,0113? (figura 15l.

5 REM TENTE ESTAiTK200010 HOME20 FOR J = 1 TO 3030 F = INT ( RND (1) * 20) + 140 C = INT ( RND (1) * 35) + 150 HTAB c: VTAS F60 PRINT H! !H70 HTAS C: VTAB F + 180 PRINT H!@ @!H90 HTAB C: VTAB F + 2100 PRINT HI X IH

110 HTAS c: VTAS F + 3120 PRINT fil===IH

130 FOR K = i TO 50: NEXT K140 HTAB C: VTAB F: PRINT H

150 HTAB c: VTAS F + 1: P~INT fi

180 NEXT J190 HOME: END

Figura 15Solução:

16514 LD BC, +31506 0112 7B ; para chegar ao valor3,1506 temos de realizaruma operação a parte

CALL 1520 CD 20"5LD BC, + 1000001 1027CALL 1520 CD 2015RST28 EFDivisão 05STORE MEM 0 C0FIM 34LD BC, + 50113 01 C1 C3 ; procedimento idêntico ao

valor acimaCALL 1520 CD 2015LD BC, + 100000110 27CALL 1520 CD 2015RST28 EFDivisão 05CALL MEM0 E0Troca 01 ; é necessário trocar a

ordem dos dois númerosnostack

Potenciação 06FIM 34CALL 0B55 CD 550BRET C9

Que, após RAND USR 16514, dará o resultado 314,48373 -confere? O

RESPOSTAS DO CURSO DE ASSEMBLY/AULA 10

1. 30000 LD HL,(16396) '2A0C40'30003 LD A,0 '3E00'30005 INC HL '23'30006 LD (HU,A 77'3fl1l1lJ7 INC A '3C'30008 CP 20 'FE14'30010 JR NZ,30005 'C27535'30013 RET 'C9'

30100 LD D,0 '1600'30102 CP E 'BB'30103 RET C '08'30104 SUB A,E '93'30105 INC O '14'30106 JR NZ,30102 'C27596'30000 LD D,10 '160A'30002 LD E,5 '1E05'30004 CAL L 30100 'C 09475'3fl1l1lJ7 LD S.,H '44'30008 LD C,L '4D'30009 RET 'C9'

3fl1l1lJ1 ADD A,B '80'3fl1l1lJ2 LD A,40 '3E28'30004 JR C,30009 'DA7539'30007 LD A,51 'BE33'30009 LD HL,(163961 '2A0C40'30012 LD DE,0034 '1122'30004 ADD HL,DE '19'30015 LD (HU,A '77'30016 RET 'C9'

30001 LD HL,0 '2100'30003 ADD HL,SP '39'30004 LD B,H '44'30005 LD C,L '§4D'30006 RET 'C9'

3fl1l1lJ2 PUS H AF 'F5'30003 POP BC 'C1'30004 LD B,0 '0600'30005 RET 'C9'

Page 18: microhobby_15

Venha'collhecercOossoc shov/ room ecparticlPÇlr,afivamêl'lte, das mais recentes

ée:rtw~íucionáriÇlcs te'Cnologias a respeito'dosw míçrocomputadores: Além de}lÍzer;mígos,~ventualmente poderão

~descobriro "que um Microcomputadorpoderá' fazêr por vocês Ol,{' pela suaEmpresa.Trata·;e, dé uma pêrfe(ta e balanceada~strut~ra' pafél"representar à altura, asPIincipai.sEmpresasde· Computadores

tais como: Texás, Zirok, Micra"digital;Dactari, Polymax,Unitron,0 Elebra,Aceco, Prológica, Apple ,lI. Sav~ge,Microcraft, CMA, Phillips, Ringo,Matríx •••

RUASANTAEFIGi:NIA, 568 - SP - FONE:221-9055. . ~..- ~ ~ "-

Page 19: microhobby_15

Gabriela, o computador que aprende

Gabriela é um jogo didático daFUNBEC - Fundação Brasileira para oDesenvolvimento do Ensino das Ciên-cias, adaptado do original - Gabriela I- por lsaac Epstein (seu idealizador) háaproximadamente dez anos. O jogo foiprojetado para crianças de até dez anos,com o intuito de desmistificar a crençade que os computadores podem pensarou imaginar.

Conforme afirmou Verenice LeiteRibeiro, gerente de Marketing da FUN-BEC, o kit Gabriela já foi usado tambémpor escolas, quando os interesses dasmesmas era transmitir aos alunos os pri-meiros fundamentos do processo de in-teração entre o computador e o opera-dor. Hoje, alguns kits do Gabriela (Ocomputador que aprende) encontram-senuma das prateleiras da lojinha da insti-tuição, (localizada no campus da Univer-sidade de São Paulo) à espera de que al-guém que ali vai para comprar outroskits se interesse por eles. Mas, por queisto?

Segundo a representante da FUN-BEC, quando o jogo foi projetado nãohavia um interesse tão grande por Ciber-nética no Brasil. A idéia e o jogo chegoua ser aceito por diversas escolas e aindahoje algumas ainda o procura, mas o kitnão recebeu um investimento suficientepara que se formasse uma infraestruturaforte que justificasse um incrementomaior de marketing em cima do mesmo.Afinal, a Fundação sobrevive com re-cursos de outras instituições de apoio àpesquisa que fornecem verbas para seusprojetos. E assim outras áreas em que a

20 MICROHOBBY

FUNBEC atua, como Óptica, produtosde laboratórios quimico e clínico, obtive-ram um maior sucesso já que a outraárea - na linha de produtos para o en-sino das ciências - (justamente pelapouca verba disponível) foi aos poucos,ficando em segundo plano.

O jogo original foi desenvolvidocom o intuito de transformá-Io num ins-trumento de aprendizado baseado noprocesso de "tentativa e erro", que fazcom que a mente da criança passe porum processo de seleção de respostas atéchegar ao resultado desejado. O objeti-vo inicial é demonstrar como funciona oprocesso mental e não imitá-Io.

O processo de seleção é realizadoentre os dois jogadores principais: ocomputador que aprende e o seu adver-sário - o homem.

Gabriela I (o primeiro) é formada deuma caixa de madeira contendo 14 reci-pientes plásticos compostos de 306 ca-vidades. Cada cavidade possui bolinhasplásticas de Cores alternadas que corres-pondem ao número possível de alterna-tiva no jogo, além de um mapa que indi-ca a situação correspondente à cavida-de e um dispositivo (uma imã), usadopara a retirada - ao acaso - de umadas bolinhas da cavidade entre as vá-rias lá existentes. A cor da bolinha reti-

rada é que determina o lance escolhidopela máquina.

O adversário joga a seguir, dispon-do somente de 305 situações possíveis.Daí em diante, o jogo prossegue até quese tenha as instituições finais. Caso Ga-briela seja derrotada, deve-se retirar asbolinhas que propiciaram a sua· perdaafim de que ela não torne a fazer estajogada. Se Gabriela vencer, então as bo-linhas retornam à máquina, porque o re-sultado foi positivo (pois o intuito é fazercom que Gabriela sempre vença - afi-nal é o computador). No caso de empa-te, as bolinhas também são devolvidas,sendo que o empate também é um re-sultado positivo para a máquina.

Gabriela - o computador queaprende da FUNBEC foi desenvolvidobaseado no objetivo do primeiro jogo: oaprendizado através da teoria de tenta-tiva e erro. O jogo faz parte da série Jo-gos e Descobertas da Fundação e vemacompanhado de um tabuleiro de plás-tico com 27 cavidades onde são coloca-das as bolinhas de diferentes cores. Aolado das mesmas, estão quatro outrascavidades onde se acomodam as outrasbolinhas. Acompanha-a o tabuleiro eduas cartelas de papelão, que possuemdois jogos diferentes, o 21 e o mini da-mas. Estes dois jogos substituem asmodalidades do primeiro, mas possuemambos os mesmos mecanismos deaprendizado do Gabriela I.

Page 20: microhobby_15

o objetivo do primeiro jogo (o21) é fazer com que um dos dois jo-gadores atinjam o número 21. Paraisto, existem algumas regras: o iníciocabe sempre ao adversário de Gabrie-Ia; tanto Gabriela como o jogador po-de, a partir do primeiro lance, pularde uma a três casas após a posiçãodo lançamento anterior; se o jogadorvence, o último lance de Gabriela éeliminado ou seja, retirado da máqui-na (enquanto os outros lances sãodevolvidos). Se o contrário ocorrer

. (Gabriela vencer) todos os lances sãodevolvidos.

Este jogo, segundo se constataatinje o público que está na faixa dos10 anos. Durante o jogo, foram en-contradas algumas situações nas

. quais não há continuidade, como porexemplo, casos em que o "sistema"(com bolinhas coloridas, represen-tando movimentos na cartela de nú-meros) impede que a máquina conti-nue o jogo, pois elimina as bolinhasda quase totalidade das casas. Dian-te disto, conclui-se que o jogo nãoestá completamente "fechado" (ouseja, todas as situações levam a má-quina ao resultado), A série "progra-mável" de lances em que Gabrielasempre vence pode não ocorrer.

A situação programável de Ga-briela é 5,9, 13, 17 e 21 (Figura 1),

O outro jogo de Gabriela, Mini-Damas, é constituído de um tabulei-ro com nove casas, exatamente

Q

como no jogo da velha. O jogador fazo primeiro lance, escolhendo ao aca-so uma das bolinhas das três primei-ras situações (de abertura) do jogo.Há três possibilidades de vitória:quando o jogador consegue imobi-lizar uma ou mais peças do adversá-rio; quando captura todas as peçasdo adversário ou ainda, quandoavança com a dama até a terceira ca-sa do adversário não ocorre empate.

No teste do jogo, descobriu-seduas situações de empate. Há possi-bilidade de andar em linha reta e cap-turar somente em diagonal. O ma-nual de instruções que acompanha ojogo diz que não ocorre o empate.Porém, as situações de empate des-critas acima deveriam ser válidas,porque a filosofia do jogo Gabrielaconsidera na realidade, o empate co-mo um bom resultado.

Situações de empate de Gabrie-

G G0 G 0

0

«O-Z«oa:t-w..JWW«O-t-.«~a:OLI.Z

~w«Q

~-..J«-OwQ.(I)w«z-5«O-a:·W:E««C«-a:«a:>-..Ja:O-«~

«

HARDWARE-SOFTWARE

6809

6502

~/~

8086/0088

6800 1 60000

Z-00 1 Z-8000

. APPLE

ATARI

COMMOOORE

IBM

TRS-OO

SINCLAIR

BASIC

dBASE

ROBÔS

VISICALC

CP/M

UNIX

owt-••..J

.m

"C

~mCJ.-CCJ

-'Q)~m•••O+'".-"C

Wm.-•••m•••>:.J

o~

'a> O<ll ~

~'E~ e(/)0.8.Eo o(/)u'õE..c a>E (/):E 8,•.. oo:roã)«ío.u(/) (/)o oE ca> I

'O<llCU-a> a>••.•0..«

Page 21: microhobby_15

Gabriela e o TK 2000

QSerá que um computador pode aprender?Este programa, destinado ao computadorTK2000, procura simular uma situação deaprendiZado, baseado nos conceitos de

tentativa-e-erro e no uso de uma "punição"para desestimular o "erro".

Não se preocupe: esta punição não é dolorosapara o seu micro.

Se você tem lido os artigos sobre inteligência artificial emáquinas que "pensam" que temos publicado, o ProgramaGabriela servirá para você ver como podemos programar má-quinas que "aprendem".

Um programa é, antes de mais nada, um conjunto deinstruções feitas em linguagem de alto nível (BASIC, PAS-CAL, etc.) ou linguagem de máquina, que o computador in-terpreta e executa. Tudo que está em um programa só é com-preensível para o computador se codificado de acordo comseus caracteres interpretativos e decodificadores. O progra-mador deve fornecer todos os dados, parâmetros e conexõeslógicas de programação para que o computador possa execu-tar o programa. A máquina não tem a capacidade de gerar~<Mtrasinformações além daquelas fornecidas pelo programa-dor. Ela não pensa, deduz ou aprende, a não ser que vocêforneça todas as informações para isso.

Então, nesse caso, como ensinar a máquina a "apren-der"? É simples. Você pode usar, por exemplo, a mesma filo-sofia da máquina "GABRIELA", idealizada por lsaac Epns-tein, que baseia-se na técnica de aprendizado por "tentativae erro".

O programa "Gabriela", desenvolvido para o TK-2OOO,simula o jogo mini-damas do Kit "GABRIELA", da Funbe'c, econtém o princípio de "aprender por tentativa e erro", como amáquina original de Epnstein. No programa não foram colo-cados todos os lances possfveis, para que não ficasse muitoextenso. Um programa completo deve ter todos os lances pos-síveis do Gabriela (mini-damasl e do adversário, para quetodas as possibilidades de jogada possam ser avaliadas.

O programa começa com a carga da matriz-jogo (ma-triz que conterá cada fase do jogol com as posições iniciais domini-damas (linha 202l. Os lances, do primeiro ao quinto,foram prefixados, sem interferência da máquina, ou doadver-sário (escolha do programador), para simplificar o programa etornar desnecessário o uso de inúmeras matrizes-lance (ma-trizes que contém as posições dos peões do jogo em cadalance). Os demais lances, a partir do &., foram armazenadosem matrizes de ordem 3x3 (matrizes-lanceI, A3, B1, B2, paraque exista a possibilidade de escolha dos jogadores (tanto domicro como do adversáriol. Os lances ímpares são feitos peloadversário do Gabriela, simulado no TK 2000, e os pares sãofeitos pela máquina.

O programa diferencia o adversário da máquina atravésdo número 1 (adversário) e número 2 (máq~ira). As casasvazias contém o número 0. Do endereço 210 a 300, os 5 pri-meiros lances fixos neste programa são carregados com osnúmeros de acordo com o jogador; a posição anterior ao lanceserá carregada com 0 (exemplo linha 270l. Esses primeiros 5lances foram escolhidos propositalmente para que duas situa-ções diferentes fossem apresentadas: uma, de vitória do Ga-briela (matriz-lance A3l, e outra de vitória do adversário (ma-

22 MICROHOBBV

triz lance B21. No decorrer do programa, a máquin'a desen-volve o aprendizado através da punição do lance que gera avitória do adversário, até "aprender" qual o lance ideal parasua vitória. A punição, no programa, é colocar na posição damatriz-lance que provocou a vitória do adversário número 99.Na figura 1 você poderá ver a lógica usada para comparaçãodo lance escolhido pelo Gabriela (micro).

LANCEDOGABRIELA

COMPARAR 8S COMAS

MATRIZESLANCE

S COMPARAR 8COMASMATRIZESLANCE

VOLTA PARAESCOLHADO LANCE

OSSo 1 - a comparação será feita com as matrizes-lance de mo-vimento do jogador (não ocorreu captura de peça do adversário).

OSSo 2 - a comparação será feita com as matrizes-lance de cap-tura de peças do adversário.

Figura 1

Page 22: microhobby_15

9o

Figura 2

A linha 311 do programa faz a escoiha do &. lance doGabriela. Se o lance escolhido for uma casa vazia na matriz-jogo, o lance assume valor 2. e a comparação é feita com amatriz-lance A3 (linha 318), E necessário comparar as posi-ções da matriz A3 com o número 99 para verificarmos sealgum lance dessa matriz-lance foi punido. O fluxograma dafigura 2 mostra como essa comparação é efetuada.

Se o lance escolhido for uma c;asacom o número 1,significa que o Gabriela irá capturar uma peça do adversárioe a comparação será feita a partir da linha 327, com a matriz-lance B1. No &. lance, quando a matriz-jogo é igual a matriz-lance A3, o Gabriela vence e a partir da linha 400 seu númerode vitórias, VG é adicionado de 1 e inicia-se uma nova partida.Neste caso, o Gabriela venceu graças à sorte; a aleatoriedadede sua escolha permitiu que ela vencesse. No programa, apartir do &. lance, há somente duas matrizes-lance comopossibilidade de escolha (A3 e B1). Quando a matriz-jogo éigual a matriz-lance B1, o Gabriela captura uma peça do adver-sário e propicia que este faça o 7~ lance. Então, o adversáriovence lIinha' 420) e neste ponto do programa é feita a puniçãodo lance do Gabriela (colocar 99 no lance que proporcionou avitória do adversário; lance XL e XC da matriz-lance B11, e o

VOLTA AOINicIO00 PROGRAMA

VOLTA PARAESCOLHADOGABRIELA

jogo é reiniciado. Depois que ocorre a vitória do adversário e oGabriela é punido, a única opção será a escolha do lance quedá a vitória ao Gabriela. Daí em diante, o Gabriela, é claro,sempre vencerá. O lance do Gabriela é salvo na linha 420. Alinha é guardada no campo XL, e a coluna no campo XC. Eimportante ressaltar que o lance do Gabriela deve sempre sersalvo quando ele não vence e o próximo lance, proporcionadoao adversário, faça com que ele vença. A linha 500 contém amensagem de movimento inválido para que o jogador (oadversário do Gabriela), não efetue um lance fora das especi-ficações das regras do jogo mini-damas.

A rotina de plotagem do lance é usada para os doisjogadores, mudando-se somente a cor de acordo com o lanceefetuado (azul para o adversário; amarelo para o Gabriela).

Você pode aumentar o jogo "Gabriela", implementan-do outras possibilidades de lances do adversário e da máquinano programa. Você poderá ter o número de matrizes-lance quea memória de seu micro puder armazenar dentro de ummesmo programa. Basta que, para isso, você siga a mesma

MICROHOBBV 23

Page 23: microhobby_15

lógica e estrutura do programa "Gabriela", comparando oslances da matriz-jogo com a matriz-lance e punindo os lancesdo Gabriela que proporcionarem a vitória do adversário. Nãoesqueça de zerar a posição a partir do qual o lance será feito(linhas 318 e 327). Deve-se, também, invalidar o lance da má-quina que já foi feito por ela, ou seja, um lance com a posição

5 REM GABRIELA IMICROMEGA - SETEMBRO1984

7 REM CARGA DAS MATRIZES LANCES14 FOR I = 1 TO 3: FOR J = 1 TO 3: REAOA3(I,J): NEXT J: NEXT I

15 FOR I = 1 TO 3: FOR J = 1 TO 3: REAOB1(I,J): NEXT J: NEXT I

16 FOR I = 1 TO 3: FOR J = 1 TO 3: REAOB2(I,J): NEXT J: NEXT I

20 DATA 0,2,0,1,1,0,0,0,2,0,0,0,2,1,2,0,0,0,0,1,0,2,0,2,0,0,050 REM INICIO DO PROGRAMA60 VA = O:VG = °200 K = O:W = O: TEXT : HOME : GOSUB 5000202 FOR I = 1 TO 3:J(1,I) = 2: NEXT I: FOR I = 1 TO 3:J(2,I) = O: NEXTI: FOR I = 1 TO 3:J(3,I) = 1: NEXT I205 COLOR = 2: FOR C = 1 TO 3:L = 1:

GOSU8 5200: MEXT C207 COLOR = 1: FOR C = 1 TO 3:L = 3:

GOSUB 5200: NEXT C210 REM 1. LANCE(AOVERSARIO)212 PRINT "SEU LANCE SERA:": FOR A =1 TO 300: NEXT A215 COLOR = l:L = 2:C = 1: GOSUB 520O:J(L,C) = 1220 COLOR = O:L = 3:C = 1: GOSUB 520O:J(L,C) = °225 PRINT "OIGITE 'C' PARA 08TER O PROXIKO LANCE"228 GETEi: IF Ei ( ) "C" THEN 228235 REM 2. LANCE (GABRIELA)240 PRINT"O GABRIELA FAZ SUA ESCOLHA": FOR A = 1 TO 300: NEXT A:250 COLOR = 2:L = 2:C = 3: GOSUB 520O:J(L,C) = 2255 COLOR = O:L = l:C = 3: GOSUB 520O:J(L,C) = °257 PRINT: PRINT260 PRINT "OIGITE 'C' PARA OBTER O PROXIKO LANCE"262 GETEi: IF Ei ( ) "C" THEN 262265 REM 3. LANCE (AOVERSARIO)266 PRINT: PRINT268 PRINT "SUA ESCOLHA SERA:"269 FOR A = 1 TO 300: MEXT A270 COLOR = l:L = 2:C = 2: GOSUB 520O:J(L,C) = 1275 COLOR = O:L = 3:C = 2: GOSUB 520O:J(L,C) = O276 PRINT: PRINT278 PRINT "OIGITE 'C' PARA OBTER O PROXI"O LANCE"

igual a 2 (linha 315: volta para a instrução 311 onde a máquinaefetua sua escolha).

Esta técnica de programação pode ser usada para fazerprogramas de inteligência artificial como: jogo de damas, jogoda velha e outros, tornando seu computador um micro inven-civel após um período de aprendizagem.

279 GETEi: IF Ei ( ) "C" THEN 279280 REM 4. LANCE (GABRIELA)281 PRINT: PRINT282 PRINT"O GABRIELA FAZ SUA ESCOLHA": FOR A = 1 TO 300: NEXT A285 COLOR = 2:L = 2:C = 2: GOSUB 520O:J(L,C) = 2290 COLOR = O:L = l:C = 1: GOSUB 520O:J(L,C) = °291 PRINT: PRINT : PRINT "OIGITE 'C'PARA OBTER O PROXIMO LANCE": GET

Ei: IF Ei ( ) "C" THEN 291293 PRINT: PRINT : PRINT "SEU LANCESERA:": FOR A = 1 TO 300: NEXT A295 COLOR = l:L = 2:C = 2: GOSUB 520O:J(L,C) = 1300 COLOR = O:L = 3:C = 3: GOSUB 520O:J(L,C) = °301 PRINT: PRINT : PRINT "OIGITE 'C'

PARA OBTER O LANCE DE ESCOLHA DOGABRIELA"

302 GETEi: IF Ei { } "C" THEN 302305 REM 6. LANCE (GABRIELA)307 PRINT: PRINT310 PRINT"O GABRIELA FAZ SUA ESCOLHA": FOR A = 1 TO 300: NEXT A311 L = INT ( RNO (1) * 3) + l:C =INT ( RNO (1) * 3) + 1312 IF L ( 1 OR L ) 3 OR C ( 1 OR C )3 THEN 311313 IF J{L,C} = ° THEN 318314 IF J(L,C) = 1 THEN 327315 GOTO 311318 LET J(2,3) = o: LET J(L,C) = 2320 K = o: FOR H = 1 TO 3: FOR I =1 TO 3: IF J(H,I) = A3(H,I) THEN K = K + 1321 NEXT I: NEXT H322 LET W = °323 FOR H = 1 TO 3: FOR I = 1 TO 3:IF A3(H,I) = 99 ANO L = H ANO C = I THENW = W + 1324 MEXT I: MEXT H325 IF K = 9 ANO W = ° THEN GOTO 400326 J(L,C) = 0:J(2,3) = 2: GOTO 311327 LET J(1,2) = O: LET J(L,C) = 2328 K = O:W = O: FOR H = 1 TO 3: FOR I

= 1 TO 3: IF J(H,I) = B1(H,I) THEN K = K + 1329 MEXT I: MEXT H .332 FOR H = 1 TO 3: FOR I = 1 TO 3:IF B1(H,I) = 99 ANO L = H ANO C = I THENW = W + 1334 MEXT I: MEXT H335 IF K = 9 ANO W = O THEN GOTO 420

Page 24: microhobby_15

400 COlOR = 2: GOSUB 5200402 COlOR = O:L = 2:C : 3: GOSUB S20O403 VG = VG + 1: IF VG) = 10 THEN 60O405 PRINT M[U VENCI •••": FOR A = 1 TO900: MEXT A: PRINT : PRINT "DIGITE 'N' PARA NOVA PARTIDA": PRINT "YG= ";VG: PRINT uVA: n;VA410 GETEI: IF EI ( ) "N" THEN 410415 GOTO 200420 XL : UXC = C: COlOR : 2: GOSlIB 5200: COLOR = O:L = I:C = 2: GOSUB S200:J(L C) = O. ,430 REli 7. LANCE (ADVERSARIO)435 GOSUB 5290438 LET J(2,2) = O440 J(L,C) = I:K = O: FOR H = 1 TO 3: FOR I =1 TO 3: IF J(H,I) = B2(H,I) THENK=K+l441 NEXl I: MEXT H442 IF K ( ) 9 THEN 500445 COLOR = 1: GOSUB 5200450 COLOR = O:L = 2:C : 2: GOSUB S20O455 PRINT "VOCE VENCEU! EU ESTOU APRENDENOO": FOR A = 1 TO 900: NEXT A:VA = VA + 1: PRINT "VG= ";VG: PRINT "VA= ";VA460 Bl(XL,XC) = 99: PRINT "DIGITE 'N'PARA NOVA PARTIOA"462 GETEI: IF EI ( ) "N" THEN 462464 6OTO 200500 PRINT "IIOVIIIENTOINVALIDO": PRINT"DIGITE 'N' PARA REINICIAR A PARTIDA"50S' GETEI: IF EI ( ) "N" THEN 50s506 GOTO 200600 PRINT "EU VENCI NOVAIIENTE, JA APRENDI A JOGAR": FOR A = 1 TO 900: NEXT A60S TEXT: HOIIE : PRINT "FIII IGABRIELA/IIICROIIEGA-S&TEIICRO1984"610 END5000 REli ROTINA DE APRESENTACAO5001 HOIIE: PRINT "GABRIELA: A IIAQUINA QUE APRENDE": PRINT : PRINT "REGRAS DO JOGO": PRINT "A) PARA 1I0VIIIENTAR-SE ,O LANCE DEVE DER NA VERTICAL PARA FRENTE": PRINT5005 PRINT "B) PARA CAPTURAR O LANCEDEVE SER EIIDIAGONAL": PRINT : PRINT "OBJETIVO00 JOGO; VENCE AQUELE QUE:": PRINT : PRINT "- ELIIIINAR AS PECAS DO ADVERSARIO"5010 PRINT"- ATINGIR A ULTIIIA FILA OPOSTA A SUA INICIAL": PRINT "- 111OBOLIZAR O ADVERSARIO": PRINT : PRINT"SE A IIAQUINA OU VOCE EFETUAREII UKLANCE NAO PERIIITIDO APARECERA UIIA

IIENSAGEII"5015 PRINT "VOCE JOGA COII O AZUL; EUCOIIO AliARELO"5020 PRINT : PRINT "DIGITE 'J' PARA OBTER A TELA DO JOGO"

5025 GETEI: IF EI ( ) "J" THEN 5025: RETURN5100 REli ROTINA DE CONSTRUCAO OA TELA5105 HOIIE: GR : COLOR : 5: FOR I =10 TO 25: PLOT 1,12: PLOT 1,22: NEXT I:FOR I = 5 TO 31: PLOT 15,1: PLOT20,1: NEXl I5110 RETURN5200 REli ROTINA OE PLOTAGEII 00 LANCE5205 IF L : 1 ANO C = 1 THEN PLOT 12,85210 IF L : 1 ANO C : 2 THEN PLOT 18,85215 IF L : 1 ANO C = 3 THEN PLOT 23,85220 IF L : 2 ANO C : 1 THEN PLOT 12,175225 IF L = 2 ANO C = 2 THEN PLOT 18,175230 IF L : 2 ANO C = 3 THEN PLOT 23,175235 IF L : 3 ANO C : 1 THEN PLOT 12,275240 IF L = 3 ANO C : 2 THEN PLOT 18,275245 IF L = 3 ANO C : 3 THEN PLOT 23,275250 RETURN5290 REli ROTINA OE ESCOLHA DO AOVERSARIO5300 PRINT "QUAL SEU LANCE?": PRINT "LINHA?(I(L)3)": INPUT L: VTAB 22:

HTAB 16: PRINT L: PRINT "COLUNA?11(C)3)": INPUT C: VTAS 22: HTAB18: PRINT C5305 IF L ( 1 OR L ) 3 OR C ( 1 OR C )3 THEN 53005310 RETURN

Q

Page 25: microhobby_15

o Macintosh da Apple

Daniel R. Falconer/Wilson José Tucci

Introdução

No inicio de 1984, em sua reuniãoanual, a Apple Computer finalmente lan-ça seu novo computador, já tão espe-rado e comentado. Já acontecera algosemelhante ao que houve com o PCjr -muita expectativa em torno de sua pu-blicidade, muitas histórias sobre o queesta "maravilhosa máquina" poderia, ounão, fazer. Surgem notícias de que aApple estaria prestes a lançar um com-putador portátil, de tecnologia avança-da, utilizando-se dos resultados de pes-quisas feitas em torno de "janelas" emulti-tasking, talvez até semelhante aoLisa, introduzido no mercado algumtempo antes, pela própria Apple. Certaépoca houve até boatos de que o pro-jeto não sairia enquanto não fosse com-patível com o IBM PC. As expectativasaumentam com a propaganda "1984",largamente divulgada nos EstadosUnidos.

Chega janeiro de 1984, com a apre-sentação do novo computador. Por fo-ra, uma estrutura leve, fugindo comple-tamente das tendências atuais: um"design" vertical, ocupando pouco maisque uma folha de papel deixada sobre amesa, com uma tela de 9 polegadas eum microfloppy de 3.5 polegadas. Liga-dos a ela, um teclado simples notavel-mente sem teclas especiais e um "mou-se", um pequeno aparelho apontador,de tecnologia desenvolvida inicialmentepela Xerox, em seu centro de pesquisasde Paio Alto, e mais tarde adaptada ecomprovada pela Apple, para a Lisa. Pordentro um circuito genialmente simples,com 128k de RAM e alguns chips quecompõem o vídeo de alta resolução, orelógio interno, o sistema de comuni-cações, o controlador de disco e o som,tudo isso puxado por um MC68000 e 8Mhz e pelos 64k de código altamenteeficientes, armazenados em ROM. Mui-to mais do que uma versão reduzida elimitada do Lisa, como esperava alguns,um computador que goza de uma per-sonalidade até agora nunca vista emqualquer sistema, de qualquer preço.

26 MICROHOBBV

o que é o Macintosh?Uma máquina especial, um computador

revolucionário?Ou apenas um entre outros tantos que

aparecem e desaparecem todos os anos nomerGado mundial, como marcas de cigarro

ou automóveis?Estas e muitas outras perguntas sobre o

Macintosh são respondidas por seus autoresneste artigo.

A filosofia por trás do Mac

A Apple mostrou ser uma empresaem evolução. No início de sua história,procurou atingir com seus produtos - oApple I e, logo depois, as várias versõesdo Apple 11- a faixa dos "aventurei-ros" e experimentadores, criando siste-mas completamente abertos aos seususuários, com documentação extensa ecompleta de toda a parte de hardware eboa parte do software interno. Raro erao computador que se mantivesse em seuestado original, como veio da fábrica; asmodificações tornaram-se as mais diver-sas imagináveis, desde a simples insta-lação de um cartão periférico, até alte-rações nos próprios circuitos.

Com a introdução do Macintosh, aApple deixa de lado completamenteessa imagem, procurando atingir o outroextremo da faixa de usuários - aquelesque não têm qualquer interesse em tirara tampa de sua máquina e fazer expe-riências lá dentro - dando a eles a com-binação perfeita de hardware de alta tec-nologia, simples e extremamente efi-ciente, e software inovativo, com ummeio de contato com o usuário padro-nizado e bem definido, dentro de umsistemd operacional essencialmentetransparente ao usuário ou programa-dor comum.

Trabalhando no Mac, nota-se niti-damente a influência de seu irmão maisvelho, o Lisa. Desde o controle pelo"mouse", praticamente dispensando oteclado - exceto na digitação de texto- até a idéia de se fazer a tela represen-tar uma mesa de trabalho, com aplica-ções, arquivos e pastas que podem serabertos e fechados, como na vida real, eorganizados como se desejar, pode sersentida essa chamada "tecnologia li-sa".

Mas a principal preocupação dogrupo que idealizou o Mac não foi qual-quer tipo de compatibilidade com siste-mas já existentes. Quando Steve Jobs

reuniu, aos poucos, sua equipe de tra-balho em uma localidade distante doresto da empresa (atitude considerada,por alguns, uma tentativa de Jobs devoltar às suas origens, quando o AppleComputer nascia de uma pequena gara-gem), sua intenção era a de criar umcomputador de uso geral, de baixocusto e muito mais fácil de usar quequalquer um que estivesse no mercado.Mas, principalmente, por ser um com-putador realmente destinado ao usuáriofinal, ele deveria ser confiável a tal pon-to de nunca precisar de manutenção.Ele viu na tecnologia Lisa a respostapara a facilidade de uso; restava, então,tornar essatecnologia acessível.

A confiabilidade, no que diz respei-to à eletrônica, foi em grande parte mé-rito de Burrell C. Smith, que criou umaplaca contendo pouquíssimos chips, to-dos LSls especializados e de altíssimaqualidade e capacidade. Um exemplo tí-pico: todo o controlador de disco - queem muitos computadores é um circuitoseparado, chegando a ter dezenas decomponentes - foi reduzido a um únicochip. Quanto às duas saídas seriais, aoinvés de pegar um controlado r padrão,Smith escolheu um chip que se destacaem meio aos outros, um controlador decomunicações que permite velocidadesde transferência de 230 kbits por segun-do, ou até quase 1 Megabit por segundocom "c1ock" externo (isso comparadocom 9.6 kbits por segundo de um con-trolador mais comum).

Tanto por motivo de simplicidade ecusto quanto por espaço e confiabili-dade, a equipe decidiu eliminar os slots .no Macintosh. Os conectores de cartõesperiféricos são uma grande causa deproblemas em um sistema, além de au-mentarem significativamente o tamanhoe o custo final do computador. Comoocorreu com os modelos anteriores daApple, não havia como prever o que se-ria instalado nesses conectores; portan-to, uma série de precauções tinha que

Page 26: microhobby_15

ser tomada, tanto em hardware - co-mo, por exemplo, instalando uma fontede alimentação de alta capacidade -quanto em software ~ compatibilidadecom cartões e entre um e outro cartão.Com o enorme potencial de comunica-ções do Mac, sem deixar de dar créditoao excelente .software que faz o contro-lador serial funcionar, toda interaçãoentre computador e periféricos é feitaserialmente - uma solução que, aomesmo tempo, diminui drasticamenteos custos e aumenta infinitamente aconfiabilidade do computador. Amesma idéia aplica-se quando percebe-mos que há apenas duas placas de cir-cuitos dentro dei Mac: com a redução donúmero de peças vem a conseqüentediminuição na quantidade de conexões- a parte que mais dá problema em umcomputador.

A escolha do driver da Sony foimais um passo rumo à eficiência e con-fiabilidade do Mac. Para começar, opróprio disco magnético da Sony, de3.5" é comprovada mente mais resis-tente - além de, em alguns casos,armazenar mais informações - que ofloppy de 5.25", hoje largamente utili-zado. Ainda assim, a equipe foi maisadiante: conseguiram que a Sony fizes-se para eles algumas modificações nodesenho de seu driver, colocando nelecoisas como: velocidade de motor variá-

vel, controlada por software, ejeção dodisco, também controlada por sofware,e o aumento do número de trilhas nodisco, de 70 para SO.

Com a ejeção feita por software,um programa nunca tem que se preo-cupar com o usuário removendo o discoquando não deve. O controle da veloci-dade, além de garantir sempre um fun-cionamento ótimo do drive e a leitura dequalquer disco (do Mac, é claro), per-mite que mais informações sejam grava-das nas trilhas externas, diminuindo avelocidade do motor ao acessá-Ios. Emoutras palavras, a densidade de grava-ção no disco pode ser mantida linear-mente constante ao longo de todas astrilhas, contra uma densidade radialconstante nos drivers comuns. A princi-pal conseqüência disso é que, enquantooutros computadores que usam os mi-crofloppies conseguem armazenar porvolta de 270k por face, o Mac coloca400k por face - 800k em um únicodisco, quando sair o driver de duplaface.

Desenvolvimento em conjunto

Talvez o fato mais importante sejaque, usando as palavras de propagan-das feitas para o Mac, a primeira vez que"engenheiros de hardware realmente fa-laram com engenheiros de software emum tom de voz moderado". Em outraspalavras, todo o processo de criação docomputador foi acompanhado dos dois

lados, com o desenvolvimento de soft-ware ocorrendo paralelamente ao de-senvolvimento de hardware, colocandono computador o hardware que o soft-ware precisava, elaborando softwarepara fazer com que todo o hardwarefuncione eficientemente. Andy Hertz-feld, com seu software, conseguiu fazercom que tudo dentro do Mac funcio-nasse ao mesmo tempo: enquanto seestá gravando um bloco de informaçõesno disco, pode-se colocar a impressoraem funcionamento, ao mesmo tempoem que se produz um som com quatrovozes, ou se movimenta o "mouse", ouse pressiona uma tecla.

Mais adiante, no desenvolvimentodo computador, a equipe percebeu queela queria levá-Io ao mundo todo. Domodelo final foram retiradas todas aspalavras em inglês, colocando figuraspara identificar conectores; a fonte dealimentação tornou-se internacional: osinal de 60 Hz para o vídeo (na maioriados computadores retirado diretamenteda rede elétrica) é gerado internamente,possibilitando o uso do Mac em áreascom corrente alternada de 50 Hz; o te-clado é mapeado por software, poden-do ser redefinido para qualquer língua;como os caracteres são desenhados natela pelo microprocessador, estes po-dem ser redefinidos para uma línguaqualquer·

COMO UM COMPUTADORDARDO - O MELHOR PROGRAMA

DE TRANSPORTE"TAMBEM NA INFORMATICA

Rio, São Paulo e vários pontos do BrasilRIO DE JANEIRO - Telex: (021) 31060 - Tel.: (021) 580-2373

SÃOPAULO - Telex: (OU) 22314 - Tel.: (OU) 201-4266

~~0.....0 FASCI NANTE

'"~" JOGO<q GRA'FICO. DE

SI MUL..•.AÇÃOECONOMICA

Cr 12000 Remeter chequenominal cruzado para

MONOLlTH 2001R. AUGUSTA 1371 S/LOJA 7TEL. (011) 268 - 4370· SP

Page 27: microhobby_15

Tivemos um pequeno problema nalistagem do programa demonstrativode "Perspectiva Exata", publicado narevista Microhobby n~ 13. Aqui vãoos trechos da Iistagem que em algunsexemplares não puderam ser lidos.

3040 RETURN3055 OATA 130,48,143,49,200,40,190,36,130,48,145,11,159,3,159,121,145,112,145,11,130,37,130,48,190,36,190,17,130,37,158,106,172,112,159,121,145,112,158,106,190,17,200,29,200,40,190,36,190,173058 DATA 159,3,172,11,172,112,159,121,159,3,159,42,190,36,200,40,172

.,45,159,424000 REM ROTINA DE CONSTRUCAO DA ESCAOA EM PERSPECTIVA4010 HOME: HGR : HCOLOR = 74020 FOR N = 1 TO 214025 READ Xl,Yl,X2,Y2,X3,Y3,X4,Y4,X5,Y5: HPLOT Xl,Yl TO X2,Y2 TO X3,Y3

TO X4,Y4 TO X5,Y5: NEXT N .4030 GET CS: IF CS ( ) ·C· THEN 4030

5040 RETURN5050 REM DADOS LETRA M5055 DATA 40,55,58,50,58,73,40,80,40!SS,40,55,58,SO,69,60,53,65,40,55,80,50,69,60,53,65,65,55,80,50,80,50,65,55,65,80,80,73,80,505060 REM DADOS LETRA I E C5065 DATA 83,55,97,50,97,73,83,80,83,55,100,55,112,50,112,72,100,80,100,55,100,55,120,55,130,50,112,50,100,55,100,80,112,72,130,72,120,80,100,805070 REM DADOS LETPA R5075 DATA 130,55,155,55,164,50,140,50,130,55,13C,55,155,55,155,65,130,bS,130,55,i55,55,155,65,164,58,164,50,155,55,130,65,140,58,164,58,155,65,130,65,130,65,140,58,164,71,155,80,130,65,130,55,140,50,140,72,130,80,130,55

~~_~_~_~_~_~_~_~_~_~_~_~_~_~_S~lj_~_t_l'm_.~oldl'r6 jtpms 2Ü9K ln foldf'f

ILJ II~I IÇlI ICJI li----=!IIc::=! = = 1:::::;' '0=

Firl,j~r Irf,19.;.wrlt~r (h~,t";'~rd tllo:- ('/('.':' F'1,j r,l", :.(r'r,r .....:.I. ti]':'

I

Figura 2: Desenho executado com o aplicativo Mac Print

Um aspecto muito importante é aincrível facilidade com que um aplica-tivo qualquer pode ser traduzido de umalíngua para outra. Através de um editorespecial, todos os textos produzidos porum aplicativo podem ser retirados, tra-duzidos, um a um, e recolocados em seulugar. Essafacilidade vem do fato que oMac armazena os textos em uma áreabem definida, separada do resto do pro-grama. Assim, eles podem facilmenteser trocados e, mesmo que o novo textoprecise de mais espaço na tela que oanterior, a janela de texto pode ser ma-nipulada para fazê-Io caber - tudo issosem mexer em um byte sequer do pro-grama em si. Com esta capacidade,qualquer programa desenvolvido para oMac pode ser comercializado em todo omundo, adaptando-se em questão deminutos.

computador inovador, tanto em hard-ware quanto em software. Sua facili-dade de uso faz do Mac um computa-dor extremamente agradável de se tra-balhar e explorar. Dia após dia surgemnovos produtos, programas e periféri-cos, todos igualmente fáceis de usar,graças à padronização estimulada pelaprópria Apple. Todo o investimento, demais de três anos de projeto, trouxe anós este novo computador, corajosa-mente contrariando todas as tendênciasestéticas e de compatibilidade comoutras máquinas - especialmente a ten-dência de compatibilidade com o IBMPC.

Introduzido inicialmente a US$ 2495(com 128k e um drivel, em alguns me-ses seu preço já caiu para $.2195; aomesmo tempo, foi lançada a versão de512k, vários meses antes do previsto, a$ 3195. Mesmo com a qu8da de preço,porém, o Mac está ainda um pouco lon-ge de poder atingir com força o públicodos "home computers".

Page 28: microhobby_15

Curso de Programação HP-41Aula 3

José Eduardo MoreiraWilson José Tucci

Agora que você está acostumadocom a HP-41 e já sabe usá-Ia bem, po-demos entrar no assunto que deve lheinteressar muito: a "programação".

Se você nunca programou antes,verá que programas não têm nada de"mágico" e depende muito mais de vocêdo que da máquina. Se você já estáacostumado a programar microcompu-tadores, vai reparar que programar aHP-41 dá um pouco mais de trabalho,mas em compensação, ela também ofe-rece alguns recursos habituais em mi-crocomputadores.

Para você fazer um programa, teráantes que estruturá-Io e para isto teráque estudar. Não deverá esquecer que asua capacidade de fazer programas é oresultado do treinamento contínlJO e ra-ciocínio aplicativo. Quanto mais fizer,melhor saberá fazê-Io:

Um programa de calculadora con-siste de uma seqüência de passos; cadapasso constituído por uma função dacalculadora ( +, -, *, STO, RCL, GTO,SIN, COS, IN, ... ), essa seqüência depassos realiza um trabalho.

Programa

Façamos um programa para calcu-lar o valor da função y = sin(x) + 3 paraum dado x. Se você fosse calcular' o va-lor dessa função para um certo x, vocêfaria:

x digitaria o númeroSIN3+

Um programa para calcular essafunção teria os seguintes passos:

LBLSIN3+END

Todo programa da HP-41 começacom um nome (linha 01), que pode terentre 2 e 6 caracteres. Depois vêm ospassos que executam o serviço, e entãoo comando END, que significa fim doprograma.

Para introduzir esse pequeno pro-grama na máquina, faça:

~GTO

LBL IALPHAI FUNÇÃOIALPHAISIN ;

Agora o programa já está digitadona memória da máqyina. Para usá-Iobasta dar XEQ FUNÇAO e o programa,ou seja, a seqüência de passos que ocompõem, é executado. Usemos esseprograma para completar a tabela:

x sin (x) + 330456090

Para colocar a máquina em modode graus dê um XEQ ALPHA DEGALPHA . Se quiséssemos em radianos,bastaria colocar:

XEQ IALPHAI RAD IALPHAI.

e fazemos o que mostra a tabela I.

Tabela I

digitar display

CLX 0.0030 30

XEQ IALPHAI FUNÇÃO IALPHAI 3.5045 45

XEQ IALPHAI FUNÇÃO IALPHAI 3.7160 60

XEQ IALPHAI FUNÇÃO IALPHAI 3.8790 90

XEQ IALPHAI FUNÇÃO IALPHAI 4.00

Page 29: microhobby_15

Você deve achar muito chato terque digitar XEQ ALPHA FUNÇÃOALPHA cada vez que quer executar oprograma. Felizmente podemos, atravésdo comando ASN (Assign), associaruma tecla a qualquer função da calcu-ladora ou programa que fizermos. Di-gite:

ou tirar a máquina no modo user, bastaapertar a tecla USER.

Com a máquina em modo userfaça:

3.503.713.874.00ASN IALPHAI FUNÇÃO IALPHAI

LN

Agora o programa que fizemos éexecutado sempre que apertamos a te-cia LN em modo user. A calculadoraestá em modo user se o aviso "user"estiver visível no display. Para colocar

Fazer programas grandes direta-mente na HP-41 não é um processo mui-to eficiente e está muito sujeito a erros.

Tabela 11

bloco nome função

( ) terminal ponto de início ou término de umprograma

I I proces- conjunto de operações aritméticassamento

O decisão indica a possibilidade de desviarpara outro ponto do fluxogramabaseado numa comparação.

O continuação indica continuação do fluxograma emoutro lugar onde N é um número dereferência

t~- caminho cada seta indica o caminho a seguir- no fluxograma

cJ leitura entrada de dados do exterior para oprograma.

() saída saída de dados do programa para oexterior.

inicializa o contador que quantasvezes P cabe em M

M é maior que P?não

I<ii0t

I( FIM)

quantasvezes Pcoube emMeoresto

volteparatirarmais

+I

~I 1.-1+1 It

Sim. ainda dápara tirar P

Para podermos estruturar corretamenteum programa devemos, então, fazer seufluxograma.

Fluxograma é a representação grá-fica da lógica do programa e representa)Odos os passos que devem ser segui-dos para sua execução. Todo fluxogra-ma é construído em cima de alguns pou-cos blocos básicos \tabela 11).

Exemplo: faça o fluxograma de um pro-grama para calcular o quociente e o res-to da divisão de um número M por umnúmero P, utilizando apenas as opera-ções de adição e subtração.

Solução: O quociente da divisão entreM e P é o número de vezes que P "ca-be" dentro de M e o resto é o quantosobrou de M na última vez, quando nãodeu mais para tirar P. Obviamente oresto é menor do que P (figura 1).

1. Faça um fluxograma para achar a raizde equação de 1~grau ax + b = O, supon-doquea=O.2. Faça um fluxograma que, dado umnúmero natural N calcule N!(N! = Nx(N-1)x(N-2)x ... x2x1). Pordefinição O! = 1.3. Faça um fluxograma para achar asraizes de uma equação de ~ grauax + bx + c = O. Se o discriminante formenor que zero, não há raizes reais.

RESPOSTAS AOS EXERCíCIOS DAAULA 11

1. Passar para RPN e calcular o resul-tado:a. 4/8/6/2 + 4' 8/6/2 = IHl4b. [(3+2)/5]+1 + 3' 2+5/1 + = 2.00c. [(2+3)/(4-12)] + [(8 + 5)x(7 + 15)] == 2 t 3+4 t 12-/8 t 5+7t 15+x+285,38

.!.+l 22 3 5

2+l...7 11

!.+ 2 = 1 2/1 3/+2 5112 7/31311/+-4 t 13112+ = 6.96

e. sin2 (30) + cos2 (30) ==30 SINx2 30 COSx2 + = 1.1')0

f. eTAN2(\I3õ') = 3O\/X'TANx2ex

= 1.01

2 Passar para a notação infixa e cal·cular o resultado:

a. 1 f 5+2*3- = (1+5)*2-3 = 9.00b. 4' 6' 2*3 -+- = 4-(6*2)+3 = 0.00c. 3 H+5 t 8+4 3-2*/ = [(3+5)**(5+8)]/[(4-3)*2] = 52.00d. 45 tan\f)(l =Vtan 45'-1.00

Page 30: microhobby_15

Computação McGraw-HillNOVA REVOLUÇÃO INDUSTRIALNa Era dos ComputadoresOsborne - Cr$ 6.900.00INICIAÇÃO AO BASIC

Fax/Fax - Cr$ 9.900,00

Escrito em estilo fácil, este livro, destina-se especialmente aosprincipiantes que não tenham acesso aos micros, mas que desejamfamiliarizar-se com os conceitos de programação.

Pode ser aplicado a qualquer computador que use a linguagemBASIC.

Um texto alegre que aceita a possibilidade do leitor não ter expe-riência anterior.

Esta convincente e provo cativa obra, fornece ao leitor, esclare-cimentos sobre o poder e o futuro dos micros, antecipando mudar,-cas radicais até o final deste século.. O autor explica a revolução da microeletrônica e seu impacto nasociedade.

CP/M - GUIA DO USUÁRIOHogam -- Cr$ 13.900,00

PROGRAMAÇÃO COMBASICScheid - Cr$ 13.500.00

A finalidade deste texto é fornecer um curso de programação decomputadores, empregando a estrutura padronizada da linguagemBASIC.

Proporciona ao leitor condições de organizar e escrever eficien-temente programas de computador. 350 problemas resolvidos. Des-tina-se a todos o curso do ensino Superior e Técnico que utiliza oBASIC como linguagem.

COMPUTADORES E PROGRÃMAÇÃO~ttffied ~Cr$ 13.500,()(I

Quinhentos e trinta e cinco problemas resolvidos e vários pro-gramas usando a linguagem FORTRAN, BASIC, PASCAL e PUl.

Introdução à Computação e Programação, destinado ao merca-do Universitário em cursos de Engenharia e Administração.

CIÊNCIA DOS COMPUTADORESTremblay - C.r$ 13.500,00

Introduç.ão à Ciências dos Computadores, usando uma aborda-gem ALGORITMICA.

Livro texto dirigido à Engenharia, Matemática e outras áreasafins.

Best Seller nos EUA.

INTRODUÇÃO A CIÊNCIA DOS COMPUTADORESScheid - CrS10.900,00

Teoria que possibilita plena compreensão da introdução à ciênciados computadores.

Indicado para cursos de Engenharia e Administração (2'?sanos).Vários problemas propostos e resolvidos.

Escrito para usuários de bom nível de conhecimento. Este livroconsidera a história e funções do CP/M bem como os comandos pró-prios para o usuário. Inclui o CP/M-86, sistema operacíonal basea-do no 8086 e 8088.

INTR. AOS MICROCOMPUTADORESOsborne - Cr$ 12.500,00

Livro para p'rincípiantes em microcomputação. Os conceitos bá-sicos sobre todos os Micros: como funcionam e o que eles podemfazer. Introduz o leitor nas linguagens de programação, códigos bi-nários e aritmética, lógica, temporização, memória e como usá-Ios.

APPLE 11- GUIA DO USUÁRIOPoole - Cr$ 23.SOO,OO

Este é o melhor e mais completo manual do APPLE 11. Contémdescrição de todas instruções, comandos e funções.

Uma seção especial em programação avançada e aplicações.Claro e objetivo. Obrigatório para os usuários do APPLE 11.

PROGRAMAS USUAIS EM BASIC* Programas usuais em Basic TRS-SO* Programas usuais em Basic APPLE 11* Programas práticos em Basic

Cr$ 12.000,00 cada

* Vários programas práticos para pequenos negócios, pequenas em-presas de Engenharia, Admínistração, Matemática e EconomiaDoméstica.

MANUAL DE BASIC PARA O APPLE 11Peckham - Cr$ 13.900,00

Manual prático que possibilita ao leítor aprender a programar oAPPLE 11 através de exercícios dírigidos.

Escrito em linguagem fácil, acessível, dirigido a hobistas e estu-dantes.

CIRCUITOS DIGITAIS E MICROPROCESSADORESTaub - Cr$ 14.900,00

Livro texto dirigido à Escolas de Engenharia, às áreas de projetoslógicos e microprocessadores.

Concentram-se nos modelos 8080/8086 com detalhes para apli-cações em outras unidades. Explicações claras sobre FLlP-FLOPS eMEMORIAS.

300 problemas cuidadosamente elaborados.UM BEST SELLER!

PROCESSAMENTO DE DADOS - Volume IPROCESSAMENTO DE DADOS - Volume 11Verzello - Cr$ 10.900,00

Mantendo-se independente de qualquer tipo de linguagem outipo específico de máquina, os autores discutem todos os assuntos daárea de maneira integral.

Como usar a tecnologia de computação para resolver problemasde processamento de dados.

Livro introdutório para Economia, Administração e Engenharia.E acessível a estudantes com limitados conhecimentos mate-

máticos.

VISICALCCastlowitz - Cr$ 12.900,00

Um guia prático para utilização do software VISICALC. Atravésda leitura deste manual, o usuárío poderá obter o máxímo em quali-dade e efíciência em sua atividade.

CONSTRUA SEU PRÓPRIO MICROCOMPUTADORUsando z-aoCiarcia - Cr$ 22.900,00

Este guia prático, mostra como você pode construir seu própriomicrocomputador, baseado no famoso microprocessador, o ZILOGZ80.

Cada subsistema do computador é completamente explícado ebaseado em informações testadas de forma que o leitor possa facil-mente modificar o sistema.

Muito fácil compreensão.

~r~~..tna. EDITORA McGRAW-HILL DO BRASIL LTOA.

PROGRAMAÇÃO TKS 82-83-85 CP·200Hurley - Cr$ 5.900,00

Aprenda a programar seu TK e CP-200 muito facilmente.Programas em BASIC, jogos, gráficos, etc., para principiantes.Fácil assimilação e compreensão.

NOME

ENDEREÇOLIVROS _

MICROPROCESSADORES - Conceitos BásicosOsborne - Cr$ 13.500,00

A mais compreensiva e atualizada introdução ao sistema de mi-croprocessadores.

Tudo sobre microprocessadores.A maneira mais fácil e simples de entender os microprocessa-

dores.Conceitos básicos.

Rua Tabapuã, 1105 - CEP 04533 - Telefone: 881-8604 -Itaim-Bibí-São Paulo - Brasil.

* Em todas livrarias do Brasil ou diretamente.Solicite catálogos.

Page 31: microhobby_15

Observando os céus

o objetivo deste programa é fornecer informações so-bre posição, distância, tamanho, fase e magnitude de todosos planetas do Sistema Solar, em qualquer data a partir deprimeiro de janeiro de 1980.

Foi programado na linguagem BASIC, utilizada em mi-crocomputadores compatíveis com o Apple 11, mas pode serfacilmel.1te adaptado aos demais microcomputadores.

A E necessário apenas entrar com a data desejada (dia,mes e ano) e o planeta, que o programa se encarrega dos cál-culos e imprime os seguintes dados na tela:

a) Declinação em graus, minutos e segundos.b) Ascensão Reta em horas, minutos e segundos.c) Distância do planeta à Terra (em unidades astronô-

micas, que é a distância média da Terra ao Sol e vale149.600.000 km).

d) Distância do planeta ao Sol (também em Ú.A.).e) Tamanho angular (em segundos de arco).f) Fase, que é a porcentagem iluminada do planeta

que é vista da Terra.g) Magnitude Aparente, que é uma medida do brilho

do planeta.

Hipóteses Físicas. O programa assume as órbitas dos planetas como sen-do elipses com o Sol em um dos seus focos e pertencentes aplanos inclinados em relação ao plano da eclíptica (plano daórbita terrestre).

Foram desprezadas as perturbações que uma órbita so-fre devido à força gravitacional exercida pelos demais plane-tas, pelo fato da diferença de resultados não ser muito signi-ficativa.

o ProgramaO programa obtém os resultados, seguindo os seguin-

tes passos:1) Com a data fornecida, ele calcula o número de dias

transcorridos desde o primeiro dia de janeiro de 1980. Isso éfeito na sub-rotina que começa na linha 2.000 e o cálculo éfeito com exatidão, inclusive levando em conta os anos bissex-tos nos finais de cada século. Lembre-se que um ano é bissex-to quando é divisível por quatro e não é por cem, ou quando édivisível por quatrocentos. Para verificar essas condições, foiusada a comparação da divisão do ano por quatro, cem ouquatrocentos com o valor inteiro da mesma divisão. Isso obje-tiva uma maior facilidade na adaptação do programa a outrosmicrocomputadores.

2) Com o tempo transcorrido, os dados referentes à ór-bita do planeta e à posição do planeta em primeiro de janeirode 1980, (fornecidos pela sub-rotina que começa na linha1(00), calcula-se as coordenadas heliocêntricas do planetaisto é, a posição do planeta no plano de sua órbita. '

3) Faz-se o mesmo procedimento para a Terra, obten-do as suas coordenadas heliocêntricas.

4) Usando-se o ângulo de inclinação entre os planosdas órbitas e as posições dos dois planetas, faz-se a projeçãoda posição do planeta para o plano de eclíptica e uma trans-formação de coordenadas (sub-rotina que começa na linha

32 MICROHOBBY

3000), que coloca o observador na superfície da Terra. O re-sultado é a posição do planeta no céu terrestre no sistemaequatorial, que é caracterizado pela declinação e ascensãoreta. Esse sistema é fixo em relação à Terra e não é preciso sepreocupar com a hora ou posição na superfície da Terra.

5) Como dispomos das coordenadas heliocêntricas daTerra e do planeta (sua distância em relação ao Sol e ânguloem relação a uma origem fixa), podemos calcular a distânciaque os separa usando a lei dos cossenos (a2 = b2 + c2 +2bc. cosA,com a, b e c lados de um triângulo e A é o ânguloentre os lados b e cl. O cálculo é feito pelo programa e o resul-tado é fornecido em unidades astronômicas.

6) Também da trigonometria, podemos calcular odiâmetro aparente do planeta, já que se conhece a distânciaaté o planeta e o seu diâmetro. O cálculo parte do valor tabe-lado de8o. (diâmetro angular em segundos de arco a uma dis-tância de I U.A.), e corrige este valor para a distância real. Oresultado também é fornecido em segundos de arco (1 segun-do de arco vale 1/3600 de um grau).

7) O último cálculo é o da magnitude aparente do pla-neta e é feito baseado na distância do planeta ao Sol e à Terrana sua fase iluminada e em uma constante que caracteriza ~poder de reflexão do planeta. Lembre-se que quanto maior ovalor da magnitude, menos brilhante é o planeta; e que um au-m~nto de uma unidade na magnitude diminui de 2,5 vezes obrilho do planeta. Para referência, diga-se que as estrelas maisbrilhantes do céu tem magnitude entre O e - 1.

Programa em FuncionamentoApós a digitação do programa basta acionar RUN e a

tecla RETURN. A tela será limpa e aparecerá uma mensagempedindo o código do planeta e uma tabela de códigos (l-Mer-cúrio, 2-Vênus, 3-Marte, 4-Júpiter, 5-Saturno, 6-Urano, 7-Ne-tuno e 8-Plutãol. Basta digitar o número do planeta desejadoe RETURN que aparecerá na tela uma mensagem pedindo adata.

Digite o dia, tecle RETURN, digite o mês (em númerosde 1 a 12), tecle RETURN, digite o ano (em números comple-tos. Ex.: 1981 e não apenas 81) e tecle RETURN novamente.Os resultados aparecerão impressos na tela.

Precisão dos DadosPara se ter uma idéia da precisão dos dados obtidos

pelo programa, vamos apresentar um exemplo (Mercúrio)comparado com os resultados esperados (tirados do Anuáriode Astronomia de 1983, de Ronaldo Rogério de Freitas Mou-rão - Editora Francisco Alvesl.

Planeta: MercúrioData: 12/02/1983Resultado do ProgramaDeclinação: 20 graus 23 minutos e 35 segundosAscensão Reta: 20 horas 13 minutos 24 segundosDistância de Terra: 1,101 U.A.Distância do Sol: 0,459 U.A.Tamanho angular: 6,119 segundos de arcoFase: 0,722Magnitude: 0,761Resultados do AnuárioDeclinação: 20"21 minutos O segundoAscensão Reta: 20 horas 12 minutos 6 segundosDistância da Terra: 1,084 U.A.Distância do Sol: não fornecidoTamanho Angular: 6,2 segundos de arcoFase: 0,706Magnitude: 0,1

-' A distância do Sol não foi fornecida no Anuário; foicomparada com valores médios e se mostraram corretos.

Antonio Fernando Bertachini de Almeida Prado é aluno de En-genharia Química da Escola Politécnica da Universidade deSão Paulo e de Física do Instituto de Flsica da Universidade deSão Paulo.

Page 32: microhobby_15

i5 REM ANTONIO fERNANDO 8ERTGCHlN! DE ALMEIDA PRADO

20 rOR 1 ~ i TO 25= PRINT : NEXlI

;::;0 F F J NT ';F::;C:OI...H(~ o F' L.tiNE"I' 1::\ D[ EE....1 tiDO i"

FI< 11"-1TrF<INTPF,:INTP P I 1"'/T ii ;:)

P F~I HTPi<INT

i"!EPCUF<: 10·····1.) [: l/ U ~:::, ..rij(;!.; TE'"..Jl...iP J T[I'<'.'U(:lTUPNO'"

UI::tll-..lO··· ..j-·ILTUNO.'/P L. U'"I' {-\ () ti

TO )':: PRli---IT

iDO1.iDi ;.:!.()

Pi=<:Ij-·iT ..../ ..r R I l\!T .u D ....

:í. :3 o r O F< ! .., iI

1.40 INPUT Fi :.::;0 UO~::;UD .~~~DUUJ .:()D c;O::::;UE: 1.000i/O.N o::: :] (i Ci .)i; 1:):1 ao I Fi' NJ{:.CIi ')[)N N .... 3{,U::~.;1D H i····! -} E:I.

Ef')T() i:JOi."j ~~ !'''i .:;; i-·"j -;1(-

420 PSI - ATN (AU SGR (1 - AU)(. {:I U :. ;..

4::~O'( ~:: ~~IN «I... O) ~f 3111416iDO»)(- cor: (Ij. )( 3,,'i.,(l:i.ó li:í.DO)

iDO)450 K8 = ATN (1 I X).q. (;. o I r )( ;: o T H [N 1<Ü .... 1<b + :J" i 4

470 Ir y < o AND X ) o [NEM K8 -!< B + 2:":::;;.:i. /} :i. Ó

480 K8 - K8 ~ 180 I J.i4i6=LL - K

500 IF P ~ o aR P ~ 1. THEN GOTO700

'.::.;3 U I r:' L.(1 r'j ) o 'r li i::: 1'·1 c o TO::;::.:: o540 L.AM ~ LAM i 2'; 3.1416= GOTO

220 I...- N ~ 360 / :3.1416 ~ EP ~ SIN(ri) + E: :i ';::.;t.D

;):.'::10 IF i... > o lHEN (·iOTO 2~:5jJ;.:.i -4D L o::: L. + J(:.D:: C o T t) ~:~::::u '.:.:.:7 {)250 IF I... 360 THEN GOTO 27D;.:.:~ó o I .... L. ::j (;,n;; C}() T <> ;:,:,:::.:.:;(J;:.:.:70 \) o::: 1... L!:: \) .... 1. .1 :u:'::; .. i 4 i 6 ' :í. n

() SElO'::::UO j=( o::: {ll"j)i (t EF:<0 EP) ./ :::.i. {- ':.'i?D

[P * COS (V» 600290 REM CALCUL.OS PARA A TERRA /00300 ME = 360 ~ D / (TE * 365.2422~:~j.(:) If:' N~:: ( :;6(:) -I'I';!I~:N (~()'f'O ~:~~~~(:)320 NE = NE - 360= GOTO 310330 ME = ME + ET - WT=ME = ME k ~

"i4i,S / iDO'340 1...[ ::::"NE + :360 ,/ :::;.. i 4 :\(:. )1 F T:'I;

:'::'50 IF 1...[ ) U Tii!:::N CiOTO :::):'0360 LE = L[ .~ 360= coro 350370 Ir I...E < :360 THEN GOTO 390380 LE = LE - :]60= GOTO 370::)(;;'o ') E:::: 1...E···· 1/.1l :: l.) I::: o::: ' .. 1[li :;::.•:i. '~i:í (.

,/ itlO:'}oD F<E:::: (1 ... P Til; PT) .I (:; }. P T .)(-

COS (l)[»

410 AU = SIN «I... - O) * 3.14:1.6 /??U

/uu

(11...1 o::: ri L)'; T (:1 i'··! (P ';)I;:' ')i; :::' I ii (L (:,(i .... Li... .;( :3:1 ~i.l:}:í. Ó ,,/ i UD) ,./ F~1:::./ ~::;I (j :::(L L····!... I::: )',i; :::;,,:í. 4 i /;

CiOTO UCiOAU ~ RI...* SIN «L[- LL.) * 3

«L[- I...L) * J.14i6 / 180»(.11...1:::: (ITN «(lU):: L.(i t-i :::: :::: .. i4:í.6 .}

AU t LE * 3 ..1416 / 180IF LAM ) o THEN GOTO 740

LAM ~ I...AM + 2 * 3.1416= G01'0/;2.0Ir I...AM ( ~ * 3"i4'i.6 lHEN GOTO

/40AU = RI... * TAN (PSI) * SIN (

I...AM - LI...* 3.'i.4:í.6/ 180) / RE, SIN «LL - LE)* 3.1.416

..i i DO;'HEI" o::: (lTi'i (i\l!...i)

UObUr:: ::lUDO

Page 33: microhobby_15

R0 = SGR (RE • RE + R * R -~~ 'l~ R .i(. 1\ E ,)( CO~:; « I...L. .... I...E )

~(: 3 .• :í.4:1.é·; / tBO»TT ,::, TD / PCFA = (1 + COS (LAM - L * 3.:1.

4j.{; í iDO» ./ ;?MAG = 5 * LOG (R * RO I F8 I

G (~ I'~ (F (1 »./ l...O G (;\. U) ... ;;:~<S ,.

0:1.0B~.~()

FOI'. 1 :::: 1 TO ;?;':i::1PF<INT liCODIUO 1)(>

U ~:.'j~~iOÓ()

P + :lPRINTP F<:u··rr .....[) (d' (~I:: ir;; D ,; /i./ 1/ i= C;,: i/i' li ;;r:'

PF<INTPPINTIr C(l

FFINT

,'iDECI...I NtICt-,O ~ .",,.:::: D (lf'l[! DD < o lHEi"l

D/A F R :u·) l 1.0: H :; .' C FU\il..l ::; i';; I··ili"! ;= N i'1 .U-,)i"~~:;FG;:ii ~::'.EGir

D/I:') FRIHT880 PRINT !lASCFNSA0 RETA~ N;;AH;li

H o i<: ,:\ :::; .'. ~i< !l.i i: r. :"í I i\! li ,: i~1r; ;: rr ~::;I::: D N

892 PRINT N1 U.0N~i49600000 KMNU')~:5 F'H :un?Clo P P 111 T .., [) I:::. T ti I'i C I ti c:C' ,::.n i.. E iii U

'?O~5 F'F~I:(IT'):í. C) r·o ri :L N r i' T tIH(ii·1HO (,Nt:)UI...j~!R:: i' :.:T T

:: f' ';; LU DL (IF,' C,) f.

'~):1.!:S F'F<JIiT

):?~:.:;9;W

PRJNT NFASE (PORCENTAGEM ILUl"i I N 1:'1 D t,):: li;: F (,PR 1i"lTPRINT liMAGNITUDE AP~RENT[~ li

:= lv'itlf:!END

REM SUBROUTINE TA81:::LADE Df~IDO~:)P ":: P .... 1.

Dlt'i -./(/;2)I~E(.~D TE.ET:.IAlT,.FTDATA 1 ..00004.98.83354.102.

;~j'J Ó 4 () ::i :' • o :1.{.? i \:jFOF~ I :"~ .t TO 72H[(-ID j(I)

NEXT I -DATA .24085.231 ..2973,77.1442i28 ••2Cl56306 ••3870986~/.OO

(j ~5():l.OOO

100;::;iOiD1.();2 ()iD3D

i04D1.(l;:'jO10601070

43579,48.0941733,6.74 •.00000:í.?:í.8

DA'T"A "6j.52j.?:~~55,,7:~3~352~j.3i'l2~395792rIIO{J67826T"72~J:33i673u .394435,?6.4997524.16.92 •..000O:í.72i

DA'TA i"E~(~()897i26,,:~07E~~~,~:~J51169(J~3j.66rOu09:}3865TlI15236883.1.8498011,49.4032001,9.36,.UOODD4::53C/

[)A1'A ii ..El6224ri46n966:365yi4.0095493.0.0484658.5.202561,1.3041:1.819,100.2520:1.75,196.74,. "ClDO:í.9(?4

DA'JoA 29tI4577j·rj·65"3222·q2,~2"665397·4~"(:)556155.y9'1554747r~.4893741.113.4888341.:1.65.6,.DUD:í.?4

DA"fA l~~4,,(Ji2477228~07(:)E~55iyi72"7~~6~:~2i3l~)t~(:)46~~~2:327j"9"2j"~3i4T»7729i~95r7::~~fJ7~)f~J642~65'18,uUOOU7/óE

1130 DATA 164./9558.260.3578998,47.8672:1.48••0090021.30.1095::~~~~~~~~7.131.56064Y4.62.2

1140 DATA 250.9.209.439,222.97211,25~~~~37r:}9t,78459,j.71,1~:)7r1"(:)9~941,8.2,.000004073

1150 T ~ J(7 * P + :1.)1160 Fi = j(9 ~ r + 2)1170 W = J(9 * P + 3)1180 EP - J(9 * F' + 4)

120U li = J(9 * P + 6)1210 o = J(9 * P + 7)1,22(:) 'r"(:) :~ \.J(9 ~0 F) ·t· 8)

1 ~~:4CJ;:'::000;.:.-010

;::)04C)2U~:.:iO;:.:::CJ (, Cl:.:.~ri7 Cl~:::ocu

.;?O')[);.:.::í.OU

r~ETUh'(.!REM SUBROUlINE DATASFOR I = 1 TO 25: PR1N'rTHEt·J IFF<'INT !/[)(IT(\;: .....

It~PLIT rrDltl/!;;DI NP UT"'H[~:;'" ,:CI t·) P U Ti ..ti i···j () ..... ;; F

1< :::: O:::;: :::: C)Ir r < 1980 THEN 2020Ir r = 1980 THEN 2130For;: I :::: 1')00 '1"0 (r: .... :\.~:

IF I I 4 - INT (1 / 4) AND1/ :í.oo < :> lNT (1./ iDO:'v .... i< }- 1-

IF I / :1.00 ::::tiNO I / 4UD ...

) lHEN 1< :::: I(i

Ij--.!T (I I iDO)INT (I ./ ADO

i

Page 34: microhobby_15

;.~i ;;:.();;.:1.3D~::j. 4D;;::1.50;.;~ J. 60~:.:t 70;':"1DO;::'j '? C):':::;2UO

NEXTIF CIF CIF CIF CIF rIF' CIr:' cIF CIr:' cIF CIr:' c

D o::: n.; l<li' F

I... ~2 THEN '7 .... ::l i,-.... ,., lHEN 1 ..- ~59'.:)

.... 4 THEN Z .... (1'0"" THEN ·v :1.;:::0.... ~.) .L ..-Ó THEN ",':! .... i 1::- i.... .i:•• ,.!"V THEN

.., :UJi.... ./ l_ ..-.... f: THEN Z .... ;? 1. ~~.... r, THEr-! O'r .... ;.~4:]'1 ,,~...... i Cl lHE:N Z .... ."~ ••,'7 ':)

f:•• " _.'

.... :í. :í. THEN .., .... ~JCI·4".

...- í. 0'°; THEN ?: .... :3:]4C'O

..~. 0'°' + ( " .. .... :i. ?BD ) .)(. ~:~{..~ ~,:5.~.. !'

INT (F ./ A) (')NDINT (F I iDO) AND

.... D + :l.INT (F / iDO)

INT <F / 400D o::: D + :í.

F' :ioDO <C ;. ;::.~THEN D

Ir: F ./ :iDU o:::

tiNO F ./ 4í;;ID o:::

) (:ND C > ;2 THENr:ET!..Jr~Nr~[i"l ::;UBROUTINF

or; i"iti COOF~ DEr·,!tlDtiS

\' ~:; ....T(iN

ii1... ::::

::l:i.UO3:í.U:::;::):í.:'i.0

:::':i. :::::0::::5.;::::::;::::j,4U::li~:;O

J P 1:< :fiO\.

(iNU.... ::;I i''-!C O::::. (DEI')

( i... í~il'í )[) :1. ._. f~l T j'-·i

NU ;.;~) )Di D:í. :J~

DO .

(I:) ET))< COf:;i': ~:;IN (F) '1(.

(E)

3IN

iDD / J ..14:í.6(D:'!.)

CO~; ([)([ )

C O ::; (I... (1 i···j ) ) I!:

Di:: Di O": (lB;:;~:::J i"~ (i... tI fi) )(.

(BE::T) .j(. ~:)INt,TN (\'::) /

í~il... + :i. DOI F Y::::. < O (.\ND

U 'fHEN ('11... o::: {lI...(i 1. ... (, L. ./ j, :5F' F~ ._. (1 :1. .... I N T(lil.... INT «(.~i)i< :::.;.... I d T (6 O 'I(

F: ;:;..... I i"~T «(. o ,i·(6D ')(.r:' J. ....C(, o:::

(.;(,) ::::

";i I f) o:::

;:;FLi o:::

c o ::::: (L (,ll"í )+ 3·:::'0

FF1 :::(óU 'li: FI~ ....

[::í. INT (Di)lr,!T <[):í.)~~;CiN (D D) :li: Ci(,

I N 'r (ó U )(. F1.)I NT <: ÓO :,i: (/:.C)

Ji'-!T.«(.CJ .)(. Fi»))F<LlUI,:N

·*-IBERNE~SOFTWARE X

- .---seu mlcro merece.

PARA aUEM aUER AVENTURA E MUITA AÇÃO •••EM CADA FITA 5 SENSACIONAIS JOGOS, EM LINGUAGEM OE MÂOLnNA, PARA MICRQS

DE lÓGICA SINClAIA' COM 16 K DE RAM

A.VIN1\Jl4.&'MI.5TtRIO

• PIRÂMIDE INCA• SA80TAGEM.OAVENTUREIAO• MA,ZQGS• USS ENTERPRI5E

COMBATE

• NIGHT GUNNf;R• ALERTA VERMELHO• POLARIS• OUELO• SCRAM8lE

PATRULHA GALAcncA

• NAVE MÃE• FUNGOS MUT ANTES• GALÁTlCA• 50S VEGA III• PEASEGU100R

• CASCA, A COBRA• CRAZY KONG• CENTOP~IA• FROGGER• SUCURI

SE o SEU NEGOCIO É PROGRAMAR •••2 FITAS CONTENDO AS MAIS POOfROSASFERRAMENTAS PAAA PROGRAMAR EM BA-SIC ou LINGUAGEM DE MAQUINA

ROT 1-P1us• SOG· UtrlI now •• trlIispoderoWl Vff5l0 dt ROT I

I NU _cion.1 SinetN OPltKío~1 Gr~fieo .• MERGE

ROT 11

• ASSEM8lER• OESASSEM8lER• COMPilADOR BASIC

Procure nossos revendecloresem todo o Brasil"y, MICROCOMPUT ADORES l TOA.

Av. Graça Aranha. 145 -S/lOJan~ 1 . Rio de Janeiro· RJCEP20.03(1 Tel (021)262-6968

Para A"' ••••••• 10pógrafas e Técnicas Agrícolao Programa para a F!lmRia Sinclair <TK83, TK85, CP200)

e muitos outros. que economiza horas de serviço.

AGlRJIM]E N §({»]RPLANILHA DE CÁLCULO ANALíTICO

* Aceita ângulos, distâncias e primeiro azimute.• Faz compensação de ângulos e projeções.• Calcula a área em poucos segundos.• Mostra todas as colunas de cálculo.• Com opção para imprimir em papel.

REMETER CHEQUE DE 6 ORTN PARA:INFORMÁTICA DINAMICA LTDA,Rua Minas Gerais. 56Santa Rosa - RS.CEP98.9(X)

Page 35: microhobby_15

o pulo do Cavalo

Feito para micros compatíveis com o TK 83/85, o pro-grama é baseado em um jogo de sucesso nos paises germâ~nicos, quase tão popular quanto o das Palavras Cruzadas. Ejogado em um tabuleiro de xadrez e utiliza uma única peça:O cavalo.

O pulo do cavalo tem como objetivo fazer com que apeça percorra as 64 casas do tabuleiro, porém, sem passarduas vezes pelo mesmo lugar.

Podem ser feitos trajetos fechados ou abertos (comomostram as ilustrações das páginas que se seguem). No tra-jeto fechado, parte-se de um ponto escolf-Jido à vontade e,após se percorrer todas as casas, cai-se novamente no pontode partida. Isto não ocorre no trajeto aberto em que, ao atin-gir a 64~ casa, não há possibilidade de se retomar à primeira.

O matemático e geõmetra alemão Leonhard Euler des-cobriu um engenhoso sistema para a resolução do quebra-ca-beça. Cobre-se completamente a primeira metade do tabulei-ro, antes de se passar para a outra metade. O trajeto éfechado.

VariáveleToX(64)

XS/S,B)LCLlClUSNJIS

ISES e FS

DescriçãoContadorde lances64 bytes dimensionadosparaarquivar as colunasde até64 lances.64 bytes dimensionados para arquivar as linhas de até64 lances.Contém dados que verificam a veracidade dos movi-mentosdo cavalo.AS(1)correspondeà colunaAS(2) correspondeà linhaO tabuleiro com a situaçãoatual do jogoLinhaatual do cavaloColunaatual do cavalo .Variávelintermediáriautilizada naatualizaçãode LVariável intermediáriautilizada na atualizaçãode CVariávelde 2 bytes utilizada na leiturado tecladoVariávelde diversasutilidades.Variávelutilizada na leiturade ASVariávelutilizadana leiturade ASVariávelutilizada na venflcação da cor da casade coor-denadas(L,C)'Parteinteirade S.Utilizadasna montagemdo tabuleiro.

Em 1773, o matemático Collini descobriu outro méto-do. Uma área de 16 casas é demarcada no centro do Tabu-leiro. São, então, alternados doze e quatro pulos, fora e den-tro da área demarcada, respectivamente. O trajeto é aberto.

Na tabela I mostramos ° quadro das variáveis e na ta-bela 11 mostramos a estrutura do programa.

Page 36: microhobby_15

--1I ::-<m mZ

r'"I;) f··'()'1 C)

f-'1--

:1:····rnz:::r:

rororororo ro :~~~~~~~~m~wro~_or~~'m~~'mm~00000 :ono :00 :000Z "ti"ti (õ) r r- r -l·tJ o 'TJ "tI (õJ I' 'r) ,;) ÇlJJOmmml:o:nnlXI JJo:rJ:rJ(::OHH 0:." .._j "'1 -·iOJ H ..H H 0:." -i H 0:."::;:2: c: :~: -...;.... ;~~:c: ~Mi :;::: c::_..j m (":o (::o r" f·;' ....j "::::j ····i m :n .._j m ::.::

····i 11 11" ~FfI) Ulo o::: 0;::, j :n'". I) f;'· '... :n(fi .'-'.····i (fi 11 I' o I" :1.. ....j .._j ....i't:J' .._j ····i ~::ou.

onr'~) rn I' (1) O'",:.,:0 -l rl"l ... ru IJI 0:..:0 m 0:.,:0 0:0* 00:: ...1"" ....,r'" +mC:: 000 00I f··'·····.mru ~::O'..... I...... ~('.J

* IC) t,:"+ -..](rI

~~ ~~.,~(,) ru f'~ o 'D m ....]o 000000

r-" tJ r:::I~:Jr'M Ij')rTIHHHrTlO-l :-':-':,:'-1 0:."

r'"

~ ~~~.:<';lJ:i", 0'1 cri ~) ~..:.

~r'::Of"f"1I O. ·······O'.l)

1~:,111 f··':mI

I···;'I

1"1::0

IruI~

~~~ ]:: 1:::1 C)f'· C:: III.....(j) 1)'I'rJo 0:.::0 rl"lc:ru zr"·.... I:,}<:::CIo:onlC)f'· r'" ':)

C) <::: ()H

C)t:t("):no:.::o:n

-'" ::::-:--i () ~:) 0::::::r.o 11"11:0IJ] ... :0 H

'-1f'~ :ro

to ···1 ·i:n J:O- ("I (}1 IJI

f·'· ruI

f··;' ruIru I···;'

~~~~~mJ)~OHC~WJJ~~~~~O~~~~~~wrn0 J) ~DO~OOOO o-~Jmm~(~)(~(~r~)r'-'()(~~-~(')~mij)(n-~Jm(flOOOOOHWOC DOHDOOOOO o

C) ~"'I fi) (fi'.::. C)::0 fi,:n (":o "rl::: 0::) '1) J) rl"l:n TI Z f::o·tJ:n:n(":o (;::0o:::::n [TI r'" J:O rl"l Z .:0: I J I . ;:: r :n Ji :n :n ITI rl"l r'" 0:.::0z o::: ····i 0:.,' c:: rl"lo, " r:::o H r..··TI H:': "'1 o:i' ····i

r'l'lc: 1)1 ~::~: u .... . ::[1 2: c:: ():n rl"l III "1 I·' TI ·1·· f")·j :n

•.• ::.. ·i···· 1.11111 .I···i .•::..1'1 +:.. (li"" :n I'" () 1:)-,.(t] rn r" ..1 J.I To r. T'·

f:" ""i f)' Ijl ..rn I::) ',.

Z: ··n··· '::::'oJ' !"IIIJI rn·-rn 0::::: -1"" ::0

1.1 .1.' I.II:V ,:~:.'1:]].1 (11 •.··)1::.1 1 rl'l:n

.. ::0 TI r:1 :;::~:C)]) <:.o:i'"O T'····jo:::

III :n T. UIT' IIIU H o), (,' rn r'"III ITI r.l' ,:":0 ]:0

....~(fi (fi r:l I) :1) =~:J) I"'i C) ::tJ 1)"1rn I)'tTlf,', z: 1','.(."... '::'1 (::O'''j("). ·::ji;....J 1····1 To 0:::" III

':0 :::>:1J:13:r:o'rn c: (li ()1)1r·' 1)1 rI"! t::):r III III Z ITI

t,) I·I.~I

'.J ü)-+. +.,.... .,;: ..

I .III

Page 37: microhobby_15

Apresentaçãodo TK-OOS

Luiz Carlos Nunes SzenteWilson José Tucci

o que é um disco 7

Um disco de computador (mais co-nhecido como disquete) é um meio dearmazenamento de informações. E umpequeno disco de 13 em. (5" 1/4) dediâmetro, tendo em sua superfície umafina camada de um material magnéticosemelhante a uma fita cassete.

Um disco é dividido em 35 trilhas.Trilhas são faixas concêntricas para gra-vação. Essas faixas são magnéticas enão sulcos físicos, como ocorre nos dis-cos de" música. Essas trilhas são nume-radas de O a 34. A trilha zero é a maisexterna e a trilha 34 é a mais interna.

Através da abertura ovalada, o ca-beçote de leitura/ gravação fica em con-tato com a superfície magnética do dis-co. Esse contato é em termos. Na ver-

Iniciaremos, com esse artigo, umasérie de esclarecimentos aos usuários doTK 2000 sobre a utilização da unidade dedisco e sobre sugestões do melhor ar-mazenamento de informações (arqui-vos).

Em primeiro lugar, o que vem a sero TK DOS? DOS é uma abreviação de"Disk Operating System" e significa Sis-tema de Operação de Disco e o TK, deprefixo, indica que esse sistema foiconstruido especialmente para utilizartodos os recursos do TK 2000.

O equipamento necessário paraoperar um disco é (figura 1):

• CPU - TK 2000• unidade de disco (por exemplo:

HORÁCIO da Elebra)• interface de disco• unidade de vídeo

dade fica a uma distância de um mi-cron (menor que a espessura de um fiode cabelo). A unidade de disco consti-tui-se assim, em um instrumento de altaprecisão, devendo ser muito cuidadosoo seu manuseio.

A unidade de disco possui um me-canismo de posicionamento do cabe-çote que lhe permite situar sobre qual-quer trilha, lendo/gravando as infor-mações da mesma.

Cada trilha está dividida em 16áreas que recebem o nome de setores. Osetor é a unidade mínima com a qual aunidade de disco trabalha. Em cada se-tor são armazenados 256 bytes (umapágina de memória) (figura 2 e 3).

Para se acessar uma informacão énecessário, portanto, fornecer em' qualsetor e em qual trilha se encontra a infor-mação.

O disco gira a 300 rpm, os setorespassam, um a um, sob o cabeçote.Quando passa o setor desejado, o "dri-ve" efetua a operação leitura/gravaçãodo bloco de 256 bytes.

Para se acessar uma informação éfim de que este não se preocupe com avelocidade do disco, com o número dosetor e da trilha, foram criados progra-mas utilitários. Esses programas consti-tuem o TK DOS. O TK DOS "reside"no próprio disquete, nas trilhas numera-das de O a 2.

Ao ligarmos o microcomputador,este possui um circuito que "percebe"se está ou não conectado a ele uma uni-dade de disco. Se não estiver, ele entraem operação normalmente; se estiver, aunidade de disco será acionada e a ca-beça de gravação posicionada para astrilhas O, 1 e 2. O computador lê estastrilhas e armazena o Sistema Operacio-nal na região destinada à segunda pá-gina de vídeo (MP). Sendo assim, umavez com o TK DOS em operação, estaárea não deverá ser usada.

O ato de colocar o Sistema Opera-cional (TK DOS) na memória do com-putador, denomina-se "boot". Boot é

unidadede disco

Page 38: microhobby_15

Fr---------v- -:: ~ - """- - - -:;r~;k:-$0- ;; II ~ ~ ~ .-- (DOSI I

: Tracks $3 - $10 ~ __ J:J I I,~'q"'" ••d'_'ri.1 ': \ ~ :: / ~ /----1~-------- Track $11(diretório ou catálogo)

I Tracks $12 - $22 .--,- \ J.--_____. ~ II (arquivos do usuário) \ _ ------_ Track $22 II I11 ,-, O I

I "D'CJ II I' II I \ II I I II \ I II \ / O I

'/ II '-_/ II II IL1 IrJ I1 II II I

'

I I ~~~1- d'L~SqU~ J Isquete

r Sinclair Place'"

ATENCÃO,

Você, que possui um micro de tec- O lugarnologia SINCLAIR ZX81, a partir compatível comdo próximo mês poderá transfor-má-Io em um poderoso micro, com OS mini-micros.a inclusão de 24 novas funções,tais como READ, DATA, RESTO-RE, TRON, e muitas outras. IZ X 81, TK 83, TK 85,

CP 200, APPL Y 300,TS 1000, RINGO,

Instalação de SLOW, HIGH AS 1000, ETC ..,)

SPEED, ALTA RESOLUÇÃO,PORTAS PARA COMANDO DE MICROSCARGAS EXTERNAS, TECLADOMECÃNICO, etc. para microcom- ,putadores de tecnologia SIN- ACESSO RIOSCLAIRZX81. SOFTWAREManutenção de microcomputado- LIVROSres de tecnologia SINCLAIR eTRS. REVISTASWILSON DE ASSISRUA FABRíCIO CORREIA, 145 Sinclair Place do BrasilTUCURUví Com, de Microcomputadores Ltda.FONE 203-7967 Rua Dias da Cruz, 215 - Sala 804

CEP 02311 São Paulo - SPEd. Meyer Golden CenterCEP 20.720 - Meyer - Rio de Janeiro - RJ.

\. Tel.: (021) 594-2699 ~

MICROHOBBV 39

Page 39: microhobby_15

MICROKASSISTÊNCIA TÉCNicA

MicROCOMPUTADORES E

DE. /.

PERIFERICOS

• Microdigital , Prológica ,Dismac, Sysdata, Apple,Commodor e

• Suporte TécnicoHardware e Software

RUA BANDEIRA PAULiSTA 300

iTAiM - SAO PAULO

FONE: 853-8640

~7lfJ}(J)1j)a(j(jJ~

-=INFORMÃTICA

FINALMENTEUMA L1STAGEM CONFIÁVELA melhor opção em programas da lógicaSinclair, listados em impressora etestados.Peça já sua assinatura anual e recebagratuitamente uma Pasta-Arquivo paraseus programas.

A TROPICAL a'inda lheoferece:- Microcomputadores e periféricos- Suprimentos e acessórios em geral- Desenvolvimento, venda e locação de

programas das lógicas: Sinclair, TRS-Süe Apple

- Consultaria e serviços empresariais

CONSULTE-NOSSEM COMPROMISSO

TROPICAL INFORMÁTICA LTDAAV. NOVA INDEPENDÊNCIA, 281 CJ. 1FONE (011) 5334971 - CEP 04570 - BROOKLlNSÃO PAULO - SP

uma abreviação de bootstrap, que foitirada da expressão inglesa "to pul/ one-self up by one's bootstraps", que emuma tradução livre, significa "ergueralguém pelos cadarços" (do sapato).Isto porque o Sistema Operacional auxi-lia muito uma pessoa, retirando-a da"lama". O Sistema Operacional "alivia"o usuário de muitas tarefas de controlede disco, permitindo que ele dediqueseu tempo ao seu programa propria-mente dito.

Ao adquirir sua unidade de disco, ~~6um disco especial acompanha o equi-pamento. Esse é denominado de DiscoMestre . Ele contém o Sistema Opera-cionale muitos outros programas apli-cativos. Através deste Disco Mestre épossível colocar o Sistema Operacionalem outro disco.

. Vamos então colocar o SistemaOperacional na memória. Para tanto,desligue o micro, abra a janela da uni-dade de disco e insira o Disco Mestre.Observe a posição correta (etiqueta vol-tada para a parte superior direita), pró-xima ao seu polegar.

Feche a janela. Ligue o micro e aunidade de disquete será acionada e aomesmo tempo o Sistema Operacionalserá colocado na memória.

Retire o Disco Mestre e introduzaum disco novo. Este disco vem "liso" dafábrica, ou seja, vem com a películamagnética, mas não está dividido emtrilhas. Devemos inicializar esse disco(colocar as trilhas) para que possamostrabalhar com ele.

Digite NEW e coloque um progra-ma qualquer, por exemplo:

>5> 10

>20

REM DISCO NUM fi:. 1

HOME

PRINT "DISCO # 1"

A seguir digite: INIT INiCIOAo ser pressionada a tecla RE-

TURN, esse programa se~áarmazenadono disco com o nome INICIO. Ao mes-mo tempo seu disco será "inicializado",ou seja, será dividido em trilhas e colo-cado nas trilhas O, 1, 2, Sistema Ope-racional.

Digite o coma,ndo CAT ALOG e vo-cê verá o nome INICIO aparecer na tela.

Na trilha 17 do disco, reside o dire-tório. Neste lugar está armazenado onome e o endereço de seu arquivo. Ar-quivo é o nome do programa que vocêgravou.

Por que o diretório reside na trilha117 Porque ao pesquisar se um deter-minado arquivo existe ou não, a unida-de de disco posiciona o cabeçote nomeio do disco, minimizando a distânciaa percorrer no caso de localizar o ar-quivo.

Nos próximos artigos nós tratare-mos especificamente de Arquivos (Se-qüencial e Randônicos), métodos deacesso, Arquivos Binários (para gravarparte da memória), Classificação (sort),Hashing (Pesquisa), etc

Vamos ver um método para clas-sificar um veto r de tamanho M.

O método descrito chama-se BUR-BLE-SORT e consiste de comparações.

Seja dado o vetor A com 4 elemen-tos e que contenha os números 9, 8, 7,6 e que nós desejamos que fique emordem crescente.

a) Compare a posição 1 com a 2. Se1 > 2 então troque de posição.

b) Compare a posição 2 com a 3. Se2 > 3 então troque

c) Compare a posição 3 com a 4. Se3 > 4 então troque

Ao fim dessa passagem, você notaque o maior elemento está na última po-sicão.

. Devemos repetir os passoa a, b no-vamente

Devemos repetir o passo a nova-mente

Isto é, a cada passagem, reduzi-mos um passo.

No inicio temos N - 1 passagens edepois 1só passagem.

No próximo número daremos a so-lução deste programa. O

Page 40: microhobby_15

Quebra-Cabeca:,a Torre de Voguei

Após deixar a Inglaterra, Nabor Ro-senthal foi visitar um amigo na Alema-nha. Na última carta que ele me enviou,falou-me de uma certa torre que encon-trou no castelo de nosso amigo Friede-rich VogueI. O quebra-cabeça destemês consiste em descobrir, com o auxí-lio de seu micro, qual a altura da torre.Como Nabor escreve em sua carta, exis-te uma fórmula que permite o cálculo di-reto dessa altura; entretanto, queremosuma solução semelhante a que o Naborutilizou, baseada em simulação numéri-ca. Adiante encontra-se parte da cartaque recebi, juntamente com os dese-nhos feitos por Nabor.

"No primeiro dia em que estive nocastelo de Friederich, ocupei todo o meutempo em conhecer a milenar constru-

ção. O que mais me interessou, nessedia, foi uma estranha torre que, aparen-temente, era inútil. Não havia como su-bir ao seu tOpo. No dia seguinte Friede-rich explicou-me que a torre era utilizadacom uma escada móvel que era introdu-zida em seu interior sempre que neces-sário. A escada deveria ser usada maisou menos como mostram os desenhosque estou lhe enviando. Friederich medisse ainda, que a escada já não existemais há séculos e durante todo esse tem-po, ninguém tem subido à torre. Pensa-mos, então, em fazer uma nova escada,

mas para isso precisávamos saber a al-tura da torre. Devido a posição em queela estava, não podiamos usar a sombrado Sol para medí-Ia; então lembrei-mede um antigo problema de cálculo ele-mentar. Medi a largura da torre e a altu-ra de sua entrada. Depois, como não melembrei da fórmula para calcular a alturada torre e não quis perder tempo dedu-zindo-a, fiz um rápido programa parameu micro. Após alguns instantes ne-cessários para a simulação de várias al-turas, ele me deu como resposta o valor13,6 metros.

A TORRE DE VOGUEl:FIGURAS ENVIADAS PELO SR. NABOR

DIMENSÕES QUEEU MEDI

ALTURA DAentrada

ESCADA NA POSiÇÃOINICIAL

ESCADA 1\1APOSiÇÃO

FINAL

Page 41: microhobby_15

Acabando com o problema de filaspara Apple e TK 2000

A finalidade desse programa é a análise econômica deum problema de filas, no qual supõe-se que a previsão de che-gada de clientes é através do modelo de Poisson. O tempode atendimento dos clientes segue a lei exponencial, tem-sevários setores de atendimento, a disciplina para desfazer a filaé PCPS (ou seja: o primeiro a chegar, será primeiro a ser ser-vido), o espaço para espera é bem grande e a população quepode querer este serviço é muito grande.

No nosso livro Pesquisa Operacional Vol. 2, editadopela Livraria Nobel, deduzimos as fórmulas para o processo de"nascimento e morte" e, como caso particular, obtemos ocaso acima que representa-se de forma sintética por (M/M/s):(PCPS/oo/-o), ou seja, o modelo no qual tem-se s atenden-tes em paralelo, ou ainda, o caso em que s clientes podem seratendidos simultaneamente (Fig. 1l.

Fonte

COCO O

Q

,,,,

,,,,, ,,/

I ,

---\~\-\-l-I \:

\\\\ ---------\\\\\\

Como se pode notar, é o que pode ocorrer em um pos-to de pedágio, nas bilheterias de um estádio de futebol, nascaixas de um super-mercado, etc.

As fórmulas que demonstramos no nosso livro são:1) Probabilidade do sistema estar ocioso l\

1 P = 'J.4p o = ------- - (1) 'A = taxa média de chegada5 - 1 jJ. = taxa média de serviço

~ ~+~. _1_ f=-f-L-J n! s! 1- f

= número de setores den = O atendimento

2) Probabilidade de se ter n clientes no sistema

p~-_Po se O n ~ 5

n!

P = -.. (2)n

--P_Po se ~ 5s!\sn-s

sp ,u IP o

(5 _ 1)! (s,u _ '11)2

ps ,u Po

(5 -1)1 ls,u- '11)2

5) Tempo médio no sistema, ou seja, o tempo médio da filamais o tempo médio para um cliente ser atendido.

EIW s) = E(W II +...L - (5),u

6) Número médio de clientes no sistema. 'A

E(Ls) = 'A E(Ws) = 'A E(W,) +!T= E(Lf) +.p - (61

a - É muito importante que nesse modelo se te-nha f< 1 ou seja 11.< s,u, pois, caso contrário, ou seja, setaxa de chegada ('A ) for maior que a taxa global de atendi-mento (s ,u), a fila irá aumentar cada vez· mais e diz-se que osistema vai "explodir".

Na análise econômica vamos procurar o custo mínimodo sistema, levando em conta o custo do atendente (c2) e ocusto do cliente esperando no sistema (c,), ou seja, queremosum mínimo de E (C,) dado pela expressão:

] E(e,) = c, E(Ls) + c2· 5 I - (7)

O programa permite exprimir cada parcela da fórmula7 em separado, além de fornecer as probabilidades simples eacumuladas até um limite especificado por você, carola) lei-tor (leitora l.

o ProgramaNa organização do programa em BASIC para o seu

TK-2OOQColor observamos as seguintes etapas:a) Mensagens iniciaisb) Introdução e verificação de parâmetrosc) Processo de cálculod) Saída de resultadose) Apresentação da distribuição de probabilidadesf) Mensagem final

Tabela I - Variáveis utilizadas no programa

R$

TCTSSPSIP

PALSLFWSWFNKC1

C2CECSCT

TABELA Ivariável STRING na qual entra a sua resposta,caro (a) usuário (a)taxa média de chegada ( À )taxa média de serviço ( ,u )número de setores de atendimento (s)fator de utilização do sistema ( t/; )probabilidade de se ter um certo número de clien-tes no sistema (P n) k

probabilidade acumulada [n~ oPn]número esperado ou médio no sistema [E(Ls)]número esperado ou médio na fita{EiL )]tempo esperado ou médio no sistema lE(W.)]tempo esperado ou médio na fila [E(Wf)]número de clientes no sistema (n)limite superior para a distribuição de probabilidadecusto de espera por cliente por unidade de tempo(C,)custo do setor de atendimento ou da atendentepor unidade de tempo (C2)custo total de espera por unidade de tempocusto total de serviço por unidade de tempocusto total do sistema_Qor unidade de temoo

Page 42: microhobby_15

/r--------------------------------------1 REM MODELO M/M/S/PCPS 1455 PRINf5 REM MENSAGENS INICIAIS 1468 PRINT "NUMERO ESPERADO NO S18 GOSUB 1008 ISTEMA ":L515 REM INTRODUCAO' E' UER IF ICACAO 1470 PR INT •NUMERO ESPERADO NA F

DE PARAMETROS ILA ":LFGOSUB l1é8 1475 PRIHTREM PROCESSO DE CALCULO 1488 PRINTGOSUB 1388 1485 PRINT "TEMPO MEDIO NO SISTEREM SAlDA DE RESULTADOS MA ":USGOSUB 1458 1490 PRINT "TEMPO MEDIO NA FILAREM APRESENTACAO DA DISTRIBU ":UF

ICAO DE PROBABILIDADES 149~ PRINT55 GOSUB 1550 1588 PRINT68 'REM MENSAGEM FINAL 1518 PRINT "CUSTOS DO SISTEMA PO65 GOSUB 1669 R UNIDADE DE TEMPO"78 IF R$ = "5" THEH 18 1515 PRINT88 PRINT 1520 PRIHT "CLIEHTE ESPERANDO9é PRIHT"E O FIM DO PROGRAMA" "ICE180 END 1525 PRINT "SETORES DE ATENDIMEN1008 PRINT" ANALISE DO MODELO D TO ":CS

E FILA COM CHEGADA POISSOH. 1530 PRINT 'TOTAL ":CTIADA EXPOHEHCIAL, UARIOS SET 1535 FOR Z = 1 TO 299: NEXT ZORES DE ATENDIMENTO PCPS. GR 1540 RETURNANDE ESPACO PARA ESPERA E PO 1550 PRINTPULACAO QUE SOLICITA DE SERU 1560 PRINT "DISTRIBUICAD DE PRoBICO MUITO GRAHDE" ABILIDADES ATE UM CERTO NunE

RETURN RO DE CLIEHTES NO SISTEMA"PRINT : PRINT 1565 PRINTPRINT "TAXA MEDIA DE CHEGAD 1578 PRIHT "LIMITE SUPERIOR PARA

A ": . A DISTRIBUICAO DE PROBABILI1129 IHPUT TC DADES"1138 PRIHT "TAXA MEDIA DE SERUIC 1575 I~PUT K

O ": 15:30 PRIHT: PRINT1140 IHPUT TS 1585 PRINT "NUMERO": TAB( 18):"P1150 PRINT "NUMERO DE SETORES DE ROBABILIDADE": TAB( 25):"PRO

ATEHDIMEHTO ": BABILIDADE"IHPUT 5 1590 PRINT TA8( 14):"NO POHTO"'IF TC < S • TS THEN 1220 TAS( 27):"ACUnULADA"PRIHT "CAPACIDADE DE ATENDI 1595 PA = P

MEHTO E INFERIOR A PROCURA" 1600 PRINT TAS( 5): "0": TAB( 111290 PRINT "COM ESSES DADOS O PR ):P:TAB25:PA

aCESSO VAI EXPLODIR. EHTRE C 1610 FOR H = 1 TO KOM OUTROS DADOS" 1615 IF H > S THEH 1630

FOR Z = 1 TO 299: NEXT 2 1620 P = P • S • PSI / HHOME 1625 GOTO 1635GOTO 1100 1630 P = P * PSIfRINT 1635 PA = PA t PPRINT 'CUSTO POR UNIDADE DE 1640 PRINT TAS( 5):N: TAS( 11):TEMPO PARA" P: TA8, 25):PA

1235 PRINT 'UM CLIEHTE ESPERANDO 1645 NEXT N., 1650 RETURN

166lJ PR I N11680 PRINT "UOCE QUER ENTRAR COM

OuTRO CONJUNTO NOVO DE DADO

Hl1011001119

1160117131190

12051219121512281230

12413 INPUT Cl1250 PRINT"E PARA UM SETOR DE A

TENDIMENTO OU ATENDENTE ":12611 rNPUT C21270 ~:ETUF:H.1300 P~I = Te / (S * TS)1310 REM UAMOS USAR UMA UARIAVE

L AUXILIAR T PARA OBTER A PR08ABILIDADE (P0) DE TODOS OS

ATENDENTE5 ESTAREM SEM SERVICú

1320 T = I:P = 11339 FOR N = 1 TO S - 11340 T = T * S * PSI / N135e P = P t T1360 NE>;T ti1365 P P t T * S * PSI / (S •

- PSI»1·379 P = 1 / P1375 T = T • S * PSI * PSI / (S *

(1 - PSI)' 2)1380 LF T. P1385 UF LF / TC1390 US UF + 1 / TS140e LS TC * US141e CE Cl * LS1420 CS C2. S1438 CT CE t CS1449 RETURN1459 REM AI VAI UM SUMARIO

169tt17001710

5 (S/H)?l;

1NPUl R$[F Ri 11 S;IIr: K$ = "NU

THEN 1(seTHEN 1i'~;'3

i7·2~ PRIHT1739 PRINl rlVOCE TECLOU A LE1RA

CO[) I GQ ERRAC'H 11

1 ;'4l3 GlJTü lüt;t:1750 RE TU R,·;

Suponhamos que um modelo (M/M/51: (PCPS/oo /-0)possa ser aplicado a um certo problema.

Vamos achar o número adequado de atendentes paraque o custo total esperado seja mínimo.Dados:C1 25 u.m/h -C1 o custo de espera do cliente e

u.m é unidade monetária5 u. m/ h - custo do setor de atendimento10 clientes/ h - taxa média de chegada

= 3 c1ientes/h - taxa média de serviço

Note que deve-se começar as tentativas a partir de S4 pois este é o menor inteiro tal que: S * TS = 4 * 3 >

TC = 10.Termina-se o programa quando se obtém o menor CT e

para isto ele deve estar confinado entre dois valores adjacen-tes maiores.

Page 43: microhobby_15

Adivinhe se é cara ou coroa?

~

~. '".;; -- -~ .'

10 .':' ,r.\ Wl'~'

Um programa de InteligênciaArtificial para o TK 83/85

Alvaro A. L. Domingues

Será que um programa com menos de 2 kBytes podeser considerado inteligente? Tudo depende do que conside-ramos inteligente ...

Entretanto, temos um critério que pode ser usado. Sevocê leu nosso artigo sobre inteligência artificial, "Podem asMáquinas pensar?" (Microhobby n~ 81, deve estar lembradodo teste de Turing. Basicamente, este teste diz que, se numjogo de imitação, uma pessoa não distinguir, num conjuntode perguntas e respostas, se seu interlocutor é um homem ouuma máquina, podemos dizer que a máquina, ou grograma emteste, é inteligente.

OjogoAinda não se construiu uma máquina que passe neste

teste em todas as situaçOes possíveis, mas pode-se construirmáquinas ou programas que "se saem bem" em um ou maiscampos; como, por exemplo, o programa Carla, que publica-mos na revista 12, que simula um diálogo inteligente entre umpsicanalista e seu paciente, ou o Sdrlu, que simula umacriança brincando com cubos, esferas, cilindros e pirâmides.

Nestes programas, o teste de Turing será bem sucedi-do se o interlocutor humano, que o estiver aplicando, ater-sesomente ao jogo.

O jogo que simularemos no TK é bastante popular nosEstados Unidos e muito simples, o que o torna atraente parauma simulação. Trata-se de adivinhar que face da moeda oadversário escolheu: cara ou coroa. Parece apenas mais umjogo de advinhação, que tanto. tem aparecido em revistas deprogramação. Entretanto este jogo tem o seguinte aspecto:o jogador que esconde a moeda do adversário vai adotar uma,estratégia baseada no que conhece do adversário, ou numa ououtra característica psicológica sua. Cabe ao adversário déS-cobrir esta estratégia para poder começar a ganhar. Quandoo adversário ganhar um número significativo de partidas, oprimeiro jogador deverá mudar de estratégia, uma vez que elenotou que o adversário descobriu seus truques.

Quando o adversário perder um número significativo departidas, notará que o primeiro jogador mudou sua estratégiae tentará descobrir qual a nova estratégia. E assim sucessiva-mente.

O programaO TK 83 será o primeiro jogador, ou seja, quem escon-

de a moeda. Ele escolherá uma estratégia e você deverá des-cobrí-Ia, analisando seu comportamento. Quando você ga-nhar um certo número de vezes seguidas, ele mudará sua es-tratégia e, até que você ganhe um número significativo de ve-zes, quando então mudará a estratégia novamente. Isso con-tinuará indefinidamente.

Quando o computador mostrar em sua tela a pergunta:COMEÇO?, você deverá digitar um número entre 1 e 65.535,que indicará ao computador qual a primeira estratégia que de-verá usar. A seguir o computador perguntará:

(FIACE OU (CIOROA?Você, então, deverá digitar uma letra para a sua esco-

lha: F para cara, C para coroa. Os pontos serão indicados, jun-tamente com a mensagem de que você ganhou ou perdeu (fi-gura 11.

44 MICROHOBBY

-..' -.. ;-; +-:', ~=;,;.= ''-'''' '-' ,..'

li2!G11012211.:.30

L ET '- = J.. j .• : " t-~ ~ t< + -:..,"LET ~·=4~C+2+L+~+-:..IF O((;~ =~~ THEr~~GOTOLET E =t-i +~ " .~.,";,3;:;TC; ...i.."'~:

::::50 J='FIr·:'=: :::;.~; c: E =:~~:~.2 i;: ,_, i c-" 7 2: .

Page 44: microhobby_15

H O B BYS H O P VEJA SE SUA CIDADE TEM O QUE VOCÊ PRECISASÃO PAULO

MEM~OATAProcessamentode Dados Ltda.

BASICemTKConsulte as outras escolas. Você será nossoaluno.Av. Bernadino de Campos, 294 - 5~ andar -Cj. 52 - Fone: 284-8352 - Metro Paraíso SP.

",""imlfti',,,,,all,uiil , lillm4lfliiílUlIil

Loja de MicrocomputadoresTK-83-85-2000 - CP200-300-500; jogos - su-primentos - programas.Cursos Basic I e 11Av. Brig. Faria Lima, 2178 - Fone: 813-3338 -Pinheiros SP.

"'v

®oCIDo®COMPUTADORES

Cursos Basic, Cobol, AssemblerA nova maneira de aprender a programar.Núcleo I: Av Pacaembú, 1280 - Fone: 66-7656-SP.

ENG Comércio de Computadores Ltda.TK85 x TK2ooo?

Só na ENG você adquiri o seu TK2000 nas me-lhores condições e ainda dá o seu velho TK83,TK85 ou CP200 como parte de pagamento.TK2000 é na ENG. Showroom - Tel. 284-1218.Av. Paulista, 1159 - Cj. 611.

CiENTROrJ\UL ISTIt :JiE

IN;=ORMÃ.TICI'tCurso de Basic "Promoção Especial"

O mais moderno curso de Basic de S. Paulo.Rua Itumaitá, 349 - SI - Cj. A - Esq. Brig.Luiz Antonio - altura n~ 1000 - Fone: 35-4511Liberdade SP.

U LJ LJ LJ MONOUTIi 2001

Eletrônica e Jogos Com. e Exp. Ltda.Equipamentos TK85, Elppa 11, Elppa Jr. e Color64. Jogos em Geral.Rua Augusta, 1371 S/L7 - Fone: 268-4370 -SP.

SÃO PAULO

DATA RECORD INFORMÁTICACursos, Consultoria, Ass. Técnica e Suprimentos

Comece 85 programando!• Cursos Intensivos em Janeiro• Reserva de vagas até 211 12/84Cursos: Cobol • Basic I e 11• Debase 11• AplicativosVantagens: 1 aluno pl Micro • Professores da USP• Estágio garantido • Bolsas de EstudoAv. Sto. Amaro, 5450 - Brooklin - Tel.: 543-9937.

Software-House especializada nodesenvolvimento de sistemas e cursos

de treinamento para microcomputadores.

c,:\.. c,~'vc,1Jb~\\ ~O':Jfõ~':J" (jOfõ° d~ -4\':J" Qfõ~ ~ O-V-{.

A~C COMPUTAÇÃOCursos Basic, Assembler e Cobol. Microc9mpu-tadores - Suprimentos, Calculadoras, OrgãosEletrônicos, Software, Microclub.Av. Senador Vergueiro, 4962 - 1~andar - Sala6 - Rudge Ramos - S. B. Campo - CEP09720 - Tel. 455-1940.

A POLlVALENTEDA INFORMÁTICA:

MINAS GERAIS

(êrryyQuhlSeja mais um amigo do Compu Club. Você recebe: duas fitas com6 excelentes programas grátis de procedência estrangeira e bole-tins do Compu Club regular e gratuitamente.Como fazer: indique o tipo de equipamento que possui, anexecheque de S6.500,OO/despesas de postagem.Compu Club CEPo 1795 CEP; ooסס3 - Belo Horizonte - MG.

RIO DE JANEIRO

PROSERV-Processa.ento Dados. Cursos e Rep.ltda.,MICROCOMPUTADORESINovos e Usados)

• CURSOS (Cobol. Basic. CP/M. DBase III.SUPRIMENTOS (For.ularios. Disquetes. Fitas. etc.J

• LIVROS E REVISTAS.SOFT~ARE ITRS80. Apple. TK85)19.Nove de Abri I 27 salas 626/628Tel: (0243) 429800 - V.Redonda - RI

RIO GRANDE DO SUL

INFORMÁTICA DINÂMICA LTDA."AGRIMENSOR"

Planilha de Cálculo Analítico para agrônomos, topógrafos etécnicos agrícolas.O programa para a família Sinclair (TK83, 85, CP2(0) e mui-tos outros, que economiza horas de serviços. Remeter che-que de 6 ORTN para:Rua Minas Gerais, 56 - Sta. Rosa - CEP 98900 - RioGrande do Sul.

Page 45: microhobby_15

Inteligência Artificial:Tornando o computadormais esperto

"Na verdade o computador é umser incapaz de raciocinar por si só. Elenão pensa, apenas faz aquilo que o man-damos fazer. O computador não mordeninguém." Johannes Zantwyk

Quando tentamos explicar o que éum computador a uma pessoa que nun-ca o viu de perto, que não sabe comofunciona e nem o que faz, deparamo-nos com esta realidade. Até agora, foiessa a imagem do computador, vendidopelos meios de comunicação, um mons-tro capaz de pensar por seus própriosmeios e de dominar o homem e a socie-dade. Ironicamente, no entanto, o pano-rama começa a mudar para um estadogeral de coisas inverso ao atual.

O que pode nos chocar, discutindoo tema Inteligência Artificial é a idéia deque alguém construa uma coisa que"pense" por si mesma, não possuindo amesma natureza humana de quem acriou. A idéia desta "coisa pensante"que abrange todo o repertório culturalhumano, mas que não é humana, perta-mente é uma idéia que rIOScausa estra-nheza, talvez pelo curto instante de tem-po que levamos para assimil.ar e deglu-tir as inovações tecnológicas que sur-gem a cada momento.

Em 1982, os japoneses lançaram oInstitute for New Generation ComputerTechnology (ICOT), que se constitue nabase de lançamento do chamado Com-putador de &. Geração. Eles prometemuma máquina capaz de dialogar com ousuário em Linguagem Natural, ou seja,sem que seja necessário aprender qual-quer linguagem de programação; algopróximo de um supercérebro eletrônicoportátil, capaz de tomar decisões com omínimo de interferência humana, e, deuma certa forma, simular algumas rea-ções emocionais humanas. Tudo issoentre 1988 e 1990, o que nos leva a crerque se o projeto vier a ser bem sucedidoem todas as suas fases, causará uma re-volução sem limites, quer seja no campoda Informática, quer seja nas outrasciências.

Quatro anos após o lançamento doENIAC, o primeiro computador eletrôni-co do mundo, Alan Mathieson Turingpublica seu artigo, "Computer Machi-nery and Intelligence" (1950), no qualformula uma série de perguntas englo-badas em uma única: "as máquinas po-dem pensar?". Turing acreditava, que sefossem propostas à uma máquina e aum homem .uma mesma série de per-guntas, e para um observador fosse im-possível distinguir de onde vieram asrespostas, então a máquina estaria aptaa pensar.

Posteriormente, vários programasescritos em linguagens específicas de IApassaram brilhantemente no teste; co-mo Parry, um programa que simula umesquisofrênico dialogando com o usuá-rio-psicanalista.

Se o teste de Turing realmente ser-ve para medir a capacidade de inteligên-cia de uma máquina, ou não, é questio-nável. Em todo caso, o exemplo de Par-ry, e tantos outros, nos consubstancia oquanto as máquinas puderam crescer nosentido de imitar algumas capacidadeshumanas em tão pouco tempo.

Nos anos 50, o trabalho em Inteli-gência Artificial cresceu consideravel-mente na América, com trabalhos sema-nais como o da The Advanced ResearchProjects Agency, que desenvolvia umsistema de tradução literal inglês-russovia computador. O sistema funcionavarazoavelmente bem, mas considerandoque todas as Iinguas possuem um índi-ce de redundância e que traduções lite-rais de expressões idiomáticas ou de gí-rias não podem ser levadas em conta, atradução do inglês "hydraulic ram"(aríete hidráulico) para o russo e a voltaao inglês "water goat" (cabra d'água),fez com que o projeto fosse desativado.

Um pouco mais tarde, Allen Newelle Herbert Simon criaram o programaLogic Theorist, que demonstra teore-mas lógicos; os dois autores predisse-ram que o computador viria um dia a serCampeão Mundial de Xadrez e escrevercomposições musicais de gênios dentro .de 10anos.

No entanto, somente no fim dosanos 50, começaram a aparecer efetiva-mente a pesquisa que levaria às verda-deiras linguagens de Inteligência Artifi-cial, uma vez que as outras linguagensde alto nível, usadas até então, haviamse mostrado falhas em muitos pontos,quer pela pouca flexibilidade de recursosde programação, quer por restringirembastante o uso da linguagem natural nodiálogo usuário-máquina. A pesquisaforneceu um substrato muito grande pa-ra que a Inteligência Artificial evoluísseaté o ponto de hoje.

As LinguagensJohn McCarthy, membro do MIT

Massachussets Institute of Techno-logy, desenvolveu o "time-sharing",processo pelo qual uma unidade centralde processamento pode ser partilhadapor vários usuários ao mesmo tempo ecriou a linguagem L1SP (aberviatura deL1ST Processing), considerada a mãedas linguagens de Inteligência Artificial.Até hoje, ela é a mais usada por ofere-cer uma grande eficiência na constru-ção de modelos lógicos e processoscognitivos - processos de aprendizado- num computador.

Sintaticamente poderíamos divi-dir a L1SP em dois grupos: os átomos,que são seqüências de caracteres alfa-numéricos similares às strings do BASICe as listas, que são seqüências de áto-mos encadeadas logicamente.

Uma das características mais mar-cantes do L1SPé o uso espantoso de pa-rênteses delimitando, logicamente, asseparações entre um ou mais átomose/ou listas. Embora muitos possamachar excessivas as quantidades de pa-rênteses utilizadas, elas são necessáriaspara que a construção do programa sefaça de maneira lógica, coerente e fle-xível.

Em 1966 Joseph Weinzenbaun es-creveu "Eliza", um programa em L1SPque simula uma psicanalista em linha ro-geriana que conversa com o usuário -paciente, (ver programa "Carla", Micro-hobby n~ 12). Eliza foi testada, pela pri-meira vez, com a secretária do próprioWeinzenbaun. O resultado foi tão sur-preendente que, num dado instante, elalhe pediu que saísse da sala, enquantointeragia com o programa em lingua-gem Natural.

Apesar de tudo, o programa tembastantes limitações quanto ao vocabu-lário utilizado por Eliza e se, por exem-plo, perguntarmos a ela o significado dealguma palavra em inglês que desco-nhecemos, ela nos responderá que des-conhece também significados de pala-vras em geral, mas que apenas enten-de ... números binários! Após um de-terminado tempo de diálogo, Eliza pa-rece esgotar seu repertório e tende a re-petir as mesmas perguntas inicialmentepropostas. Mesmo assim, o programafascina pelas possibilidades que abre.

Outros programas célebres, .comoEliza, também foram escritos em Lisp.Entre muitos, poderemos citar Parry, oesquizofrênico que dialoga com o psica-nalista usuário, Mycin, que auxilia (ban-co de dados) no diagnóstico de doençasinfecciosas; ou 'Q Prospector, um pro-grama que descobriu uma mina de mo-libdênio no valor de milhões de dólares.

A facilidade de programação emL1SPe a sua grande extensão em recur-sos fizeram com que L1SP saísse doscomputadores de grande porte para osmicros. Assim, existem, compiladoresdisponíveis para o TRS-OOe versões doElisa para o Apple 11.Com estes compi-ladores é possível se montar uma basede dados de geografia informando, porexemplo, ao micro que a Bahia fica aonorte de São Paulo; em seguida, se per-

Page 46: microhobby_15

guntarmos ao micro qual a localizaçãode Salvador em relação a Sãó Paulo, elenos responderá que Salvador fica aonorte de São Paulo.

L1SP e PROLOG são as linguagensque se espera serem usadas pelo proje-to japonês do Computador de QuintaGeração.

Usada primeiramente com objetivoseducacionais, LOGO é uma linguagemque saiu .do L1SP. Tem muito mais faci-lidade de aprendizado do que o BASIC epermite uma visualização mais rápida doalgo ritmo lógico utilizado na construçãode um programa. Por outro lado, a redu-ção do conjunto de instruções LOGO fezcom que o caminho levado do aprendi-zado à prática encurtasse bastante, oque quer dizer que após pouco tempo decontato com a linguagem, a criança já sehabilita a programar em LOGO. Sintati-camente, as estruturas do LOGO po-dem ser confundidas com L1SP, tama-nha é a semelhança entre as duas lin-guagens.

A base da linguagem LOGO é umatartaruga capaz de fazer desenhos, obe-decendo ordens quase conversacionaisda criança. Existem versões de compi-ladores LOGO disponíveis para microscompatíveis com o Apple, com o TRS-SO, ou para os que suportem o sistemaoperacional CP/M. No Brasil, os primei-ros micros da ltautec tinham essalinguagem disponível em seu sistemaoperacional.

Vários "compu ter camps" paracrianças estão se utilizando dessa lin-guagem para promover um primeirocontato agradável entre a criança e ocomputador.

Das várias outras linguagens de in-teligência artificial, que se seguiram<IPÓS o L1SP, somente PROLOG conse-guiu unir as vantagens da linguagemmãe de uma maneira mais racional e fle-xível. Estas duas continuam a ser as lin-guagens mais utilizadas, deixando-seentrever que, em pouco tempo, o apren-dizado de BASIC será quase que total-mente desnecessário.

Conhecida desde 1970, PROLOG(PROgramming in LOGic) é uma lingua-gem que tenta a sintese entre um apro-fundamento em Linguagem Natural e aprogramação em lógica. Dado a essagrande flexibilidade, ela tem servido aobjetivos diversos, como a pesquisa ecriação de bancos de dados inteligentesassistida pelo programador, ou a con-cepção e realização de sistemas tam-bém inteligentes. PROLOG é uma lin-guagem que se distingue facilmente dasoutras por não ter padrões pré-defini-dos, nem tampouco estruturas de con-trole como o BASIC (IF ... THEN ...ELSE, GOTO, GOSUBl.

Um programa PROLOG se consti-tue somente de asserç{Jes (fatos conhe-cidos) e de razões (fatos condicionais),como na Lógica formal. Isso dá uma

grande flexibilidade e força à linguagem,além de facilitar o programador na horade construir o algoritmo lógico e de oti-mizar o tempo que se espera para que amáquina nos forneça a r~posta. Maisainda, ao construirmos sistemas com-plexos onde o uso das linguagens de al-to nível se constitue numa dificuldade amais na hora da concepção e posteriorimplantação: PROLOG se constituenuma grande ferramenta de apoio aoprogramador, pelo fato de aproximar-seem muito da linguagem natural.

As características do PROLOG nosmostram que a linguagem se aplica maisnaturalmente a um tipo de problema doque a outros. Desta maneira, os proble-mas que envolvem uma grande quanti-dade de dados serão favorecidos, pois alinguagem se adapta melhor a este tipode problema do que aqueles cuja mani-pulação de dados é pequena. OPROLOG também é uma linguagem po-derosa na manipulação de dados simbó-licos, restrição feita por muitos usuáriosàs outras linguagems de IA, como oLisp, Logo ou o Smalltalk.

No que se refere aos campos deaplicação do PROLOG, esta linguagemestá sendo utilizada tanto na compreen-são da linguagem natural como na ges-tão dos chamados bancos de dados re-lacionais, ajudando a criar uma base dedados dedutiva, ou seja, um programaque pesquisa inteligentemente bancosde memória através de encadeamentos.

O PROLOG tem recursos muito for-tes, como a cláusula de Horn, pela qualuma conclusão C1 contém várias pre-missas p1, p2, p3 ... pn encadeadas.Isso quer' dizer que C1 somente será ver-dadeira se p1 e p2 e ... pn também fo-rem verdadeiras. A cláusula de Horn temuma sintaxe mais restritiva do que as re-gras utilizadas pelas linguagens de sis-temas inteligentes. Ela possibilita apli-cações do PROLOG como sendo umalinguagem com orientação voltada parademonstração de teoremas.

Assim como o Lisp, o PROLOG tam-bém é disponível para micros compatí-veis com o Apple e IBM-PC, ou microsque suportem os sistemas operacionaisCP/M-SO, CP/M-86 ou ainda o Unix.

De uma maneira geral, o interessepor PROLOG tem crescido considera-velmente e não há dúvidas que a lingua-gem se torne, dentro de pouco tempo,tão popular quanto o USP e LOGO.

Embora a Inteligência Artificial es-teja na ordem do dia e suas linguagensestejam vindo a tona e se tornando cadavez mais populares, podemos observarque não conhecemos profundamente océrebro humano o quanto poderíamosconhecer. Por exemplo, aquilo que sechama por pensamento, sabemos quecorresponde à passagem de um estímu-lo elétrico provocado por uma reaçãoeletroquímica, e que este estímulo temum sentido que vai da ponta maior doneurônio à sua ponta menor. Não sabe-

mos, no entanto, qual é a linguagem"Assembly" do cérebro humano, nemtampouco se existe a possibilidade determos esse estímulo elétrico trafegandoem sentido contrário, ou mesmo em du-pla-mão. A despeito da divisão dos doishemisférios cerebrais e de sua conse-qüente associação com habilidades· denatureza diametralmente opostas (ladoesquerdo-racional, lado direito-emocio-nal), sabemos que pode haver redun-dância, ou seja, eventualmente este mo-delo pode já estar inclusive superado.No entanto, o trabalho em InteligênciaArtificial prossegue, sendo seus camposde meta-conhecimento ("conhecimentodo conhecimento") cada vez mais deli-mitados e claros.

Em 1964 a Rand Corporation con-tratou um filósofo, Herbert Dreyfus,com o objetivo-de revisar o trabalho emInteligência Artificial, desenvolvido pelaCompanhia, e de propo'r críticas. O tra-balho desenvolvido por Dreyfus originouum livro, "What Computers can't do"(O que os computadores não podem fa-zer), no qual o autor expOe com firmezasuas observações a respeito das limita-ções humanas e das máquinas.

A popularização das linguagens vaifazendo com que o choque previsto pa-ra quando a máquina inteligente for lan-çada se atenue bastante, mas resta sa-ber agora o quanto o impacto deste lan-çamento interferirá nas outras áreas deconhecimento humano. Mais ainda, oquanto estamos impotentes para convi-ver com um tipo de máquina que, quan-titativamente, falha menos que nós, em-bora qualitativamente possa deixar mui-ta coisa a desejar.

Enquanto a discussão sobre Inteli-gência Artificial prossegue, oscilandoentre o pueril e o filosoficamente maisprofundo, sempre é tempo de parar uminstante e rever o que fizemos, não sóno território da Cibernética e de outrasciências correlatas, mas também em ou-tros campos. Para alcançar um estágioque nos permita efetivamente construiruma máquina inteligente, teremos queprosseguir ainda um longo caminho. Emtodo o caso, a Inteligência Artificial nãoajudará apenas a tornar os computado-res mais espertos, mas ajudará a nos tor-nar ainda mais inteligentes. O

Making Computers Smarter: A Look atthe controversial field of artificial intelli-gence - John O. Green, Popular Com-puting, jan. 1984.Computadores e InteliglJncia - A.M.Turing in Cibernética e Comunicação,org. lsaac Epstein. - Ed. Cultrix, 1973.Le Language PROLOG - Micro Syste-mas n~44 - agosto 1984.Podem as máquinas pensar? - AlvaroA.L. Domingues - Microhobby n~ 00.Carla (Freud Explica) - Roberto B. Ren-zetti - Microhobby n~ 12.What Computers can't do - HerbertDreyfus - Harper & Rom, 1979.

MICROHOBBY 47

Page 47: microhobby_15

Este mês, escolhemos para análise uma fita bastanteinteressante para quem trabalha com agronomia. Trata-se daPlanilha Analítica, um programa desenvolvido pela Informá-tica Dinâmica para o TK 85 que facilita o trabalho do Agri-mensor.

Uma das maneiras usadas em agrimensura para medir-se uma área de terra qualquer é o Levantamento Planimétrico.Neste método, representamos a ár~ a ser medida por meio deum polígono. O trabalho do agrimensor consiste em medir osângulos entre cada lado e a distância entre os lados.

O primeiro dado a ser levantado é o ângulo entre oprimeim lado e a direção norte. A este ângulo dá-se o nome de"primeiro azimute". Cada vértice do polígono é chamado de"estação" e são numerados de 1 em 1. E normal ter-se 30 oumais estações.

Estes dados, levantados em campo, serão utilizadospelo técnico para a elaboração da planilha de cálculo analí-tico, que mostra, em colunas, os dados lidos e os dados obti-dos por meio de cálculos, tendo por base estes dados me-didos.

Sem computador, a elaboração da planilha é um ser-viço muito demorado, devído à quantidade de dados e cálcu-los envolvidos. Geralmente uma planilha tem cerca de vintecolunas, que, no caso de termos 30 estações, como costumaacontecer, teremos que preencher cerca de 600 campos.

Isto justifica a elaboração de um programa específico.A Informática Dinâmica, levando isso em consideração, ela-borou o programa "Planilha Analítica", que estamos anali-sando este mês.

48 MICROHOBBY

Recebemos uma fita, enviada pelo correio, contendo oprograma Planilha Analítica, fabricado pela Informática Dinâ-mica Ltda., uma empresa localizada em Santa Rosa, Rio Gran-de do Sul. A embalagem é simples, sem uma indicação muitovisível de seu conteúdo.

A título de "manual", acompanha duas páginas dati-lografadas, dando uma explanação ligeira sobre o funciona-mento do programa. Acreditamos que isto pode ser melho-rado, fazendo-se um manual mais completo e melhor apre-sentado.

Ao carregarmos o programa, notamos que a gravaçãofoi bem feita e não tivemos problema algum nesta operação.

O programa entrou rodando, mostrando logo no iníciouma página de apresentação (figura 1). Após uma pequenapausa é pedido o número de estações e o primeiro azimute(figura 2l. Estes dados são necessários para os cálculos com aPlanilha Analítica.

A seguir são pedidos os valores dos ângulos e distânciade cada estação. Em todas as fases é oferecida a oportuni-

i:í.:tU•• :t:l

~

*********+*****+++++*+*+++**~**+tiU1iii1lii:W·t:W·'.·ru·X-l--t:itij********************************

GF:AU5 :32t~1It"4UTCj5 05EGUN[:'DE G

Page 48: microhobby_15

~++++++**+++++++++++++++++++++++~::D l:J',!I.Ul!iL~':II :illJi~

0_ 0_' :. 2 C :.-~;:.::.' , ..__ o--:;.=: ::- ;JC '22._ ~'-" :J"7.,~ . .,.. .•'._.' 1.0 ='':='':' '-,:-

++++++++++++++++7+++++++++++++++~:D -~-,.~.~~:~~~.~~_:C-.= :~~:!-1;5 f!3'.l

~!~1387'~ 2~98202 1222.S~883 0:c~o~~

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~o~~~ r:J.é-~ ..~~~.iliJ~··~.gm""··"".~""'~"-'.-··_··a 21

':'c. I: 4-8l.,;..,=,.,;.. ~ ~~;=;

o. '= ,-.,- ,-,~ ,_,• .~c' .~80 I: 22,:

+++++*++++++++++++++++++++++++++3'"ÃI -riliI~ã-.~!l!~~":M~~;"~Ê~J ~;~~;.M~~ 57.~73 0ê.~C~- - - --. ,-, ,-,c. ,_,,_'o • , c..'=

27';. 4-J.:~0''--'' .- .. - .-.~ ,_: : .~ c·· '=

l50: 4.:::,~.

'-0 .=,'~'-' ~~ ,. -...72:~;. 8

.... : 5 E: 7 :=.. -,,-. -.~l::::';l;, 52:::

dade de correção. Após a entrada de todos os dados, a telamostra a soma dos ângulos, o erro angular total e a soma dasdistâncias.

Nesta fase temos, mais uma vez, a oportunidade decorrigir os dados. Se os resultados aí mostrados apresentamdiscrepâncias com os dados de campo, podemos digitar atecla V, que volta ao início, desta forma permitindo a digi-tação dos dados corretos. Qualquer outra tecla permitirá aoprograma realizar os cálculos.

Os cálculos são relativamente rápidos. Ao terminá-los,o programa oferece ao usuário três opções: a) listar a planilhana tela, b) listar a planilha na impressora e c) calcular novaplanilha.

Quando optamos por listar a pianilha na impressora ouna tela, ela é mostrada em várias páginas, devido às limitaçõesde largura da tela ou do papel da impressora (figura 3).

Comentários

Este programa é bastante específico, destinado apenasaos profissionais que lidam com agrimensura. De uma formageral, o programa é bom, apesar de lento. As telas de apre-sentação poderiam ser mais rápidas, talvez usando-se rotinasem linguagem de máquina.

O programa é feito todo em BASIC, com apenas umapequena proteção contra "piratas". Esta proteção não é mui-to eficiente, pois apenas faz com que o "pirata", momenta-neamente, se confunda com a listagem ou perca algumasvariáveis.

O manual poderia ser melhor apresentado, com maisdetalhes sobre os métodos de cálculo empregados e comalguns exemplos práticos de forma a familiarizar o usuário comseu uso.

Como sugestão aos fabricantes, sugiro uma simplifi-cação das telas de apresentação e uma racionalização damemória e, assim, poder ampliar a capacidade de cálculo doprograma, fornecendo outras funções e operações aos agri-mensores. O

15 REM TENTE ESTA I TK 200020 HGR225 FOR H = O TO 727 HCOLOR = H30 FOR X = O TO 25035 Y = INT (160 * RND (1))40 HPLOT X,Y TO X + 3,Y + 350 NEXT X55 NEXT H60 GOrO 25

Page 49: microhobby_15

o INKEY$ NO TK 2000

Uma das perguntas que mais tem aparecido naRedação é sobre como simular a função INKEY$no TK 2000. Embora tenhamos dada uma respostaconveniente na seção Desgrilando da revista 13,este pequeno artigo resolve, para alguns casos,o problema de uma maneira muito mais simples.

Este é um programa "Pisca-PiscaDesenhista" de minha autoria para oTK-2000.

O programa em si não tem nada deexcepcional, e deve existir semelhantesàs dezenas para os vários tipos de com-putadores. O que tem de novo é a.Iinha

100, onde o endereço 39 do TK-2000 faza leitura de teclado.

"Achei" este endereço quandocomprei o TK-2000 e o mesmo veio semo Manual Técnico e o meu filho queriaque os joguinhos ficassem mais anima-dos (eu estava usando as funções GET eINPUT).

Como no Apple existe o endereço(- 16384) que faz a leitura de teclado,bolei o programa da figura 1.

10 REM PISCA-PISCA DESENHISTA12 REM PI ELSON EURIPES DELMUTTI15 REM A GRANDE NOVIDADE E A LINHA 1DO, ONDE TEMOS K = PEEK (39). O ENDERECO 39 DA A LEITURA DE TECLADO, DE MODO SIMPLES E RAPIDO PARAJOGOS E PROGRAMAS EM BASIC.20 REM PEEK(39) CORRESPONDE-AO PEEK(-16384) DOS APPLE E TEM A VANTAGEM DE NAO SE PRECISAR LIMPAR O STROBE DE TECLADO.

-3D X = 1940 Y = 1950 N = 360 GR70 COLOR = N75 G05UB 20080 FOR I = O TO 10090 PLOT X,Y100 K = PEEK (39)105 IF K = 48 GOTO 70110 IF K = 46 THEN GET A~:N = VAL (A$)120 IF K = 40 THEN GOSU8 200

130 IF K = 18 THEN X = X - 1: IF X ~O THEN X = 1: GOTO 70 '140 IF K = 24 THEN X = X + 1: IF X =39 THEN X = 38: GOTO 70150 IF K = 36 THEN Y = Y - 1: IF Y =O THEN Y = 1: GOTO 70160 IF K = 30 THEN Y = Y + 1: IF Y =39 THEN Y = 38: GOTO 70170 PRINT N,X,Y180 GOTO 70200 REM MOVIMENTO DO PISCA-PISCA205 IF N = O THEN GOTO 210206 IF N ( ) O THEN RETURN210 COLOR = 3220 PLOT X,Y230 COLOR = O240 J = PEEK (39)250 IF J = 18 THEN PLOT X + 1,Y260 IF J = 24 THEN PLOT X - 1,Y270 IF J = 36 THEN PLOT X,Y + 1280 IF J = 30 THEN PLOT X,Y - 1290 IF J = 46 THEN N = 3300 IF N = 3 THEN RETURN310 RETURN

E ficava movendo o JoystiCk paraver se o PRINT PEEK (N) se alterava.Como na verdade eu comecei experi-mentando do endereço 50000 para afrente, demorei um plantão médico in-teiro para achar o PEEK (39). Valeu a pe-na. Podem explorá-Io.

Após digitar o programa da figura2, digitar RUN. Aparecerá um pontobranco central e os números 3, 19, 19,no vídeo (parte de texto), que corres-ponde à cor do ponto e as coordenadasque foram dadas na linha 170. Deve-sedigitar os vários comandos que posi-cionam o cursar (setas: para baixo, paracima, para a esquerda e para a direita).No vídeo ir-se-á formando as linhas edesenhos que queremos.

Pressionando o ponto (FIRE), umaou duas vezes, o ponto do vídeo ficarápiscando e nada desenhará, movendo-oapagará linhas. Basta praticar.

Nota: Embora o "macete" de usar-sePEEK(39)para ler o teclado gere um có-digo diferente para cada tecla pressio-nada, o valor deste código é diferente dovalor ASCII desta tecla. Portanto, aten-ção quando for usar esta dica!

Page 50: microhobby_15

Curso AvancadoI

de Assembly para oTK 83/85

Nesta aula, iremos brincar um pouco coma tela de TV.

Para começar, façamos um pequeno programa paraencher a tela de asteriscos (normais e em vídeo reverso), usan-do "loop" dentro de "loop" (figura 1).

LO B,22LO C,~1

LOOP LO A,_LO O,C

LO E,32LOOP LOIHLJ,A

INCHLOECEOECOJP NZ,LOOPLOA,~

LOOPC LOIHL),AINCHLOECEJP NZ, LOOPCINCHLOEC L

OJNZ POOPL

'0616''OE1F''3E17''51'

'1E29''n''23''10''15''C2''3E97'77''23''10''C2''23''00''10E8'

; coloca em A o código de 11; coloca * na tela (E-O)vezes

; decrementa B e volta para "im-primir" a próxima linha

Experimente executá-Io em FAST e em SLOW para vera diferença. Procure fazer um programa equivalente em BA-SIC para comparar as velocidades.

Você deve ter notado que usamos o caractere * (su-blinhado) para indicar que seu código será utilizado:

LD A,*

significa: "carregue o acumulador com o código do caractereB" e não" copie o registro B em A".

O Scroll Horizontal

Você está lembrando do anti-SCROLL? Experimenteagora, o programa da figura 2.

Coloque-o a partir da memória 30000 usando HEXA-

Execute, então, o seguinte programa em BASIC quedemonstra o efeito de SCROLL para a esquerda. O inicio doprograma, apesar de ser em FAST, é um pouco demorado,pois ele deve gerar 704 caracteres aleatórios.

; usa A como contador pl as 22linhas

; carrega HL com O·FILE; incrementa HL pl "apontar o51~caractere da tela

; transfere HL para DE

LOOP LO HL,(16396) '2A0C40LOOP INC HL '23'

LO O,HLO E,LINC HL

LO BC,31

LOIROEC HLlO (HLJ,O

INC HLOECA

JP NZ,LOOP

RET

'54''50''23'

'011FOO

; incrementa HL pl "apontar" o2~caractere da tela

; carrega BC com 31 (n~de carac-teres a serem deslocados pl es-querda)

LO HL;(O-FILEI '2AOC40' ; carrega HL com endereço doinicio da tela que é um NEWUNE

; incrementa HL para indicar 1.posição "real" da tela

; B =22 para contador de linhas; C = contador de colunas paralll; coloca em A o código de I!I; coloca C em O para "preser-var" o valor de C durante LOOP

; E = contador de colunas para li!; coloca lina tela O vezes

'EOBO'2B''3600'

desloca os caracteres; coloca "branco" na última co-luna

'23''3D' ; decrementa contador'C23575' ; se não for zero repete pl a pró-

xima linha

5 F:Et-l '* '* :::,CF:CrLL10 FA:=T15 FAHL'20 LET A$=;'25 FDF30 LET >:: = Ij··fT ("2-:i:';;:! 'O.' ,"

35 LET R$=P$+CHP$ (I~lT+ ::-::'* 12E;::

4- 'O t··J E::·:: T .•50 t=:•.~: Ij"4T H$

Que talo efeito? Antes de prosseguir, tente entenderdetalhadamente o SCROLL-HORIZONTAL. O programa trans-fere para a esquerda linha por linha da tela utilizando a instru-ção LDIR.

Como transferir programas em linguagem de máquina dotopo da RAM para dentro de um REM

Caso você deseje gravar, numa fita, este programa deSCROLL HORIZONTAL, basta transferí-Io para dentro de umainstrução REM. Você pode inclusive retirar o HEXAMEM docomputador usando NEW (desde que você tenha se lembra-do de reservar memória modificando RAMTOP). Assim, digi-te NEW e reserve espaço num REM para que caiba o progra-ma de SCROLL LATERAL.

Page 51: microhobby_15

1.5 !=~PIi)T20 F:FIt··~T

t=:~:IHTF:F:It··~T

Execute o programa e coloque, então, MEMÓRIA-FONTE = 30000, MEMORIA-OESTINO = 16514 e TAMA-NHO DO PROGRAMA EM BYTES = 23. Agora você pode re-tirar o programa "TRANSFEMEM" linha por linha (não useNEWl e, a seguir, pode salvar o REM que contém o programaSCROLL LATERAL:

Isto, logicamente, é válido para qualquer programa queestiver após RAMTOP. (Obs.: Para executar o programa ago-ra é necessário fazer RANO USR 16514e não 30000),

As sub-rotinas da ROM e a tela de TV;as pseudo instruções

Como vimos na aula anterior, já existe na ROM umasub-rotina que "imprime" um caractere na tela, cujo endereçoé '0808'; esta sub-rotina coloca na primeira posição livre quehouver na tela o caractere cujo código está no acumulador.Vamos chamar esta sub-rotina dePRINTC (PRINT CARAC-TERE), e façamos um pequeno programa para chamá-Ia (figu-ra 3). Usando HEXAMEM coloque-a a partir da memória16514. Para isto, reserve espaço no início da memória doprograma com uma instrução REM:

1'3C'é o código do caractereW) poderia ser escrito comoLD, A,Vi onde o traço indica"caractere ••

Execute-o em FAST e, a seguir, coloque o computadorem SLOW e repita o programa fazendo RANO 16514. Não sepreocupe com a falta da instrução RET: nesse caso, o pro-grama volta automaticamente ao BASIC ao terminar a tela.Repare na velocidade nos dois casos. A titulo de compara-ção, execute o seguinte programa BASIC em SLOW e FAST:

Vamos agora implementar a sub-rotina para que ela im-prima qualquer mensagem e não apenas um caractere; necescsitaremos, para tanto, de um "código" para indicar ao compu-tador "fim de mensagem". Utilizaremos o número' 43", já queele não é código de nenhum caractere.

Vamos também adicionar ao nosso vocabulário demnemânicos mais duas "pseudo-instruções":

OC = defina constanteOM = defina mensagemElas são chamadas de pseudo-ínstruçtJes, por não te-

rem correspondente código hexadecimal. Servem apenas pa-ra tornar mais clara a escrita de um programa. Observe então oseguinte exemplo da figura 4.

'408E''4091'_'409B''409C'

PRINTMAPOCALlPSE

'43'

'C08240''APOCALI PSE'

'43''C9'

CALLOMOCRET

'408E' 'CO''408F' '82''4090' '40''4091' A'4092' P'4093' O'4094' C'4095' A'4096' L'4097' I'4098' P'4099' S'409A' E'409B' 'AB''409C' 'C9'

'4082''4083''4084''4085''4086''4088''4089''408C'

POPHL 'E1'LO A,(HLl '7E'INC HL '23'PUS H HL 'E5'CP '43' 'FE43'RET Z 'C8'CALL PRINT C 'C00308'JR PRINT M '18F4'

Page 52: microhobby_15

I( 11Primeiramente repare que as "pseudo-instruçõe5" DM

e DC não têm correspondente código hexadecirilal; na memó-ria é colocado apenas o código dos caracteres da mensagemou da constante.

Você está lembrado como funciona a instrução CALL?Ela faz um PUSH, ou seja, coloca no STACK no endereço deretorno da sub-rotina e, a seguir, ela carrega o PC com o en-dereço inicial da sub-rotina que está sendo chamada. Logo aseguir a letra A da mensagem APOCAUPSE, que está após oCALL PRINT M, estará no endereço indicado pelo topo doSTACK após ser executado o CALL, pois ela corresponde aoendereço de retorno. Assim, se fizermos um POP HL, no pa'rHL teremos o endereço da letra A e basta, então, fazer LD A(HU, para colocar o código da mesma no acumulador.

Ao incrementar HL e fazer um PUS H HL, o SP estáagora apontando para a letra P. Basta então repetir o proces-so até encontrar o número '43' que indica fim de mensagem, oque é feito pela instrução CP '43' que testa a igualdade entre oACUMULADOR e o número '43'. Em caso afirmativo, a sub-rotina PRINTM irá retornar, estando o "topo do STACK" indi-

cando o endereço logo após o número '43', no caso, um RETpara o BASIC; em caso negativo, basta chamar a sub-rotinaPRINTC para imprimir o caractere que está no acumulador.

Vamos então colocar este programa na memória atra-vés de uma instrução REM; faça:

para reservar os 27 bytes necessários; a seguir, use HEXA-MEM colocando 16514 ('4082') para endereço inicial; introdu-za os códigos hexadecimais das instruções e, ao chegar emAPOCAUPSE, basta introduzir os códigos de cada letra e apalavra será colocada na memória diretamente. Ao terminarde introduzir o programa ne memória NÃO digite XS ou XF,pois o início do programa está, na realidade, na memória16526. Assim, digite P e, a seguir, RAND USR 16526 (NEWUNE).

Note que se colocarmos um código de NEW UNE nomeio da mensagem teremos um efeito de "pular linhas"; defato digite:

POKE 16533,118(118 é código de NEW UNE)RAND USR 16526Tente explicar o que aconteceu.

1. Modifique o programa de SCROLL HORIZONTALpara que ele faça um SCROLL para a direita.

2. Unindo os conceitos de SCROLL VERTICAL eSCROLL HORIZONTAL, faça um programa que realize oSCROLL em diagonal ...

3. Como você faria um programa com o TRANSF-MEM em linguagem de máquina?

Neste mês recebemos duas respostas ao quebra-cabe-ça proposto na revista 12: Criptoanagnose.

A primeira delas, enviada por Mário M. Monteiro, ape-sar de correta a interpretação da mensagem, não acertou o

código de decifração. Ele nos forneceu um código de 3 alga-rismos, quando dissemos que o Sr. Nabor sempre utilizavacódigos de 4 algarismos. Embora o número que ele tenhafornecido também "abra" a mensagem, não a consideramoscorreta.

A segunda solução veio mais completa. O Sr. Fábio deSouza Freitas analisou o problema e descobriu a chave que oSr. Nabor utilizou a resolver o problema:

"Esta carta contém a solução do quebra cabeça "Crip-toanagnose" que foi apresentado na revista 12."1~) A chave utilizada pelo Sr. Nabor é 1984."~) A mensagem foi decodificada no programa da página 33da revista 12 (TK-decriptógrafo) e está mostrada na figura 1.

Page 53: microhobby_15

Coordenador: Jorge da Cunha PereiraFilho - Editora Campus

A obra "Computadores para Usuá-rios" está dividida em quatro volumes edestina-se a profissionais, tanto da altaadministração, como dos níveis inter-mediários e supervisores. São livros decunho informativo abrangente, que co-brem desde a aplicação dos computa-dores nas principais áreas, passando pe-la descrição dos equipamentos (hard-

/ ware) e dos programas (softwarel, até ametodologia de seleção de computado-res, com o intuito de fornecer o maiornúmero de informações no menor espa-ço possível.

, Para facilitar o aprofundamento nosassuntos de maior interesse do leitor, oumesmo aqueles não tratados de formasatisfatória, os livros apresentam umabibliografia para consulta.

Além de útil aos profissionais daárea, os livros funcionam como fonte depesquisa para estudantes cujo currícu-lum escolar inclua processamento dedados.

Para a elaboração da obra, o autorcontou com o apoio de profissionais eprofessores com atuação em uma oumais áreas específicas, os quais descre-veram um panorama geral de cadaassunto. S.A.M.

•... -.. . lJIll< .Rober(:J. Verzello, Joh" Re .

,Ô'lIvro iflicia-se com um pref~ciq,onde os autores, resumidamente; intro-duzem o I~itor, aO,Prqeessarnento d~,Dados; Neste,> . II'Mntato, o :flvfofornece,'l'Iao,le.l o" :or.(naç acerca:·da ImPortâ{'lsiadoH:pró"ce~ da-in-formações em-organizações'm 8.rpaskeos prinéipàis :cohceitos doProc~-mento é1eDados~ F. F

é, cqmq os· anteriores, UJ'I1- guia·;r-educadores. e@p~Qfi~iOnaisdá áfea.l1!/Os~tor~s afrrníahÍ;-no prefácio que' os"dois volumes.<fo .Iivro,-destina

~ ~. "®I, . .iwcerUj,Tl8 . cade, con"JILcm/foofe1Marti.n MoNíft Stelien C:oo.e!! coloca o.' tertigad~s c

. -; - temas, _da .qcessamento,. omp~h. "Bastante procurado pelQstador~ e feils dêprogra,mação-,-4'

!âoApple, este guia traz todas ,e/!l pe!:spectlvasman~~vei~, indepen- .rpaç6es n~tias .:Ie utillzaçml-

8dentes de rli~dware- QU SQft- :

croçoIDPu,ador Apj:>le 11.Olívro possue- X"àre? Dentr iêtivQsd~!!IiVro'~s+:oito caj:>itulm~/Os primeiros falafU4sobre tacam-se: Pfover o;àluno c.om'Conceitos_oil?rdwitre-dp/Appfe 11eo~ de/!l8,i$pros~ básicos para.,O.est\.loo1'doproceSSamen~l#0-segueM jabOrdando-?1,;temas-tomo: Proc to dedadlSs;:equipá:..Io com ferramentas'gramando aro BASle; 09ravado.r: cas- que '" - - ,aplicações_e-, COntigu-sete; Carre-gando e rodançlo Ul1Jprograo .. ç~ ..e especificas; most{ ,ma; Modo i.mediato eprógramaoo;:Ço- lfie ok~~/'lif~ca~,de tra.du-zirgrafica~e~

i/mapdos do"BA~IC; Funçõ'1S; ~Jia~dan. 'té-a 10glsa.qQ~pr-ocedlrpentos; preparacdo. dados em ca~e; q s!ster-n~ o~- .,;!o :pára~s flovas ênfases,,"~ inqústriaeciOÁát em disco; Gráficos"(ja'alta reSo~ InformariJi'5obre as tecnologlas comasl!JÇão; M9nitor de linguage.m·de,má€lui-. quais,oaluf)tl certárnente ent1'ará émOª,~elo. . ., 'soQtai~; ., .•