'
'  © JM. :: Hecho en Ronda
'
'
'  Procedente de...        es.geocities.com/jm00092
'
'______________________________________________________________________
'                                                         MONOSACARIDOS
DECLARE SUB barra ()
DECLARE FUNCTION Nombre$ (codigo$)
DECLARE FUNCTION formacodigo$ ()

SCREEN 0
RANDOMIZE TIMER

PALETTE 3, 63
PALETTE 6, 14
PALETTE 4, 36

DO

   COLOR 3, 3: CLS
   LOCATE 1, 1: COLOR 15, 1: PRINT "           PROGRAMA PARA BIOLOG¡A     RECONOCIMIENTO DE MONOSAC RIDOS           "
   COLOR 0, 3: LOCATE 4

   codigo$ = formacodigo$

   SELECT CASE MID$(codigo$, 1, 1)
      CASE "A": PRINT "         CHO": barra
      CASE "C": PRINT "         CHýOH": barra: PRINT "         CÍÍO": barra
   END SELECT

   FOR n = 2 TO 6
      SELECT CASE MID$(codigo$, n, 1)
         CASE "D": PRINT "        HCOH": barra
         CASE "L": PRINT "       HOCH": barra
         CASE "": PRINT "         CHýOH": EXIT FOR
      END SELECT
   NEXT
   COLOR 15, 7: LOCATE 23, 3: PRINT "    C¢digo del programa: "; codigo$, ,
   COLOR 15, 4: LOCATE 24, 3: PRINT , , , ,
   LOCATE 24, 3: PRINT "    Nombre del monosac rido: "; Nombre$(codigo$);

   DO
      KBD$ = INKEY$
   LOOP WHILE KBD$ = ""

LOOP WHILE KBD$ <> CHR$(27)

'
'  © JM. :: Hecho en Ronda
'
'
'  Procedente de...    www.jm-web.tk     ::    es.geocities.com/jm00092
'
'______________________________________________________________________
'             
SUB barra
PRINT "         ³"
END SUB

'
'  © JM. :: Hecho en Ronda
'
'
'  Procedente de...    www.jm-web.tk     ::    es.geocities.com/jm00092
'
'______________________________________________________________________
'             
FUNCTION formacodigo$

cad$ = ""
m = INT(RND * 2)
IF m = 0 THEN : cad$ = "A":  ELSE : cad$ = "C"

n = INT(RND * 4) + 1
IF n = 5 THEN : n = 4
n = n - m

FOR r = 1 TO n
   dir = INT(RND * 2)
   IF dir = 0 THEN : cad$ = cad$ + "D":  ELSE : cad$ = cad$ + "L"
NEXT

formacodigo$ = cad$

END FUNCTION

FUNCTION Nombre$ (codigo$)
nom$ = ""
SELECT CASE codigo$
CASE "C": nom$ = "DIHIDROXIACETONA"
CASE "CL": nom$ = "ERITRULOSA"
CASE "CD": nom$ = "ERITRULOSA"
CASE "CDD": nom$ = "RIBULOSA"
CASE "CLL": nom$ = "RIBULOSA"
CASE "CDL": nom$ = "XILULOSA"
CASE "CLD": nom$ = "XILULOSA"
CASE "CDDD": nom$ = "SICOSA"
CASE "CLLL": nom$ = "SICOSA"
CASE "CLDD": nom$ = "FRUCTOSA"
CASE "CDLL": nom$ = "FRUCTOSA"
CASE "CDLD": nom$ = "SORBOSA"
CASE "CLDL": nom$ = "SORBOSA"
CASE "CLLD": nom$ = "TAGATOSA"
CASE "CDDL": nom$ = "TAGATOSA"


CASE "AD": nom$ = "GLICERALDEHIDO"
CASE "AL": nom$ = "GLICERALDEHIDO"
CASE "ADD": nom$ = "ERITROSA"
CASE "ALL": nom$ = "ERITROSA"
CASE "ALD": nom$ = "TREOSA"
CASE "ADL": nom$ = "TREOSA"
CASE "ADDD": nom$ = "RIBOSA"
CASE "ALLL": nom$ = "RIBOSA"
CASE "ALDD": nom$ = "ARABINOSA"
CASE "ADLL": nom$ = "ARABINOSA"
CASE "ADLD": nom$ = "XILOSA"
CASE "ALDL": nom$ = "XILOSA"
CASE "ALLD": nom$ = "LIXOSA"
CASE "ADDL": nom$ = "LIXOSA"

CASE "ADDDD": nom$ = "ALOSA"
CASE "ALLLL": nom$ = "ALOSA"
CASE "ALDDD": nom$ = "ALTROSA"
CASE "ADLLL": nom$ = "ALTROSA"
CASE "ADLDD": nom$ = "GLUCOSA"
CASE "ALDLL": nom$ = "GLUCOSA"
CASE "ALLDD": nom$ = "MANOSA"
CASE "ADDLL": nom$ = "MANOSA"
CASE "ADDLD": nom$ = "GULOSA"
CASE "ALLDL": nom$ = "GULOSA"
CASE "ALDLD": nom$ = "ILOSA"
CASE "ADLDL": nom$ = "ILOSA"
CASE "ADLLD": nom$ = "GALACTOSA"
CASE "ALDDL": nom$ = "GALACTOSA"
CASE "ADDDL": nom$ = "TALOSA"
CASE "ALLLD": nom$ = "TALOSA"
END SELECT

SELECT CASE RIGHT$(codigo$, 1)
CASE "D": nom$ = "D-" + nom$
CASE "L": nom$ = "L-" + nom$
END SELECT

Nombre$ = nom$

IF nom$ = "" THEN : Nombre = "NO SE ENCUENTRA": BEEP

END FUNCTION

