1 Indica que hay que limpiar una página para cada gráfica.
3 Es para colocar un símbolo en las gráficas.
5 Se usa para imprimir las dos gráficas.
Debido a que se va a usar una equivalencia (no puede usarse con una
variable que está en la lista de argumentos), es necesario copiar
Y en X. Recuérdese que aunque Y es un argumento, hay que
dimensionarlo dentro de la subrutina.
El arreglo JJJ va a contener la imagen de una línea.
Nótese que lo primero que se hace es limpiar el arreglo colocando
también una letra I en la columna 60.
El eje horizontal para la gráfica (X, Y) se toma en la
mitad de la página pero en las curvas (R, Z) dicho eje se
escribe al pie de página porque R (que corresponde al eje
vertical), no toma valores negativos.
SUBROUTINE PAGE ( Y,N ) DIMENSION X(6),Y(6),JJJ(120) EQUIVALENCE (XI,X(1)),(ETA,X(2)),(PHI,X(3)) CALL CPYV (X,Y) GO TO (10,20,30,40,50),N 10 CONTINUE DO 11 I=1,120 11 JJJ(I)=16448 JJJ(60)=-14016 DO 12 I=1,50 WRITE (10@1) JJJ WRITE (20@I) JJJ 12 CONTINUE DO 13 I=1,120 13 JJJ(I)=24640 JJJ(60)=20032 WRITE (10@50) JJJ WRITE (20@25) JJJ RETURN 20 CONTINUE RETURN 30 CONTINUE R=SQRT((XI*XI-1.0)*(1.0-ETA*ETA)) XX=R*COS(PHI) YY=R*SIN(PHI) CALL PLOT (IFIX(20.0*XI*ETA)+60,50-IFIX(12.13*R),10,23616) CALL PLOT (IFIX(20.0*XX)+60,25-IFIX(12.13*YY),20,23616) RETURN 40 CONTINUE RETURN 50 CONTINUE WRITE (3,350) DO 51 I=1,50 READ (10@I) JJJ WRITE (3,351) JJJ 51 CONTINUE WRITE (3,350) WRITE (3,352) WRITE (3,350) DO 52 I=1,50 READ (20@I) JJJ WRITE (3,351) JJJ 52 CONTINUE WRITE (3,350) WRITE (3,352) RETURN 350 FORMAT (1X,12(@ESFM*IPN**@)) 351 FORMAT (1X,120A1) 352 FORMAT (1H1) ENDLos dos centros del problema se colocaron en las posiciones y , y van a corresponder según nuestra escala a las columnas 40 y 80. Entonces se va a graficar el intervalo sobre el eje. Recuérdese también que para guardar un arreglo en el disco se usa la instrucción:
WRITE ( ARCHIVO, @ I ) ARREGLO@ indica que se trata del disco en tanto que I señala el registro (que corresponde al renglón ) donde va a guardarse un arreglo. Para la lectura en disco el criterio es el mismo. Como X y Y están declarados como vectores no pueden usarse como nombres de variables por eso en este programa los representamos por XX y YY respectivamente. El radio cilíndrico se representará por R. Complementaria a PAGE se tiene la subrutina PLOT la cual discutiremos más adelante. Nótese que al imprimir, renglones y columnas no crecen en la misma proporción sino que hay una razón de crecimiento de . Teniendo en cuenta ese hecho, se hacen en el programa las correcciones de escala; de no hacerlo así, se obtendrían gráficas distorsionadas. Siempre que se grafica en esta forma deben tomarse esas precauciones. Eso es todo lo que se necesita para discutir la subrutina y nos detendremos más en la misma.