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

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

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

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

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

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

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

º ºÊºººººººº ºº   ¹  º        PROGRAMACION ESTRUCTURADA         º      

º Ê Êȼʼȼȼȼ  ȼ  º                                          º      

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

º                                                               º

º                 EN ESTA LECCION APRENDERAS...                 º      

º                                                               º      

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

º  ³                                                         ³  º

º  ³  þ  A escribir nuevamente el programa                   ³  º

º  ³     de Aritm‚tica pero traucido al QBasic .......  2-9  ³  º

º  ³                                                         ³  º

º  ³                                                         ³  º

º  ³                                                         ³  º

º  ³                                                         ³  º

º  ³                                                         ³  º

º  ³                                                         ³  º

º  ³                                                         ³  º

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

º                                                               º

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

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

º ººÌ¹º Ì º    ¹ººÈ» º    PROGRAMACION DESCENDENTE PARTE III    º      

º ȹʼȼȼȼ  ȼȼȼ º                                          º      

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


 

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

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

º ººÌ¹º Ì º    ¹ººÈ» º    PROGRAMACION DESCENDENTE PARTE III    º      

º ȹʼȼȼȼ  ȼȼȼ º                                          º      

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

 

 

     En  esta  lecci¢n  te  daremos  nuevamente  el  programa  de

aritm‚tica que hicimos en las lecciones 209  y 210 pero traducido

al QBasic.  Estudia todos y cada uno de sus procedimientos.  Este

programa  lo  empezamos primero,  claro est ,   con  el siguiente

algoritmo: 

 

     PresentaPrograma

     Instrucciones

     EscogeOperacion

     EscogeDificultad

     ResuelveProblema

     ImprimePuntuacion

     RepitePrograma

     DejaPrograma

 

     Como aprendiste en la lecci¢n anterior, sabes que lo primero

que  tienes  que  hacer  es  usar el  algoritmo  de  arriba  para

construir la RUTINA PRINCIPAL del programa.   Recuerda que  antes

de  escribir dicha rutina debes darle nombre al programa  con  la

selecci¢n Save as... del FILE MENU. 

    

     Recuerda,  tambi‚n,   que te aconsej‚  que  escribieras  los

nombres de  los  procedimientos en la RUTINA PRINCIPAL dentro  de

enunciados REMs en forma de comillas,  con la intenci¢n de que no

se  ejecuten por el  momento.   Despu‚s  que vayas  llenando  los

