Está en la página 1de 61
LUCA NOVELLI MI PRIMER 7 EL LENGUAJE (MAS DiFUNDIDO DE . Los ORDENADORES ALABRA” HAY UN EJERCICIO pivERTIDO Si APRENDE OS VALE FKcip MENTE ee EN EL "COLE" Titulo original: /! mio primo libro di Basic, Milan, 1984 Traduccidén: José Golacheca 1." edicién, septiembre 1984 ® Amoldo Mondadori Editore, §.p.a. Milan, 1984 © Ediciones Generales Anaya, 5. A., Madrid, 1984 Villafranca, 22, 28028 Madrid ISBN: 84-7525-1 75-7 Depésito legal: M. 33.627- 1984 Imprime: Litografia Josmar, 8. A. Poligono Industrial de Coslada (Madrid) Printed in Spain Queda prohibida la reproduccidn total o parcial de la presente obra bajo cualquiera de sus formas, grafica o audiovisual, sin la autoriza- cidn previa y escrita del editor, excepto citas en revistas, diarios o li- bros, siempre que se mencione la procedencia de las mismas. LUCA NOVELLI MI PRIMER LIBRO DE EN LA PAGINA 4 HAY UN BUEN PUNTO DE PARTIDA. EN LA PAGINAS ESTA LA GRAMATICA DEL BASIC. LA PAGINA 62. ENCONTRAREIS LAS INSTRUCCIONES) PARA MANEJAR ESTE LIBRO. EN LA PAGINA 12 ESTA EL JUEGO DEL PROGRAMA. JES UN LIBRO muy ESPECIAL, MUCHACHOS! EDICIONES GENERALES ANAYA Punto de partida Donde se descubre que el BASIC no es una lengua extraterrestre Unos CREEN QUE EL BASIC. ES UNA LENGUA MuY DIFiciL, QUE HABLAN LAS MAQUINAS. Yorros CREEN que ES UN DIALECTO jNTERGALACTICO. AS i La sigla BASIC es la abreviatura de Beginners’ SIN EMBARGO EL BA.Sii.c. All-purpose Symbolic Instruction Code ‘Codigo ES EL LENGUAJE M de ‘instrucciones de uso universal para princi- DIF UNDIDO piantes). Comprende un vocabulario de mas de 200 términos que, en su mayoria, son muy co~ DE LOS Trientes en la lengua inglesa, tales como AND ° ADORES. (=y), PRINT (=imprime), GOTO (=vete a), RDENADORES. fH! Czquielda), RIGHT (~derecha) y otros as muchos, (has PALABRAS DEL BASIC sirveN PARA DECIR AL ORDENADOR LO QUE DEBE HACER, 0 SEA, , PARA PROGRAMARLO- y FAL SO} ESCRIBE Mi NOMBRE, ) (Pe DESGRACIA TODAVIA LOS ORDENADORES A LA VENTA NO TIENEN OREJAS. LAS "ORDENES" SE TIENEN Que ESCRIBIR, ? CON EL TECLADO \ pear fj Y APARECEN EN PANTALLA. Los PREFERIRIA CON OREVAS! Gramatica Basic Donde descubrimos que el ordenador obedece también al punto y coma E BASIC QUIERE QUE LAS LINEAS DE LAS INSTRUCCIONES DADAS AL ORDENADOR ESTEN NUMERADAS PROGRE SIVAMENTE. Quizk tasdis notavo que VAN NUMERADAS DE 10 EN 10: ES UN TRUCO DE QUIENES PROGRAMAN Y ASi PUEDEN ANADIR NUEVAS LINEAS EN EL ULTIMO MOMENTO. con EL PROGRAMA, (JUNTO CON |NSTRUCCIONES, DAD AL_ORDENADOR. TAMBIEN PALABRAS: Y NUMEROS. CADENA. fs una secuencia de caracteres (palabras, letras del alfabeto, simbolos graficos y espacios vacios) puesta entre co- millas. “iAUGH!" es una cadena de seis caracteres. "LAS COMIILLAS. El ordenador reconoce con ellas el principio y elfinal de una cadena que hay que imprimir o tratar de algén otro modo. CONSTANTES. Son los caracteres entre comillas y los valores numéricos que permanecen invariables en el programa LA LINEA 40 DA LA OROEN R INDICA AL ORDENADOR QUE VUELVA A LA LINEA AQ Y EMPIECE DE ‘CONSTANTES A LA PALABRA “iAUGH!" Y A LOS NUMEROS / 6y8. ORDEN PARA QUE SE PONGA EN MARCHA EL PROGRAMA. RECONOCE TAMBIEN EL ORDENADOR , ; PUNTO Y COMA. Manda al ordenador que imprima a continuacién también el contenido de la siguiente instruccién PRINT. , COMA, Manda al ordenador que ponga en columna los datos que se van a imprimir. Sirve también para dividir las variables de entrada. DOS PUNTOS. Si al final de una instruc- cién hay dos puntos, se puede afadir otra ins- truccién en la misma linea. PUNTO. Divide las unidades de los decimales. Por ejemplo, el numero 167,61, el ordenador lo escribe 167.61 OTROS SIGNOS DE PUNTUACION BASIC. 10 PERO |. NO OLViDEIS QUE EL ORDENADOR ES SOBRE TODO UNA CALCULADORA. TAMBIEN ESTOS SON PARA EL ORDENADOR ORDENES EN As{ QUE OBEDECE TODAS LAS ORDENES DE CALCULO QUE RECIBE. 3iGNOS DE SUMA Y RESTA SIGNO DE ELEVACIONA POTENCIA,USAREMOS EL SIGNOA. EN OTROS TECLADOS SE USAN DOS SIGNOS * x. SIGNO DE MULTIPLICAR PARENTESIS SIGNO DE DIVIDIR SiGNO DE IGUAL MAYOR QuE MENOR QUE MEMORIAS. El «cerebro» del ordenador tiene una parte logi- ca (CPU), que sabe contar y poner en orden los datos, y ‘dos memorias, la ROM y la RAM. La ROM contiene las ins- trucciones que hacen funcionar al ordenador; por ejemplo, MEMORIA DEL Contiene los programas traductores de los lenguajes. En este Nok, ov Sel Caso es la que sabe «teconocer» el BASIC. Las celdillas de la ORDENADOR, Y RAM, por el contrario, albergan los datos y las instruccio- SACARAN FUERA nes de vuestros programas. Estos conceptos aqui recorda- dos fueron. explicados con precision y muy bien ilustra~ dos en el libro del mismo autor, Luca Novelli, publicado en esta misma coleccién, Mi primer libro sobre ordenac Tas iINSTRUCCIONES Y LAS "CONSTANTES” ACABAN EN LA ) fe SE PUEDE DECIR AL ORDE- NADOR QUE PREPARE TAMBIEN "CELDILLAS DE MEMORIA’ PARA CONTENIDOS VARIABLES. ALOS NUMEROS SE CREAN SENALANDOLAS CON LETRAS DEL ALFABETO. Bs DESTINADAS A LOS CARACTERES (PALA~ BRAS, SiMBO- L0S, ETC.) SE CREAN SENALANDOLAS oy RETRAS 5 ESTA FORMA DEL ALFABETO ; “A eo CRANK, ES UNA SEGUIDAS DEL SIGNO LISTA DE INSTRUCCIONES, SLAR. DE CONSTANTES Y Deora DE VARIABLES. Uy PROGRAMA PARA EL ORDENADOR ES ALGO AS! COMO EL JUEGO DE LA OCA. EN LA LINEA 40 EL ORDENADOR ENCUENTRA LA ORDEN’ LETG@PON) B=18Y Kn 7g i. ASIGNA EL VALOR 418A DAIS LA ORDEN DE PONERSE EN MARCHA, EMPIEZA A REALIZAR TODAS LAS INSTRUCCIO~ NES QUE ENCUENTRA, LINEA TRAS LINE. EN LA LINEA 40 ENCUENTRA REM (c OBSERVACIONES) DA UN ViSTAZO _Y SiGUE ADELANTE. EN LA LINEA 20 ENCUENTRA (=iMPRIME), YESCRIBE EN LA PANTALLA LO. QUE UN NUMERO QUE ASIGNARA ALA VARIABLE" A. GOTOG VETEA) 90, Y BA Y =—~ \ VEQETES, L JAG sau | | Z (eX 5 EL ORDENADOR) TIENE Que ~ Si (=iF) EL CONTENIDO DEA ES MENOR QUE (<) |B, ENTONCESTHEN) HAY QUE iR ALA LINEA 80. DE LO CONTRARIO /VETE ALA LINEA SIGUIENTE, LA 60. LLEGA A ENO (=FIN), SE PARA: EL. PROGRAMA HA YS f TERMINADO. SZ DIAGRAMA DE FLUJO. Lo llaman también flow chart» 0 ANTES DE ESCRIBIR diagrama en bloques. Es la forma grafica més sencilla para UNA LISTA DE describir el esquema de un Programs, Cada bloque da lugar iNSTRUCCIONES, | a una linea de instrucciones. Si el ordenador tiene que tomar una decisién, los bloques se representan por un rombo. Las instucciones GOTO (=vete a) se representan con una flecha, YO LO LLAMO DIAGRAMA DIAGRAMA oe FLUJO QUIERE DECIR: DIVIDIR UN PROBLEMA EN MUCHOS PASOS CORTOS, POR LO Que HASTA UN CABEZON OE ORDENADOR PUEDE ENTENDER,, 4 « 50 Sies VERDAD — ENTONCES BERO BASTA YA Y VAMOS ALLA’ CON NUESTRO DiccioNARIO DE BASIC. EMPEZAMOS ‘AND (@)). 5 una «conjuncién» también en BA- SIC. El ordenador obedece a la instrucci6n sélo cuando las condiciones puestas por A AND (y) B son verdaderas, En todos los demas casos el ‘ordenador no hace nada y pasa a la linea si guiente, PROGRAMITA DE BIENVENIDA Muchos niffos vienen a hacer una visita a Mar- ko para vet y probar su ordenador. Por eso (0 ha escrito este pequefio programa para dar la bienvenida a sus amigos. Pero s6lo si ‘A$ ="SI" y BS="SI", el ordenador hard los ho- rnores de la casa, de lo contrario. 10 REM PROGRAMA DE BIENVENIDA 20 PRINT "HOLA,SOY EL ORDENADOR DE MARKO" 30 PRINT “TU GUIEN ERES? 40 INPUT NB 30 PRINT "HOLA "3NBs" MUCHO GUSTO EN CONOCERTE™ 80 PRINT "TE GUSTAN LOS ORDENADORES?” 50 PRINT “RESPONDE S10 NO™ 0 INPUT Ae 90 IF Ag="SI" OR A 100 GoTo 110 PRINT "QUIERES APRENDER BASIC?" 120 PRINT "RESPONDE SI 0 NO" 130 INPUT BS 440 IF Be=*51 150 GoTo 120 160 TF As “ Goro 180 170 PRINT “VETE AL CUERNO! ":NBzEND 180 PRINT “BIENVENIDO ENTRE NOSOTROS “:NS jo" Goro 110 OR Be="NO" GOTO 160 ASC (de ASCII). Indica al ordenador que con- vierta un carécter (una letra, un simbolo, etc.) en un ndmero. No sera un nimero cualquiera, sino el numero correspondiente del cédigo ASCII. No es un vocablo BASIC universal; el Spectrum, en lugar de ASC, usa CODE. EN BUSCA DEL CODIGO Asc ASCII deriva de las iniciales de American Standard Code for information Inter- change (Cédigo americano standard para el intercambio de informaciones). Ya 5 un cédigo intemacional que representa letras y ntimeros con secuencias de ocho bit (cero y un bles secuencias de ocho bit son 256 (28) y, por tanto, pueden codificar 256 caracteres, simbolos grificos, etc. Los nimeros que descubriréis con nuestro ejercicio son la forma decimal de estas secuen- las de nimeros binarios. Por ejemplo, el nimero de cédigo ASCII de la A es 65, y representa en forma decimal el nimero binario 01000001. CHR (de character = carécter). Convierte ni- meros en caracteres (letras, simbolos, etc.). Esto es, realiza la operacion inversa de ASC. Siguien- do en el ejemplo, PRINT CHRS (65) visualizaré la letra A, como esté previsto en la tabla del cédigo ASCII. 10 REM EL copIGo ascrT 20 CLS:PRINT:PRINT 30 PRINT"PULSA #" PRINT SO PRINT" 1 PARA VER LA TABLA ASCII™:PRINT 50 PRINT" 2 PARA VER LA CORRESPONDENCIA" 40 PRINT® CARACTER - CODIGO" :PRINT 3 PARA VER LA CORRESPONDENCIA” CODIGO ~ CARACTER" :PRINT 4 PARA TERMINAR™ 100 INPUT s 110 ON S GOTO 130,190,290,410 120 cLs 130 FOR T=1 To 259 140 PRINT CHRBCT) 41 150 NEXT 1 160 PRINT"PULSA RETURN PARA CONTINUAR™ 170 INPUT A 180 IF As=""GoTO 20 190 CLS:PRINT 200 PRINT“ INTRODUCE EL CARACTER DEL GUE GUIERES VER EL cODIGO" 210 INPUT cs. 220 PRINT: PRINT 230 PRINT*AL CARACTER “}C#;" CORRESPONDE EL CODIGO AScIT 240 PRINT: PRINT 250 PRINT"QUIERES VER OTRO >" 260 INPUT As 270 IF As="SI" GOTO 190 280 GoTo 20 290 CLS:PRINT 300 PRINT"INTRODUCE EL_CODIGO (COMPRENDIDO ENTRE 1 Y 295) DEL GUE" 310 PRINT"GUIERES VER EL CARACTER CORRESPONDIENTE" 320 INPUT C 330 IF C¢1 oR C2255 GOTO 290 340 PRINT: PRINT 330 PRINT"AL CODIGO "0; "CORRESPONDE EL CARACTER ";CHRS(C) 360 PRINT: PRINT 370 PRINT"GUIERES VER OTRO 7: 380 INPUT At 390 IF Ag="SI" GOTO 290 400 Goro 20 410 CLS:END ascics) CLs (de CLear the Screen = despeja la pantalla) Indica al ordenador que quite todo lo que hay en la pantalla. No es un vocablo BASIC univer- sal; por ejemplo, Apple tiene HOME. VIC 20 y COMMODORE 64 tienen PRINT «(SHIFT CLR HOME)», EL SECRETO DE LOS VIDEOJUEGOS La orden CLS (0 sus equivalentes) es el secreto de la animacién en los video- juegos. tl principio es muy sencilo: se da al ordenador la orden de imprimir (PRINT) un punto 0 un simbolo grifico, inmediatamente después se le da la orden de borrarlo (CLS) y luego de reimprimirlo un poco mas adelante. De esta forma, ante nuestros ojos se crea la ilusion dptica de que el punto se mueve en la pantalla. En realidad son muchos nuevos puntos que inmediata- mente después se borran LUEGO ME BORRAN 48 DATA (= datos). Prepara datos, ntimeros 0 ca- denas. Estos datos luego se asociaran a las va- riables indicadas por la instruccion READ (lee). Una tercera instruccion, RESTORE (= restable- Ce}, indicaré al ordenador que reponga todo en las condiciones iniciales de DATA. LOS MESES DEL ANO DATA se encuentra siempre junto con READ y RESTORE, formando una sola instrucci6n de asignacién. En nuestro ejemplo, DATA «prepara» los meses del afio, que luego se asocian por READ a la variable MS. La tercera instruccion, RESTORE, indicara al ordenador que reordene todo como estaba en la primera linea de DATA, permitiendonos seguir. 10 DATA ENERO, FEBRERO ,MARZO, ABRIL 20 DATA MAYO, JUNIO, JULIO ,AGOSTO 30 Data SEPTIEMBRE, OCTUBRE , NOVIEMBRE, DICTEMBRE 20 CLSTPRINT"DAME UL NES EN NUMERO 0 30 TF Mé1 OR M>12 GOTO 40 0 FOR x21 TOM 90 READ Me 100 NEXT X 110 PRINT:PRINT MS. 420 RESTORE 430 PRINT:PRINT*GUIERES SEQUIR 2 140, INPUT 150 IF Ate 160 END 1" GoTo 40 DEF FN (de DEfine FunctioN = Definir funcion). Permite definir nuevas funciones matematicas y encerrarlas en la funcién FN. En caso de repeti- Ciones, por ejemplo, permite ahorrar tiempo y reas B posbitled do eror QUIERO QUE, ESTA ECUACION SE_HAGA PEQUENA Y MANEJABLE, 10 REM DEFINE UNA FUNCION COMPLIcADA 20 DEF FNY G0 (X)#XoDe (COS (29K 4X°D—X°S) 7 OCD 30 REM AHORA SE PUEDE USAR LA FUNCION CUANTAS 40 REM VECES SE QUIERA EN EL HISHO PROGRAMA 50 cLS 80 PRINT:PRINT"INTRODUCE UN VALOR PARA LA VARIABLE x 70 INPUT x 80 YoFNY CO) 90_Z=(ENYO))°2 100 PRINT'X = "gxy"¥ = "a¥,"Z = "az 110 PRINT:PRINT"GUIERES CALCULAR OTROS VALORES 7 120 INPUT AS 130 IF Age"S1" GOTO 60 140 END DIM (de DiMension =dimensi6n). Indica al or- denador que dé las dimensiones a un determi- nado espacio de memoria y que lo conserve en cadenas de caracteres, que no se podrian contener en una «variables individual, SQUEREIS QUE VUESTRO ORDENADOR ESCRIBA LOS CUADROS? Con este programita el ordenador escribira en la pantalla el cuadro ‘que querdis hasta el del 10. 10 REM CUADR 20 DIM T(10, 10) 3O FOR J=1 TO 10 4O FOR K=1 TO 10 530 T(J,k) =J4 40 NEXT Kc 70 NEXT J 80 CLS:PRINT“OUE CUADRO OUIERES VER?" 90 INPUT 1 100 IF 1<0 OR 1>10 GOTO 80 110 PRINT 120 FOR Lei To 10 130 PRINT TCL) 140 NEXT L 150 PRINT:PRINT"OUIERES ‘VER OTRO?" 160 INPUT As 170 IF AS@"SI" AND AS<>"NO" GOTO 150 180 IF Ag="SI" GOTO 80 190 END END (fin). Indica al ordenador que el progra~ ma ha terminado y que no prosiga adelante, o sea que no haga nada més. En el lenguaje BA- SIC es indispensable slo en algunos casos. Al- gunos ordenadores en lugar de END usan STOP. LA RULETA ELECTRONICA ATenéis suerte en el casino? Podeis verficarlo con este pro- gramita, El ordenador sacara un numero entre el 0 y el 36. ‘Suerte! 10 REM RULETA E 20 N=INT (RND® (37 T:PRINT*APUESTA INPUT T 60 IF TaN THEN PRINT*HAS END 76 PRINT"HAS PERDIDO 40 S070 40 90 END UN CONSEJO: iJUGAD SOLO CARAMELOS! FOR/TO/NEXT (= paraval/siguiente). El ordena~ dor cumplira las instrucciones puestas entre FOR, TO y NEXT hasta que la «variable de ci- clo» ‘alcance el valor indicado. En el ejemplo, la variable de ciclo» es K y deberd alcanzar el va- lor N que habéis introducido. UN PROBLEMITA PARA GAUSS El jovencito Karl Friedrich Gauss estaba destinado a convertirse en un gran matematico. De pequefio tuvo un maestro muy antipatico, que le mandé, Como castigo, el ejercicio de sumar todos los numeros enteros comprendidos entre 11y 160. Gauss lo resolvié con una sola operacién. Vosotros se lo podéis mandar resolver al ordenador con este programita 10 CLS:PRINT*SUMO LOS NUMEROS HASTA 7) 20. INPUT NV 30 s= 60 NEXT K So PRINTSPRINT*LA SUMA DE LOS PRIMEROS ENTEROS VALE 80 END 2 ~ MIRA COMO SE CONSTRUYO EL PROGRAMA PARA VUESTRO ORDENADOR. 4Y COMO_ RESOLVIO SU PROBLEMA EL PEQUENO GAUSS? Gauss se dio cuenta de que la suma del primer numero con el iitimo, 1 y 1100, del segundo con el peniiltimo, 2 y 99, del tercero con el antepeniitimo, 3 y 98, y asi sucesivamente, daba siempre como resultado 101. Dado que ias parejas son 50, multiplicé 101 x 50 y resolvi6 el problema en un santia- mén, con gran constemacién del antipatico maestro. le, 2% sg : b = 3 ; 2h IGAUSS GANA AL ORDENADOR >,O\ POR UNO A CERO! FOR/TO/STEP/NEXT (step = pasa). El ordenador realizara ciclicamente las instrucciones entre FOR/TO y NEXT hasta que la evariable de ciclo» no haya alcanzado el valor indicado. El incre- mento es de 1, salvo que se indique el paso (STEP). En nuestro ejemplo es 2. EL ORDENADOR Y LOS NUMEROS PRIMOS \Vuestro ordenador encontrara todos los numeros primos comprendidos entre 3 y N con este programita. 10 REM NUMEROS PRIMOS te EGrPRINT"BUSCO LOS NUMEROS PRIMOS COMPRENDIDOS ENTRE 3 ¥ 7" 30. INPUT NV 4O FOR K=3 TO N STEP 2 30 Po 40 MeINT«K/2) $0 REM CONSIDERO LOS POSIBLES DIVISORES ENTRE 2 ¥ K/2 0 FOR J=2 TO M 90 TF K/J=INT(K/J) THEN Pat 100 NEXT J 410 IF Pal GOTO 130 120 PRINT K 130 NEXT K 440 END 25 foR TO Sree Sekt ASi SE CONSTRUYO EL PROGRAMA PARA BUSCAR LoS NUMEROS PRIMOS. UN PROGRAMA muy GENCILLO, ano? 26 GO SUB (R 140 GOTO 90 {50 PRINT:PRINT"MAXIMO COMUN DIVISOR = 160 END La instruccién 30 pregunta si A es mayor que B; si asi fuere, salta a la instrucci6n 70; en caso contrario continia con las siguientes instrucciones, en las que, usando un campo de comodin'T, se intercambian los valores Ay B. En los BASIC més avanzados se pue- de’ escribir mas de una asignacion en la misma linea, separandolas con *:”; luego, en lugar de, 4050-60, se podia haber escrito: le TaA:ASB:N=T. 20 CLS:PRINT"PON LOS DOS NUMEROS GUE QUIERAS™ So PRINT"CALCULAR EL MAXIMO COMUN DIVISOR “38 division de A y B. Si el resto es igual a cero, terminado y se pasa a la instruccién PRINT; en caso contra- tio, se pone A=B BeR y se empieza de nuevo desde la 70, como prescriben las reglas del algoritmo, HASTA EUCLIDES, SI HUBIERA TENIDO UN ORDENADOR, ANTES DE ESCRIBIR EL PROGRAMITA EN BASIC, HABRIA DISENADO ESTE DIAGRAMA DE ESTE Las instrucciones 70-90 calculan el cociente y el resto de la BARBARIDAD HASTA SIN ‘operacién ha iQqué EUCLIDES.-- IF (si. Pon el ordenador ante una eleccion que dependa de una condicion. Si ésta se cum- Ble, entonces (THEN) hace algo ova a (GO 'O) otra linea. En nuestro ejemplo, cuando AS ="si", entonces el ordenador «sata» tres Ii- rneas mas abajo y escribe el animal que habiais pensado. EL ORDENADOR ADIVINO Con este programita podéis «ensefiar» a vuestro ordenador que acierte un animal que habeis pensado. Ojo, fijaos bien como est construido, Hemos puesto también «un ciclo de espera», que no es nada mas que tn ciclo FOR/TO/NEXT en vacio, hecho solo para que no espere el ordenador. 10 REM EL ORDENADOR ADIVINO 20 CLS:PRINT"PIENSA EN UN 30 PRINT'ENTRE ESTOS TRES" AO PRINT"ARANA TIGRE SERPIENTE 50 Fon 1<1 TO 3000 :NEXT T 20 PRINT*VA Lo HAS PENSADO 7 70 INPUT RE 30 If NOT RE="SI" THEN GOTO 50 9 PRINT'CONTESTA A ESTAS PREGUNTAS" 100 PRINT"HACE TELERANAS >" 110 INPUT As SI" THEN GOTO 170 5 UN MAMIFERO?) 'SI" THEN GOTO IAS PENSADO EN iAS PENSADO EN 180 PRINT"HAS PENSADO EN 190 END TAL" iVAYA apivino! on HACEDLO VOSOTROS Si habéis entendido cémo funciona el programita de la pagina anterior, facilmente podréis cambiar los animales que el ordenador puede «acer- tar, También podréis alargar el programa, haciéndole conocer otros ani- males, incluso todos los dibujados en esta pagina. Para hacerlo ain mas misterioso, os aconsejamos que cologuéis al principio del programa y antes de cada pregunta una linea con fa orden CLS (o la que correspon- da en vuestro ordenador). Asi, cada vez se limpiard la pantalla y dar la impresin de que el ordenador dialoga con vuestros amigos. Serd el primer videojuego hecho completamente por vosotros. iQue os di- Virtdis! ae ELSE (= en caso contrario). Permite al ordenador hacer dos cosas después de una eleccién: si (IF) se cumple la condicién, entonces (THEN) hace ir G0ro una cosa; en caso contrario (ELSE) hace otra. En nuestro caso, si Q= 3, entonces debe ir a la li- nea 290; en caso contrario, a la linea 100. OTRO JUEGO El ordenador «piensa» un nimero de tres ci- fas y th debes acertar. iArimo, quzé te ayude! 10 REM ACIERTA UN NUMERO DE TRES CIFRAS 20 DIM M(3),T(3) ,B8(3) 30 cs 40 REM NUMERO DE JUGADORES ENTRE 3 Y 10 30 G=INT((RND#7)43) ro 70 REM TRES CIFRAS AL AZAR ENTRE OY 9 80 FOR Kei TO 3 90_M(k) =INT(RND#10) 100 NEXT K 110 cect 120 IF 3G THEN 320 130 PRINT: PRINT" JUGADA N. 140 PRINT" INTRODUCE TUS CIFRAS 130 INPUT T(1),7(2) 7) 160 REM CONTROL DE ExXAcTITUD 170 BS (1) ="NO" 2B8 (2) ="NO" #B8 (3) 180 FOR Pai To 3 190 FOR K=1 TO 3 200 IF M«K)=T(P) AND K=P THEN 230 210 IF M(k)=T(P) AND Ke>P THEN BS(P) 220 GoTo 240 230 OnGri :B8(P) 240 NEXT 250 NEXT P 260 REM COMPRUEEO EL RESULTADO 270 PRINT" ";B8(1) 968 (2) sB8(3) 280 REM CONTROLO EL NUMERO DE CIFRAS CORRECTAS 290 IF O=3 THEN 300 ELSE 110 © 300 PRINT"HAS ACERTADO EL NUMERO" 310 GoTo 340 320 PRINT"NO HAS ACERTADO EN EL LIMITE DE 330 PRINT*MT NUMERO ERAS "3H (1) gM(2) sM(3) 340 PRINT*QUIERES SEGUIR JUGANDO 7 SI/NO” 350 INPUT Se. 360 IF S8-"S1" THEN 3O 370 END EN CASO CONTRARIO RANCHO ES BUENO, ENTONCES 0.K. EN CASO CONTRARIO ME PONGOA S1":G0TO 250 * JUGADAS 34 INPUT (entrada). Indica al ordenador que pida datos de fuera. Cuando encuentra esta instruc- cin, se para y espera que le esctibais con el teclado los nameros o las palabras que necesi- ta, En el ejemplo espera los porcentajes de an- hidrido sulfuroso y la hora de las sustituciones. PROFESIONALES DE LA CONTAMINACION La contaminacién se mide tomando a in- tervalos mas o menos fijos la cantidad de an- hidrido sulfuroso que hay en la atmésfera. El problema consiste en calcular la media de cada intervalo de tiempo y la media ponde- rada de las medias. He aqui el programita que resuelve el pro- blema: 10 REM CONTAMINACTON 20 CLS:PRINT"CUANTAS TOMAS HAS HECHO 7 30 INPUT N 4O REM V=VALORES TOMAS T=TIEHPOS So DIM van ,Tiw 40 PRINT"INTRODUCE LOS VALORES Y LA HORA DE LAS TOMAS 70 FOR Kei TON 80 INPUT VK) ,T CKD 90_NEXT K 100 S-0:PRINT 110 FOR Kei TO NL 120 REM MEDIA 130 Me (VK) VCD) /2 140 PRINT*MEDIA INTERVALO "yT(K)y 180 T=TeKeL) TK) 160 S=G+ne1 170 NEXT Kk 180 P=S/(TND=TCL)) 190 PRINT:PRINTMEDIA PONDERADA + 200 END i NATURALMENTE, TODO SERIA MAS SENCiLLO Si

También podría gustarte