From 9c4ca5bcda666692082cdbf88764322d55acb14c Mon Sep 17 00:00:00 2001 From: Simoes Lukas Date: Mon, 3 Nov 2025 11:08:37 +0100 Subject: [PATCH] fin tp piles --- DEV3.2/TP04/01_Arithmetique/Main.class | Bin 0 -> 1759 bytes DEV3.2/TP04/01_Arithmetique/Main.java | 38 +++++++++++++++++ DEV3.2/TP04/02_Chaine/Main.class | Bin 0 -> 1741 bytes DEV3.2/TP04/02_Chaine/Main.java | 37 ++++++++++++++++ DEV3.2/TP04/02_Chaine/Pile.class | Bin 0 -> 297 bytes DEV3.2/TP04/02_Chaine/Pile.java | 6 +++ DEV3.2/TP04/02_Chaine/PileChainee.class | Bin 0 -> 1087 bytes DEV3.2/TP04/02_Chaine/PileChainee.java | 52 +++++++++++++++++++++++ DEV3.2/TP04/03_Tableau/Main.class | Bin 0 -> 1741 bytes DEV3.2/TP04/03_Tableau/Main.java | 37 ++++++++++++++++ DEV3.2/TP04/03_Tableau/Pile.class | Bin 0 -> 297 bytes DEV3.2/TP04/03_Tableau/Pile.java | 6 +++ DEV3.2/TP04/03_Tableau/PileTableau.class | Bin 0 -> 826 bytes DEV3.2/TP04/03_Tableau/PileTableau.java | 35 +++++++++++++++ 14 files changed, 211 insertions(+) create mode 100644 DEV3.2/TP04/01_Arithmetique/Main.class create mode 100644 DEV3.2/TP04/01_Arithmetique/Main.java create mode 100644 DEV3.2/TP04/02_Chaine/Main.class create mode 100644 DEV3.2/TP04/02_Chaine/Main.java create mode 100644 DEV3.2/TP04/02_Chaine/Pile.class create mode 100644 DEV3.2/TP04/02_Chaine/Pile.java create mode 100644 DEV3.2/TP04/02_Chaine/PileChainee.class create mode 100644 DEV3.2/TP04/02_Chaine/PileChainee.java create mode 100644 DEV3.2/TP04/03_Tableau/Main.class create mode 100644 DEV3.2/TP04/03_Tableau/Main.java create mode 100644 DEV3.2/TP04/03_Tableau/Pile.class create mode 100644 DEV3.2/TP04/03_Tableau/Pile.java create mode 100644 DEV3.2/TP04/03_Tableau/PileTableau.class create mode 100644 DEV3.2/TP04/03_Tableau/PileTableau.java diff --git a/DEV3.2/TP04/01_Arithmetique/Main.class b/DEV3.2/TP04/01_Arithmetique/Main.class new file mode 100644 index 0000000000000000000000000000000000000000..d5a5bcaeda3cb7c3db7d97848f75ac3005946b02 GIT binary patch literal 1759 zcmX^0Z`VEs1_pD6crFG}1_gEoMJ@&=1|=>AWd;=xOO>5L4MeN6GiY!!XfkMVF=#XB za4~Q&=yEXVfoOdW1_KTTLk1`CiPOLhh;b_Q!k1~!|_yv!0iMh0dL z%`ip=7U%qwR7M7VpUk{eztY^K)S{5Yq?}Yn2A15!%sfU0F^y=Sti-ZJ{hY+Sbp7Cx zqRhN>Ymi3X;F84TY~REJuzGd|8%74M;QZ2}@|7(5wlc^JGHycro7wRsqP7n`FY8SCE=MR8P556#U+V(C19&eV3%g;`Qreuhl+!B*Z@{20j8Dbe3 z*nINyvr7vY8F)PN@=}YOa}tY-Q;QiHW*|ESY6c|fcqHbfKr~uoIuA(%MPo>1 zK`IvI$Y}}|n3zU5C+6e?XO^T|vopjoGN@ws51ZQ<8RYP*V^CxeVGv~i0VW1UP_|`Y zWRPHBV31{CWME`qU|`kS&cL{lfq{XML6U)ifekFk!obNO#UKq)%J`OnnSq0WfzfI= z15>2dzU>UmKFqcf!Gc1gBv4BV?h?qkScU|?WjU|`UOVqFFX25SZe27Lww zhG+%`h6)A-25(6=A)ajvyfYchn9bOiGZ;v+3GspXYAhhWf+U*|KbSAZ3gQb$vIz-* z`D|=v?4sA87&ubc7(fNQ z5Ca#3Bm*~t0)sq*G6N5T3Ii{L0Rta{4Ff-e3xfcI4}%cH0|pU>cMPHo9~s0M{xe80 zGBHRo3NT1B3Ny$uDl%{|sxv4tS~93I$S^Q4*fQ|`W#D0FU}6koXJGr!kifvf&L9io zvoo+UGO{ypFfuUk^Yin_2?z-MXW(UEhDtLq{9<5bU}lhGU|?WkkY|WuU|`^4U}T73 ah+&9ikYq4sU|`^5U}7*~U}P`_ljZ pile = new ArrayDeque<>(args.length); + + for (int i = 0; i != args.length; i++) { + try { + Integer.parseInt(args[i]); + pile.addFirst(args[i]); + } catch (NumberFormatException e) { + int n2 = Integer.parseInt(pile.removeFirst()); + int n1 = Integer.parseInt(pile.removeFirst()); + System.out.println(n2); + System.out.println(n1); + + switch (args[i]) { + case "+": + pile.addFirst(n1 + n2 + ""); + break; + case "-": + pile.addFirst(n1 - n2 + ""); + break; + case "x": + pile.addFirst(n1 * n2 + ""); + break; + case "/": + pile.addFirst(n1 / n2 + ""); + } + } + } + + System.out.println("= " + pile.removeFirst()); + + + } +} \ No newline at end of file diff --git a/DEV3.2/TP04/02_Chaine/Main.class b/DEV3.2/TP04/02_Chaine/Main.class new file mode 100644 index 0000000000000000000000000000000000000000..a170e67beef821b3495db5837b11d1ea639a53d4 GIT binary patch literal 1741 zcmX^0Z`VEs1_pD6I4%ZJ1_gEoMJ@&=1_dq#B?e^>ONE_56-2ACGpKViXfSAUF=#Pp zb1`r*=x{LTf@nPs27L|&0}cj5AqEBpQy~UM26K=i3w8!eb_Od(1~!|_yv!0iMh0dL z%`ip=7U%qwR7M7VpUk{eztY^K)S{5Yq?}Yn2A15!%sfU0F^y=Sti-ZJ{hY+Sbp7Cx zqRhN>Ymi3X;F84TY~REJuzGd|YeojH;QZ2}%gDf3!N|a<&&VL) zl%HQxTvC)+;G0^Kk)Kk`&&J@(!QjWk;Li}i!4L?dgFvPPGcvG%+>T=#+MAt3>*v$jApwTm?F0`F#9mu z%4qGI&nTuPW3+>TC0tue#%LP@>vD$we%jj@*bgvp>|kIqV?koGZerjRW!c8S1)^EE zF>q91QFX0t}oC z;tX62a$ptQ3`z_<40;T_3|0($3{DLE3|xl97i& zijki|hEbM*ol%)VkpSh8BD;W830v5iu(Wn literal 0 HcmV?d00001 diff --git a/DEV3.2/TP04/02_Chaine/Main.java b/DEV3.2/TP04/02_Chaine/Main.java new file mode 100644 index 0000000..86bf148 --- /dev/null +++ b/DEV3.2/TP04/02_Chaine/Main.java @@ -0,0 +1,37 @@ +import java.awt.*; + +public class Main { + public static void main(String[] args) { + PileChainee pile = new PileChainee<>(); + + for (int i = 0; i != args.length; i++) { + try { + Integer.parseInt(args[i]); + pile.addFirst(args[i]); + } catch (NumberFormatException e) { + int n2 = Integer.parseInt(pile.removeFirst()); + int n1 = Integer.parseInt(pile.removeFirst()); + System.out.println(n2); + System.out.println(n1); + + switch (args[i]) { + case "+": + pile.addFirst(n1 + n2 + ""); + break; + case "-": + pile.addFirst(n1 - n2 + ""); + break; + case "x": + pile.addFirst(n1 * n2 + ""); + break; + case "/": + pile.addFirst(n1 / n2 + ""); + } + } + } + + System.out.println("= " + pile.removeFirst()); + + + } +} \ No newline at end of file diff --git a/DEV3.2/TP04/02_Chaine/Pile.class b/DEV3.2/TP04/02_Chaine/Pile.class new file mode 100644 index 0000000000000000000000000000000000000000..18489eb37e9575273142cff346b8c7a04a5b1037 GIT binary patch literal 297 zcmX^0Z`VEs1_pBmL3Rdyb_M}P29Cs(6t~Qx;u1y%Q4OE0#Ii*FoW#6zegCAa)Z`Lt z%`ip=&fv`Syu^~yqEto(HjNNhupoC)YHog6Dpae8h9;(7Mg~?5%@9{>Mh5oGV%OY) zl1fGfW)00KMg|QVS1U~Qc9=qp3|ztarA5i9Zkai$j0~IsnK`L?AV)GXuz=W%3<4k? zvXj{u85kLu7(jrTg^_`ofrWvQft7)Qfr){Qg^_`sfdkIxWMO3BV&DeLK~(TC@Pc`K E0L95ca{vGU literal 0 HcmV?d00001 diff --git a/DEV3.2/TP04/02_Chaine/Pile.java b/DEV3.2/TP04/02_Chaine/Pile.java new file mode 100644 index 0000000..9445b47 --- /dev/null +++ b/DEV3.2/TP04/02_Chaine/Pile.java @@ -0,0 +1,6 @@ +public interface Pile { + + void addFirst(E element); + E removeFirst(); + boolean isEmpty(); +} \ No newline at end of file diff --git a/DEV3.2/TP04/02_Chaine/PileChainee.class b/DEV3.2/TP04/02_Chaine/PileChainee.class new file mode 100644 index 0000000000000000000000000000000000000000..8b631addfdfd7553b530bec5f36823c3b7a442de GIT binary patch literal 1087 zcmX^0Z`VEs1_pBmJuU_=24zkLRt6Oip~}U;%Am&1pbnyy*%>rA7&N&U*cr6g8MN6M zbQl@f$`W%@ON$s8gnY6R%M$f-67$ma{gbj%lS`}_890M8)AJHbN{dn%8JI&{tr;2E zi%T=h67xzJ8F+mHGILU$GZHiNQd6x#1|acmLR_uwtQi^DY%=pQOY9gKm^C!R7#Ucc z^HWk88TfrN^HTjvbCXhwLK2g5QW+UUH88CQX<*X`akU09I1*D*+%k)bK^6y>BqnG3 zCKf>Tau=oM=9i^HWkobJF^ytmVAarsxIeSlHMgLo66~TVMh0UWS1U~Qc9=q7-@?4b z6`WsMl$`38339stlE3vpfyl!k%pk(Uz{9}H!yv#Q$ipDVAkWCajiii`K^~+K655_Q zIjQN1Il(1~C8@3z$*Bb;nfZB)44feK3T2rosUY)o85sl+S|Aa`$iMDHQI42le_3|tJ14BQM%3@jk$FfcOkF)%PNG4M06fLsRW3o)=VFoImoz{nuVz`$V4 zz{J4Fz`($-wVi=ci*YLh6Nq5m$iTqB$RNhRz#zoH!oa}5!N9`6$-v3L#lXkF4K_fW zfeCH^6Wjo8Tn6wmurTm3a5C^S@G%HL-6p}n$RNo8GpK-piGi7cfx$>?8w1Ns25v2o zS<4wzcQdd?Zf9Wg)zR9*z_gWt2}Cn*Wnc!&Yw2ud06Ufm>{ulR4h9AW5e9Y!Q3ien zaRzY)2?luvNd|QWDFz(|X$C_ESq3Qv1_l-eCVoXES4cC+K)ut>z{~*hjw8esyt^6L zBZWA&GjQ(L+QPtmoPi(Y3Lj7yF==mrut5?Kr)fc$AlGSc00%!P1hp8r7#J878Q2+= z7z7zq7$g`}8DtsM7?c>)8B`cF88jKR7)%(n8SEK!V2%?Mf;vu?ff1CZppj+3zzB{k pUXaDd8Q58tGq5nPfm_4|mNW(%!pgwJ?ZC*u1T{y2K@qG>2>``IzPbPa literal 0 HcmV?d00001 diff --git a/DEV3.2/TP04/02_Chaine/PileChainee.java b/DEV3.2/TP04/02_Chaine/PileChainee.java new file mode 100644 index 0000000..4151329 --- /dev/null +++ b/DEV3.2/TP04/02_Chaine/PileChainee.java @@ -0,0 +1,52 @@ +public class PileChainee implements Pile { + + protected E valeur; + protected PileChainee suivant; + + public PileChainee() { + this.valeur = null; + this.suivant = null; + } + + public PileChainee(E element) { + this.valeur = element; + this.suivant = null; + } + + @Override + public void addFirst(E element) { + if (this.isEmpty()) { + this.valeur = element; + } else { + PileChainee nouveau = new PileChainee<>(); + nouveau.valeur = this.valeur; + nouveau.suivant = this.suivant; + this.valeur = element; + this.suivant = nouveau; + } + } + + @Override + public E removeFirst() { + if (this.isEmpty()) { + throw new IllegalStateException("Pile vide"); + } else { + if (this.suivant == null) { + E temp = this.valeur; + this.valeur = null; + return temp; + } else { + E temp = this.valeur; + this.valeur = this.suivant.valeur; + this.suivant = this.suivant.suivant; + return temp; + } + } + } + + @Override + public boolean isEmpty() { + return (this.valeur == null); + } + +} \ No newline at end of file diff --git a/DEV3.2/TP04/03_Tableau/Main.class b/DEV3.2/TP04/03_Tableau/Main.class new file mode 100644 index 0000000000000000000000000000000000000000..b2810726ab0b97dca3ef8c69f7a95951b62ae64b GIT binary patch literal 1741 zcmX^0Z`VEs1_pD6I4%ZJ1_gEoMJ@&=1_dq#B?e^>ONE_56-2ACGpKViXfSAUF=#Pp zb1`r*=x{LTf@nPs27L|&0}cj5AqEBpQy~UM26K=i3w8!eb_Od(1~!|_yv!0iMh0dL z%`ip=7U%qwR7M7VpUk{eztY^K)S{5Yq?}Yn2A15!%sfU0F^y=Sti-ZJ{hY+Sbp7Cx zqRhN>Ymi3X;F84TY~REJuzGd|YeojH;QZ2}P&hz$@oxaAk+CYHEXB&QaXWaj7bFgP+eF)|1s zltCQA&fv_$;KJa_&fvzw;LhN|!{Eu_#mK;@&BNf$;KRtksLRN}Si#7^sL#kC;FO?M#AhD=8)ibYzkwH`gOAvZ8GH@iOq_|}k6{9PGSOyMd?xNJ( z{IXQ2DiIA$B$J@ZP}~_@SzMBu%gDf-UkWl6qB=8QKcFZxuOzsnC^a$Hnvp>m>|Ru1 zMh5l*kfNMCMg|rQPf!$dWF!`6K+*@ZhNdSY16yigX<|+>nvbCF(2U|@2w@0iWME`u zWDw6y%uaRA&r41$3C}FaaL&&wE=kNQ0c-U{_5>s%tr;1ZZ50?98Pu=^6~q_F2@uT% zP(w7s*crk=@fgL(paS+HSWjkNS$=jZH0?s%B`3951)|X!(|JfDC>ld53sSKtM^00)z{E7d zIWZ?EII|?xnw=q*kwF#1f7sl{$RLMb9fKl+2!kjC2rw})f-))tBZCA31A{CBBLgD? z0|Tqpb_T|c3=9m643Z2C3~XRQW(H0MDF$hXQpT4I%nTe142)*G8JHrsGcfxw+sbI| zo6jhwC1bRMfhAm9OU7s$1M6~z|9;xr7}yUmaO_}UF=Ihuvu%_#IucocP4`wvl;tx1_MbpAwDo)jRnM4kYp3$2lK^PL3{y8HX#8ppN-9oU6g$l z0|P@GC?psd7?{C9z`&r#z`$V7z`zioEy^m&lCXhE0)LLj4rH!?6X2r$SoC^E1yFoDB33>+b>3>*yX3<3aq zfq|c&pGQtWK;SBpHkt7#R2% Om>7&17#U2!q!|FY!HWz4 literal 0 HcmV?d00001 diff --git a/DEV3.2/TP04/03_Tableau/Main.java b/DEV3.2/TP04/03_Tableau/Main.java new file mode 100644 index 0000000..664b807 --- /dev/null +++ b/DEV3.2/TP04/03_Tableau/Main.java @@ -0,0 +1,37 @@ +import java.awt.*; + +public class Main { + public static void main(String[] args) { + PileTableau pile = new PileTableau<>(); + + for (int i = 0; i != args.length; i++) { + try { + Integer.parseInt(args[i]); + pile.addFirst(args[i]); + } catch (NumberFormatException e) { + int n2 = Integer.parseInt(pile.removeFirst()); + int n1 = Integer.parseInt(pile.removeFirst()); + System.out.println(n2); + System.out.println(n1); + + switch (args[i]) { + case "+": + pile.addFirst(n1 + n2 + ""); + break; + case "-": + pile.addFirst(n1 - n2 + ""); + break; + case "x": + pile.addFirst(n1 * n2 + ""); + break; + case "/": + pile.addFirst(n1 / n2 + ""); + } + } + } + + System.out.println("= " + pile.removeFirst()); + + + } +} \ No newline at end of file diff --git a/DEV3.2/TP04/03_Tableau/Pile.class b/DEV3.2/TP04/03_Tableau/Pile.class new file mode 100644 index 0000000000000000000000000000000000000000..18489eb37e9575273142cff346b8c7a04a5b1037 GIT binary patch literal 297 zcmX^0Z`VEs1_pBmL3Rdyb_M}P29Cs(6t~Qx;u1y%Q4OE0#Ii*FoW#6zegCAa)Z`Lt z%`ip=&fv`Syu^~yqEto(HjNNhupoC)YHog6Dpae8h9;(7Mg~?5%@9{>Mh5oGV%OY) zl1fGfW)00KMg|QVS1U~Qc9=qp3|ztarA5i9Zkai$j0~IsnK`L?AV)GXuz=W%3<4k? zvXj{u85kLu7(jrTg^_`ofrWvQft7)Qfr){Qg^_`sfdkIxWMO3BV&DeLK~(TC@Pc`K E0L95ca{vGU literal 0 HcmV?d00001 diff --git a/DEV3.2/TP04/03_Tableau/Pile.java b/DEV3.2/TP04/03_Tableau/Pile.java new file mode 100644 index 0000000..9445b47 --- /dev/null +++ b/DEV3.2/TP04/03_Tableau/Pile.java @@ -0,0 +1,6 @@ +public interface Pile { + + void addFirst(E element); + E removeFirst(); + boolean isEmpty(); +} \ No newline at end of file diff --git a/DEV3.2/TP04/03_Tableau/PileTableau.class b/DEV3.2/TP04/03_Tableau/PileTableau.class new file mode 100644 index 0000000000000000000000000000000000000000..c8da2a964b5b921eb4a3e1ff4e7118dd9bd24528 GIT binary patch literal 826 zcmX^0Z`VEs1_pBm1uh0A25EK%8BPWk23d9nId%qlMh1@5oYdUZypm!@2H|L*ti-ZJ z{hY+SbbbG%tkmQZYeojn;LP;A#FEmYR7M7t=nz+HMg}&U%)HDJJ4Oa(4b3n{1{UZ1 zlvG9rexJ;|RKL>Pq|~C2#H5^5Mh1?=loYqjqT&)p22l-6vq5@!gG&;Vvwaf_z*^WD z*clnvG(udhL2}$hsk!-OsZbL{G&C`dU}Rv`&;+}QJ+s&~x1gjF?5HS424fpnD@^rv zm_j}QnK`L8A+FYT){G2X!TF^{$*FFcAmD9vA_s2kb#kbhk=1X53G)X zflq5Y1EZFJz+MKXtqjZ?85kHC8F(2O82A{N85kH?!KUysurn|+@Grp1_lMNiL4Avybg>EOi+^~7$m{UqyVEBk>>ya literal 0 HcmV?d00001 diff --git a/DEV3.2/TP04/03_Tableau/PileTableau.java b/DEV3.2/TP04/03_Tableau/PileTableau.java new file mode 100644 index 0000000..0d10226 --- /dev/null +++ b/DEV3.2/TP04/03_Tableau/PileTableau.java @@ -0,0 +1,35 @@ +public class PileTableau implements Pile { + + protected E[] elements; + + public PileTableau() { + this.elements = (E[]) new Object[16]; + } + + @Override + public void addFirst(E element) { + E[] nouveau = (E[]) new Object[16]; + nouveau[0] = element; + for (int i = 0; i != this.elements.length-1; i++) { + nouveau[i+1] = this.elements[i]; + } + this.elements = nouveau; + } + + @Override + public E removeFirst() { + E[] nouveau = (E[]) new Object[16]; + E temp = this.elements[0]; + for (int i = 1; i != this.elements.length; i++) { + nouveau[i-1] = this.elements[i]; + } + this.elements = nouveau; + return temp; + } + + @Override + public boolean isEmpty() { + return (this.elements[0] == null); + } + +} \ No newline at end of file