Un saludo compañeros comparto este circuito que se nos pidio de tarea y pues lo resolvi y vaya que me costo talves para un experto esto es pan comido pero pues uno que apenas esta enpezando les servira de ayuda o porlomenos de guia para algo les a de servir con la comunidad saludos a todos los que les interese copiarlo y alos que no pues aun haci saludos
[/url][/img]
import java.lang.*;
import javax.swing.*;
public class Tarcircuito{
private Not cnot;
private And cand;
private Xor cxor;
private Nxor cnxor;
private Nor cnor;
private Nand cnand;
private Or cor;
public Tarcircuito(){
cnot=new Not();
cand=new And();
cxor=new Xor();
cnxor=new Nxor();
cnor=new Nor();
cnand=new Nand();
cor=new Or();
}
public boolean get (boolean a1,boolean a2,boolean a3,boolean a4,boolean a5,boolean a6,boolean a7,boolean a8,boolean a9,boolean a10,boolean a11,boolean a12,boolean a13,boolean a14,boolean a15){
//esta mal desarrollado
boolean A1=cnand.get(a1,a2);
boolean A2=cnot.get(a3);
boolean A3=cxor.get(a4,a5);
boolean A4=cor.get(a6,a7);
boolean A5=cor.get(a8,a9);
boolean A6=cxor.get(a10,a11);
boolean A7=cnot.get(a12);
boolean A8=cand.get(a13,a14);
boolean B1=cnxor.get (A1,A2);
boolean B2=cnot.get (A3);
boolean B3=cxor.get (A4,A5);
boolean B4=cnot.get (A6);
boolean B5=cnxor.get (A7,A8);
boolean C1=cor.get (B1,B2);
boolean C2=cnot.get (B3);
boolean C3=cor.get (B4,B5);
boolean D1=cor.get (C1,C2);
boolean D2=cnot.get (C3);
boolean s=cxor.get(D1,D2);
return s;
}
public static void main (String [] args){
Tarcircuito ci=new Tarcircuito();
boolean a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13,a14,a15;
String dato;
dato=JOptionPane.showInputDialog("Introduce un 0 para false o un 1 para true");
if(dato.compareTo("1")==0)
a1=true;
else
a1=false;
dato=JOptionPane.showInputDialog("Introduce un 0 para false o un 1 para true");
if(dato.compareTo("1")==0)
a2=true;
else
a2=false;
dato=JOptionPane.showInputDialog("Introduce un 0 para false o un 1 para true");
if(dato.compareTo("1")==0)
a3=true;
else
a3=false;
dato=JOptionPane.showInputDialog("Introduce un 0 para false o un 1 para true");
if(dato.compareTo("1")==0)
a4=true;
else
a4=false;
dato=JOptionPane.showInputDialog("Introduce un 0 para false o un 1 para true");
if(dato.compareTo("1")==0)
a5=true;
else
a5=false;
dato=JOptionPane.showInputDialog("Introduce un 0 para false o un 1 para true");
if(dato.compareTo("1")==0)
a6=true;
else
a6=false;
dato=JOptionPane.showInputDialog("Introduce un 0 para false o un 1 para true");
if(dato.compareTo("1")==0)
a7=true;
else
a7=false;
dato=JOptionPane.showInputDialog("Introduce un 0 para false o un 1 para true");
if(dato.compareTo("1")==0)
a8=true;
else
a8=false;
dato=JOptionPane.showInputDialog("Introduce un 0 para false o un 1 para true");
if(dato.compareTo("1")==0)
a9=true;
else
a9=false;
dato=JOptionPane.showInputDialog("Introduce un 0 para false o un 1 para true");
if(dato.compareTo("1")==0)
a10=true;
else
a10=false;
dato=JOptionPane.showInputDialog("Introduce un 0 para false o un 1 para true");
if(dato.compareTo("1")==0)
a11=true;
else
a11=false;
dato=JOptionPane.showInputDialog("Introduce un 0 para false o un 1 para true");
if(dato.compareTo("1")==0)
a12=true;
else
a12=false;
dato=JOptionPane.showInputDialog("Introduce un 0 para false o un 1 para true");
if(dato.compareTo("1")==0)
a13=true;
else
a13=false;
dato=JOptionPane.showInputDialog("Introduce un 0 para false o un 1 para true");
if(dato.compareTo("1")==0)
a14=true;
else
a14=false;
dato=JOptionPane.showInputDialog("Introduce un 0 para false o un 1 para true");
if(dato.compareTo("1")==0)
a15=true;
else
a15=false;
System.out.println("a1 = "+a1);
System.out.println("a2 = "+a2);
System.out.println("a3 = "+a3);
System.out.println("a4 = "+a4);
System.out.println("a5 = "+a5);
System.out.println("a6 = "+a6);
System.out.println("a7 = "+a7);
System.out.println("a8 = "+a8);
System.out.println("a9 = "+a9);
System.out.println("a10 = "+a10);
System.out.println("a11= "+a11);
System.out.println("a12 = "+a12);
System.out.println("a13 = "+a13);
System.out.println("a14 = "+a14);
System.out.println("a15 = "+a15);
System.out.println("S = "+ci.get(a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13,a14,a15));
}
}
y aca estan las class para que trabaje al 100%
import java.lang.*;
import javax.swing.*;
public class And{
public boolean get(boolean x,boolean y){
return x&&y;
}
public static void main (String [] args){
And ob=new And();
boolean x,y;
String dato;
dato=JOptionPane.showInputDialog("Introduce un 0 para false ó 1 para true");
if(dato.compareTo("1")==0)
x=true;
else
x=false;
dato=JOptionPane.showInputDialog("Introduce un 0 para false ó 1 para true");
if(dato.compareTo("1")==0)
y=true;
else
y=false;
System.out.print("x = "+x);
System.out.print("\ny = "+y);
System.out.print("\ns = "+ob.get(x,y));
}
}
import java.lang.*;
import javax.swing.*;
public class Nand{
private And and;
private Not not;
public Nand(){
and=new And();
not=new Not();
}
public boolean get(boolean x,boolean y){
return not.get(and.get(x,y));
}
public static void main (String [] args){
Nand ob=new Nand();
boolean x,y;
String dato;
dato=JOptionPane.showInputDialog("Introduce un 0 para false ó 1 para true");
if(dato.compareTo("1")==0)
x=true;
else
x=false;
dato=JOptionPane.showInputDialog("Introduce un 0 para false ó 1 para true");
if(dato.compareTo("1")==0)
y=true;
else
y=false;
System.out.print("x = "+x);
System.out.print("\ny = "+y);
System.out.print("\ns = "+ob.get(x,y));
}
}
import java.lang.*;
import javax.swing.*;
public class Nor{
private Or or;
private Not not;
public Nor(){
or=new Or();
not=new Not();
}
public boolean get(boolean x,boolean y){
return not.get(or.get(x,y));
}
public static void main (String [] args){
Nor ob=new Nor();
boolean x,y;
String dato;
dato=JOptionPane.showInputDialog("Introduce un 0 para false ó 1 para true");
if(dato.compareTo("1")==0)
x=true;
else
x=false;
dato=JOptionPane.showInputDialog("Introduce un 0 para false ó 1 para true");
if(dato.compareTo("1")==0)
y=true;
else
y=false;
System.out.print("x = "+x);
System.out.print("\ny = "+y);
System.out.print("\ns = "+ob.get(x,y));
}
}
import java.lang.*;
import javax.swing.*;
public class Not{
public boolean get(boolean x){
return !x;
}
public static void main (String [] args){
Not ob=new Not();
boolean x,y;
String dato;
dato=JOptionPane.showInputDialog("Introduce un 0 para false ó 1 para true");
if(dato.compareTo("1")==0)
x=true;
else
x=false;
System.out.print("x = "+x);
System.out.print("\ns = "+ob.get(x));
}
}
import java.lang.*;
import javax.swing.*;
public class Nxor{
private Xor xor;
private Not not;
public Nxor(){
xor=new Xor();
not=new Not();
}
public boolean get(boolean x,boolean y){
return not.get(xor.get(x,y));
}
public static void main (String [] args){
Nxor ob=new Nxor();
boolean x,y;
String dato;
dato=JOptionPane.showInputDialog("Introduce un 0 para false ó 1 para true");
if(dato.compareTo("1")==0)
x=true;
else
x=false;
dato=JOptionPane.showInputDialog("Introduce un 0 para false ó 1 para true");
if(dato.compareTo("1")==0)
y=true;
else
y=false;
System.out.print("x = "+x);
System.out.print("\ny = "+y);
System.out.print("\ns = "+ob.get(x,y));
}
}
import java.lang.*;
import javax.swing.*;
public class Or{
public boolean get(boolean x,boolean y){
return x||y;
}
public static void main (String [] args){
Or ob=new Or();
boolean x,y;
String dato;
dato=JOptionPane.showInputDialog("Introduce un 0 para false ó 1 para true");
if(dato.compareTo("1")==0)
x=true;
else
x=false;
dato=JOptionPane.showInputDialog("Introduce un 0 para false ó 1 para true");
if(dato.compareTo("1")==0)
y=true;
else
y=false;
System.out.print("x = "+x);
System.out.print("\ny = "+y);
System.out.print("\ns = "+ob.get(x,y));
}
}
import java.lang.*;
import javax.swing.*;
public class Xor{
public boolean get(boolean x,boolean y){
return x^y;
}
public static void main (String [] args){
Xor ob=new Xor();
boolean x,y;
String dato;
dato=JOptionPane.showInputDialog("Introduce un 0 para false ó 1 para true");
if(dato.compareTo("1")==0)
x=true;
else
x=false;
dato=JOptionPane.showInputDialog("Introduce un 0 para false ó 1 para true");
if(dato.compareTo("1")==0)
y=true;
else
y=false;
System.out.print("x = "+x);
System.out.print("\ny = "+y);
System.out.print("\ns = "+ob.get(x,y));
}
}
Es mi primer aporte sean condesendientes y espero y que les sea de su agrado