From 9441c8978acaad839cc0edd954fbc9de7f8ce7ed Mon Sep 17 00:00:00 2001
From: Simoes Lukas <lukas.simoes@etu.u-pec.fr>
Date: Tue, 4 Mar 2025 13:22:24 +0100
Subject: [PATCH] TP07

---
 DEV2.1/TP07/Etoile.class             | Bin 0 -> 1071 bytes
 DEV2.1/TP07/Etoile.java              |  34 +++++++++++++++++
 DEV2.1/TP07/Moto.class               | Bin 0 -> 329 bytes
 DEV2.1/TP07/Moto.java                |  11 ++++++
 DEV2.1/TP07/Moyenne.class            | Bin 0 -> 959 bytes
 DEV2.1/TP07/Moyenne.java             |  28 ++++++++++++++
 DEV2.1/TP07/MoyenneV1.class          | Bin 0 -> 1092 bytes
 DEV2.1/TP07/MoyenneV1.java           |  53 +++++++++++++++++++++++++++
 DEV2.1/TP07/ProducteurDePoints.class | Bin 0 -> 156 bytes
 DEV2.1/TP07/ProducteurDePoints.java  |   5 +++
 DEV2.1/TP07/Test.class               | Bin 0 -> 1401 bytes
 DEV2.1/TP07/Test.java                |  22 +++++++++++
 DEV2.1/TP07/Vehicule.class           | Bin 0 -> 160 bytes
 DEV2.1/TP07/Vehicule.java            |   6 +++
 DEV2.1/TP07/Voiture.class            | Bin 0 -> 335 bytes
 DEV2.1/TP07/Voiture.java             |  11 ++++++
 16 files changed, 170 insertions(+)
 create mode 100644 DEV2.1/TP07/Etoile.class
 create mode 100644 DEV2.1/TP07/Etoile.java
 create mode 100644 DEV2.1/TP07/Moto.class
 create mode 100644 DEV2.1/TP07/Moto.java
 create mode 100644 DEV2.1/TP07/Moyenne.class
 create mode 100644 DEV2.1/TP07/Moyenne.java
 create mode 100644 DEV2.1/TP07/MoyenneV1.class
 create mode 100644 DEV2.1/TP07/MoyenneV1.java
 create mode 100644 DEV2.1/TP07/ProducteurDePoints.class
 create mode 100644 DEV2.1/TP07/ProducteurDePoints.java
 create mode 100644 DEV2.1/TP07/Test.class
 create mode 100644 DEV2.1/TP07/Test.java
 create mode 100644 DEV2.1/TP07/Vehicule.class
 create mode 100644 DEV2.1/TP07/Vehicule.java
 create mode 100644 DEV2.1/TP07/Voiture.class
 create mode 100644 DEV2.1/TP07/Voiture.java

