Site hosted by Angelfire.com: Build your free website today!

ÉÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ»      

º            ɻ˻ɻɻ˻ɻÉ˻ɻɻËɻɻɠ ɻ˻ɻɻËÉ»             º      

º            ̼̹ººº»Ì¹Ì¹ºÊºÌ¹º ºººººº  ººÌ¹Ì¹È»ºº              º      

º            Ê ÊÈȼȼÊÈÊÊÊ ÊÊÊȼÊȼ¼È¼  ȹʼÊÊȼÊȼ             º      

ÌÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍËÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ͹      

º É˻ɻ˻»ÉË É»  É»  º                                          º      

º ºÊºººººººº ºº  ɼ  º           LO BASICO DEL BASIC            º      

º Ê Êȼʼȼȼȼ  ȼ  º                                          º      

ÌÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÊÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ͹      

º                                                               º

º                 EN ESTA LECCION APRENDERAS...                 º      

º                                                               º      

º  ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿  º      

º  ³                                                         ³  º

º  ³  þ  C¢mo mejrar el programa de aritm‚tica ........   2  ³  º

º  ³  þ  C¢mo intercalar las instrucciones ............   3  ³  º

º  ³  þ  C¢mo reconstruir la secci¢n llamada                 ³  º

º  ³     Selecciona operaci¢n .........................   3  ³  º

º  ³  þ  C¢mo reconstruir la secci¢n llamada                 ³  º

º  ³     Selecciona grado de dificultad ...............   4  ³  º

º  ³  þ  C¢mo reconstruir la secci¢n llamada                 ³  º

º  ³     Resuelve problema ............................   5  ³  º

º  ³                                                         ³  º

º  ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ  º

º                                                               º

ÌÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍËÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ͹      

º É»Ë»Ë É»É»  É»ËÉ»  º                                          º      

º ººÌ¹º Ì º   ɼººº  º   MEJORANDO EL PROGRAMA DE ARITMETICA    º      

º ȹʼȼȼȼ  ȼÊȼ  º                                          º       

ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÊÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ         


 

ÉÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍËÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ»      

º É»Ë»Ë É»É»  É»ËÉ»  º                                          º      

º ººÌ¹º Ì º   ɼººº  º   MEJORANDO EL PROGRAMA DE ARITMETICA    º      

º ȹʼȼȼȼ  ȼÊȼ  º                                          º      

ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÊÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ         

 

 

 

               MEJORANDO EL PROGRAMA DE ARITMETICA

 

 

     Como  pudiste apreciar en la lecci¢n 9,  nuestro programa de

aritm‚tica  es un programa que funciona bien.   Sin embargo,   si

tratas de leerlo cuidadosamente notas "que falta algo".  ¨Qu‚ hay

de  la presentaci¢n del programa?   ¨Qui‚n lo escribi¢?   Y   las

instrucciones para usarlo, ¨d¢nde est n?  Y hay todav¡a una falla

mayor: SU LECTURA AUN NO ES CLARA.

    

     Ataquemos la primera falla:  LA FALTA DE PRESENTACION.    El

programa s¢lo tiene una l¡nea REM con el t¡tulo del programa...

    

100 'Programa de Aritm‚tica

    

     Nota que esta presentaci¢n es muy sencilla,  seca,  no  dice

mucho.   Veamos ahora,  esta otra presentaci¢n que aunque todav¡a

corta dice m s que la anterior...

       

100 'Programa de Aritm‚tica

110 '----------------------

120    CLS

130    PRINT "PROGRAMA DE ARITMETICA"

140    PRINT "Un programa Basic"

150    PRINT "escrito por Rey Rios"

160    PRINT

170    INPUT "Presiona ENTER para continuar. ", e$

180 'Fin de la presentacion.

 

     Lee las l¡neas 100,  110  y  180.   Estas l¡neas marcan  los

l¡mites de la presentaci¢n.  El cuerpo de la misma est  compuesto

principalmente de sentencias PRINT que contienen el mensaje de la

presentaci¢n y una sentencia INPUT.  La l¡nea 170,  interrumpe la

ejecuci¢n  del programa para que el usuario tenga tiempo de  leer

el mensaje de presentaci¢n.

 

     Observa c¢mo hemos rotulado la presentaci¢n.   La l¡nea  100

tiene el t¡tulo del programa mientras que la l¡nea 110,  contiene

una l¡nea entrecortada para enfatizar el mismo.  La l¡nea 180 nos

avisa  que  el final de esta secci¢n se acaba  aqu¡.    Esto  nos

sugiere   que  las  instrucciones  precedentes  han  llenado   su

cometido:  PRESENTAR EL PROGRAMA.

 

 

 

 


 

ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿

³ QB210          MEJORANDO EL PROGRAMA DE ARITMETICA          3 ³

ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ

 

 

     Ahora,  ataquemos la segunda falla:   LAS INTRUCCIONES  PARA

USAR  EL PROGRAMA.   Nota que el programa no tiene instrucciones,

as¡  que  debemos  incluirla.    Esta  es la  forma  en  que  las

a¤adimos...

 

200 'Imprime instrucciones

210 '---------------------

220    CLS

230    PRINT "Instrucciones:"

240    PRINT "-------------"

250    PRINT

260    PRINT "  Se te presentar n 10 problemas de aritm‚ticas."

270    PRINT "  Despu‚s de contestarlos todos"

280    PRINT "  se te mostrar  la puntuaci¢n total"

290    PRINT "  de los problemas que contestaste correctamente."

300    PRINT

310    INPUT "Presiona ENTER para continuar. ", e$

320 'Fin de las instructiciones.

 

     Nota que esta secci¢n sigue el mismo patr¢n que la anterior: 

EL  NOMBRE  DE LA SECCION SEGUIDO DE UNA LINEA ENTRECORTADA  PARA

ENFATIZARLO.    El  cuerpo  contiene el  mensaje  de  instrucci¢n

seguido  de  una sentencia INPUT para detener  la  ejecuci¢n  del

programa de modo que el usuario pueda leer el mensaje  desplegado

en pantalla.  Ahora,   observa como hemos reconstruido la secci¢n

llamada Selecciona Operaci¢n...

 

340 'Selecciona operaci¢n

350 '--------------------

360   CLS

370   PRINT "OPERACIONES:"

380   PRINT

390   PRINT "  +   SUMA"

400   PRINT "  -   RESTA"

410   PRINT "  x   MULTIPLICACION"

420   PRINT "  /   DIVISION"

430   PRINT

440   INPUT "SELECCIONA OPERACTION: +, -, x, / ", o$

450     IF o$ = "X" THEN LET o$ = "x"

460     IF o$ = "+" OR o$ = "-" OR o$ = "x" OR o$ = "X"

        OR o$ = "/" THEN GOTO 520

470        'Selecci¢n rechazada.

480            PRINT : PRINT "POR FAVOR, SELECCIONA POR SIMBOLO."

490            PRINT

500            INPUT "Presiona ENTER para tratar de nuevo. ", e$

510            GOTO 340

520        'Selecci¢n aceptada.

530            GOTO 540   'Selecciona grado de dificultad.

540 'Fin de selecciona operaci¢n.


 

ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿

³ QB210          MEJORANDO EL PROGRAMA DE ARITMETICA          4 ³

ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ

 

 

     Ves  c¢mo  fluye la lectura.   Observa c¢mo  los  subt¡tulos

Selecci¢n aceptada y Selecci¢n rechazada  facilitan la lectura.  

 

     Cuando las selecci¢n escogida (o$)  en la l¡nea 440, es como

las  indicadas,   la estructura l¢gica IF...THEN la acepta en  la

l¡nea  460,   haciendo que la ejecuci¢n del programa salte  a  la

l¡nea  520,   donde la instrucci¢n ah¡ hace que la ejecuci¢n  del

programa salte a la l¡nea 540 donde otra instrucci¢n est  lista a

ejecutarse.

    

     Si la selecci¢n escogida (o$) no es como las indicadas,  las

instrucciones de la sub-secci¢n llamada Selecci¢n rechazada en la

l¡nea 470  son ejecutadas.   Es decir,  que cuando la instrucci¢n

l¢gica OR es  verdadera,  significa  que la selecci¢n es aceptada

(l¡neas 520-540), sino, significa  que la selecci¢n es  rechazada

(l¡neas 470-510).

     

     Nota   c¢mo  esta  secci¢n  de  Selecciona  operarac¢n  est 

estructurada.  Observa cu n f cil es leerla y entenderla.   Si te

gust¢ la secci¢n previa, veamos la siguiente...

 

560 'Selecciona grado de dificultad

570 '------------------------------

580   CLS

590   PRINT "SELECCIONA GRADO DE DIFICULTAD:"

600   PRINT

610   PRINT "  1  ELEMENTAL"

620   PRINT "  2  INTERMEDIO"

630   PRINT "  3  AVANZADO"

640   PRINT

650   INPUT "SELECCIONA POR NUMERO ", d$

660   LET d = VAL(d$)

670   IF d >= 1 AND d <= 3 THEN GOTO 730

680      'Selecci¢n rechazada.

690          PRINT : PRINT "POR FAVOR, DIGITA 1, 2, ¢ 3."; ""

700          PRINT

710          INPUT "Presiona ENTER para tratar de nuevo. ", e$

720          GOTO 560

730      'Selecci¢n aceptada.

