// tanksale.java // economic use of reserves // adapted from a program in basic by H.T. Odum & E. Odum, 1994 import java.applet.Applet; import java.awt.*; public class tanksale extends Applet { Label prompt1,prompt2; TextField input1,input2; double m,q; Button drawbutton; public void init() { prompt1 = new Label("M Total money supply: "); input1 = new TextField("1",7); add(prompt1);add(input1); prompt2 = new Label(" Q Storage: "); input2 = new TextField("1000",7); add(prompt2);add(input2); drawbutton = new Button("Draw"); add(drawbutton); } public boolean action(Event e, Object o) { m=(float)Integer.parseInt(input1.getText()); q=(float)Integer.parseInt(input2.getText()); repaint(); return true; } public void paint(Graphics g) { int t; double q0,m0,t0,dt,dm,dq; double i,p1,p2,k1,k2,k3,k4,k5,pr; dt=0.2;q0=0.13;m0=0.2;t0=10;i=1;p1=5;p2=1; k1=0.001;k2=0.000001;k3=0.0005;k4=1;k5=0.0003;t=0; g.drawRect(0,90,320,210); do { g.setColor(Color.blue); g.drawOval(t,(int)(300-q*q0),1,1); g.setColor(Color.red); if(300-m*m0>190) g.drawOval(t,(int)(300-m*m0),1,1); else g.drawOval(t,90,1,1); pr=q*(k4*m/p2); dq=k1*i-k2*q-k3*pr; dm=p1*k5*pr-k4*m; q=q+dq*dt; m=m+dm*dt; t=t+1; } while(t<=320); } } // Camila Duartem & E. Ortega, January 29th, 2001