Commit e0205b46ea43868be31df8bb941d53264f542104

Authored by rsimonin
1 parent 0498df6f

fini

And.class
No preview for this file type
@@ -5,15 +5,15 @@ public class And extends Porte2Entrees{ @@ -5,15 +5,15 @@ public class And extends Porte2Entrees{
5 void display(){ 5 void display(){
6 }*/ 6 }*/
7 /*public boolean getEtat() throws NonConnecteException { 7 /*public boolean getEtat() throws NonConnecteException {
8 - if ((in1 == null) || (in2 == null)) {  
9 - throw new NonConnecteException(); 8 + if ((in1 == null) || (in2 == null)) {
  9 + throw new NonConnecteException();
10 } else { 10 } else {
11 s=(in1.getEtat() && in2.getEtat()); 11 s=(in1.getEtat() && in2.getEtat());
12 - return s;  
13 - } 12 + return s;
  13 + }
14 }*/ 14 }*/
15 15
16 public boolean eval()throws NonConnecteException { 16 public boolean eval()throws NonConnecteException {
17 - return (in1.getEtat() && in2.getEtat()); 17 + return (in1.getEtat() & in2.getEtat());
18 } 18 }
19 } 19 }
LazySonde.class
No preview for this file type
@@ -12,16 +12,16 @@ public class LazySonde extends Sonde{ @@ -12,16 +12,16 @@ public class LazySonde extends Sonde{
12 str1=null; 12 str1=null;
13 } 13 }
14 public boolean getEtat() throws NonConnecteException{ 14 public boolean getEtat() throws NonConnecteException{
15 - System.out.println(" je suis lazy SONNNNDEE"); 15 + //System.out.println(" je suis lazy SONNNNDEE");
16 Scanner sc = new Scanner(System.in); 16 Scanner sc = new Scanner(System.in);
17 - if (str1 == null) {  
18 - throw new NonConnecteException(); 17 + if (str1 == null) {
  18 + throw new NonConnecteException();
19 } 19 }
20 else if(valsor!=null){return valsor;} 20 else if(valsor!=null){return valsor;}
21 21
22 else { 22 else {
23 System.out.println(str1+ " de " + c1 + " ,true ou false ? " ); 23 System.out.println(str1+ " de " + c1 + " ,true ou false ? " );
24 - 24 +
25 if (sc.hasNextBoolean()) { 25 if (sc.hasNextBoolean()) {
26 valsor = sc.nextBoolean(); 26 valsor = sc.nextBoolean();
27 return valsor; 27 return valsor;
@@ -29,10 +29,10 @@ public class LazySonde extends Sonde{ @@ -29,10 +29,10 @@ public class LazySonde extends Sonde{
29 else { 29 else {
30 System.out.println("Nous avons pas compris votre choix, la valeur par default est false !"); 30 System.out.println("Nous avons pas compris votre choix, la valeur par default est false !");
31 return false; 31 return false;
32 - } 32 + }
33 } 33 }
34 } 34 }
35 - 35 +
36 public void reset(){ 36 public void reset(){
37 valsor=null; 37 valsor=null;
38 return ; 38 return ;
Not.class
No preview for this file type
@@ -4,37 +4,37 @@ @@ -4,37 +4,37 @@
4 */ 4 */
5 5
6 public class Not extends Porte { 6 public class Not extends Porte {
7 - 7 +
8 protected Composant in; 8 protected Composant in;
9 -  
10 - public void setIn(Composant comp) {  
11 - in = comp; 9 +
  10 + public void setIn(Composant comp) {
  11 + in = comp;
12 } 12 }
13 public void probe(SondesTable tableSondes){ 13 public void probe(SondesTable tableSondes){
14 if(in instanceof Interrupteur){ 14 if(in instanceof Interrupteur){
15 - System.out.println(tableSondes.getSonde((Interrupteur)in,in,in.getId())); 15 + setIn(tableSondes.getSonde((Interrupteur)in,in,in.getId()));
16 } 16 }
17 } 17 }
18 public String description(){ 18 public String description(){
19 return getId() + " ||in: "+ in.getId(); 19 return getId() + " ||in: "+ in.getId();
20 } 20 }
21 21
22 - 22 +
23 public boolean getEtat() throws NonConnecteException { 23 public boolean getEtat() throws NonConnecteException {
24 - 24 +
25 if (in == null) { 25 if (in == null) {
26 - 26 +
27 throw new NonConnecteException(); 27 throw new NonConnecteException();
28 - 28 +
29 } else { 29 } else {
30 - 30 +
31 return !in.getEtat(); 31 return !in.getEtat();
32 - 32 +
33 } 33 }
34 } 34 }
35 public void unprobe(SondesTable tableSondes){ 35 public void unprobe(SondesTable tableSondes){
36 if(in instanceof LazySonde){ 36 if(in instanceof LazySonde){
37 - System.out.println(tableSondes.getInterrupteur((LazySonde)in)); 37 + setIn(tableSondes.getInterrupteur((LazySonde)in));
38 } 38 }
39 } 39 }
40 } 40 }
No preview for this file type
@@ -6,16 +6,16 @@ public class Or extends Porte2Entrees{ @@ -6,16 +6,16 @@ public class Or extends Porte2Entrees{
6 }*/ 6 }*/
7 7
8 /*public boolean getEtat() throws NonConnecteException { 8 /*public boolean getEtat() throws NonConnecteException {
9 - if ((in1 == null) || (in2 == null)) {  
10 - throw new NonConnecteException(); 9 + if ((in1 == null) || (in2 == null)) {
  10 + throw new NonConnecteException();
11 } else { 11 } else {
12 s=(in1.getEtat() || in2.getEtat()); 12 s=(in1.getEtat() || in2.getEtat());
13 - return s;  
14 - } 13 + return s;
  14 + }
15 }*/ 15 }*/
16 16
17 public boolean eval() throws NonConnecteException{ 17 public boolean eval() throws NonConnecteException{
18 - return (in1.getEtat() || in2.getEtat()); 18 + return (in1.getEtat() | in2.getEtat());
19 } 19 }
20 - 20 +
21 } 21 }
Porte2Entrees.class
No preview for this file type
Porte2Entrees.java
@@ -3,7 +3,7 @@ @@ -3,7 +3,7 @@
3 public abstract class Porte2Entrees extends Porte { 3 public abstract class Porte2Entrees extends Porte {
4 Composant in1,in2; 4 Composant in1,in2;
5 Boolean s; 5 Boolean s;
6 - 6 +
7 void setIN1(Composant comp){in1= comp;} 7 void setIN1(Composant comp){in1= comp;}
8 void setIN2(Composant comp){in2= comp;} 8 void setIN2(Composant comp){in2= comp;}
9 9
@@ -18,24 +18,24 @@ public abstract class Porte2Entrees extends Porte { @@ -18,24 +18,24 @@ public abstract class Porte2Entrees extends Porte {
18 18
19 public void probe(SondesTable tableSondes){ 19 public void probe(SondesTable tableSondes){
20 if(in1 instanceof Interrupteur){ 20 if(in1 instanceof Interrupteur){
21 - tableSondes.getSonde((Interrupteur)in1,in1,in1.getId()); 21 + setIN1(tableSondes.getSonde((Interrupteur)in1,in1,in1.getId()));
22 } 22 }
23 if(in2 instanceof Interrupteur){ 23 if(in2 instanceof Interrupteur){
24 - tableSondes.getSonde((Interrupteur)in2,in2,in2.getId()); 24 + setIN2(tableSondes.getSonde((Interrupteur)in2,in2,in2.getId()));
25 } 25 }
26 } 26 }
27 public void unprobe(SondesTable tableSondes){ 27 public void unprobe(SondesTable tableSondes){
28 if(in1 instanceof LazySonde){ 28 if(in1 instanceof LazySonde){
29 - tableSondes.getInterrupteur((LazySonde)in1); 29 + setIN1(tableSondes.getInterrupteur((LazySonde)in1));
30 } 30 }
31 if(in2 instanceof LazySonde){ 31 if(in2 instanceof LazySonde){
32 - tableSondes.getInterrupteur((LazySonde)in2); 32 + setIN2(tableSondes.getInterrupteur((LazySonde)in2));
33 } 33 }
34 } 34 }
35 - 35 +
36 /*public boolean getEtat() throws NonConnecteException { 36 /*public boolean getEtat() throws NonConnecteException {
37 - if ((this.in1 == null) || (this.in2 == null)) {  
38 - throw new NonConnecteException(); 37 + if ((this.in1 == null) || (this.in2 == null)) {
  38 + throw new NonConnecteException();
39 } 39 }
40 else if(s==null) { 40 else if(s==null) {
41 s=this.eval(); 41 s=this.eval();
@@ -44,11 +44,11 @@ public abstract class Porte2Entrees extends Porte { @@ -44,11 +44,11 @@ public abstract class Porte2Entrees extends Porte {
44 else{ return s;} 44 else{ return s;}
45 }*/ 45 }*/
46 public boolean getEtat() throws NonConnecteException { 46 public boolean getEtat() throws NonConnecteException {
47 - if ((this.in1 == null) || (this.in2 == null)) {  
48 - throw new NonConnecteException(); 47 + if ((this.in1 == null) || (this.in2 == null)) {
  48 + throw new NonConnecteException();
49 } 49 }
50 else { 50 else {
51 return this.eval(); 51 return this.eval();
52 } 52 }
53 - } 53 + }
54 } 54 }
SondesTable.class
No preview for this file type
@@ -4,13 +4,13 @@ public class SondesTable{ @@ -4,13 +4,13 @@ public class SondesTable{
4 Map<LazySonde,Interrupteur> sondetointerrupteur = new HashMap<LazySonde,Interrupteur>(); 4 Map<LazySonde,Interrupteur> sondetointerrupteur = new HashMap<LazySonde,Interrupteur>();
5 Map<Interrupteur,LazySonde> interrupteurtosonde = new HashMap<Interrupteur,LazySonde>(); 5 Map<Interrupteur,LazySonde> interrupteurtosonde = new HashMap<Interrupteur,LazySonde>();
6 6
7 - 7 +
8 public Interrupteur getInterrupteur(LazySonde sonde){ 8 public Interrupteur getInterrupteur(LazySonde sonde){
9 return sondetointerrupteur.get(sonde); 9 return sondetointerrupteur.get(sonde);
10 } 10 }
11 - 11 +
12 public LazySonde getSonde(Interrupteur interrupteur,Composant cible, String entree){ 12 public LazySonde getSonde(Interrupteur interrupteur,Composant cible, String entree){
13 - 13 +
14 if(interrupteurtosonde.containsKey(interrupteur)){ 14 if(interrupteurtosonde.containsKey(interrupteur)){
15 return interrupteurtosonde.get(interrupteur) ; 15 return interrupteurtosonde.get(interrupteur) ;
16 } 16 }
@@ -18,7 +18,7 @@ public class SondesTable{ @@ -18,7 +18,7 @@ public class SondesTable{
18 LazySonde lz1= new LazySonde(cible,entree); 18 LazySonde lz1= new LazySonde(cible,entree);
19 interrupteurtosonde.put(interrupteur,lz1); 19 interrupteurtosonde.put(interrupteur,lz1);
20 sondetointerrupteur.put(lz1,interrupteur); 20 sondetointerrupteur.put(lz1,interrupteur);
21 - return interrupteurtosonde.get(interrupteur) ; 21 + return lz1 ;
22 } 22 }
23 } 23 }
24 public void resetSondes(){ 24 public void resetSondes(){
@@ -34,5 +34,5 @@ public class SondesTable{ @@ -34,5 +34,5 @@ public class SondesTable{
34 return ; 34 return ;
35 } 35 }
36 36
37 - 37 +
38 } 38 }
TestCircuits.class
No preview for this file type
@@ -5,7 +5,7 @@ import java.util.Scanner; @@ -5,7 +5,7 @@ import java.util.Scanner;
5 */ 5 */
6 6
7 public class TestCircuits { 7 public class TestCircuits {
8 - 8 +
9 public static void main(String[] args) { 9 public static void main(String[] args) {
10 //Construction 10 //Construction
11 Composant tabcomp[]= new Composant[7] ; 11 Composant tabcomp[]= new Composant[7] ;
@@ -23,33 +23,34 @@ public class TestCircuits { @@ -23,33 +23,34 @@ public class TestCircuits {
23 tabcomp[4]=i2; 23 tabcomp[4]=i2;
24 tabcomp[5]=i3; 24 tabcomp[5]=i3;
25 tabcomp[6]=v1; 25 tabcomp[6]=v1;
26 -  
27 26
28 - 27 +
  28 +
29 //Connexions 29 //Connexions
30 - 30 +
31 ((Or)tabcomp[0]).setIN1(tabcomp[3]); 31 ((Or)tabcomp[0]).setIN1(tabcomp[3]);
32 - 32 +
33 ((Or)tabcomp[0]).setIN2(tabcomp[4]); 33 ((Or)tabcomp[0]).setIN2(tabcomp[4]);
34 ((Not)tabcomp[2]).setIn(tabcomp[5]); 34 ((Not)tabcomp[2]).setIn(tabcomp[5]);
35 ((And)tabcomp[1]).setIN1(tabcomp[0]); 35 ((And)tabcomp[1]).setIN1(tabcomp[0]);
36 ((And)tabcomp[1]).setIN2(tabcomp[2]); 36 ((And)tabcomp[1]).setIN2(tabcomp[2]);
37 ((Vanne)tabcomp[6]).setIn(tabcomp[1]); 37 ((Vanne)tabcomp[6]).setIn(tabcomp[1]);
38 - 38 +
39 c1.setIN1(new LazySonde(c1,"in1")); 39 c1.setIN1(new LazySonde(c1,"in1"));
40 - 40 +
41 Circuit cir = new Circuit("circ",tabcomp); 41 Circuit cir = new Circuit("circ",tabcomp);
42 test(cir); 42 test(cir);
43 - 43 +
44 //Affichage 44 //Affichage
45 //c1.setIN1(new LazySonde(c1,"in1")); 45 //c1.setIN1(new LazySonde(c1,"in1"));
46 - 46 +
47 47
48 System.out.println("Au revoir!"); 48 System.out.println("Au revoir!");
49 } 49 }
50 50
51 static void test(Circuit circ){ 51 static void test(Circuit circ){
52 - circ.unprobe(); 52 +
  53 + circ.probe();
53 /*System.out.println("Nomenclature:"); 54 /*System.out.println("Nomenclature:");
54 System.out.println(circ.nomenclature()); 55 System.out.println(circ.nomenclature());
55 System.out.println(); 56 System.out.println();
@@ -64,16 +65,17 @@ public class TestCircuits { @@ -64,16 +65,17 @@ public class TestCircuits {
64 System.out.println();*/ 65 System.out.println();*/
65 System.out.println("trace:"); 66 System.out.println("trace:");
66 circ.traceEtats(); 67 circ.traceEtats();
67 - 68 +
68 System.out.println(circ.getIns()); 69 System.out.println(circ.getIns());
69 System.out.println(circ.getOuts()); 70 System.out.println(circ.getOuts());
70 - circ.probe(); 71 + circ.unprobe();
  72 +
71 //circ.resetSondes(); 73 //circ.resetSondes();
72 -  
73 - 74 +
  75 +
74 } 76 }
75 77
76 - 78 +
77 static void printIds(Composant[] tabc){ 79 static void printIds(Composant[] tabc){
78 for(Composant r : tabc){ 80 for(Composant r : tabc){
79 System.out.println(r.getId()); 81 System.out.println(r.getId());
@@ -82,13 +84,13 @@ public class TestCircuits { @@ -82,13 +84,13 @@ public class TestCircuits {
82 static void description(Composant[] tabc){ 84 static void description(Composant[] tabc){
83 for(Composant r : tabc){ 85 for(Composant r : tabc){
84 System.out.println(r.description()); 86 System.out.println(r.description());
85 - } 87 + }
86 } 88 }
87 - 89 +
88 static void traceEtats(Composant[] tabc){ 90 static void traceEtats(Composant[] tabc){
89 for(Composant r : tabc){ 91 for(Composant r : tabc){
90 System.out.println( r.traceEtat() ); 92 System.out.println( r.traceEtat() );
91 - 93 +
92 } 94 }
93 } 95 }
94 } 96 }