Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

SIMULATEUR DE CIRCUIT LOGIQUE VRAIMENT BASIC


Information sur la source

Catégorie :Api Classé sous : simulateur, circuit, logique Niveau : Débutant Date de création : 10/06/2003 Date de mise à jour : 10/06/2003 09:57:28 Vu : 7 060

Note :
1 / 10 - par 1 personne
1,00 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10

Commentaire sur cette source (0)
Ajouter un commentaire et/ou une note

Description

c'est un petit simulateur de circuit logique en mode texte.
les deux classes test sont des applications de la classe porteLogique.
l'une est une démo d'une port non ou connetée à une porte non. l'autre, est une démo deux portes non et cablées en bascule RS.
 

Source

  • public class Logique{
  • boolean e1,e2,s;
  • int i;
  • String nom;
  • String type;
  • Logique porte;
  • public Logique(String nom,String type){
  • this.nom=nom;
  • this.type=type;
  • }
  • public void etatE1(boolean e){
  • e1=e;
  • this.operation();
  • }
  • public void etatE2(boolean e){
  • e2=e;
  • this.operation();
  • }
  • private void operation(){
  • boolean anciens;
  • anciens=s;
  • if(type.equals("non ou")) s=!(e1||e2);
  • if(type.equals("non et")) s=!(e1&&e2);
  • if(type.equals("non")) s=!e1;
  • if(type.equals("et")) s=(e1&&e2);
  • if(type.equals("ou")) s=(e1||e2);
  • if(anciens!=s){
  • if(i==1) porte.etatE1(s);
  • if(i==2) porte.etatE2(s);
  • }
  • }
  • public void niveau(){
  • if(type.equals("non")){
  • System.out.println("etat de l entree de "+nom+" : "+e1);
  • }
  • else{
  • System.out.println("etat de l entree 1 de "+nom+" : "+e1);
  • System.out.println("etat de l entree 2 de "+nom+" : "+e2);
  • }
  • System.out.println("etat de la sortie "+nom+" : "+s);
  • }
  • public void relie(Logique porte,int n){
  • this.porte=porte;
  • i=n;
  • }
  • public void niveauE1(){
  • System.out.println("etat de l entree 1 de "+nom+" : "+e1);
  • }
  • public void niveauE2(){
  • System.out.println("etat de l entree 2 de "+nom+" : "+e2);
  • }
  • public void niveauS(){
  • System.out.println("etat de la sortie "+nom+" : "+s);
  • }
  • }
  • class test{
  • public static void main(String arg[]){
  • //selection des portes logiques
  • Logique p1=new Logique("p1","non ou");
  • Logique p2=new Logique("p2","non");
  • //cablage
  • p1.relie(p2,1);
  • //simulation
  • p1.etatE1(false);
  • p1.etatE2(false);
  • System.out.println("cas 1");
  • p1.niveau();
  • p2.niveau();
  • p1.etatE1(false);
  • p1.etatE2(true);
  • System.out.println("cas 2");
  • p1.niveau();
  • p2.niveau();
  • p1.etatE1(true);
  • p1.etatE2(false);
  • System.out.println("cas 3");
  • p1.niveau();
  • p2.niveau();
  • }
  • }
  • class test2{
  • public static void main(String arg[]){
  • //selection des portes logiques
  • Logique p1=new Logique("p1","non et");
  • Logique p2=new Logique("p2","non et");
  • //cablage sortie de p1 vers l'entrée 1 de p2
  • p1.relie(p2,1);
  • //cablage sortie de p2 vers l'entrée 2 de p1
  • p2.relie(p1,2);
  • //séquence d'etat des entrées
  • boolean [] entree2={false,true,true,true};
  • boolean [] entree1={true,true,false,true};
  • //simulation
  • for(int i=0;i<=3;i++){
  • p1.etatE1(entree1[i]);
  • p2.etatE2(entree2[i]);
  • System.out.println("cas "+i);
  • p1.niveauS();
  • p2.niveauS();
  • }
  • }
  • }
public class Logique{

	boolean e1,e2,s;
	int i;
	String nom;
	String type;
	Logique porte;

	public Logique(String nom,String type){
		this.nom=nom;
		this.type=type;
	}

	public void etatE1(boolean e){
		e1=e;
		this.operation();	
	}

	public void etatE2(boolean e){
		e2=e;
		this.operation();
	}
	
	private void operation(){
            boolean anciens;
		anciens=s;
		if(type.equals("non ou")) s=!(e1||e2);
		if(type.equals("non et")) s=!(e1&&e2);
		if(type.equals("non")) s=!e1;
		if(type.equals("et")) s=(e1&&e2);
		if(type.equals("ou")) s=(e1||e2);	
		if(anciens!=s){
		if(i==1) porte.etatE1(s);
		if(i==2) porte.etatE2(s);
		}
	}

