Next: Subrutina REGP
Up: Discusión del programa PRYPO
Previous: Subrutina POLN
  Contents
Ya hablamos de esta subrutina también anteriormente y no difiere
grandemente de la misma versión para la 1130, sólo que
aquí está un poco más depurada. Sus argumentos son
K, IR, A, B, C, D y E; en
seguida veremos cual es el papel que les corresponde:
JJJ los cuales son declarados en
común.
K: es un indicador que determina en que columna se carga
el punto, el el renglón dependerá del valor que tenga la
K: es un indicador que determina en que columna se carga
el punto, el el renglón dependerá del valor que tenga la
función si recordamos que las funciones que deseamos graficar
son del tipo
Entonces vemos porqué se definen los parametros mudos: A,
B, C, D, E.
C **********************************************************************
C * *
C * LA SUBRUTINA CALCA CALCULA TRES FUNCIONES Y CARGA PUNTOS EN *
C * ARREGLOS RESPECTIVOS PARA FORMAR GRAFICAS *
C * *
C **********************************************************************
SUBROUTINE CALCA (IR,K,A,B,C,D,E,)
COMMON AZ,BZ,X,IXIN,IETN,III(600),JJJ(600),H,ALFA,PFI,G1,G2,Z1,Z2,
@ EPP,EPM,GMI,GPL,JII(120)
X2=X*X
XXI=X2-1.
F=B*X+C
F=2*F
IIF=25-IFIX (F)
IF (IIF.LT.1) IIF=1
IF (IIF.GT.50) IIF=50
GO TO (5,6) ,IR
5 CALL GRAFI (K,IIF,1H.,III)
GO TO 7
6 CALL GRAFI (K,IIF,1H.,JJJ)
7 F=F/2.+A*X2
F=2*F
IEF=25-IFIX (F)
IF (IEF.LT.1) IEF=1
IF (IEF.GT.50) IEF=50
GO TO (10,20),IR
10 CALL GRAFI (K,IEF,1H+,III)
GO TO 25
20 CALL GRAFI (K,IEF,1H+,JJJ)
25 G=(D+E*X)*(D+E*X)
IF (ABS(G).GT.(500.*(ABS(XXI)))) GO TO 40
G=G/XXI
G=2.*G
IG=25-IFIX(G)
IF (IG.LT.1) IG=1
IF (IG.GT.50) IG=50
GO TO (30,35),IR
30 CALL GRAFI (K,IG,1H-,III)
GO TO 40
35 CALL GRAFI (K,IG,1H-,JJJ)
40 RETURN
END
En esta subrutina, X es el valor de la variable, está en
común y se hace variar desde el programa principal, después
veremos cómo.
En seguida de eso, entender cómo funciona la subrutina ya no es
difícil; primero se calcula el valor de la recta de
energía cero y su símbolo en las gráficas corresponde
a un punto. Ya vimos como se cargan los puntos usando la
instrucción GRAFI de la subrutina de García Jurado.
Después de cargar la recta, se le adiciona a la función el
término y tendremos así una parábola a la que
vamos a representar con el símbolo (+). Con la otra
función, el procedimiento es el mismo pero preguntamos si el
numerador no es mucho muy grande comparado con el denominador
(aunque el número 500 no es precisamente grande como para causar
problemas pero no tiene caso usar uno mayor en nuestro problema) y
evitar sobreflujo; esta función la representaremos con el signo
menos (-).
Como siempre, se tiene la precaución de que el valor de la
función no se salga del rango de graficación, para evitar problemas
con los arreglos, aunque aquí no es obligatorio porque la
subrutina PAG está protegida para evitar ese tipo de error. Con
eso puede ya entenderse la subrutina CALCA.
Next: Subrutina REGP
Up: Discusión del programa PRYPO
Previous: Subrutina POLN
  Contents
Pedro Hernandez
2006-02-20