Para quien necesite de un circuito lo comparto XD

Iniciado por pitbull31416, 8 Octubre 2009, 09:36 AM

0 Miembros y 1 Visitante están viendo este tema.

pitbull31416

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  :laugh:



[/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  ;D










egyware

Ah buena, pero dejalo dentro de etiquetas "code".
Genial pero has pensado que envez de usar clasess por ejemplo "Not" usaras el operador unario "!", es lo mismo.
Bueno se agradece el aporte, me hubiera servido para pasar "Circuitos Digitales"  :xD

pitbull31416

Gracias compañero por tu comentario me alienta para seguir aportando saludos y gracias por tu comentario ya que es un paso menos para la realizasion del mismo  :D

Aeros

lindo si no te molesta puedo modificicarlo y mejorarlo?

gracias ;)

pitbull31416

Respuesta .- Aeros ::)

Como lo mensione no ay problema as con el lo que gustes no tengo por que molestarme que mejor que mejorarlo ya que si noexistieran las mejorar viviriamos todavia en la epoca cabernaria suludos y vuelvo a reiterar claro que si as con el lo que gustes compañero  ;-) que mejor que aprender nuevas cosas y entre menos pasos inecesarios mejor  :D saludos