// develop.java // economic development of a nation // adapted from a program in basic by H.T. Odum & E. Odum, 1994. import java.applet.Applet; import java.awt.*; public class develop extends Applet { Label prompt1,prompt2,prompt3; TextField input1,input2,input3; double p1,p2,p3; int t; double k0,k1,k2,k3,k4,k5,k6,k7,k8,k9; double n1,n2,n3,n4,n5,n6,n7,n8; double i0,t0,n0,a0,m0,d0,f0; double dt,dd,df,dn,da,dm; double ne,iv,ir,a,n,m,d,f,r; Button drawbutton; public void init() { prompt1 = new Label("P1 Prices of goods and services: "); input1 = new TextField("250",4); add(prompt1);add(input1); prompt2 = new Label("P2 Price for finished products: "); input2 = new TextField("100",4); add(prompt2);add(input2); prompt3 = new Label("P3 Price for raw products: "); input3 = new TextField("50",4); add(prompt3);add(input3); drawbutton = new Button("Draw"); add(drawbutton); } public boolean action(Event e, Object o) { p1=(float)Integer.parseInt(input1.getText()); p2=(float)Integer.parseInt(input2.getText()); p3=(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); k0=2.3; k1=3; k2=0.033; k3=0.1; k4=0.02; k5=0.01; k6=3; k7=0.02; k8=0.01; k9=0.0067; n1=0.0067; n2=0.033; n3=0.1; n4=0.067; n5=0.01; n6=0.0022; n7=0.001; n8=0.01; i0=1; t0=1;n0=0.05; a0=0.015; m0=0.05; d0=2; f0=0.08; dt=0.5; t=0; p2=0; p3=0; ne=3; iv=0.1; ir=0.1; a=0.1; n=0.3; m=0.1; d=0.5; f=10; do { g.setColor(Color.blue); g.drawOval(t,(int)(300-f/f0),1,1); g.setColor(Color.green); g.drawOval(t,(int)(300-a/a0),1,1); g.setColor(Color.magenta); g.drawOval(t,(int)(300-n/n0),1,1); g.setColor(Color.red); if (190-m/m0>90) g.drawOval(t,(int)(190-m/m0),1,1); else g.drawOval(t,190,1,1); g.setColor(Color.yellow); if (190-d/d0>90) g.drawOval(t,(int)(190-d/d0),1,1); else g.drawOval(t,190,1,1); r=i0/(1+k0*n*a+k1); p3=p3+1*dt; dd=iv-n5*d*m; df=-n8*f*a; dn=k7*a*n-k8*n-k9*n+n1*a*ne-n2*r*a*n-n6*n*n; da=k2*r*a*n+k3*r-k4*a-k5*a*n+k6*m/p3+n7*f*a; dm=p1*n3*r+p2*n4*r*a*n-k6*m+iv-n5*d*m-ir*d; a=a+da*dt; if (a<0.001) a=0.001; n=n+dn*dt; m=m+dm*dt; if (m<0.0001) m=0.0001; d=d+dd*dt; f=f+d*dt; if (f<0) f=0; t=t+1; }while (t<320); } } // Camila Duarte & E. Ortega, January 30th, 2001