diff --git a/DEV2.1/TP07/Etoile.class b/DEV2.1/TP07/Etoile.class
new file mode 100644
index 0000000000000000000000000000000000000000..23d1403b9c1a3a6833a62e10e1ab5701aad2a692
GIT binary patch
literal 1071
zcmX^0Z`VEs1_mbvFLnkdMh3pD#Ii*FoW#6zec!~A3@!#123B?kHXa6c1`b9B0fel7
zQdVkm2_plWO=ezZi5(*Yvxa6ECj%D)H#-9l4+Ad)A0q>sYe{})PAVe<TV82yYEeET
z1EUL@g9HN@u-U&<{2k(=E5YW#BCTIG=feYb1~Hfe63a{U1M)NTO4uC28o<iA7#JC(
zco?J^WEdHklk<xi8CW!2G+jW#ay$(3VBzA-JT3-N21Sr-l^7XVH9S2v!$2Y`JPfJ~
zN{kGgB}IvO#W{&3say<P46GnRgNH$rL5q=ry|^^9EHSTykwHj9(+BKNxFf7N8FUzQ
z*%|bB81xwoP=X=2vbZEQmyv-vzqEvrK@_4fGhaWTC^N4lxTGjGG1r=d!HAK8B_y@D
zgp0w1!IYiBjEBLT!Ge)N7;FuyYDNb30+8OEJVpjl4TyQ*=m;(;%FIi*)(m53uwrBo
z3Mk4?DNQa(EiH0M1&35IBLjPdb822mQ7R(?qbDN+uXBE0aY<rcNmyb|X(}@V149ZU
z1A8S*32RYeWquwb19xIxdQPfKYC&RA2_pj^nCF?7T$Gxd3JMJt=lqmZMh1SL%)C^;
z(%hufqL9QSP@M7xmn0@<`z97Z`7F7KnR$#1Vj9ud9L>nU6`WsMl$`1YP7vIXl%WR-
z00u<{P%>j=uw-CkkYccAuwh_iuw`IiU}CUikYcb$<2x|$!R5snq!=8L_<{^l3{FUV
zVFo5pN@QSQU}j(hC1D0e24@Ba1}!k3fq_eFI|H*8-&O|BjSLJ7j0`Re3=Dh>pr8V|
zh?{|vfro(+ls=&PW;3ueurM$%1Tgw&ZDHUPVc?%JhrwQiK@h?d&QA8+%^(^n!XU1(
zgF!O855kbm?%U3w;G->&B9O9;L0Kzu3j-&A@>T}U<qRBP%e6OveG9T(i-8O51||l6
z23`gM1}O$X25kl*1``Hh1{($u1~&##22Tbt20sP~23H0K22KX1KMbDi45BOyoD6OZ
z?ofyNF)%SOF)%Pl?`GhN+|HopqrHtm{TKt^CI)RG!)*-4%m04_`IrgpV<E7gWEeOY
cWEuDw<Qb$G6cJ`~urqK8GB7fDfSu?G0HDvz1poj5

literal 0
HcmV?d00001

diff --git a/DEV2.1/TP07/Etoile.java b/DEV2.1/TP07/Etoile.java
new file mode 100644
index 0000000..009adde
--- /dev/null
+++ b/DEV2.1/TP07/Etoile.java
@@ -0,0 +1,34 @@
+import java.awt.Point;
+ 
+public class Etoile implements ProducteurDePoints {
+  private static final int xCentre = 100;
+  private static final int yCentre = 100;
+  private static final double rayon = 90.0;
+  private static final double angleDepart = Math.PI/4.0;
+  private static final double angleIncrement = (4.0*Math.PI)/5.0;
+  private double numero;
+  public Etoile() {
+    this.numero = 0.0;
+  }
+  public Point suivant() {
+    Point p = null;
+    if (this.numero < 6.0) {
+      double angle = Etoile.angleDepart+this.numero*Etoile.angleIncrement;
+      p = new Point((int) (Etoile.rayon*Math.cos(angle)),
+                    (int) (Etoile.rayon*Math.sin(angle)));
+      p.translate(Etoile.xCentre, Etoile.yCentre);
+      this.numero++;
+    } else {
+      this.numero = 0.0;
+    }
+    return p;
+  }
+
+  public static void main(String[] args) {
+  	Etoile e = new Etoile();
+  	while (e.suivant() != null) {
+  		// TODO
+  		System.out.println("Test");
+  	} 
+  }
+}
\ No newline at end of file
diff --git a/DEV2.1/TP07/Moto.class b/DEV2.1/TP07/Moto.class
new file mode 100644
index 0000000000000000000000000000000000000000..783742d02d410bda7f655f85a682ed2b9ebeeb68
GIT binary patch
literal 329
zcmX^0Z`VEs1_mbv5iSNM24;2!79Ivx1~x_pfvm)`ME#t^ymWp4q^#8B5=I6#o6Nk-
z5<5l)W)00S4h9ZJ1{UA^l6-as4t54^Mh1?s)QrsJ(wtOA1{UZ1lvG9rexJ;|RKL>P
zq|~C2#3YaeYjJ*2Nh%|Qh=!&Q!h+zEqRhN>Yeok4yriJ~($r$G6`qU?T*3LJMaijd
znIOHKAj|YXx)>B0I2o827#X-27#Nrt7(p&(U}WH7U|^7CU}RuqU|?X?+RnhZk%57M
zk%5<ifq@My2$JGs;D;)ehAL$iV&8zKkcEMfL4ZLJs!$55kco8-nmP^!Mg}1U1_mYu
FVE~4KG4KEY

literal 0
HcmV?d00001

diff --git a/DEV2.1/TP07/Moto.java b/DEV2.1/TP07/Moto.java
new file mode 100644
index 0000000..06325f3
--- /dev/null
+++ b/DEV2.1/TP07/Moto.java
@@ -0,0 +1,11 @@
+public class Moto implements Vehicule {
+
+	public String sorte() {
+		return "Moto";
+	}
+
+	public int nbRoues() {
+		return 2;
+	}
+
+}
\ No newline at end of file
diff --git a/DEV2.1/TP07/Moyenne.class b/DEV2.1/TP07/Moyenne.class
new file mode 100644
index 0000000000000000000000000000000000000000..f49ad7ac166967e7df3b4403a1843b31d7a7b763
GIT binary patch
literal 959
zcmX^0Z`VEs1_mbvS1tx724;2!79Ivx1~x_pfvm)`ME#t^ymWp4q^#8B5=I6#o6Nk-
z5<5l)W)00SP6iGJPId+^9tLg(9!3Us-~7tdyu4IK2KHPSi_rz7h>wSXpFx0;fg?FT
zx1c1ow1|;`(UXfoh(Va0L4=1vltB!|GQZN?q|_ot2JV#n(xjZ!u*96wRIrUMTnrox
z%v=nT3{vb2(mV_@46=+2f(Tc7=9Q$TgLJZ&f%N#NF*1m0cxw7!sIUeZB+tX3z@W&;
zz?_(p!pI=1fus!L0&7hdHV4s}ATW!IL6t#`ok1OBsRoK`UBHe68Q_9!6GYgWl>rQx
zl(`sm7<Abg^gssaGcxcY+~kv=m(Iu_tl@>M9VBSY$zaG}#Li&M!(hT-iehPSWpPPr
zE+YeTerX9KgDAx5nfdwwMVWae!6ikhiMe1un)5JNfI^omJ+;KKEVU>xJ(Y{Wiou$l
z!G?#ymcfpZK^W{1RIQ8*>;)i$a`G4%STtNT!x$M@obyvs85#I}GV@X)p%aprl#|NH
zz>=GonFk8zXow@g$tAd?C^IkJ8l;gcIKQ+gIn^x_q?iYqMD#$GGAJ@|FfcJNFfcJN
zfl?5d#m^wXz`(%5zz9l$42%r+3=9m$49pCS3=9nXTH6^IwfMF&uxl}IW#HY&z`(%B
z;K0DZAjH7Jz`(%Dz{0@Bz{$YQz{kMBzzB+5r~#%7tYC{IwIa7L@UkRqW#9#|*tNGY
z2qwpFWnf<qHwu&m7#O%2xEOdC7(rnNH9{HeCI$v>tt|}fT3Z-++w&2c*uc&cVBlnM
zWN?CNh+|*|+iA3$fg^G|gSd}2>kbBqZ47b|+9C`}I~Y`;OwAn(+92j81_SMF3})LH
qED`>aVqjxnU=U;AU=U{zWRPHxVUT1{XOLnrWRPZHWN-!tm<s?95V_v~

literal 0
HcmV?d00001

diff --git a/DEV2.1/TP07/Moyenne.java b/DEV2.1/TP07/Moyenne.java
new file mode 100644
index 0000000..a348c05
--- /dev/null
+++ b/DEV2.1/TP07/Moyenne.java
@@ -0,0 +1,28 @@
+public class Moyenne {
+	private double moyenne;
+	private int compteur;
+
+	public Moyenne() {
+		this.moyenne = 0;
+		this.compteur = 0;
+	}
+
+	public double add(Number n) {
+		this.compteur++;
+		return this.moyenne += n.doubleValue();
+	}
+
+	public double getAverage() {
+		return this.moyenne / this.compteur;
+	}
+
+
+
+	public static void main(String[] args) {
+		Moyenne m = new Moyenne();
+		m.add(2);
+		m.add(5.4);
+		m.add(547L);
+		System.out.println(m.getAverage());
+	}
+}
\ No newline at end of file
diff --git a/DEV2.1/TP07/MoyenneV1.class b/DEV2.1/TP07/MoyenneV1.class
new file mode 100644
index 0000000000000000000000000000000000000000..9bfca206ee6abfd7dcdc29c2d7877baa27cf676a
GIT binary patch
literal 1092
zcmX^0Z`VEs1_mbvOD+Z`24;2!79Ivx1~x_pfvm)`ME#t^ymWp4q^#8B5=I6#o6Nk-
z5<5l)W)00SP6iGJPId+^9tLg(9!3UE-~7tdyu8#fLq-PnTnL+yfzbt|jE{$bpFx0;
zfg?FTx1c1ow1|;`(UXgTgMk@D2=g$AFo-fTFej#@Ffy=ccxt+^If%{#fmtAVNszo0
zNXA9eg_Qven3O>>av&Lbkc^k63nzmjgAzM~G7p0agDQ&igDZ<mQgay@nDa|Z7#T!;
zz#hxY*AFPl%qs~lDN0SuwFVid&cmR=pvlO<m7ZGSSe9Cpn4SvustXr`HiHg3gDww)
z9)mt3gD@5Y7#Y|LK*r_dft=%_8OF%K;+&t7%E-X)lbM(5SDKrYS`?C)l#>dQchYnL
zQNa+(4NT=GX67+6h-pMa+y@T$;F6-uymV`jX<WhirA5i9ZkZqx_~3!92XYI8A_E5l
z69WSS69W?{Hoz=?1_1^J22KV>P;@ddG8iy0Fc>p1GcYnRFz{<_XJFLg+seSM#k`e)
zcOwG>10#bW0|SE)0}BHK11kdy0~-S;13LpB0|x^mg9w8W+yGXvMdDhKTNrp*61Fn%
zf>`X*?a8rQ8Q9mu4FV-51_o{hE(RX30mkGRAi%)IAP6=<lsp4O8Mqk4zy`=88NkfI
zz<}-r`7W$pkYeCskOmuIf@A<Fu+a@r?!{_=JOdYl0@wg4r~yU{tPCI*h=GC*DG=4M
z>Q`alVo+sZ1SL(Veq{z0a4d3bZDC;7+QPuwo{tE4Hn5Z?11EzigBesqC<8M%)--oB
za71or5cJVz-Nqmkp)JB7wv9moL`!dDkd4^HprE~tL2Vm@79v4NF|aW(Fz7RIFc>iK
YF&Hw4F&Ht(F&HywFo1%?9GucD05C(OD*ylh

literal 0
HcmV?d00001

diff --git a/DEV2.1/TP07/MoyenneV1.java b/DEV2.1/TP07/MoyenneV1.java
new file mode 100644
index 0000000..88a43d1
--- /dev/null
+++ b/DEV2.1/TP07/MoyenneV1.java
@@ -0,0 +1,53 @@
+public class MoyenneV1 {
+	private double moyenne;
+	private int compteur;
+
+	public MoyenneV1() {
+		this.moyenne = 0;
+		this.compteur = 0;
+	}
+
+	public double add(byte n) {
+		this.compteur++;
+		return this.moyenne += n;
+	}
+
+	public double add(short n) {
+		this.compteur++;
+		return this.moyenne += n;
+	}
+
+	public double add(int n) {
+		this.compteur++;
+		return this.moyenne += n;
+	}
+
+	public double add(long n) {
+		this.compteur++;
+		return this.moyenne += n;
+	}
+
+	public double add(float n) {
+		this.compteur++;
+		return this.moyenne += n;
+	}
+
+	public double add(double n) {
+		this.compteur++;
+		return this.moyenne += n;
+	}
+
+	public double getAverage() {
+		return this.moyenne / this.compteur;
+	}
+
+
+
+	public static void main(String[] args) {
+		MoyenneV1 m = new MoyenneV1();
+		m.add(2);
+		m.add(5.4);
+		m.add(547L);
+		System.out.println(m.getAverage());
+	}
+}
\ No newline at end of file
diff --git a/DEV2.1/TP07/ProducteurDePoints.class b/DEV2.1/TP07/ProducteurDePoints.class
new file mode 100644
index 0000000000000000000000000000000000000000..860e6788f48b4234860cf9afda02ec0026daa08d
GIT binary patch
literal 156
zcmX^0Z`VEs1_mbvPId++Mh2mPqWqN7<dW3VBA3*F{LH+PVs-`=Mh1bb#Ii*FoW#6z
zegCAa)Z`LI2KM68%(BG15=I6g4NV`gd}4WtK3J1ABLi1(erZv1s#|7GDkFn9rm=b;
h9c+vYj10^SAi&7N$iT|L#=yY9$iU9Pz`(@70RRyOC&&N*

literal 0
HcmV?d00001

diff --git a/DEV2.1/TP07/ProducteurDePoints.java b/DEV2.1/TP07/ProducteurDePoints.java
new file mode 100644
index 0000000..4c0dd33
--- /dev/null
+++ b/DEV2.1/TP07/ProducteurDePoints.java
@@ -0,0 +1,5 @@
+import java.awt.Point;
+ 
+public interface ProducteurDePoints {
+  Point suivant();
+}
\ No newline at end of file
diff --git a/DEV2.1/TP07/Test.class b/DEV2.1/TP07/Test.class
new file mode 100644
index 0000000000000000000000000000000000000000..fc113906ac4eb46b151c575dcaf21fa9140242bb
GIT binary patch
literal 1401
zcmX^0Z`VEs1_mbve=Y_l24;2!79Ivx1~x_pfvm)`ME#t^ymWp4q^#8B5=I6#o6Nk-
z5<5l)W)00S4h9ZJ2KKQ0%#zZgR1O9%Mg|t&{E~bQ1|CKRg}~C(9EGyOD>E{aOLI~c
zk~8u%i!+OhQ>%2#@=J>q>^T_t7#TPMOH+$WGV}A;83Y&^#6k8|=ogn~=B4X<`4@mB
z0uu95xfu8vgm@T)8AKQv1d22A%OO%OnTa|1>5L2|8a^P6`ibQw`p)^e1^IcYc_r2m
zF(k($iv*VxW#*+@dwPOZ!L0O5&d;-s1`8qk8d)PG9IQ1x*%>&v7(_v##l^)S&cMvc
zAjKff&LG3XAj=?!5_G|p#U-h^j10{Ar6r6Eq7dUV^YsIYGV@A;ONvqxbFH}<6c`lQ
z8I*V!lo?bQ892gHA;HGTz*?MNRFcZbAfllO(Fyhu)cqiBYCH_;3>u6K?0HE+`K77F
z;HdEwVqjp<;$hHc&|zc{&rQrub<WRAPAmz}EXi=r&nqrT%quBoWKf5O9I~07SnT0q
z&|}bNXE5MlFk~=dWDo`iH>wvH8Q2Rz9?HpMWDvz-tY#QHg9#%8OGs*Q2_plGbAC!H
zBLlxrW?rgaX>L+#QAlD^PAVe<OKxIj9wUR8268k&eXAM9$iN$1l9-(Bn^*u=&(2`Y
z$RLcY6dFJ547O+zP%{`AxPtRbi;`2_GC|gHf}EoV@(v?|fKz^cNpVS0Vu5dJNk)E3
zF$aSaBZGKoUaA74LP36U@!=IIAZ8ILl=b-87+km*Tp8Th8QekP?7_&O0x}1Za5D4C
z^0QO*A(ldd-Yqe?B)_PVkzodM=s*=hZ1hOXOUX$sR`JQt&n_)MPIeH3kVQ~5hEx`$
zB1=M*V+k1K$b}l=oS2gnoLQ1;&B(yxnU|MZ<eZaOT%20W&fv|+po-xqY))lo@MUC>
z!>^Q)feqp>21N#A1||j&U}9hdl{5^D45kbW46+Q242%p646It)85lP*FfcGOm@zOg
zuz>}c88{it87!bm=Q40GurM$%_^|F}V2WfGVh@gF5#kK?WfbBT;$>oE)M4DgAZRB$
zi-B)9gJ|S-1~H%I4BWdJ#3Q#eNce1GkksDEAkWC4y^}$ekzp5uCIiDZ23?SiOkf-3
z7}&w~@-uKS$TA2pC^85#=r9N~m@tSicr%DHSTZm$NHZ|~W6)t>XRu=Y&%n;W!p>mB
z&Y%F|GB7YOGuSaOFfcLLGdM6XFmNz1GB`6ZGB`4LGB7Z3F)%WCG59d}F-QUc5DaVU

