Академический Документы
Профессиональный Документы
Культура Документы
128272
PROYECTO DE INVESTIGACION II
FINAL
A.1umnos :
/ Ortega
Bonequi Mauricio
Octubre de 1991. /
128272
Debido
,computadoras tipo PC en nuestros tiempos, surge tambin la necesidad de crear aplicaciones para una gran variedad de temas, tal es el caso de la dinmica de sistemas.
a cada variable graficada a una variable tabulada, de t l forma que para cada grfica se puede obtener sus correspondientes puntos. Dentro de la ventana en salida tabular se tiene la facilidad de desplazarse pginas arriba y abajo de tal manera que se logra ver todos los puntos asociados
8
una grfica.
DINMICA DE SISTEMAS
La dinmica de sistemas no es sino una metodologa para construccin de modelos de sistemas sociales, considerando en sta clase a sistemas socioeconmicos, sociolgicos y psicolgicos, pudiendo aplicar tambin sus tcnicas a sistemas ecolgicos. Su desarrollo se inserta en el intento de establecer tcnicas que permitan expresar en un lenguaje formalizado -el de
las
sociales. La dinmica de sistemas se basa en l teora de los a servomecanismos que son ingenios cuya caracteristica fundamental es
la existencia
en
los
mismos
de
una
realimentacin de
informacin. Se entiende por realimentacin el proceso en virtud del cual, cuando se acta sobre un determinado sistema, se obtiene (realimenta) continuamente informacin sobre los
resultados de las decisiones tomadas, informacin que servir para tomar las decisiones sucesivas. La teora de los servomecanismos tiene dos caracteristicas particularmente interesantes: el estudio sistemtico del concepto de realimentacin y un amplio desarrollo del estudio del comportamiento dinmico de los sistemas, en el
cual se encuentra el grmen de la nocin de sistema dinmico. Las ideas desarrolladas inicialmente para el estudio de los servomecanismos se aplicaron inmediatamente a otro tipo de
problemas como por ejemplo la regulacin de los procesos qumicos. Posteriormente la fecundidad de las ideas de realimentacin y de
l sistemas dinmicos indujo a intentar su generalizacin a estudio
- 4 -
sociales o econmicas, muestran un comportamiento dinmico y una fuerte interaccin entre sus partes. Debemos tener en cuenta que la teora de sistemas tal como se encuentra desarrollada en
l actualidad suministra un a
til
el
estudio
de
los
sistemas lineales. Sin embargo, en el estudio de los sistemas socioeconmicos debe tenerse especialmente en cuenta la presencia de no linealidades que determinan, en gran medida, las formas de comportamiento observadas en l realidad. La consideracin de stas a
modelos de simulacin.
- 5 -
comportamiento del sistema bajo circunstancias que raramente se den en la practica. Con ello se tienen respuestas rpidas y baratas a cuestiones que, de ser experimentadas en la vida real, requeriran un enorme costo de dinero y de tiempo. En lugar de emplearse en las experiencias la realidad misma, se emplea un modelo de ella. Se observa el comportamiento del modelo y se realizan experimentos mediante los que se responde a cuestiones especficas acerca del sistema real que se ha
representado por el modelo. El proceso mediante el cual se realizan experiencias sobre el modelo, y no sobre la realidad, recibe la denominacin genrica de simulacin. Se puede considerar que' hay dos puntos de vista radicalmente opuestos en relacin al problema del establecimiento de modelos matemticos de sistemas sociales. El primero est sustentado por especialistas que pretenden construir el modelo de un sistema social partir, fundamentalmente, del procesamiento de datos
"histricos" de evolucin del mismo. Es un punto de vista que, en cierta manera, se puede considerar conductista, porque no trata de establecer la estructura interna del sistema, sino nicamente ajustar un modelo a los datos reales que se conocen. A ste enfoque pertenece la econometra. Otro punto de vista es aqul segn el cual se trata de construir un modelo tras un anlisis cuidadoso y detenido de los distintos elementos que intervienen en el sistema observado. De ste anlisis cuidadoso se extrae la lgica interna del modelo, y
a partir de la estructura a construida se intenta un ajuste con s
- 6 -
estructura para el modelo de fcil caracterizacin grfica. Para obtener los valores mas probables tomados por un suceso futuro normalmente se emplean mtodos estadisticos, pero para comprender
el interior de un sistema se realizan una serie de interacciones entre sus elementos constituyentes que generan el comportamiento dinmico del mismo. El estudio, anlisis e integracin de todas estas interacciones elementales para explicar en conjunto el comportamiento global del sistema, constituye uno de los objetivos bsicos de la dinmica de sistemas.
la caracteristica fundamental en el estudio de un sistema es
su evolucin en el tiempo y, en concreto, como las interacciones entre las partes determinan esta evolucin. El modelo del comportamiento dinmico de un sistema se
- 7 -
denomina sistema dinmico y se puede decir que ste en cuanto a modelo de una cierta parcela de la realidad, constituye un resumen abstracto de los datos observados en la misma. La? variaciones que se producen en los sistemas son
consecuencia, fundamentalmente, de las propias interacciones. Estas interacciones constituyen la estructura del sistema, de ah que se diga que bajo el punto de vista de la dinmica de sistemas, el comportamiento dinmico de un sistema est determinado por su estructura.
- 8 -
Entre establece un
relacionados entre s , lo cual se hace por medio de un diagrama en el cual los nombres de los distintos elementos estn unidos entre
s
denominaciones de diqgrama causal. El diagrama causal permite conocer la estructura de un sistema dinmico.Esta estructura viene dada por la especificacin de
las
variables
que
aparecen
en
el
mismo,
por
el
ligan a
los distintos
elementos, sino que solo suministra un bosquejo esquemtico de las relaciones de influencia causal. En un diagrama causal complejo se pueden distinguir bucles
1
realimentados. Un bucle realimentado es una cadena cerrada de relaciones causales, estos pueden ser bucles de realimentacin positiva (son aquellos en los que la variacin de un elemento se propaga a lo largo del bucle de manera que se refuerza la variacin inicial) o bucles de realimentacin negativa (son
aquellos en los que una variacin en un elemento se transmite a lo largo del bucle de manera que determine una variacin de signo contrario en el mismo elemento).
- 9 -
En
de
realimentacin positiva con bucles de realimentacin negativa. Las interacciones entre ambos tipos de bucles determinan el
YO
El diagrama causal anterior indica que a mayor poblacin, menor comida per cpita y a menor comida per cpita menor tasa de nacimientos y a menor tasa de nacimientos menos nacimientos por
aiio
poblacin
cpita
(siempre
tendiendo
a l
equilibrio). Entonces suceder que en los estados iniciales del desarrollo de una poblacin el bucle que limita su crecimiento por agotamiento disminucin del de territorio disponible, y
l a
por
lo tanto un
por
comida
per
cpita,
tendr
efecto
practicamente nulo debido a que no se ha llegado a niveles de saturacin. En consecuencia, en sta primera etapa ser el bucle de crecimiento de poblacin el que dominar y se registrar un crecimiento de la misma tal como el indicado en la respectiva grafica del diagrama causal. Sin embargo, segn se vaya aumentando
dinmico.
11
DIAGRAMAS DE FORRESTER
Los distintos elementos que constituyen el diagrama causal se representan por medio de variables, las cuales se clasifican de acuerdo con los tres grupos siguientes: variables de nivel, varibles de flujo y variables auxiliares.
y N3.
las
actuaciones sobre unas ciertas \rlvulas que regulan los caudales que alimentan a cada uno de los depsitos. La decisin sobre l apertura de stas vlvulas se toma a teniendo como nica informacin los valores alcanzados por los niveles en cada uno de los depsitos en el instante de tiempo considerado. En la figura sto se representa con ayuda de un observador que teniendo como nica informacin el conocimiento de los niveles en el resto de los dep6sitos determina la apertura de
la vlvula correspondiente. Aunque en la figura solo aparece el
existira uno por cada una de ellas. Se observa como el valor tomado por la variable de fl.ujo en cada instante depende,
exclusivamente, de los valores alcanzados por los niveles en dicho instante; de forma anloga, los valores alcanzados por los niveles dependen de los valores tomados por las variables de flujo que alimentan a dichos niveles.
- 1.2 -
I
I
I
I
J
\
F i
F2
dNz/dt = F4 dN~/dt
s i endo
F2
- F3
F i
Ni, N2
funcin fi puede descomponerse en tres etapas, empleando dos variables auxiliares VAi y VA2 teniendose:
VAi = (pi(Ni,Nz)
VA2 = p(VAi, N3)
F = (p(A) i p3Vz
Observese que Fi = (pa((ppz(VAi,Ns) 1
=
(p:~((pz((pi(Ni,Nz),N3))
= fi.(Ni,Nz,N3)
13
inclusin de variables exgenas, stas suministran infomacin adicional y exterior, que debe considerarse para decidir el valor que toman las variables de flujo Fi. Llamando E a una variable exgena.
F = fi(Ni,Nz,N3,E) i
El inters del simil hidrodinmico reside en mostrar que constituye una analoga de un sistema de ecuaciones diferenciales de primer orden y que, alternativamente, todo sistema de
ecuaciones diferenciales de primer orden puede representarse con ayuda de un smil de sta naturaleza. Empleando sta analoga, en dinmica de sistemas, las
variables que aparecen en un modelo se clasifican en variables de nivel, variables de flujo y variables auxiliares.
Los
NIVELES
representan
magnitudes
que
acumulan
los
resultados de acciones tomadas en el pasado. Es decir, el estado de un sistema se representa por medio de las variables de nivel. En los diagramas de Forrester los niveles se representan por medio de rectangulos. La variacin de un nivel tiene lugar por medio de variables de flujo.
A
un flujo de salida FS; la ecuacin que representa la evolucin del nivel es la siguiente,
- FS
14
Esta
ecuacin
se
puede
escribir,
de
forma
aproximada,
empleando el mtodo de ELER de Integracin numrica, N(t+ht) = N(td) + ht[FE(t)-FS(t)l Esta ltima forma de escribir la ecuacin de un nivel es la que se emplea comunmente en dinmica de sistemas.
15
sInBoLos
Nube: Representa una fuente; puede interpretarse como un nivel que no tiene inters y es practicamente
i nag0tab1e.
variable de estado. Flujo: Variacin de un nivel; representa un cambio en el estado del sistema. Canal de material: canal de transmisin de
una
magnitud fisica, que se conserva. Canal de informacin: Canal de transmisibn de una cierta informacin, que no es necesario que se conserve, Variable auxiliar: Una cantidad con un cierto
significado fsico en el mundo real y con un tiempo de respuesta instantneo. Constante: Un elemento del modelo que no cambia de valor. Retraso:
la
16
acciones que se toman en el sistema, las cuales quedan acumuladas en los correspondientes niveles. Las variables de flujo determinan como se convierte la informacin disponible en una accin o actuac in.
Siendo A(t) y B(t) dos variables de nivel o auxiliares. Las ecuaciones asociadas a una variable de flujo reciben el nombre de ecuaciones de flujo. La ecuacin de flujo representa la funcin desarrollada
por el observador del
flujo no pueden conectarse entre s . Las variables AUXILIARES representan pasos o etapas en que se descompone el clculo de una variable de flujo a partir de los valores tomados por los niveles.
17
Normalmente, cuando se va a simular un modelo matemtico no tiene inters la forma analtica., pues lo que entoces interesa es
la escritura del modelo en una forma facilmente programable sobre
un
computador.
partir
de
las ecuaciones
que
rigen
el
comportamiento de las distintas variables que intervienen en un modelo se obtiene la evolucin del sistema.
Euler.
La programacin de las ecuaciones de un sistema dinmico puede hacerse en cualquier lenguaje de alto nivel como FORTRAN,
BASIC,
lenguaje de
programacin especfico con ayuda del cual se pretende que la escritura de las ecuaciones asoc:iadas a un diagrama de Forrester sea lo mas sencilla posible. Este lenguaje es el DYNAMO. En las ecuaciones escritas en dynamo se hace
At =
DT. Las
letras J, K y L que siguen a los smbolos de las variables son los indicadores de considerando, J tiempo. K el indica el instante el que se est
precedente y L
siguiente.
Para
las
ecuaciones de flujo, JK denota el flujo calculado en el intervalo precedente, y KL el flujo que se calcula para el siguiente. La figura muestra esquemticamente la secuencia de clculo implcita en las ecuaciones. En la secuencia de calculo se sobreentiende que l evolucin del sistema ha alcanzado el a intervalo
18
" I
F LUJ
1
I
KL.
JK.
Una
vez
calculados los niveles en el instante K, y despus de haber calculado los flujos Correspondientes al intervalo KL, los ndices se adelantan un tiempo dt para iniciar el siguiente ciclo de clculo.
El
19
La no
linealidad
A=F(B)
se escribe por
medio
de
dos
sentencias. En la primera de ellas, en el segundo miembro, aparece en primer lugar, entre parentesis, el simbolo AT que hace
referencia a la segunda de las sentencias y que se describir mas abajo. En segundo lugar aparece B.K, que indica cual es la variable con la que se alimenta la no linealidad, es decir B. Aparecen a continuacin B y Bs, que constituyen los dos valores i que representan el intervalo para el que se define la no
indica la separacin
La segunda de las sentencias indica los valores tomados por A para los valores de B indicados en la primera de las sentencias. Es decir, los valores Ai=f(Bi), para i=1,2,3,4 5. y
Con los datos suministrados por stas dos sentencias se
20
Se trata de estudiar la conservacin de una determinada poblacin, por ejemplo la de ballenas, sometida
a
una extincin
importante por accin de la pesca o de la caza. La evolucin de la poblacin de ballenas depende de los nacimientos, las muertes naturales y las muertes por pesca. Con estas relaciones iniciales se puede construir un diagrama causal como el que se muestra.
128272
I!
se tiene
determina
problemas de densidad relativamente elevada, por lo que las tasas de nacimiento tienden a estabilizarse, mientras que las tasas de mortalidad tienden a aumentar.
Por otra parte y simplificando mucho el modelo, se supone que la mortalidad debida a la pesca es proporcional a la poblacin
total, es decir.
Mp=K*P
en donde
Mp
poblacin de ballenas y K es una constante de proporcionalidad. Existe un lmite superior para sta mortalidad fijado por la capacidad de procesamiento
y
almacenaje
de
los
productos
MP = Min (K
* P, BMAX) * P,
que significa que la mortalidad anual de ballenas, por efecto de la pesca, ser el mnimo de los valores tomados por K
fraccin de la poblacin que puede ser pescada, y BMAX, nmero mximo de cetceos que pueden ser- procesados por la flota.
22
23
TOTAL
+/
/'
Se observa cmo para l caracterizacin del sistema se a requiere un solo nivel. Escrita en forma de ecuaciones
Mn
Mp
el nmero de
bin analticamente o bien por puntos. En el primer caso, se tiene para la relacin entre el numero de nacimientos y la poblacin la siguiente expresin:
N = A[x(a'] iep-F)
+ Az[exp(-bP)l + C
A2
= 40 00
a =
C
0.69
b = 1.38
= 40 00
Por lo que respecta a la relacin entre la tasa de mortalidad y la poblacin se puede ajustar por medio de un polinomio de segundo orden tal como
M =
Ai' x
4-
A2'
x PZ
Ai' = 0.875
A2' = 1.70 IO'
El modelo as obtenido puede ser simulado sobre un computador
i y se requiere el empleo de un lenguaje tal como el dynamo, s es as, las no linealidades deben tabularse. Teniendo en cuenta sta
24
S i
se
emplea
cualquier
lenguaje
de
alto
nivel,
la
25
calculados de niveles y
calculadas durante esa misma etapa de tiempo. Los flujos son calculados de niveles y auxiliares de sta misma etapa de tiempo.
a Por consiguiente l etapa de inicializacin consiste en
evaluar primero
auxiliares y posteriormente las de flujo (sto es nicamente para el primer intervalo de tiempo, TIME = O 1, para las siguientes etapas de tiempo se contina de manera normal: nivel, auxiliar y flujo.
26
ecuaciones como s i fueran tambin iniciales, a su vez, stas pueden tener el mismo problema, dynamo contina evaluando como s i fueran iniciales hasta inicializar todas las ecuaciones necesarias para obtener un valor numrico en la primera expresin.
- i!7 -
Convenciones en dynamo.
un
L
A
Ecuacin de nivel Ecuacin auxi1 iar Ecuacin de flujo Ecuacin suplementaria Ecuacin de valor inicial
o
R
S
CP
Constante Tablas Especificacin de la simulacin Nota o comentario Declaracin plot Declaracin print Calcular graficar. valores de variables de salida sin
OPT NOISE
RUN
QUIT
El identificador es seguido por uno o mas espacios y a continuacin la ecuacin o declaracin de control.
28
Suma
Resta Multiplicacin
*
/
Divisin
especifican la separacin entre puntos para la salida. La declaracin NOTE es para indicar que a continuacin sigue un comentario. La declaracin RUN marca el fin del modelo.
La
salida
tabular
es
especificada
por
sta
dec1aracin.
PLOT
sta
La declaracin
SAVE
compilacin se almacenan los valores correspondientes a las variables aqu especificadas aunque no estn como salidas, ya que sern utilizadas en los posteriores re-run.
- 29 -
aleatorios. La declaracin OPT sirve para especificar nuevas opciones al hacer un re-run.
30
Funciones en dynamo
Retrasos y extrapolacionec.
128272
IN
DEL
A
L
IN
forma:
IN
DEL
31
A
L N
R
L N R L N
= LV2.J*(DT)(RTl. JK-RT2.JK)
= LV3 = LV1.WDL. K = LV1.J+(DT)(IN. JK-RT1.JK) = LV3
LV2
RT1.KL LV1.K LV1 DL.K
= DELI3
D1 inf3( IN,DEL)
donde
IN
DEL
equivale a
DLINF3.K = DLINF3 J+(DT/DL. J)(LV2.J-DLINF3.J) DLINF3 LV2.K LV2 LV1.K LV1 .DL.K
= IN
N
L N L N
= IN = DELI3
la forma:
3%
IN
Es un parmetro de entrada
IN
Funciones de especificacin. Las funciones en &Sta clase son generalmente usadas para especificar relaciones entre dos variables en un modelo.
Exp(A)
Calcula el exponencial de
A A
Logn(A1 Sqrt(A1
Funciones lgicas.
CliP(P1 q>r,8 )
qsircs.
b ( P , Q) Minp, ql Switch(p,q,r)
Otras funciones.
Cos ( A)
Sin(A)
Regresan el
valor
del
coseno
el
seno
3: 3
respectivamente.
Ramp(slp.strt1
SIP
strt La salida es:
* DT)
un
valor
STEP
Produce
un
salto
de
cero
especificado, la forma de la funcin es: Step (hght,sttm) donde el valor del step es cero s TIME < sttm, o i hght s TIME >= sttm. i
ampliar nuestro criterio en el tema y poder realizar una mejor critica del trabajo realizado en ste proyecto de investigacin.
34
Editor
Se utiliz un editor de pantalla para aumentar l a interaccin usuario-mquina, teniendose la facilidad de poder regresar al texto editado sin tener necesidad de abandonar el mismo, despus de haber realizado una compilacin y/o ejecucin del programa dynamo. Una de l s caracteristicas importantes es que a momento de a l compilar un programa dynamo con errores de sintxis, se tiene la posibilidad de desplegar la pgina donde se encuentra
la
informacin incorrecta, con el cursor indicando l posicin del a error. Por tanto tan pronto como el usuario corrija el error podr seguir con el proceso de compilacin.
un
campo
para
siguiente nodo y otro ms que apuntar a un posible rengln anterior. El uso de listas doblemente ligadas permite recorrer el texto bidireccionalmente sin tener que guardar apuntadores a posiciones anteriores y siguientes como sucedera por ejemplo con una lista lineal con ligas simples. El editor dynamo es capaz de realizar las siguientes funciones:
-Flecha Abajo: Al presionar flecha abajo se recorre el
35
-Flecha Derecha -Pgina Abajo -pgina Arriba -Borra Caracter -Inicio Linea: Al presionar HOME el cursor se coloca en
apuntador en el rengln actual donde est el cursor, indicando que en sta posicin iniciar un bloque
a
copiar,
borrar,
intercambiar.
-MarcaFinBloque: S despus de presionar F9 se digita i
texto
se
bloque, la
operacin de copiado se puede realizar s se presiona CTRL-C B. El i bloque de texto delimitado ser duplicado a partir de la nueva posicin del cursor.
-1ntercambia Bloque: Al igual que en el caso anterior a l
presionar CTFL-I B el bloque de texto ser removido a lugar l actual del cursor.
-Elimina Bloque: De manera anloga CTRL-E B
efecta un
36
borrado del texto delimitado o marcado, quedando ste fuera de vista en la pantalla y anulado en l lista ligada. a
-Borra Linea: Se elimina una lnea de texto a presionar l
CTRL-B.
-Espacio Atrs:
BACKSPACE, adems de borrarse el caracter que se hubiese encontrado una posicin antes del cursor.
-Borra Palabra: Ce elimina una palabra de texto despus
de presionar CTRL-P. La palabra a borrar ser a partir de la posicin del cursor hasta enconti-ar un carater distinto de letra.
-Avanzar
lmites de la pantalla de edicihn, es decir, el nmero de lneas ser uno menos cada vez que se presione F5, sto hasta llegar a dos renglones de texto.
-Aumenta Pantalla: De manera contraria a la anterior, F6
incrementa el nmero de lneas en edicin hasta llegar a un lmite de 19 lneas o renglones por pgina.
-Cargar
Al
3 7
en pantalla un mensaje de captura para la cadena a encontrar. Al presionar RETURN, aparecer otro mensaje de captura para las opcioned de bsqueda. Estas pueden ser:
-BE
-AE
-TE
reng16n.
-BM
mi nusculas.
-AM
Hacia
arriba
comparando
la
cadena
en
mi nscu1as.
TM
En todo el texto con letras minsculas. Hacia abajo en letras maysculas. Hacia arriba y en letras maysculas. En todo el texto en letras minisculas.
Bc
AC
TC
:.
por una
1, N
Cambiar
:38
todas las ocurrencias sin preguntar I . Por tanto en opciones se puede tener
:
-BEP
-AEN
-TEN
-BMN
-A
-AMP
-TMP
-TMN
-BCN -ACN -TCN
Buscando
-Seguir
Reemplazando
Despus de
teclear
CTRL-S,
se
lo tanto an un monitor
:
80x25
se puede
39
3
t
)9
80
2
3
F odl
I 1
I
1
I
I I
1 I
I
I
I I
I
I I
1
7l l 4 -
Del esquema anterior de observa que un caracter representa un byte para el mismo y otro para su atributo. Los tres primeros bits
i representan el color, s se enciende el cuarto bit indicar que el
color elegido ser brillante, en otro caso ser normal; del cuarto
a sexto bit se utilizan para representar el caracter con un color l
' 7
40
Cornpilador :
128272
(
o
Un compilador es un programa que traduce cdigo fuente en este caso en Dynamo 1 a cdigo objeto
en su defecto a un
los
El compilador diseado es recursivo descendente, de manera que a encontrar un error ste detiene su proceso de anlisis l dejando paso a una rutina que verifica errores de compilacin para
l a mostrar a usuario programador l pgina donde se encuentra dicho
Esperaba la palabra Programa Esperaba M identificador Tipo no declarado Esperaba punto y coma Esperaba la palabra 'Fin' de program Esperaba signo igual
41
Esperaba nmero entero Esperaba parentesis izquierdo Esperaba parentesis derecho Espereba punto Esperaba coma Esperaba palabra reservada SOBRE Esperaba una constante entera o real Esperaba identificador o nmero Esperaba signo igual Esperaba
dos puntos
Esperaba punto final de programa Identificador no definido o error sintctico Esperaba llave izquierda { Esperaba llave derecha
Identificador doblemente definido <identificador> Esperaba fin de comentario a / Esperaba palabra reservada comienza Esperaba palabra reservada termina o Esperaba identificador de nivel Esperaba tipo de ecuacin a analizar Esperaba identificador de nivel o auxiliar Esperaba sufijo de identificador Esperaba sufijo ACT Esperaba sufijo N AT Esperaba operador suma
42
Esperaba operador
o I
Rango incorrecto
Esperaba nmero positivo Se excede en datos para la tabla Faltan datos para la tabla Esperaba identificador tipo inicial Esperaba identificador tipo auxiliar Esperaba identificador de la constante Esperaba corchete izquierdo Esperaba corchete derecho Inesperado fin de archivo Expresin de nivel incorrecta
43
La representacitb
caracter Esperaba un dato mayor al anterior Pila vaca Pila llena
44
En la cul en cada nodo se almacenan los identificadores. La posicin que le corresponde en el arreglo a cada uno de ellos est determinado por l funcin que se localiza en la parte inferior. a Donde Ord(Cad) proporciona el cdigo ascii del caracter de sta cadena. Las palabras reservadas de que consta el programa son
Auxi 1 iar,
Constante, Inicial, Flujo, Suplementaria, Tabla, Sobre, Comienza, Termina, Programa, Nivel, Fin, Spec. Nota, Length,
:
DT,
Time.
/*
*/
45
. .= .
I
[
o ms veces.
46
Cabe hacer notar que el compilador diseado reconoce el mismo tipo de ecuaciones y funciones empleadas en dynamo ( y que hemos mencionado en el presente reporte) ya que est basado en ste, sin embargo contamos con un medio ambiente mejorado, adems se le han realizado cambios de usuario. tal manera de hacerlo agradable al
.47
Ejecucin
48
. I . .
En sta se guarda l variable de tipo tabla, la variable a independiente sobre la cual acta, as como su valor mnimo, mximo e incremento, adems un apuntador a una lista ligada donde se encuentran los valores correspondientes a los puntos de la no
1 inealidad.
Respecto a las ecuaciones, 1 a misma gramtica definida para el . lenguaje va dejando un codigo intermedio en notacin polaca
(posfija) generando una lista ligada para ste. El DT y el LENGTH son depositados a inicio de sta 1ista.Tambin a tiempo de l compilacin se guardan en la tabla de hash los valores
PLOT
encontrado se genera una estructura, la cual se puede apreciar tambin en la siguiente hoja. Donde, en el arreglo de registros se guardan las variables a ser graficadas y tabuladas. Estas son las estructuras de datos que se requieren a tiempo de ejecucin, entonces se recorre la lista ligada de
las
expresiones en posfija y para cada una se llama a un procedimiento que las evala con ayuda de un stack, al terminar de evaluar cada expresin se actualiza l tabla de hash depositando el resultado a
a obtenido en el lugar correspondiente a l variable que
obtuvo
dicho valor, de tal manera que al evaluar en la siguiente etapa de tiempo se pueda extraer de aqu los valores tomados anteriormente por las variables.
S un identificador tiene un tipo tabla, se realiza una i
49
S el i
identificador corresponde a otro tipo de funcin se calcula de manera normal ya que no requieren de valores anteriores para su clculo. La manera de inicializar los niveles es como sigue:
S es i
la expresin
corresponde a una inicial, entonces se evala, pero si a su vez depende para ser calculada de una auxiliar o de flujo, sta ltima se evala como s fuera inicial, sto se repite hasta poder i obtener un valor inicial para l ecuacin de nivel. En la primera a
as etapa de tiempo se evalan l . iniciales, posteriormente las
auxiliares y por ltimo las de flujo; en las siguientes etapas de tiempo, como los niveles ya cuentan con u valor inicial se n evaluan niveles, auxiliares y flujos en este orden.
SE!
los valores obtenidos en sta etapa de tiempo para cada variable de salida y se van adicionando ei la estructura correspondiente. r
Al
compilar
nuevamente
un
modelo
se
eliminan
las
50
estructuras. Por el contrario s se ejecuta otra vez, sin compilar i de nuevo, se eliminan nicamente los valores obtenidos para las variables de salida (sin eliminar las estructuras generadas a tiempo de compilacin), se elimina tambin la estructura para almacenar los valores de las funciones y se inicializa l tabla de a hash dejando los valores de las constantes.
El despliegue de las variables de salida es en forma grafica y tabular en ventanas individuales, en la forma tabular se tiene la opcin de mover pginas arriba y abajo para poder apreciar todos
i los puntos, s stos sobrepasan una pgina. Como se grafican cada 4
variables ms el TIEMPO, se obtiene una escala adecuada, sta se indica en el margen izquierdo de las grficas y en la parte superior dentro de l ventana de salida tabular. a
51
12822%
Conclusiones :
Consideramos que este producto puede ser de mucha utilidad en reas como las ciencias sociales para la enseanza de modelos de simulacin que nos representen
un
determinado
cabo un estudio de mercado para determinado producto, o en psicologa estudiando los sntomas de una perturbacin.
52
Bibliografa :
53