CvdB

    programa en Basic para el juego de los dos baldes

    APENDICE.

    10. REM JUEGO DE LOS DOS BALDES
    15. REM INICIALIZACION
    20, CLEAR
    25. DIM X(30), XX(30),Y(35),P(7),R(7),Z(30):REM X y XX son abiertas, Y es cerrada y Z es auxiliar
    30, INPUT "VOL.CHICO (p.ej.3)", C
    35, INPUT "VOL.GRANDE (p.ej.4)", G
    40, IF G< C then print "ERROR EN VALORES"
    45. INPUT "SUMANDO (p.ej. 1)", K
    50. IF K >=C-1 THEN GOSUB 5400
    55. GOL=G-C+K: AB=1: REM AB es largo de abierta,
    57, PAUSE "GOL", GOL
    60. POR N=O TO 35:REM Ciclos
    65. REM Cuerpo Pasaje de lista
    70. J=1: PR= XX(J)
    74. POR K=1 TO 1+INT (.8*N)
    75. POR I=1 TO CE: REM CE es largo de cerrada
    80, IF INT PR = INT Y(I) THEN LET J=J+1
    85. IF INT PR = INT Y(I) THEN LET PR XX(J)
    90. NEXT I: NEXT K
    95. POR I=1 TO AB-1: Z(I) = XX(J+I): NEXT 1: REM Corrida por salida de PR
    97. POR I=AB TO AB+5:Z(I)=O:XX(I)=O:NEXT I
    100. POR I=1 TO AB:XX(I)=Z(I):NEXT I
    105, DJ=INT PR:DK=PR*10- INT(PR*10)
    114. PAUSE "PR=",PR 116. CE=CE+1: Y(CE)=PR: REM Incorporaci�n del preferido a cerrada
    120. REM Operadores
    125. REM Exito
    130. IF INT PR=GOL THEN GOTO 900
    135. A9=PR-INT PR: A8 = A9*10^DI
    140. IF A8 - INT A8> 0
    THEN LET DI = DI+l
    145, A = INT (PR/10): B = INT PR- 1O*A
    150. GOSUB 5500
    160. GOSUB 5600
    170. GOSUB 5700
    180. GOSUB 5800
    190, GOSUB 5900
    200. GOSUB 6000
    210. REM Ingreso a abierta
    220, J=O
    230. FOR I= AB TO AB+6: J=J+l:XX(I)=R(J):NEXT I
    240. AB=AB+6 250. REM Muerte duplicados de abierta y de privilegiado
    260. FOR I=1 TO AB: Z(I)=XX(I):NEXT I
    280, FOR I=1 TO AB
    290. FOR J=1 TO AB
    300. IF I=J THEN GOTO 340
    310. IF XX(I)=0 THEN GOTO 390
    320. IF INT XX(J) = INT PR THEN LET XX(J)=0
    330, IF INT XX(J)=INT Z(I) THEN LET XX(J)=0
    340. NEXT J
    350. NEXT I
    360. L=0: FOR I=1 TO AB 3709 IF XX(I)=Z(I) THEN LET L=L+1
    380. IF XX(I)=Z(I) THEN LET X(L)=XX(I)
    390, IF XX(I)=Z(I) THEN LET XX(L)=X(L)
    400, NEXT I
    410. AB=L
    420, REM Fracaso
    430. A7=N+PR-INT PR: IF A7 <3 THEN GOTO 460
    440. IF A7- INT A7> 0 THEN GOTO 460. PRINT "Fracaso":GOTO 410
    460. NEXT N 470. END
    500. PAUSE "Exito con". PR
    510, PAUSE "Trayecto=", PRINT PR
    520. PAUSE "Numero nodos revisados=",CE
    540. GOTO 15
    3400. PAUSE "Achicar sumando, valor grande"
    5410. RETURN
    5500, REM Operador 1
    5510. H=1:P(H)=(A*1)*10
    5520. GOSUB 6100
    5530. RETURN
    5600, REM Operador 2
    5610, H=2:P(H)=B*1 + (A*O)*10
    5620. GOSUB 6100 5630. RETURN 5700, REM Operador 3
    5710, H=3:
    5720. IF A+B > G THEN GOTO 57 50 5730. P(H)=(A+B)*10
    5740. GOTO 5770 5750. AU=(G-A)/B
    5760. PM=(A+B*AU)*10+(1-AU)*B
    5770. GOSUB 6100
    5780. RETURN
    5800. REM Operador 4
    5810. H= 4
    5820. IF A=0 THEN GOTO 5850
    5830, AU=A+B-C:AU=AU/A
    5835. IF AU 5840,P(H)=A*AU*1O+A*(1-AU)+B*1
    5845. GOTO 5875
    5850. P(H)=INT PR
    5860. GOTO 5875 5870. P(H)=A+B
    5875. GOSUB 61oo 5880. RETURN
    5900. REM Operador 5
    5910. H=5: P(H)= A*10 + C
    5920. GOSUB 6100
    5930. RETURN
    6000, REM Operador 6
    6010. H=6: P(H)= G*10+B*1
    6020. GOSUB 6100
    6030. RETURN
    6100. REM ESTADO + TRAYECTO
    6110, BC=10
    6130. R(H)=(P(H)*10^DI+H/BC)/(10^DI)+A9:RETURN

    PRIMER EJEMPLO DE APLICACION C = 39 G m 4, Sumando = 1 GOL es 6 2 (2L en chico)

    El primer PR os 0, significa estado inicial 0 0

    El segundo es 3.5 que significa mediante el operador 5 se obtiene el estado 0 3

    El tercero es 40.6 (con el operador 6 se logra el estado 4 0 (4 L en grande))

    El cuarto es 30.53 (significa primero aplicar el operador 5 Y luego el 3 .0 sea primero llenar el chico y luego pasar del chico al grande, resultando 3 0 que implica 3 L en el grande)

    El quinto es 43.56 (significa llenar ambos baldes, resultando ambos baldes llenos

    El sexto es 13.64 (significa llenar el grande y transferir de grande a chico, quedando 1 L en grande y 3 L en chico, o sea estado 13 y trayectoria 64.

    El s�ptimo es 33.535 (hay que usar tres operadores sucesivamente, los dos primeros coinciden con el cuarto y el �ltimo repite el llenado del chico, el resultado son 3 L en cada balde , de all� 33)

    El octavo es 10.641 (o sea con la trayectoria 641, sucesora del sexto PR, se llega al estado 1 0 , o sea un litro en el grande)

    El noveno es 42.5353 (con la trayectoria 5353 se llega al estado 42)

    El d�cimo es 1.6414,

    El final (�xito) es 2.53532 (se obtiene el GOL = 02 repitiendo dos veces las operaciones del cuarto y luego vaciando el grande)

    Queda claro que los sucesivos estados son 00, 03, 30, 33, 42 y gol.

    SEGUNDO EJEMPLO DE APLICACION

    C = 8, G = 9, Sumando = 5, GOL es 06 (6 L en chico)

    El primer PR es 0; significa estado inicial 0 0

    Luego 8,5 (con el operador 5 se llega al estado 8 L en chico, 0 8)

    Luego 90.6 (con el operador 6 es llega a 9 L en grande 9 0)

    Luego 80.53 (cm los dos operadores secuenciales 5 v 3 es llega a estado 8 0)

    Luego 98,56 (llenando ambos baldes, ambos quedan llenos en el estado 9 8)

    Luego 18.64 (se llena el grande y se transfiere al chico a ras, quedan 1 8)

    Luego 88,535 (oon la secuencia 535 se logra el estado 8 8 9 8 L en cada uno)

    Luego 10.641 (con la secuenoia 641 se logra el estado 1 0 y 1 L en grande)

    Luego 97,5353 (se repito dos veces la secuencia 53 de operadores)

    Luego 1.6414

    Luego 7.53532 (al oaso anterior es sigue drenando el grande, tenemos 7 L en chico

    Luego 70.535323 (al caso anterior, ahora se transfiere de chico a grande)

    Luego 78,5353235

    Luego 96,53532353

    Finalmente 6.535323532 que es gol. La rutina exitosa es empezar con operador 5 y luego repetir dos veces la secuencia 3532. Buen �xito.

    TERCER EJEMPLO DE APLICACION, con C= 6 G=9 Sumando = 2; GOL=05 El primer PR es como siempre 0 0 El segundo es 6.5; el tercero es 90,6; el cuarto es 60.53; el quinto es 96,56; el sexto es 36.64; el s�ptimo 66,535; el octavo 30.641; el noveno 93.5353; el d�cimo 3.6414 . Fracaso (no hay novedades en la lista abierta

    • a

    • a

    13.may.2001

    Pulsar tecla de vuelta

    Vuelta a Portada


    Glosario de Bioingenier�a del Conocimiento - Carlos von der Becke.

    Hosted by www.Geocities.ws

    1