// intecon.java // nation with international money circulation // adapted from a program in basic by H.T. Odum & E. Odum, 1994 import java.applet.Applet; import java.awt.*; public class intecon extends Applet { Label prompt1,prompt2,prompt3; TextField input1,input2,input3; double tm,it,d; int t; double q,f,m,i,id,x,s,p,pq,c,y,l; double d0,p0,q0,f0,t0; double dt,df,dq,dm,dd,did,gnp; double p1,p2,p3; double k0,k1,k2,k3,k4,k5,k6,k7,k8,k9,k10,k11,k12,k13,k14,k15,k16,k17,k18; Button drawbutton; public void init() { prompt1 = new Label("IT Interest rate: "); input1 = new TextField("3",4); add(prompt1);add(input1); prompt2 = new Label("TM Home country's money supply: "); input2 = new TextField("15",4); add(prompt2);add(input2); prompt3 = new Label("D Debt: "); input3 = new TextField("0",4); add(prompt3);add(input3); drawbutton = new Button("Draw"); add(drawbutton); } public boolean action(Event e, Object o) { it=0.01*(float)Integer.parseInt(input1.getText()); tm=0.1*(float)Integer.parseInt(input2.getText()); d=(float)Integer.parseInt(input3.getText()); repaint(); return true; } public void paint(Graphics g) { g.drawRect(0,90,320,210); g.drawLine(0,190,320,190); t=0; q=158; f=211; m=0.5; i=1; id=0; x=1; l=1; d0=5; p0=5; q0=0.5; f0=0.4; t0=5; dt=0.1; p=0; y=0; p1=1; p2=1; p3=0.001; k0=3; k1=0.0014; k2=0.063; k3=10; k4=0.00054; k5=0.0000000093; k6=0.063; k7=10; k8=0.02; k9=0.05; k10=0.3; k11=0.018000001; k12=0.5; k13=3.7; k14=0.05; k15=0.6; k16=1; k17=2; k18=1.2; do { g.drawRect(0,90,320,210); g.drawLine(0,190,320,190); g.setColor(Color.blue); g.drawOval(t,(int)(300-q*q0),1,1); g.setColor(Color.green); g.drawOval(t,(int)(300-p*p0),1,1); g.setColor(Color.red); g.drawOval(t,(int)(190-f*f0),1,1); g.setColor(Color.orange); g.drawOval(t,(int)(190-d*d0),1,1); s=i/(1+k5*(f+k9*m/p3)*q+k6*q+k7); df=-k4*s*q*(f+k9*m/p3); p=k1*s*q*(f+k9*m/p3)+k2*s*q+k3*s-y*k12*l/p1; if (p<0) p=0; else y=1; pq=p+k10*m/p2; dq=p-k8*q+k10*m/p2; dm=k13*l*it+y*k12*l-k9*m-k10*m-it*d-k16*m-k14*m+k17*id*l+k18*it*id; dd=k13*l*it-x*k11*d*m; did=k16*m-k17*id*l; gnp=k0*m+k9*m+k10*m+k14*m+x*k11*d*m+d*it+k16*m; f=f+df*dt; if (f<0) f=0; q=q+dq*dt; if (q<1) q=1; m=m+dm*dt; if (m<0.1) m=0.1; d=d+dd*dt; if (d<0) d=0; id=id+did*dt; if (id<0) id=0; l=tm-m; if (l<0) l=0; t=t+1; c=pq/gnp; p1=1/c; g.setColor(Color.black); g.drawLine(0,190,320,190); }while (t<320); } } // Camila Duarte & E. Ortega. January 31th, 2001