Aufgabe1  Logische Verknuepfung “EXOR”

 

import java.awt.*;

import java.awt.event.*;

import java.applet.*;

 

public class exor extends Applet

{

  // private Klasse objekt;

     private Und und1;

     private Oder oder1;

     private Oder oder2;

     private Nicht nicht1;

     private Nicht nicht2;

     boolean a,b;

 

  TextArea textArea1 = new TextArea();

 

    public void init()

     { try

         {jbInit();}

            catch(Exception e)

         {e.printStackTrace();}

      }

 

    private void jbInit() throws Exception

      {

        this.setLayout(null);

        this.setBackground(Color.white);

 

        textArea1.setBounds(new Rectangle(274, 6, 179, 193));

        textArea1.setFont(new java.awt.Font("Dialog", 0, 14));

 

        // objekt1 = new Klasse();

        und1 = new Und();

        oder1 = new Oder();

        oder2 = new Oder();

        nicht1 = new Nicht();

        nicht2 = new Nicht();

 

    this.add(textArea1, null);

 

      }

 

       public void paint(Graphics g)

         {

           // g.drawImage(getImage (getDocumentBase(),"Name des Bildes"),x,y,Breite,Hoehe,this);

              g.drawImage(getImage (getDocumentBase(),"gemSchalt1.jpg"),0,0,260,205,this);

            verarbeiten();

         }

 

 

 

      private void berechnen(){

 

        // Anweisungen;

 

          oder1.setE1(a);

          oder1.setE2(b);

          nicht1.setE1(a);

          nicht2.setE1(b);

          oder2.setE1(nicht1.getA());

          oder2.setE2(nicht2.getA());

          und1.setE1(oder1.getA());

          und1.setE2(oder2.getA());

      }

 

       private void verarbeiten(){

 

          textArea1.setText("   Konjunktve Normalform    \n");

          textArea1.append(" --------------------------- \n");

          textArea1.append("    B        A             Y \n");

          a=false;

          b=false;

          berechnen();

          textArea1.append("\n  false  false   =  "+und1.getA());

          a=true;

          b=false;

          berechnen();

 

          textArea1.append("\n  false  true    =  "+und1.getA());

          a=false;

          b=true;

          berechnen();

 

          textArea1.append("\n  true   false   =  "+und1.getA());

          a=true;

          b=true;

          berechnen();

 

          textArea1.append("\n  true   true    =  "+und1.getA());

      }

}

-----------------------------------------------------------------------------------------------------------------


Klasse Nicht

 

public class Nicht

{

  private boolean e1,a;

  public Nicht()   {

    e1 = a = false;

    }

  public void setE1( boolean wert )  {

    e1 = wert;

    a =  !e1;

    }

  public boolean getA()  {

    return a;

    }

  public boolean getE1()  {

  return e1;

  }}

-----------------------------------------------------------------------------------------------------------------

Klasse Oder

 

public class Oder{

  private boolean e1,e2,a;

  public Oder()  {

    e1 = e2 = a = false;

  }

  public void setE1( boolean wert )  {

    e1 = wert;

    a = e1 || e2;

  }

  public void setE2( boolean wert )  {

    e2 = wert;

    a = e1 || e2;

  }

  public boolean getA()  {

    return a;

  }

  public boolean getE1()  {

  return e1;

  }

  public boolean getE2()  {

  return e2;

  }}

 

Klasse Und

 

public class Und{

  private boolean e1,e2,a;

  public Und()  {

    e1 = e2 = a = false;

  }

  public void setE1( boolean wert )  {

    e1 = wert;

    a = e1 && e2;

  }

  public void setE2( boolean wert )  {

    e2 = wert;

    a = e1 && e2;

  }

  public boolean getA()  {

    return a;

  }

  public boolean getE1()  {

  return e1;

  }

  public boolean getE2()  {

    return e2;

  }}

 

 

 

Aufgabe2  Logische Verknuepfung “EXOR”

(Klassen wie Aufgabe 1)

 

import java.awt.*;

import java.awt.event.*;

import java.applet.*;

 

public class exor extends Applet

{

  // private Klasse objekt;

     private Und und1;

     private Oder oder1;