mismos, uno a uno, le vas quitando las comillas (') REMs, de modo

que puedas ejecutarlos y as¡ ver c¢mo funcionan.

    

     La que sigue es la RUTINA PRINCIPAL...

 

'PROGRAMA DE ARITMETICA

'----------------------

CLS

   'PresentaPrograma

   'Instrucciones

   'EscogeOperacion

   'EscogeDificultad

   'ResuelveProblema

   'ImprimePuntuacion

   'RepitePrograma

   'DejaPrograma

END 'programa.

 

 

 

 

 


 

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

³ QB305         PROGRAMACION DESCENDENTE PARTE III            3 ³

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

 

 

     Despu‚s  de haber escrito la misma,  procedes a llenar  cada

procedimiento,  pero s¢lo con un mensaje que diga lo que el mismo

hace, usando sentencias PRINT.

 

      He  aqu¡  como  queda el programa  despu‚s  de  llenar  los

procedimientos con las sentencias mencionadas...

 

DECLARE SUB ImprimePuntuacion ()

DECLARE SUB RepitePrograma ()

DECLARE SUB DejaPrograma ()

DECLARE SUB EscogeOperacion ()

DECLARE SUB EscogeDificultad ()

DECLARE SUB ResuelveProblema ()

DECLARE SUB Instrucciones ()

DECLARE SUB PresentaPrograma ()

'

'PROGRAMA DE ARITMETICA

'----------------------

CLS

   PresentaPrograma

   Instrucciones

   EscogeOperacion

   EscogeDificultad

   ResuelveProblema

   ImprimePuntuacion

   RepitePrograma

   DejaPrograma

END 'programa.

 

SUB DejaPrograma

'---------------

   PRINT "DEJA PROGRAMA"

END SUB

 

SUB EscogeDificultad

'-------------------

   PRINT "ESCOGE DIFICULTAD"

END SUB

 

SUB EscogeOperacion

'------------------

   PRINT "ESCOGE OPERACION DE ARITMETICA"

END SUB

 

SUB ImprimePuntuacion

'--------------------

   PRINT "IMPRIME PUNTACION"

END SUB

 


 

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

³ QB305         PROGRAMACION DESCENDENTE PARTE III            4 ³

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

 

 

SUB Instrucciones

'----------------

   PRINT "IMPRIME INSTRUCCIONES"

END SUB

 

SUB PresentaPrograma

'-------------------

   PRINT "PRESENTA PROGRAMA"

END SUB

 

SUB RepitePrograma

'-----------------

   PRINT "REPITE PROGRAMA"

END SUB

 

SUB ResuelveProblema

'-------------------

   PRINT "RESUELVE PROBLEMA"

END SUB

 

     Una vez que  llenas todos  los  procedimientos,  ejecutas el

programa para ver si este trabaja bien.   Para que  esto  ocurra,

todos  los  mensajes de cada procedimeinto deben desplegarse  uno

detr s  del  otro.    Una  vez  que  hayas  probado  tu  programa

esquem tico,   procedes  a  llenar  cada  procedimiento  con  las

instruccionaes Basic necesarias.

    

     He  aqu¡ todo el programa ya llenado.   Si quieres llena los

procedimientos  usando estas o usando instrucciones tuyas.  Pero,

recuerda,   que  no  importa como los llenes,   el programa  debe

producir lo que se pide en ellos.

    

     Observa,  tambi‚n las variables compartidas.   Recuerda  que

‚stas van surgiendo a medida que llenas cada subrutina.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 


 

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

³ QB305         PROGRAMACION DESCENDENTE PARTE III            5 ³

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

 

 

DECLARE SUB RepitePrograma ()

DECLARE SUB EvaluaRespuesta ()

DECLARE SUB EntraRespuesta ()

DECLARE SUB CreaProblema ()

DECLARE SUB ImprimePuntuacion ()

DECLARE SUB DejaPrograma ()

DECLARE SUB EscogeOperacion ()

DECLARE SUB EscogeDificultad ()

DECLARE SUB ResuelveProblema ()

DECLARE SUB Instrucciones ()

DECLARE SUB PresentaPrograma ()

'

'Shared variables.

  DIM SHARED n1

  DIM SHARED n2

  DIM SHARED d

  DIM SHARED s$

  DIM SHARED respuesta$

  DIM SHARED contestacion

  DIM SHARED solucion

  DIM SHARED correcto

  DIM SHARED problema

'

'PROGRAMA DE ARITMETICA

'----------------------

CLS

   PresentaPrograma

   Instrucciones

   EscogeOperacion

   EscogeDificultad

   ResuelveProblema

   ImprimePuntuacion

   RepitePrograma

   DejaPrograma

END 'programa.

 

SUB CreaProblema

'---------------

 'Genera numeros.

    RANDOMIZE TIMER

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

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

 'Crea expression de aritmetica.

    IF s$ = "+" THEN LET solucion = n1 + n2

    IF s$ = "-" THEN

       'Evita numero negativo

          IF n2 > n1 THEN CreaProblema

            LET solucion = n1 - n2

          END IF


 

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

³ QB305         PROGRAMACION DESCENDENTE PARTE III            6 ³

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

 

 

       'Fin Evita.

   IF s$ = "x" THEN LET solucion = n1 * n2

   IF s$ = "/" THEN LET solucion = n1 / n2

END SUB

 

SUB DejaPrograma

'---------------

 CLS

 PRINT : PRINT : PRINT

 PRINT "                    ESTE PROGRAMA SE ACABO"

 PRINT

 PRINT "                 ESPERO QUE TE HAYAS DIVERTIDO"

 PRINT

 PRINT "                        ­HASTA PRONTO!"

END SUB

 

SUB EntraRespuesta

'----------------

 'Despliega Problema.

    LOCATE 4, 1: PRINT "PROBLEMA"; problema

    LOCATE 6, 3: PRINT "                                       "

    LOCATE 6, 3: PRINT n1; s$; n2; "=";

 'Entra respuesta.

    INPUT respuesta$

    LET contestacion = VAL(respuesta$)

END SUB

 

SUB EscogeDificultad

'-------------------

 CLS

 PRINT "SELECCIONA GRADO DE DIFICULTAD:"

 PRINT

 PRINT "   1  ELEMENTAL"

 PRINT "   2  INTERMEDIO"

 PRINT "   3  AVANZADO"

 PRINT

 INPUT "SELECCIONA POR NUMERO ", d$

 LET d = VAL(d$)

  IF d$ <> "1" AND d$ <> "2" AND d$ <> "3" THEN

    'Rechaza seleccion.

       PRINT

       PRINT "POR FAVOR, DIGITA 1, 2 ¢ 3."

       PRINT

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

     EscogeDificultad 'otra vez.

  END IF

END SUB

 

 


 

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

³ QB305         PROGRAMACION DESCENDENTE PARTE III            7 ³

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

 

 

SUB EscogeOperacion

'------------------

 CLS

 PRINT "SELECCIONA UNA OPERACION:"

 PRINT

 PRINT "  +  SUMA"

 PRINT "  -  RESTA"

 PRINT "  x  MULTIPLICACION"

 PRINT "  /  DIVISION"

 PRINT

 INPUT "SELECCIONA SIMBOLO. ", s$

   IF s$ = "X" THEN LET s$ = "x"

   IF s$ <> "+" AND s$ <> "-" AND s$ <> "x" AND s$ <> "/" THEN

     'Rechaza seleccion.

       PRINT

       PRINT "POR FAVOR, SELECCIONA POR SYMBOLO."

       PRINT

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

     EscogeOperacion 'de nuevo.

   END IF

END SUB

 

SUB EvaluaRespuesta

'------------------

 IF contestacion = solucion THEN

   PRINT

   PRINT "CORRECTO"

   LET correcto = correcto + 1

   LOCATE 2, 40: PRINT "PUNTUACION:"; correcto; "correctas de"; 10

   LOCATE 10, 1

     PRINT "Presiona ENTER para continuar";

     INPUT e$

 END IF

 

 IF contestacion <> solucion THEN

   PRINT

   PRINT "INCORRECTO, la solucion es"; solucion

   LOCATE 10, 1

     PRINT "Presiona ENTER para continuar";

     INPUT e$

 END IF

END SUB

 

SUB ImprimePuntuacion

'-------------------

 CLS

 PRINT "PUNTUACION FINAL"

 PRINT "----------------"

 PRINT


 

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

³ QB305         PROGRAMACION DESCENDENTE PARTE III            8 ³

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

 

 

 PRINT "   PUNTUACION:"; correcto; "correctas de"; 10

 

 IF correcto > 7 THEN

   PRINT

   PRINT "   ­TE FELICITO, TIENES UNA EXCELENTE PUNTUACION!"

   PRINT

   PRINT "   TRATA OTRO GRADO DE DIFICULTAD"

 END IF

 

 IF correcto <= 7 THEN

   PRINT

   PRINT "   TIENES QUE PRACTICAR MAS"

 END IF

 

 PRINT

 INPUT "Presiona ENTER para continuar", e$

END SUB

 

SUB Instrucciones

'----------------

CLS

  PRINT "PROGRAMA DE ARITMETICA"

  PRINT

  PRINT "Instrucciones:"

  PRINT "-------------"

  PRINT

  PRINT "   La computadora te pedir  que selecciones"

  PRINT "   una de las siguientes operaciones de aritm‚tica:"

  PRINT "   suma, resta, multiplicaci¢n y divisi¢n."

  PRINT

  PRINT "   Luego, te pedir  que selecciones"

  PRINT "   el gado de dificultad. "

  PRINT

  PRINT "   Inmediatamente despu‚s te presentar "

  PRINT "   diez problemas de aritm‚tica"

  PRINT "   de acuerdo con la operaci¢n y el grado"

  PRINT "   de dificultad escogido por t¡."

  PRINT

  PRINT "   Despu‚s de haber resuelto todos los problemas"

  PRINT "   ver s tu puntuaci¢n final."

  PRINT

  PRINT "  ­ Q U E   T E N G A S   B U E N A  S U E R T E!"

  PRINT

  INPUT "   Presiona ENTER para continur"; e$

END SUB

 

 

 

 


 

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

³ QB305         PROGRAMACION DESCENDENTE PARTE III            9 ³

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

 

 

SUB PresentaPrograma

'-------------------

  CLS

  PRINT : PRINT : PRINT : PRINT

  PRINT "                             ACV2'S SOFTWARE"

  PRINT

  PRINT "                                Presenta"

  PRINT

  PRINT "                         PROGRAMA DE ARITMETICA"

  PRINT

  PRINT "                            Programa QBasic"

  PRINT

  PRINT "                   Escrito por Reynaldo Acevedo Rios"

  PRINT

  PRINT

  INPUT "                    Presiona ENTER para continuar"; e$

END SUB

 

SUB RepitePrograma

'-------------------

 LOCATE 12, 1: PRINT "                                              "

 LOCATE 12, 1: PRINT "QUIERES TRATAR OTROS 10 PROBLEMAS (S/N)";

  INPUT R$

    IF R$ = "S" OR R$ = "s" THEN

      RUN 'programa de nuevo.

      ELSEIF R$ <> "S" AND R$ <> "s" AND R$ <> "N" AND R$ <> "n" THEN

        CALL RepitePrograma 'otra vez.

      ELSE

    END IF

END SUB

 

SUB ResuelveProblema

'-------------------

 CLS

   LOCATE 2, 40: PRINT "PUNTUACION:"; correcto; "correctas de"; 10

   LET problema = problema + 1

      CreaProblema

      EntraRespuesta

      EvaluaRespuesta

   IF problema <> 10 THEN

      ResuelveProblema

   ELSE

      'Deja deja Resuelveproblema.

   END IF

END SUB

 

 

Arriba     Contenido