/*
Création d'une règle logarithmique
Pour le compiler, depuis un Terminal, tapez : javac a6java1090_regle_logarithmique.java
*/
import java.applet.Applet;
import java.lang.Math;
import java.awt.*;
// import java.awt.Graphics;

public class a6java1090_regle_logarithmique extends Applet {
  public void paint(Graphics g) {
  int nPos = 0;

  g.setColor(Color.white);
  g.fillRect(0, 0, getSize().width - 1, getSize().height - 1); 

  g.setColor(Color.black);
  for (int i1 = 1; i1 <= 11; i1++) {
    nPos = 100 + (int) (Math.round(1282*Math.log(i1)));
    g.fillRect(10, nPos, 40, 1);
    g.drawString(Integer.toString(i1) + ".0", 80, nPos);

    for (int i2 = 0; i2 <= 9; i2++) {
      nPos = 100 + (int) (Math.round(1282*Math.log(i1 + 0.1*i2)));      
      if (i1 <= 2) g.drawString(Integer.toString(i1) + "." + Integer.toString(i2), 80, nPos); 
      if ((i1 > 2) && (i2 == 5)) g.drawString(Integer.toString(i1) + "." + Integer.toString(i2), 80, nPos);
	  if (i2 == 5) g.fillRect(10, nPos, 40, 1);
	  g.fillRect(10, nPos, 30, 1);
      
      for (int i3 = 0; i3 <= 9; i3++) {
        nPos = 100 + (int) (Math.round(1282*Math.log(i1 + 0.1*i2 + 0.01*i3)));
        if ((i1 <= 2) && (i3 == 5)) g.fillRect(10, nPos, 20, 1);
        if ((i1 >= 4) && (i3 == 5)) g.fillRect(10, nPos, 20, 1);
        if ((i1 <= 2))              g.fillRect(10, nPos, 10, 1);
        if ((i1 == 3) && ((i3 & 1) == 0)) g.fillRect(10, nPos, 10, 1);
        } // for (i3...
      } // for (i2...
    } // for (i1...
  } // void paint
} // class a6java1090_regle_logarithmique