     private Oder oder2;

     private Nicht nicht1;

     private Nicht nicht2;

     boolean a=false,b=false;

 

  TextArea textArea1 = new TextArea();

  Button aa = new Button();

  Button bb = new Button();

  Label yy = new Label();

 

    public void init()

     { try

         {jbInit();}

            catch(Exception e)

         {e.printStackTrace();}

      }

 

    private void jbInit() throws Exception

      {

        this.setLayout(null);

        this.setBackground(Color.white);

 

        textArea1.setBounds(new Rectangle(274, 6, 179, 193));

        textArea1.setFont(new java.awt.Font("Dialog", 0, 14));

 

        // objekt1 = new Klasse();

        und1 = new Und();

        oder1 = new Oder();

        oder2 = new Oder();

        nicht1 = new Nicht();

        nicht2 = new Nicht();

 

    aa.setBackground(Color.red);

    aa.setLabel("  0");

    aa.setBounds(new Rectangle(2, 156, 30, 27));

    aa.addActionListener(new exor_aa_actionAdapter(this));

    bb.setBackground(Color.red);

    bb.setLabel("  0");

    bb.setBounds(new Rectangle(46, 156, 31, 27));

    bb.addActionListener(new exor_bb_actionAdapter(this));

    yy.setBackground(Color.red);

    yy.setText("0");

    yy.setBounds(new Rectangle(226, 64, 32, 27));

    this.add(textArea1, null);

    this.add(bb, null);

    this.add(aa, null);

    this.add(yy, null);

 

      }

 

       public void paint(Graphics g)

         {

           // g.drawImage(getImage (getDocumentBase(),"Name des Bildes"),x,y,Breite,Hoehe,this);

              g.drawImage(getImage (getDocumentBase(),"gemSchalt1.jpg"),0,0,260,205,this);

 

           // verarbeiten();

         }

 

 

      private void berechnen(){

 

        // Anweisungen;

 

          oder1.setE1(a);

          oder1.setE2(b);

          nicht1.setE1(a);

          nicht2.setE1(b);

          oder2.setE1(nicht1.getA());

          oder2.setE2(nicht2.getA());

          und1.setE1(oder1.getA());

          und1.setE2(oder2.getA());

      }

 

       private void verarbeiten(){

 

          textArea1.setText("   Konjunktve Normalform    \n");

          textArea1.append(" --------------------------- \n");

          textArea1.append("    B        A             Y \n");

          berechnen();

          textArea1.append("\n  "+b+"     "+a+"   =  "+und1.getA());

      }

 

  void aa_actionPerformed(ActionEvent e) {

 

 

    a=!a;

    berechnen();

    verarbeiten();

    if(und1.getA()==true){

    yy.setBackground(Color.green);

    yy.setText("  1");

    }

    else{

    yy.setBackground(Color.red);

    yy.setText("  0");

    }

    if(a==true){

      aa.setBackground(Color.green);

      aa.setLabel("  1");

    }

    else{

      aa.setBackground(Color.red);

      aa.setLabel("  0");

    }

    }

 

  void bb_actionPerformed(ActionEvent e) {

   b=!b;

   berechnen();

   verarbeiten();

   if(und1.getA()==true){

   yy.setBackground(Color.green);

   yy.setText("  1");

   }

   else{

   yy.setBackground(Color.red);

   yy.setText("  0");

   }

   if(b==true){

     bb.setBackground(Color.green);

     bb.setLabel("  1");

   }

   else{

     bb.setBackground(Color.red);

     bb.setLabel("  0");

   }

   }

}

 

class exor_aa_actionAdapter implements java.awt.event.ActionListener {

  exor adaptee;

 

  exor_aa_actionAdapter(exor adaptee) {

    this.adaptee = adaptee;

  }

  public void actionPerformed(ActionEvent e) {

    adaptee.aa_actionPerformed(e);

  }

}

 

class exor_bb_actionAdapter implements java.awt.event.ActionListener {

  exor adaptee;

 

  exor_bb_actionAdapter(exor adaptee) {

    this.adaptee = adaptee;

  }

  public void actionPerformed(ActionEvent e) {

    adaptee.bb_actionPerformed(e);

  }

}