ZXTape! VIDEOBASIC~B d *  SOFTIDEA (Como) * *Via Indipendenza 88* * Tel. 031-240.959 *  *  EDICOES LATINAS * f(23613=\+256*23614>\),0:(23613=\+256*23614>\+1),0 *317997|:7:7:7: Mn=09 :n,0;" ":n Cn=16:n,4;" ":n (>n=35:n,10 ;" ":n 216,23;" ";17,21;" ";18,21;" ";19,20;" ";20,20;" " 3 ? '#+563?`@###133~  qw{|?  000000000000000000000000000000000000000000000000000000000000000000000000001111111111111022200000000000000211111111111112222000000000000002222211122222222220000000000000028288888882222222200000000000000000000000000000000000000666666666000000000066000000000006660088888888888888888880666660000000888===============8000000088888888?===============8888888888888888?<<<<<<<<<<<<<<<8888888888888888?;;;;;;;;;;;;;;;8888888888888888?;;;;;;;;;;;;;;;8888888888888888?:::::::::::::::8888888888888888?:::::::::::::::8888888888???888888888888888888:8888888888???8888????88?????::::8888888888???????889999999989:::888888888?88888888888888889999998888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888VIDEOLIST  [2*  EDICOES LATINAS * *  SOFTIDEA (Como) * f(23613=\+256*23614>\),0:(23613=\+256*23614>\+1),0  317997| |23658j\,8:236099\,20:20,0;:""318008|:236066\,86V:236077\,123{ P#0;0,0; " PARA O GRAVADOR " (-n=1502:.01z# =,*60<:n 2 0490 < 0600X F SUMARIO P1::0690 Z.6,21 d;p$="VIDEOHARDWARE: ":K=6:0710 n:p$="O hardware do teclado ":k=7:0710 x;p$=" do SPECTRUM ":k=8:0710 <p$="VIDEOBASIC-A LINGUAGEM: ":k=10 :0710 ;p$="CHR$ - CODE - INKEY$ ":k=11 :0710 :p$="PAUSE ":k=12 :0710 9p$="FOR - TO - STEP - NEXT ":k=13 :0710 <p$="VIDEOBREAK: ":k=15:0710 ;p$="concerto de bytes ":k=16:0710 <p$="VIDEOBASIC-A PROGRAMACAO: ":k=18:0710 ;p$="OS CICLOS AUTOMATICOS ":k=19:0710 8200:0490::0690:.6,18 :p$="VIDEOTEST: ":k=8:0710 9p$="jogo de adivinhas sobre ":k=9 :0710 9p$="os temas da licao ":k=10 :0710 ;p$="VIDEO-JOGO: ":k=13 :0710 :p$="Cubo Magico ":k=14:0710 ;p$="VIDEONEXT: ":k=17:0710 :p$="no proximo numero... ":k=18:0710  150 #0490:1::0630v "PEDIDO DO NOME , 612:aa,bb,cc,dd,ee:aa=-2330J @"aa,bb:cc-aa,dd-bb,ee:3106 J60<,65A:-30,-19:8,18:1:9 ,7;"ESCREVE O TEU NOME";10 ,10 ;"NO TECLADO";11 ,8;" E PRIME":n$ Tm9 ,7;" ";10 ,9 ;" ";11 ,8;" " ^G10 ,6;"Esta bem escrito ?";11 ,6;n$;" (s/n)" h=""360h r="s"Ŧ="S"400 |l="n"Ŧ="N"10 ,6;" ";11 ,6;" ":330J  360h Nn=1̱n$:n+23296[,n$(n):n:n+23296[,"":23296[,""  0530 38&,64@,38&,79O,-2,38&,79O,38&,100d,-1,38&,100d,44,,112p,-2,44,,112p,72H,114r,-1 72H,114r,94^,118v,-2,94^,118v,134,110n,-1,134,110n,165,116t,-2 165,116t,197,111o,-1,197,111o,222,107k,-2,222,107k,220,90Z,-1 Ž220,90Z,215,70F,-1,215,70F,190,63?,-2,190,63?,160,65A,-2 ̺160,65A,130,60<,-2,130,60<,115s,63?,-2,115s,63?,90Z,59;,-2,90Z,59;,60<,65A,-2 *-2,0,0,0,0 LETREIRO ROTATIVO y$=" PRIME UMA TECLA PARA CONTINUAR ":s$=y$:i=131:#0;6;2;1;1,0;y$:.001wn,30:"""": Qy$=s$(i)+s$(2i):.0004uQX,45-:.0006vIQ,557:"""": i:0490  TEXTO :0630v:13 ,13 :22,0:0,30:-22,0:0,-30:11 ,0;" Poe em marcha o gravador " i=116:.04|# =,36$-i:i:150:11 ,0;" ":10 ,0;" estou carregando "''" VIDEOHARDWARE ":7:236066\,0:236077\,60<:0,0;"":"" &%ROTINA PARA MAQUINA DE ESCREVER 0`l,0;"";:q=1̱a$:a$(q);:a$(q)" ".0005vn,40(:m=1̥*5:m :4a$(q)=".".2~L,0:23692\,255 Dq: NLEITURA DOS UDG X4:0610b:n=063?:a:"a"+n,a:n: b00,31,16,16,18,16,16,491,0,240,8,8,72H,8,8,204,80P,144,63?,32 ,63?,2,2,2,10 ,9 ,252,4,252,64@,64@,64@,2,4,4,8,8,568,121y,1,64@,64@,64@,64@,64@,64@,192,192,2,2,2,2,2,2,14,62>,64@,64@,124|,12 ,12 ,4,4,0 lHOMBRECILLO v'n=302-1:10 t(n/2)=(n/2)17,n;" ";18,n;" ";19,n;" ":.01z# =,30:n:0660 Z17,n;" ";18,n;" ";19,n;" ":.01z# =,40(:n:0660  ENQUADRO aa,bb;p$:aa=(21-aa)*8-2:bb=bb*8-2:cc=p$*8+4:bb,aa:cc,0:0,12 :-cc,0:0,-12 :bb+1,aa-1:cc,0:0,12 : 7aa=2:bb=11 :p$="VIDEOLIST":0680: LETREIROS ENTRANTES Bn=1̱p$:k,32 -n;p$(N):.002xn,k*n/8:n: vakPno proximo numero... Y PRIME UMA TECLA PARA CONTINUAR S PRIME UMA TECLA PARA CONTINUAR NuCAR 8|[4* $$$~$$~$~~bd&F(D(Zz  >>> @8Dp| |8H~|>@ƒB<" >\),0:(23613=\+256*23614>\+1),0:"31799":"23675","88":"23676","127":"23658","8":6:6::"23609","20":"":19,0;:"":19,0;:"":"23606","86":"23607","123" H6:ۼ:"20",ç;1;" PARA O GRAVADOR ":n=5:f=ç7:.004yn,*30+30:f:n:ç:100d:"20",ç;6;8;" ":INK=6:x="19":x1=21:a$=" VIDEOBASIC APRESENTA ":220 Qn=40(60<:.01z# =,n:.01z# =,60<-n:.01z# =,*60<:n `x=20:X1=21:a$=" VIDEOHARDWARE: curso de hardware":220 5n=ç5.1}L:.01z# =,60<*((n)):n X1=21:X=19:A$="O TECLADO DO SPECTRUM, TEM40 TECLAS QUE SE PODEM CONSI-DERAR COMO INTERRUPTORES.":220:290" ~x=19:a$="ESTES ACTUAM SOBRE UM CIRCUITOPROJECTADO PARA PERMITIR MAISDE UMA FUNCAO POR TECLA.":220:290" Z 6000p d1::''''" TENTA AGORA PREMIR AS TE- CLAS QUE DESEJES. O PROGRAMA QUE TENHO NA MEMORIA, PROPOR- CIONAR-TE-A OS CODIGOS DECI- MAIS DOS CARACTERES PREMIDOS:";10 ,2;"PARA TERMINAR PRIME ." i 3 n"23658j\,0:E$=:E=E$ x/E<32 E>127E226110n E=226190 &13 ,10 ;" " 13 ,10 ;E$;" = ";E 110n : Lx="16":a$=" Queres ver de novo esta licao ? (S/N)":"220" -װ".001",*"30"+"30":="s"Ŧ="S""6000" ,װ".001",*"30"+"30":="n"Ŧ="N""200" "193" ٰ"1":ڰ"7"::"204" ^"10","2";ٰ"7";ڰ"2";ܰ"1";" POE EM MARCHA O GRAVADOR ":i="1"̰"16":װ".04","30"-i:i !"7":װ"1",ç:"150":ٰ"7":"" n="30"̰"2"-"1":"10" [(n/"2")=(n/"2")"17",n;" ";"18",n;" ";"19",n;" ":װ".01","30":n:"207" ?"17",n;" ";"18",n;" ";"19",n;" ":װ".01","40":n   O0:y="1":n=xx1:n,ç;INK;ç;" ":N INK=5X=X+X2 q="1"̱a$ x,y;INK;1;ç;a$(q);:y=y+1:y=31y=1:x=x+1:x=22150:n=1521:n,1;7;1;" ":n:x=15:y=1 a$(q)=" "260 a$(q)="."װ".2",ç:260 1:.01z# =,-10 q  "100": "-y$="PRIME UMA TECLA PARA CONTINUAR ":s$=y$ $MT="1"̰"31":#ç;ڰ"6";ٰ"1";ܰ"1";"1",ç;y$::װ".001","30":"""": %@y$=s$(T)+s$("1"T):װ".0004","45":װ".01","40":"""": & T:"291" p:z(3):k(3):w$(3,8):d$(2) zQz(1)=11 :z(2)=2:k(1)=6:k(2)=6 0w$(1)="01001110":w$(2)="00110111" "d$(1)="N":d$(2)="7" W p=0 Xܰ"1":"5":ڰ"6":ٰ"1": ] u=-2 b;ç,568:"255",ç:ç,"119":-"255",ç:ç,-"119" gp=08000@ lq$=" " vWf=211 3:n=3153:f,n;q$;f+1,n;q$:n:f *f=312 :f,20;"":f p=0INK=5:x=15:X2=1:X1="21":a$="A PULSACAO DE UMA TECLA, DE-TERMINA NA PRACTICA UM CON-TACTO ENTRE DOIS CONDUTORES:UM HORIZONTAL (LINHA) E OUTROVERTICAL (COLUNA).":"220":"290" p=0X2=1:x=15:a$="UM CIRCUITO INTEGRADO, AO LERA LINHA E A COLUNA, LOCALIZAA TECLA E CONVERTE ESTA INFOR-MACAO NUM CARACTER, SEGUNDO ATABELA DE CARACTERES.":"220":"290" P=0X2=0:X=15:X1=21:A$="A LEITURA DO TECLADO REALIZA--SE EM CINQUENTA AVOS POR SE-GUNDO. O CODIGO DA ULTIMATECLA PREMIDA E MEMORIZADONA VARIAVEL DO SISTEMAQUE PODES LER COM PEEK 23560.":220:290" "p=0p=1:7000X i=12 ^1:4:z(i),k(i);d$(i);" ";z(i)+1,k(i);" ":0:6:9000(# 5n=2173:3:z(i),n;"_":n 8z(i)+1,17;"";z(i)+1,18;"__" ,n=113 3:n,k(i);"":n ,1,k(i)+1;"" Z1,25;"";2,25;"";3,25;"";3,23;"__" Ef=512 :f,23;"___";w$(i)(f-4f-4):f ]r1=-32 :s=18:231,96`:-15,r1+8:r1=r1+8:s 9 ,29;d$(i) i=1x2=1:x=15:X1=21:a$="POR EXEMPLO: PREMINDO , DE-TERMINAS O CONTACTO ENTRE ALINHA E A COLUNA QUE A LO-CALIZA. ISTO PERMITE AO IN-TEGRADO RECOHECE-LA E EMITIRO CODIGO CORRESPONDENTE.":"220" i=2x2=2:x=15:x1=21:a$="NO CASO DE PREMIRES <7>, ACPU, DEPOIS DE TE-LO RECONHE-CIDO, EMITE O CODIGO<55>.":220 "290" >f=113 3:f,1;" ":f @n=113 :f=2173:n,f;" ":f:n 9n=9 13 :f=1819:n,f;" ":f:n > 1:i ? 100d @,f=15280P-24:y=15 E u=u+2 JOy,f:136-u,0:0,-(67C-(u*10 )):8+u,0 Tf:u=-2 ^+f=3112724:y=64@ c u=u+2 hkf,y:0,106j-u:(200-f)-u,0:0,-(36$-(u*3)):-(16-u),0 rf | #( i=1 #1]4:z(i-1),k(i-1);" ";z(i-1)+1,k(i-1);" ":6:  nxy$pu 0100111000110111 N7Q AUM CIRCUITO INTEGRADO, AO LERA LINHA E A COLUNA, LOCALIZAA TECLA E CONVERTE ESTA INFOR-MACAO NUM CARACTER, SEGUNDO ATABELA DE CARACTERES.SPRIME UMA TECLA PARA CONTINUAR Y CONTINUAR PRIME UMA TECLA PARA CCODE xXz1HP? ? @@@8y@@@@@@>@@| ?????CAR 8|8 $$$~$$~$$$~$$~$~~bd&F(D(Zz  >>> @8Dp| |8H~|>@ƒB<" >d(R4hBU>D>lETADB9$qq$rXw>rrgwur`8g8999@DD  DTeH@@H$%rN B(~|r|NB<~BJV$(S,XBWDTgWADs!4B"&STB(BETTF%P?9989998Dx  DTEH@@H@<9~<~~HrrBrrB~>R^$>*R$HBT>D>DFqAC"9,B"%rr>CEVve%`?998999 $x@  DTvHzzd 2~@~B~~rBrBrrB~b@~ &Db$Hz$wDDuWyDB $B#$bT BETDE'P?998999~Bx@< 8T>~~~<~~<~<~~<~<<<$>F: 9$q"$RXr>rrgGu%``8989@< <B~|B><|$t'gDwD:rHw|x)xrWwR'H'p#SE<$"NB<<x~<BD@KrWbDyrrruB&D!$uR>w>#BB@B DLB''BB$TRUDTl*UhT@-HUdUZThT@Q4Rm &RDw&wwa:s&8sI CKBw@Dw@rBB8H@j"ETRlBE$EDETD!(@EPU(D(QB@t\AAbHT<B'B"|rB(BURBBtRWDvT:uXvp+xuVVWXTpQ,SU %RDTUTBRB4U BTJB4J(BB<BE|%@M~Tp@>["uVRTbU%UuEUD! EU>t>QC@BATARhX$R@BA@| BVRB|DRVTdD2gHd@)@ETFRqHtq$RE $RDvUvrRrV8r\JC,K~rBw@%NKBB>H>@J*TRDBU%UEuD$! EW  qBaAAbXT<J'Z"@rDBVrB@G"e(WD+UJW@)HBWERWHWpQ$#E $#dudSuKB$HBBD@%BIBBD@>pKu'bDAr"rwrVt=u]%>w>QB@BAARHT( ?<$~B <%>R<@<BWVWrbsV8s2{{Br<xt@"JBDVG( TEBD EHDU`JGPPTDRG@DS UFI$ $ B$BFBrEeu( TrBw:rJwpbTKE$P%gtREDG8b"uI??~Bn< |BBzTuRt%?((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((2((((((((((((((((((((((424,6666666666666666666666666666666666666666666666666666666666666666000000000000000000000000000000008888888888888888888888888888888888888888888888888888888888888888lCHR$ CODE _Z6 \gaZf(23613=\+256*23614>\),0:(23613=\+256*23614>\+1),0 _5:5::"31999":z=ç:u=::"23609","20":"23658","8":"":""f$():"23606",z:"23607","124":ڰ"7":z::ڰ"8":u;"10",z;" PARA O GRAVADOR ":I=Z̰"10":װ".01","I*5":I d%ٰ"9":CEN=Z:OP=U:"100":a="127" i"23296"=a"160" n:"10","5";"ESCREVE O TEU NOME NO TECLADO E PRIME":n$::"10","4";"ESTA BEM ESCRITO ? (S/N)";"6","15-N$/2";U;" ";N$;" " ="N""110" "S"130 .i=u̱n$+u+u:23295Z+i,(a+n$+a)(i):i .n$="":i="23297"̰"1e6":ian$=n$+¾i:i Src=u:PN=U:A$=" CHR$ - CODE":"8410":b=zu:vc=b:"8300":"8150":"8400":b "8070":e"1000" @/A$="POE O GRAVADOR EM MARCHA":"7":ڰ"7": JN=Z̰"29":װ".05","2*N" T2ٰ"4";"8",N;" @";"9",N;" ~|";"10",N;" \]" ^0N>"2"N<"29"1;"8",N;A$(N-2) hN rG8,30;" ";9 ,30;" ";10 ,30;" " | 7:"" )"7",U;:T$=" ESCOLHE, `:":8330 E=Z:11 ,6;"F FIM";13 ,6;"I VOLTA AO PRINCIPIO";15,6;"C PASSO P/A PARTE";16,6;" SEGUINTE"  ="F" ="I"rc=PN:E=U: ="C"PN=rc:  8090 't$=" PRIME UMA TECLA PARA CONTINUAR " /#Z;ڰ"6";U+U;U;U,Z;t$:.001wn,30 Ot$=t$(2)+t$(U):.0004uQX,45-:.0006vIQ,557:"""":  8160 ldA=Z:J=rc9999':F$(J,30)"%"F$(J,30)"#"A=A+U+(2F$(J,30)="&"):J mVC"10-a/2",U; n T$=F$(rc) v&"8330":T$(30)="#"rc=rc+u: {'F$(rc,30)="%"rc=rc+u:"8300" rc=rc+u:"8302" c=Z:N=U̱t$ "T$(N)="%"8150:"8400": T$(N)="`"T$=N$:"8330" T$(N)="&"'U''" ";: T$(N)="#"P="8": +T$(N);:OPT$(N)" ".001wn,40( +OPT$(N)=".".1}L,30:20 "c=c+u:c=30c=Z:U;" "; N: ta=4:XL=248:YL=169:2::U+U,U;:3,3:a;XL,Z:a;Z,YL:a;-XL,Z:a;Z,-YL: چ"8400":"3","15-A$/2";A$:YL="11":XL="8*A$+16":"126-XL/2","142":XL,Z:Z,YL:-XL,Z:Z,-YL:U,-U:XL,Z:Z,YL:"13",U;: ! t$:ñt$ !cenu;"16-t$/2"; ! "8330":"8450" !5J=U+a9 +a:j,u;6+(a=10 ),a$:j: ! A=U+U:J="26"̰"32"6:"28"-J/A,ER+J/A*.73333:J,Z:A,-A,/A:Z,-J*.73333,Z:-A,-A,-/A:-J,Z:-A,A,/A:Z,J*.73333:A,A,/A:J: zuU XAS FUNCOES E SAO COMPLEMENTARES ENTRE SI,E SERVEM PARA CONVERTER UM CO-DIGO AO SEU CARACTER CORRES-PONDENTE, E VICE-VERSA.# #SUPOE QUE TENS A TUA DISPOSI-CAO UMA SERIE DE LAPIS DECOR, E QUERES PINTAR UMPRADO, O SOL, O FOGO...NAO TE SERA MUITO DIFICIL: OS MEIOS QUE DISPOES PRES-TAM-SE PERFEITAMENTE A TAL.%EM TROCA, SE DESEJAS INDICAR,POR EXEMPLO, A POSICAO E OPESO DE UM CERTO OBJECTO,JA NAO SERA TAO FACIL. ESTASQUANTIDADES ADAPTAM-SE MALPARA SEREM REPRESENTADAS COMOS LAPIS DE COR. SEM TRABALHO, PODES RECORRER AUM TRUQUE, ESTABELECENDO, POREXEMPLO, O TRACADO DE UMA LI-NHA VERDE PARA UM PESO INFE-RIOR A UM QUILO E ROXA NO CASOCONTRARIO.% % AINDA QUE INDIRECTAMENTE, CON-SEGUISTE REPRESENTAR UMA IN-FORMACAO, MEDIANTE UM MEIOPOUCO USUAL. NA REALIDADE, EXECUTASTE UMA.% %A CODIFICACAO E UMA TECNICAFUNDAMENTAL NO CAMPO DOSCOMPUTADORES: AS AREASQUE TRATA SAO HETEROGENEAS,NOTE-SE QUE AS INFORMACOESELABORADAS SAO SIMPLES NUME-ROS.% %ALEM DE NUMEROS, PODETRATAR CARACTERES ALFABETICOSE GRAFICOS,QUE SAO NECESSARIOSPARA CODIFICAR E ELABORAR TODOO TIPO DE INFORMACOES. DAQUI DERIVA A NECESSIDADE DEPROGRAMAR DE UMA FORMA UNIVER-SAL, QUE PERMITA O INTERCAMBIODE INFORMACOES, ENTRECOMPUTADORES.% %O SPECTRUM, E MUITOS OUTROSCOMPUTADORES, USAM O OU . ASSIGNA, ENTRE OUTRASCOISAS, A CADA LETRA, CARACTERGRAFICO, SIMBOLO OU VALOR NU-MERICO, UM CODIGO ENTRE <32> E<127>,ENQUANTO QUE ATRIBUI AOSCARACTERES ENTRE <0> E<31> FUNCOES DE CONTROLO. ALEMDISSO, O SPECTRUM UTILIZA OSRESTANTES CODIGOS ATE 255PARA IDENTIFICAR TODAS AS SUASINSTRUCOES (RUN, LIST, IN-PUT, ETC..).% % PORTANTO, CASO SE TENHA DE IN-TRODUZIR EM MEMORIA,O CARACTER, ESCREVE-SE O CODIGOCORRESPONDENTE A <65>. DE IGUAL FORMA, QUANDO LE, POREXEMPLO, O NUMERO <72>, SABERAQUE ESSA INFORMACAO CONTEM O, E ASSIM SUCESSIVAMENTE.%%E FACIL DEDUZIR, QUE PARA OPE-RACOES TAO COMUNS, A LINGUAGEMBASIC DEVE DISPOR DEINSTRUCOES ADEQUADAS, QUEEFECTUEM CORRECTAMENTE A CON-VERSAO ENTRE CODIGOS E CARAC-TERES: ESTAS FUNCOES SAO, QUE TRANSFORMA O CODIGOEM CARACTER, E QUEREALIZA A TAREFA INVERSA.% % DEVOLVE UM RESULTADOALFANUMERICO, DEVOLVEUM RESULTADO NUMERICO. ENTAOTEM CUIDADO, E USA AS VARIA-VEIS ADEQUADAS.# #[t$ea@@'l c pNA CHR$ - CODET UMA TECLA PARA CONTINUAR PRIMECAR }6 $$$~$$~$~~bd&F(D(Zz  >>> @8Dp| |8H~|>@ƒB<" > E SAO COMPLEMENTARES ENTRE SI,E SERVEM PARA CONVERTER UM CO-DIGO AO SEU CARACTER CORRES-PONDENTE, E VICE-VERSA.# #SUPOE QUE TENS A TUA DISPOSI-CAO UMA SERIE DE LAPIS DECOR, E QUERES PINTAR UMPRADO, O SOL, O FOGO...NAO TE SERA MUITO DIFICIL: OS MEIOS QUE DISPOES PRES-TAM-SE PERFEITAMENTE A TAL.%EM TROCA, SE DESEJAS INDICAR,POR EXEMPLO, A POSICAO E OPESO DE UM CERTO OBJECTO,JA NAO SERA TAO FACIL. ESTASQUANTIDADES ADAPTAM-SE MALPARA SEREM REPRESENTADAS COMOS LAPIS DE COR. SEM TRABALHO, PODES RECORRER AUM TRUQUE, ESTABELECENDO, POREXEMPLO, O TRACADO DE UMA LI-NHA VERDE PARA UM PESO INFE-RIOR A UM QUILO E ROXA NO CASOCONTRARIO.% % AINDA QUE INDIRECTAMENTE, CON-SEGUISTE REPRESENTAR UMA IN-FORMACAO, MEDIANTE UM MEIOPOUCO USUAL. NA REALIDADE, EXECUTASTE UMA.% %A CODIFICACAO E UMA TECNICAFUNDAMENTAL NO CAMPO DOSCOMPUTADORES: AS AREASQUE TRATA SAO HETEROGENEAS,NOTE-SE QUE AS INFORMACOESELABORADAS SAO SIMPLES NUME-ROS.% %ALEM DE NUMEROS, PODETRATAR CARACTERES ALFABETICOSE GRAFICOS,QUE SAO NECESSARIOSPARA CODIFICAR E ELABORAR TODOO TIPO DE INFORMACOES. DAQUI DERIVA A NECESSIDADE DEPROGRAMAR DE UMA FORMA UNIVER-SAL, QUE PERMITA O INTERCAMBIODE INFORMACOES, ENTRECOMPUTADORES.% %O SPECTRUM, E MUITOS OUTROSCOMPUTADORES, USAM O OU . ASSIGNA, ENTRE OUTRASCOISAS, A CADA LETRA, CARACTERGRAFICO, SIMBOLO OU VALOR NU-MERICO, UM CODIGO ENTRE <32> E<127>,ENQUANTO QUE ATRIBUI AOSCARACTERES ENTRE <0> E<31> FUNCOES DE CONTROLO. ALEMDISSO, O SPECTRUM UTILIZA OSRESTANTES CODIGOS ATE 255PARA IDENTIFICAR TODAS AS SUASINSTRUCOES (RUN, LIST, IN-PUT, ETC..).% % PORTANTO, CASO SE TENHA DE IN-TRODUZIR EM MEMORIA,O CARACTER, ESCREVE-SE O CODIGOCORRESPONDENTE A <65>. DE IGUAL FORMA, QUANDO LE, POREXEMPLO, O NUMERO <72>, SABERAQUE ESSA INFORMACAO CONTEM O, E ASSIM SUCESSIVAMENTE.%%E FACIL DEDUZIR, QUE PARA OPE-RACOES TAO COMUNS, A LINGUAGEMBASIC DEVE DISPOR DEINSTRUCOES ADEQUADAS, QUEEFECTUEM CORRECTAMENTE A CON-VERSAO ENTRE CODIGOS E CARAC-TERES: ESTAS FUNCOES SAO, QUE TRANSFORMA O CODIGOEM CARACTER, E QUEREALIZA A TAREFA INVERSA.% % DEVOLVE UM RESULTADOALFANUMERICO, DEVOLVEUM RESULTADO NUMERICO. ENTAOTEM CUIDADO, E USA AS VARIA-VEIS ADEQUADAS.# #INKEYPAUSEZE Zf(23613=\+256*23614>\),0:(23613=\+256*23614>\+1),0 _"31999":z=ç:u=::"23609","20":"23658","8":"":""f$():"23606",z:"23607","124":ڰ"7":z::ڰ"8":u;"10",z;" PARA O GRAVADOR ":I=Z̰"10":װ".01","I*5":I d%ٰ"9":CEN=Z:OP=U:"100":a="127" i"23296"=a"160" n:"10","5";"ESCREVE O TEU NOME NO TECLADO E PRIME ":n$::"10","4";"ESTA BEM ESCRITO ? (S/N)";"6","15-N$/2";U;" ";N$;" " ="N""110" "S"130 .i=u̱n$+u+u:23295Z+i,(a+n$+a)(i):i .n$="":i="23297"̰"1e6":ian$=n$+¾i:i ڰ"8":rc=u:pn=u DA$=" INKEY$":"8410":VC=Z:"8300":"8150":"8070":I"1000" BA$="PAUSE":"8410":vc=z:"8300":"8150":"8070":I"1500" @/A$="POE O GRAVADOR EM MARCHA ":"7":ڰ"7": JN=Z̰"29":װ".05","2*N" T2ٰ"4";"8",N;" @";"9",N;" ~|";"10",N;" \]" ^0N>"2"N<"29"1;"8",N;A$(N-2) hN rG8,30;" ";9 ,30;" ";10 ,30;" " | 7:"" 4I=Z:"8400":"7",U;:T$=" ESCOLHE, `:":"8330" }"11","6";"F FIM";"13","6";"I VOLTA AO PRINCIPIO";"15","6";"C PASSO P/A PARTE";"16","6";" SEGUINTE"  ="F" ="I"I=U:rc=PN: ="C"PN=rc:  "8090" 't$=" PRIME UMA TECLA PARA CONTINUAR " /#Z;ڰ"6";U+U;U;U,Z;t$:.001wn,30 Ot$=t$(2)+t$(U):.0004uQX,45-:.0006vIQ,557:"""":  8160 ldA=Z:J=rc9999':F$(J,30)"%"F$(J,30)"#"A=A+U+(2F$(J,30)="&"):J mVC"10-a/2",U; n T$=F$(rc) v&"8330":T$(30)="#"rc=rc+u: {'F$(rc,30)="%"rc=rc+u:"8300" rc=rc+u:"8302" c=Z:N=U̱t$ (T$(N)="%"8150:"8400":vc=u: T$(N)="`"T$=N$:"8330" T$(N)="&"'U''" ";: T$(N)="#"P="8": +T$(N);:OPT$(N)" ".001wn,40( +OPT$(N)=".".1}L,30:20 "c=c+u:c=30c=Z:U;" "; N: ta=4:XL=248:YL=169:2::U+U,U;:3,3:a;XL,Z:a;Z,YL:a;-XL,Z:a;Z,-YL: چ"8400":"3","15-A$/2";A$:YL="11":XL="8*A$+16":"126-XL/2","142":XL,Z:Z,YL:-XL,Z:Z,-YL:U,-U:XL,Z:Z,YL:"13",U;: ! t$:ñt$ !cenu;"16-t$/2"; ! "8330":"8450" !5J=U+a9 +a:j,u;6+(a=10 ),a$:j: ! A=U+U:J="26"̰"32"6:"28"-J/A,ER+J/A*.73333:J,Z:A,-A,/A:Z,-J*.73333,Z:-A,-A,-/A:-J,Z:-A,A,/A:Z,J*.73333:A,A,/A:J: zuƓIESTA FUNCAO E PARECIDA COMA FUNCAO , MAS DIFEREN-CIA-SE DELA, UMA VEZ QUE NAOPARA O PROGRAMA, A ESPERA DEINTRODUCAO DE DADOS.% %UTILIZA-SE EM APLICACOES MUITOINTERESSANTES: COMO A GESTAODO MOVIMENTO, A EXECUCAOCONTROLADA DE DETERMINADASFUNCOES, E MUITAS OUTRAS. O SEU USO E MUITO UTIL: & &10 PRINT INKEY$& &VAI IMPRIMIR A TECLA CARREGADANO MOMENTO DA EXECUCAODA FUNCAO, CONTINUANDO COMA SEGUINTE.% %DE TODAS AS FORMAS, E POSSIVELPARAR O PROGRAMA, SE NENHUMATECLA FOR PREMIDA: & &10 IF INKEY$""THEN GOTO 10 20 IF INKEY$=""THEN GOTO 20 30 PRINT INKEY$ & DESTA FORMA, A IMPRESSAOTERA LUGAR SOMENTE, QUANDOSEJA PREMIDA UMA TECLAQUALQUER.# # A FUNCAO , SERVE PARARETARDAR A EXECUCAO DE UMPROGRAMA. A INTERRUPCAO PODE SER PERMA-NENTE (ARGUMENTO<0>) OU TEM-PORARIA (ARGUMENTO DIFERENTEDE <0>).% %NO ULTIMO CASO, A PAUSAMEDE-SE EM CINQUENTA AVOS DESEGUNDO. SEM TRABALHO, A PRESSAO DE UMATECLA QUALQUER (MAS QUE PRODU-ZA UM CARACTER !) PROVOCA ACONTINUACAO IMEDIATA DOPROGRAMA. UTILIZA-SE MUITO, PARADAR TEMPO AO PROGRAMADOR DELER AS MENSAGENS, CONTROLAR OMOVIMENTO DAS FIGURAS NOSVIDEOJOGOS, ESPERAR QUE SEPRIMA UMA TECLA...% %E AGORA, UM MODO FACIL DE SEOBTER UM SO CARACTER SEMTER QUE PREMIR .% %10 PAUSE 0 20 LET C$=INKEY$ 30 ...& &EM RELACAO AO SISTEMA VISTOANTERIORMENTE, ONDE SE UTILI-ZAVA , ESTE TEM AVANTAGEM DE OBTER A REPETICAOTEMPORIZADA DO CARACTER, NOCASO DE SE TER PREMIDO CONS-TANTEMENTE UMA TECLA.% %NO SEGUINTE EXEMPLO, O PROGRA-MA DETEM-SE 2 SEGUNDOS(100 CINQUENTA AVOS), PARA DARTEMPO AO PROGRAMADOR DE LER ASMENSAGENS, CONTINUANDO AOACABAR ESSE TEMPO.& &10 PRINT "ERRO" 20 PAUSE 100 30 CLS: GOTO...# #[t$ea 'l c pNA INKEY$TO SEU USO E MUITO UTIL: CAR }E $$$~$$~$~~bd&F(D(Zz  >>> @8Dp| |8H~|>@ƒB<" >, MAS DIFEREN-CIA-SE DELA, UMA VEZ QUE NAOPARA O PROGRAMA, A ESPERA DEINTRODUCAO DE DADOS.% %UTILIZA-SE EM APLICACOES MUITOINTERESSANTES: COMO A GESTAODO MOVIMENTO, A EXECUCAOCONTROLADA DE DETERMINADASFUNCOES, E MUITAS OUTRAS. O SEU USO E MUITO UTIL: & &10 PRINT INKEY$& &VAI IMPRIMIR A TECLA CARREGADANO MOMENTO DA EXECUCAODA FUNCAO, CONTINUANDO COMA SEGUINTE.% %DE TODAS AS FORMAS, E POSSIVELPARAR O PROGRAMA, SE NENHUMATECLA FOR PREMIDA: & &10 IF INKEY$""THEN GOTO 10 20 IF INKEY$=""THEN GOTO 20 30 PRINT INKEY$ & DESTA FORMA, A IMPRESSAOTERA LUGAR SOMENTE, QUANDOSEJA PREMIDA UMA TECLAQUALQUER.# # A FUNCAO , SERVE PARARETARDAR A EXECUCAO DE UMPROGRAMA. A INTERRUPCAO PODE SER PERMA-NENTE (ARGUMENTO<0>) OU TEM-PORARIA (ARGUMENTO DIFERENTEDE <0>).% %NO ULTIMO CASO, A PAUSAMEDE-SE EM CINQUENTA AVOS DESEGUNDO. SEM TRABALHO, A PRESSAO DE UMATECLA QUALQUER (MAS QUE PRODU-ZA UM CARACTER !) PROVOCA ACONTINUACAO IMEDIATA DOPROGRAMA. UTILIZA-SE MUITO, PARADAR TEMPO AO PROGRAMADOR DELER AS MENSAGENS, CONTROLAR OMOVIMENTO DAS FIGURAS NOSVIDEOJOGOS, ESPERAR QUE SEPRIMA UMA TECLA...% %E AGORA, UM MODO FACIL DE SEOBTER UM SO CARACTER SEMTER QUE PREMIR .% %10 PAUSE 0 20 LET C$=INKEY$ 30 ...& &EM RELACAO AO SISTEMA VISTOANTERIORMENTE, ONDE SE UTILI-ZAVA , ESTE TEM AVANTAGEM DE OBTER A REPETICAOTEMPORIZADA DO CARACTER, NOCASO DE SE TER PREMIDO CONS-TANTEMENTE UMA TECLA.% %NO SEGUINTE EXEMPLO, O PROGRA-MA DETEM-SE 2 SEGUNDOS(100 CINQUENTA AVOS), PARA DARTEMPO AO PROGRAMADOR DE LER ASMENSAGENS, CONTINUANDO AOACABAR ESSE TEMPO.& &10 PRINT "ERRO" 20 PAUSE 100 30 CLS: GOTO...# #G