740          GOTO 770          'Inicializa variables.

750 'Fin de selecci¢n.

 

     Compara la similitud que hay entre  esta secci¢n "Selecciona

grado de dificultad"  con la anteriormente presentada.  Estas dos

secciones  recientemente estudiadas son muy importantes.   En  la

pr¢xima  lecci¢n veremos por qu‚.   Por ahora,  observa  c¢mo las

sentencias REM (')  usadas hasta ahora han facilitado no s¢lo  la

lectura sino tambi‚n el entendimiento del programa.

    


 

ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿

³ QB210          MEJORANDO EL PROGRAMA DE ARITMETICA          5 ³

ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ

 

 

     Pero hay m s a£n.  Estudia la siguiente....

     

820 'Resuelve problema

830 '-----------------

840 CLS

850   'Repite problema.

860       LET P = P + 1

870       IF P = 11 THEN GOTO 1100

880       'Genera n£mero al azar.

890           RANDOMIZE TIMER

900           LET N1 = INT(RND * 10 ^ d) + 1

910           LET N2 = INT(RND * 10 ^ d) + 1

920       'Selecciona expresi¢n de aritm‚tica.

930           IF o$ = "+" THEN LET s = N1 + N2

940           IF o$ = "-" THEN LET s = N1 - N2

950           IF o$ = "x" OR o$ = "X" THEN LET s = N1 * N2

960           IF o$ = "/" THEN LET s = N1 / N2

970       'Imprime problema.

980           PRINT : PRINT "PROBLEMA"; P

990           PRINT : PRINT "  "; N1; o$; N2; "=";

1000      'Entra respuesta.

1010          INPUT r$

1020          IF r$ = " " OR r$ = "" THEN GOTO 970

1030          LET r = VAL(r$)

1040          PRINT

1050      'Compara respuesta con soluci¢n correcta.

1060         IF r = s THEN PRINT "CORRECTO"

1070         IF r = s THEN LET c = c + 1

1080         IF r <> s THEN PRINT "INCORRECTO, EL RESULTADO ES "; s

1090         GOTO 850

1100   'Fin repite problema.

1110 'Fin resuelve problema.

 

     ...secci¢n  del  programa.  OBSERVA COMO  LAS  SUB-SECCIONES

SIMPLIFICAN LA LECTURA DE TODA LA SECCION.   Nota c¢mo las l¡neas

adonde  el  enunciado GOTO hace saltar la ejecuci¢n del  programa

comienzan  con  un enunciado REM (')  que explica  la  raz¢n  del

salto.  ­ESTO ES MUY IMPORTATE!   En la pr¢xima lecci¢n ver s por

qu‚".   Y  descubrir s, tambi‚n,  c¢mo esta secci¢n contiene a su

vez otras estructuras que encontrar s en casi todos los programas

Basic. 

                     

     Ahora,   te  daremos el listado del programa  de  aritm‚tica

completo.  Dig¡talo y ejec£talo.  Est£dialo cuidadosamente.  Mira

c¢mo  est     estructurado.   Cu n f cil se hace  leerlo.    Cu n

gratificante y seguro (sin ninguna interrupci¢n repentina)  es su

ejecuci¢n.

 

    


 

ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿

³ QB210          MEJORANDO EL PROGRAMA DE ARITMETICA          6 ³

ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ

 

 

     Pero,  a  pesar de lo dicho,  te sorprender s si te digo que

­ESTE  PROGRAMA NECESITA MEJORARSE MAS TODAVIA!   En  la  pr¢xima

lecci¢n ver s que esto es muy cierto.  ­Hasta luego!

 

100 'Programa de Aritm‚tica

110 '----------------------

120    CLS

130    PRINT "PROGRAMA DE ARITMETICA"

140    PRINT "Un programa Basic"

150    PRINT "escrito por Rey Rios"

160    PRINT

170    INPUT "Presiona ENTER para continuar. ", e$

180 'Fin de la presentacion.

190 '

200 'Imprime instrucciones

210 '---------------------

220    CLS

230    PRINT "Instrucciones:"

240    PRINT "-------------"

250    PRINT

260    PRINT "  Se te presentar n 10 problemas de aritm‚ticas."

270    PRINT "  Despu‚s de contestarlos todos"

280    PRINT "  se te mostrar  la puntuaci¢n total"

290    PRINT "  de los problemas que contestaste correctamente."

300    PRINT

310    INPUT "Presiona ENTER para continuar. ", e$

320 'Fin de las instructiciones.

330 '

340 'Selecciona operacion

350 '--------------------

360   CLS

370   PRINT "OPERACIONES:"

380   PRINT

390   PRINT "  +   SUMA"

400   PRINT "  -   RESTA"

410   PRINT "  x   MULTIPLICACION"

420   PRINT "  /   DIVISION"

430   PRINT

440   INPUT "SELECCIONA OPERACTION: +, -, x, / ", o$

450     IF o$ = "X" THEN LET o$ = "x"

460     IF o$ = "+" OR o$ = "-" OR o$ = "x" OR o$ = "X" OR o$ = "/" THEN GOTO 520

470        'Selecci¢n rechazada.

480            PRINT : PRINT "POR FAVOR, SELECCIONA POR SIMBOLO."

490            PRINT

500            INPUT "Presiona ENTER para tratar de nuevo. ", e$

510            GOTO 340

520        'Selecci¢n aceptada.

530            GOTO 540   'Selecciona grado de dificultad.

540 'Fin de selecciona operaci¢n.


 

ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿

³ QB210          MEJORANDO EL PROGRAMA DE ARITMETICA          7 ³

ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ

 

 

550 '

560 'Selecciona grado de dificultad

570 '------------------------------

580   CLS

590   PRINT "SELECCIONA GRADO DE DIFICULTAD:"

600   PRINT

610   PRINT "  1  ELEMENTAL"

620   PRINT "  2  INTERMEDIO"

630   PRINT "  3  AVANZADO"

640   PRINT

650   INPUT "SELECCIONA POR NUMERO ", d$

660   LET d = VAL(d$)

670   IF d >= 1 AND d <= 3 THEN GOTO 730

680      'Selecci¢n rechazada.

690          PRINT : PRINT "POR FAVOR, DIGITA 1, 2, ¢ 3."; ""

700          PRINT

710          INPUT "Presiona ENTER para tratar de nuevo. ", e$

720          GOTO 560

730      'Selecci¢n aceptada.

740          GOTO 770          'Inicializa variables.

750 'Fin de selecci¢n.

760 '

770 'Inicializa variables

780 '--------------------

790    LET Q = 0: c = 0: P = 0

800 'Fin de inicializaci¢n.

810         '

820 'Resuelve problema

830 '-----------------

840 CLS

850   'Repite problema.

860       LET P = P + 1

870       IF P = 11 THEN GOTO 1100

880       'Genera n£mero al azar.

890           RANDOMIZE TIMER

900           LET N1 = INT(RND * 10 ^ d) + 1

910           LET N2 = INT(RND * 10 ^ d) + 1

920       'Selecciona expresi¢n de aritm‚tica.

930           IF o$ = "+" THEN LET s = N1 + N2

940           IF o$ = "-" THEN LET s = N1 - N2

950           IF o$ = "x" OR o$ = "X" THEN LET s = N1 * N2

960           IF o$ = "/" THEN LET s = N1 / N2

970       'Imprime problema.

980           PRINT : PRINT "PROBLEMA"; P

990           PRINT : PRINT "  "; N1; o$; N2; "=";

1000      'Entra respuesta.

1010          INPUT r$

1020          IF r$ = " " OR r$ = "" THEN GOTO 970

1030          LET r = VAL(r$)


 

ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿

³ QB210          MEJORANDO EL PROGRAMA DE ARITMETICA          8 ³

ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ

 

 

1040          PRINT

1050      'Compara respuesta con soluci¢n correcta.

1060         IF r = s THEN PRINT "CORRECTO"

1070         IF r = s THEN LET c = c + 1

1080         IF r <> s THEN PRINT "INCORRECTO, EL RESULTADO ES "; s

1090         GOTO 850

1100  'Fin repite problema.

1110 'Fin resuelve problema.

1120 '

1130 'Imprime puntuaci¢n final

1140 '------------------------

1150    LET P = P - 1

1160    PRINT

1170    PRINT "PUNTUACION FINAL : "; c; " CONTESTACIONES CORRECTAS DE "; 10

1180 'Fin imprime puntuaci¢nb final.

1190 '

1200 'Repite programa

1210 '---------------

1220    PRINT : PRINT

1230    PRINT "QUIERES REPETIR EL PROGRAMA(S/N)";

1240    INPUT r$

1250    IF r$ = "S" OR r$ = "s" THEN GOTO 1280

1260    IF r$ = "N" OR r$ = "n" THEN GOTO 1300

1270    GOTO 1200

1280       'Repite programa.

1290           GOTO 100  'Presenta programa.

1300       'Deja programa.

1310           GOTO 1350   'Imprime mensaje de despedida.

1320    GOTO 1200

1330 'Fin repite programa.

1340         '

1350 'Imprime mensaje de despedida

1360 '----------------------------

1370    CLS

1380    PRINT "EL PROGRAMA SE TERMINO"

1390    PRINT

1400    PRINT "­HASTA LUEGO!"

1410 'Fin del mensaje.

1420 END

 

 

 

Arriba     Contenido