literal 0
HcmV?d00001

diff --git a/DEV2.1/TP07/Test.java b/DEV2.1/TP07/Test.java
new file mode 100644
index 0000000..004186b
--- /dev/null
+++ b/DEV2.1/TP07/Test.java
@@ -0,0 +1,22 @@
+import javax.swing.JOptionPane;
+ 
+public class Test {
+  public static void main(String[] args) {
+    Vehicule v;
+    Object[] choix = {"Voiture", "Moto"};
+ 
+    int reponse = JOptionPane.showOptionDialog(null,
+      "Quel v\u00E9hicule choisissez-vous ?",
+      "Question",
+      JOptionPane.DEFAULT_OPTION,
+      JOptionPane.QUESTION_MESSAGE,
+      null,
+      choix,
+      null);
+    if (reponse == 0)
+      v = new Voiture();
+    else
+      v = new Moto();
+    System.out.println("Une "+v.sorte()+" poss\u00E8de "+v.nbRoues()+" roues.");
+  }
+}
\ No newline at end of file
diff --git a/DEV2.1/TP07/Vehicule.class b/DEV2.1/TP07/Vehicule.class
new file mode 100644
index 0000000000000000000000000000000000000000..fbc9421c22fa382e919f464be842a2c3ef6d2abe
GIT binary patch
literal 160
zcmX^0Z`VEs1_mbvZgvJHMh1?s)QrsJ(wtOw1{OvJfvm)`ME#t^ymWp4q^#8B5=I8r
z;{2kLR7M674NV_}Y;Z|YW?s5ABLjP0Qc!+rYB3`NvxcT8BLi1(erZv1s#|7GDkB3g
r%y2!BPBumcMh0dE5MW|qWME}rV*uI7&cMOIz`)4B$-uzC#J~jrM>8V*