	public void niveau(){
		if(type.equals("non")){
		 	System.out.println("etat de l entree de "+nom+" : "+e1);
		}
		else{
			System.out.println("etat de l entree 1 de "+nom+" : "+e1);
			System.out.println("etat de l entree 2 de "+nom+" : "+e2);	
		}
		System.out.println("etat de la sortie "+nom+" : "+s);
	}


	public void relie(Logique porte,int n){
		this.porte=porte;
		i=n; 
	}

	public void niveauE1(){
		System.out.println("etat de l entree 1 de "+nom+" : "+e1);	
		
	}
	
	public void niveauE2(){
		System.out.println("etat de l entree 2 de "+nom+" : "+e2);	

	}
	
	public void niveauS(){
		System.out.println("etat de la sortie "+nom+" : "+s);
	}

}


class test{
	public static void main(String arg[]){	
	
        //selection des portes logiques
		Logique p1=new Logique("p1","non ou");
		Logique p2=new Logique("p2","non");
                
        //cablage
		p1.relie(p2,1);
        
        //simulation
		p1.etatE1(false);
		p1.etatE2(false);
		System.out.println("cas 1");
		p1.niveau();
		p2.niveau();
		p1.etatE1(false);
		p1.etatE2(true);
		System.out.println("cas 2");
		p1.niveau();
		p2.niveau();
		p1.etatE1(true);
		p1.etatE2(false);
		System.out.println("cas 3");
		p1.niveau();
		p2.niveau();
	}
}



class test2{
	public static void main(String arg[]){	
          
        //selection des portes logiques
		Logique p1=new Logique("p1","non et");
		Logique p2=new Logique("p2","non et");
                
        //cablage  sortie de p1 vers l'entrée 1 de p2             
		p1.relie(p2,1);
        //cablage  sortie de p2 vers l'entrée 2 de p1   
		p2.relie(p1,2);
        
        //séquence d'etat des entrées
		boolean [] entree2={false,true,true,true};
		boolean [] entree1={true,true,false,true};
                
        //simulation                
		for(int i=0;i<=3;i++){
			p1.etatE1(entree1[i]);
			p2.etatE2(entree2[i]);
			System.out.println("cas "+i);
			p1.niveauS();
			p2.niveauS();
		}	
	}
}

Commentaires et avis

Aucun commentaire pour le moment.

Ajouter un commentaire

Discussions en rapport avec ce code source dans le forum

Dialoguer avec un circuit electronique via le port // [ par MacFly80 ] Bonjour, Je voulais savoir s'il est possible de dialoguer avec un circuit electronique de ma composition via le port // en java ???Si oui, quelqu'un p Afficher le numéro de série d'une partition logique [ par darkstorm ] Bonjour,Est-ce qu'il y a un objet qui possède une méthode pour retourner le numéro de série d'une partition? (C: D:..)Merci A+........................ Problème mémoire JVM pour un simulateur de navigation ! ! ! ! [ par Flaw35 ] Bonjour, Je suis actuellement entrain de d&#233;velloper dans le cadre d'un projet &#233;tudiant, un simulateur de navigation marimtime. Le but de ce Java3D simulateur de vol affichage [ par chris0000001919192002 ] chrisBonjour &#224; tousMon projet actuel est de creer une visu3D pour un simulateur de vol.Actuellement j'ai un probl&#232;me d'affichage. J'ai un d& resaux: simulateur de qos (qualité of service ) dans les routeurs [ par SkYoungTo ] dans le cadre de mes &#233;tudes. je dois faire ss java un simulateur de QoS dans les routeur. sachant qu'il ya peu de documents sur les QoS. je suis problème pour trouver un circuit dans une martice booleenne [ par marc_dd ] Bonjour à tous,Pour mon cours de math je dois faire une application sur des graphes, j'ai presque fini mais il me reste un problème je cherche un algo la logique de la programmation sous java [ par patlefils ] je suis un débutant en info et je souhaite avoir des infos sur ce theme qui m'a été proposé Convertir ontologie ecrite en OWL (Fichier XML) en une Ontologie ecrite en Logique description [ par netboydz ] bonjour a tous, je veux Construire un Converter java pourune ontologie écrite en Owl en une Ontologie ecrite en Logique de description , je ne sais pa SMSC simulator [ par imeneeniso ] bonjour tout le monde, Je travail mon projet de fin d'etude et une partie consiset à developper une application d'envoi de sms depuis mon site web au problème débutant JME [ par nikkus ] Bonjour,Voici mon problème: Je débute en JME, et je suis donc à la lettre un tutorial. J'ai telecharger le simulateur (wireless toolkit 2.5.2) de sun.


Nos sponsors

Sondage...

CalendriCode

Décembre 2008
LMMJVSD
1234567
891011121314
15161718192021
22232425262728
293031    

Consulter la suite du CalendriCode

Téléchargements

Logiciels à télécharger sur le même thème :



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel BAÏSE, Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,593 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.