ON ERROR GOTO 10 DIM f AS DOUBLE, y AS DOUBLE, x AS DOUBLE, paso AS DOUBLE, j AS DOUBLE, yaux AS DOUBLE, yaux2 AS DOUBLE, yaux3 AS DOUBLE CLS SCREEN 12 f = 1 l = 1 yy = 1: y = 2 REM ***************** colores ******************* c1 = 8: c2 = 3: c3 = 12: c4 = 15 REM *********************** coef sirve para ampliar la imagen ************** coef = 20 REM *** paso sirve para la precison/velocidad ***************************** REM *********** ejemplo: paso=1 ->rapido; paso=0.05->preciso **** paso = .2 FOR n = 0 TO 320 / coef: LINE (n * coef + 320, 0)-(n * coef + 320, 479), c1: LINE (-n * coef + 320, 0)-(-n * coef + 320, 479), c1: NEXT FOR n = 0 TO 240 / coef: LINE (0, n * coef + 240)-(639, n * coef + 240), c1: LINE (0, -n * coef + 240)-(639, -n * coef + 240), c1: NEXT LINE (0, 240)-(639, 240), c2 LINE (320, 0)-(320, 479), c2 pi = 3.14159265# coeficiente = (8 - 4 * pi) / (pi * pi * pi) 5 f = f + paso: IF ABS(f - INT(f)) < .02 THEN f = INT(f) IF f >= 640 THEN a$ = INPUT$(1): END x = (f - 320) / coef dy = (y - yy) / (paso / coef) yy = y REM ************************* aqui va la funcion y=x... ******************** 'y = 1 / (x - 1) 'y = (TAN(x)) ^ SIN(x) 'y = LOG(x - 1) 'y = INT((x / ABS(x)) + .5) * 2 / ((1 - ABS(x)) ^ 3) 'r0 = 10 'r1 = 20 ' y = 10 / (1 + r0 * ((r1 + x) / (r1 * x))) 'y = x 'y = x * x 'y = 4 / 3.14159265# / 3.14159265# * x * (3.14159265# - x) 'y = x * (coeficiente * x * x + 1) 'y = x + (4 - 2 * pi) / pi / pi * x * x - 2 / pi / pi * x * x * (x - pi / 2) - 4 / pi / pi / pi * x * x * (x - pi / 2) * (x - pi) 'y = x + (4 / pi / pi - 2 / pi) * x * x - 2 * (8 - 2 * pi) / pi / pi / pi * x * x * (x - pi / 2) j = x' + 3.14159265358979# 'Aqui va el desarrollo hasta n=31, hay 15 terminos de la serie! yaux3 = (1 + j * j / 506 * (-1 + j * j / 600 * (1 + j * j / 702 * (-1 + j * j / 812 * (1 + j * j / 930))))) yaux2 = (-1 + j * j / 272 * (1 + j * j / 342 * (-1 + j * j / 420 * yaux3))) yaux = (1 + j * j / 110 * (-1 + j * j / 156 * (1 + j * j / 210 * yaux2))) y = j * (1 + j * j / 6 * (-1 + j * j / 20 * (1 + j * j / 42 * (-1 + j * j / 72 * yaux)))) IF y < .01 AND y > -.01 AND ABS(x - pi) < 1 THEN PRINT "PI aprox. = "; x 'PRINT 3.14159265358979# + y 'END IF ABS(dy * coef < 240) THEN PSET (f, 240 - (dy * coef)), 4 IF (ABS(y * coef) < 240) THEN PSET (f, 240 - (y * coef)), c4 GOTO 5 REM ****** si hay division por 0, etc dibuja la asintota **************** 10 kk = k: k = INT(f): IF k = kk THEN GOTO 11: ELSE l = -l: IF l = 1 THEN LINE (k, 0)-(k, 479), c3, , &H5555: ELSE LINE (k, 1)-(k, 479), c3, , &H5555 'PRINT ERL 11 RESUME 5