literal 0
HcmV?d00001

diff --git a/DEV2.1/TP07/Vehicule.java b/DEV2.1/TP07/Vehicule.java
new file mode 100644
index 0000000..f7604d5
--- /dev/null
+++ b/DEV2.1/TP07/Vehicule.java
@@ -0,0 +1,6 @@
+public interface Vehicule {
+
+	public String sorte();
+
+	public int nbRoues();
+}
\ No newline at end of file
diff --git a/DEV2.1/TP07/Voiture.class b/DEV2.1/TP07/Voiture.class
new file mode 100644
index 0000000000000000000000000000000000000000..76c4ec29ab2c3a8e57b8cbf502bee87903d3640c
GIT binary patch
literal 335
zcmX^0Z`VEs1_mbv5iSNM24;2!79Ivx1~x_pfvm)`ME#t^ymWp4q^#8B5=I6#o6Nk-
z5<5l)W)00S4h9ZJ2KKQ0%#zZgRCWdqb_Q-n29B`QjLhWHoK!{z7U%qwR7M7VpUk{e
zztY^K)S{5YB#;Daaeh%rDkFo4hNcg~j^L7_%)E4KMh5o0q@euL)MBtLo{S7!!TF^{
z$*FFcAiX?L`}9B>859{f8JHLt8Mqi27?>FtLGET?WZ+?7V31{CWME`qU|`kS&cL{l
zfq{XMftP`SfekDOlHz0FhbonZDrFX8-+-o&g@KVlfI$$dPztJ$iG2;4It~U#1|bFp
I1||k!0Age`mH+?%

literal 0
HcmV?d00001

diff --git a/DEV2.1/TP07/Voiture.java b/DEV2.1/TP07/Voiture.java
new file mode 100644
index 0000000..9a9bc1e
--- /dev/null
+++ b/DEV2.1/TP07/Voiture.java
@@ -0,0 +1,11 @@
+public class Voiture implements Vehicule {
+
+	public String sorte() {
+		return "Voiture";
+	}
+
+	public int nbRoues() {
+		return 4;
+	}
+	
+}
\ No newline at end of file