Aller au contenu

Abstraction et interface⚓︎

Consignes

Vous devez réaliser des fonctions permettant de manipuler des fractions. Pour cela vous avez accès à 3 fonctions : fraction, numerateur et denominateur.

Pour avoir accès à ces fonctions, il faut exécuter le programme suivant (le code des fonctions est caché) :

###(Dés-)Active le code après la ligne # Tests (insensible à la casse)
(Ctrl+I)
Tronquer ou non le feedback dans les terminaux (sortie standard & stacktrace / relancer le code pour appliquer)
Si activé, le texte copié dans le terminal est joint sur une seule ligne avant d'être copié dans le presse-papier
Évaluations restantes : /∞

Pour connaître le fonctionnement de chacune de ces fonctions, vous pouvez utiliser la fonction help :

>>> help(fraction)
Help on function fraction in module __main__:

fraction(n, d)
    Renvoie une fraction irreductible correspondant
    à n/d et dont le dénominateur est positif.

La représentation interne des fractions n'est pas précisée. Vous devez donc passer par ces 3 fonctions pour réaliser les exercices suivants.

Vous devez compléter le code des fonctions suivantes. Vous pouvez utiliser une fonction d'un exercice précédent dans n'importe quel exercice.

Exercice 1 : decimal(f)

###(Dés-)Active le code après la ligne # Tests (insensible à la casse)
(Ctrl+I)
Tronquer ou non le feedback dans les terminaux (sortie standard & stacktrace / relancer le code pour appliquer)
Si activé, le texte copié dans le terminal est joint sur une seule ligne avant d'être copié dans le presse-papier
Évaluations restantes : 5/5

.128013l;mernasghy/.p2Ru&)dtb3v7 S,iwqk=:oP" 1(éfc010m060n090v030a0s0J03090a0a0z0D0n0v0g0D000E010a0j050509070d000t0B030j0!0B08010e0)0+0-0/0'0m0v0q0s0,070y0m0B0w080Y0F0D0s0a0n0d03060Y170b0v080A0F0f0r06050s0F1w1g0&0K140S0U0W0Y0c0v0b0c031K0c0n0%010N0o1l1F0V0X0D1J1L1N1L0n1T1l1R0n07001S0c0S0=0a0g091d0D0h1g0T1X0Y0I0P06080905061R1;1?1W1H0D1~1l22240%020s0C070B0g0B0a0v0^080s0L1/0707060J2q0{27081,0e0n0c2D1*1,2I1S0m291Y1N08212n1R13151{2a2P2R2U1R0g2w1,2B2D2'0(1=2r2W1Y080B070,030%0F2A2+1C2B2N0Y2/2;092?000h2_1?2{2+2}0D302=0%0p362C0{2$062D2U2H0m2J2M2-0Y0J0B0L2T141,3j2&2`3g1,3t0L3A283r0D0y0%0L0I3C0s2*3H1G2.0I3L2x0v2=3C3Q2,3S0Y0$000G3Z2|3I080%3N0|3B3*3$0D3&0l0A3C0'3;1|0D0w0%0s423P3/373!3a0a0m0%0k0x0j0B0n044c4e4g4i4f040i210q0B0v060s0U0s0q32060j072s0H0J3X4y0u0s090g2$0B0J0c0H4t2o0s084D060W0O2w4H2t4v0I07092y0v0_0s0I0f4l4k4d4m4-043`433P3|2a3K002w0n4A0`452C4^393+0%080*064%0n4z073)553=3&3(523G3#3}3,003.2)4_1Y3@3O473I0B0%0e5v5s2~3V2/051q095c4A5f3R3}5i5L5m2a5o5q3:5g5N0%0l3`0{3E3k3i2%0{3m0{0n3o5)1+5)091U5$0e3m0'5=3x5@0L0N0P0a00
Exercice 2 : est_entier(f)

###(Dés-)Active le code après la ligne # Tests (insensible à la casse)
(Ctrl+I)
Tronquer ou non le feedback dans les terminaux (sortie standard & stacktrace / relancer le code pour appliquer)
Si activé, le texte copié dans le terminal est joint sur une seule ligne avant d'être copié dans le presse-papier
Évaluations restantes : 5/5

.128013)3dg(qh s1ctin:bà/klrp=u.2 R7ém"foP&way4evS;_01050H0e0E0f0m0b0t0d0m0E0b0b0p0y0e0f0o0y000a010b0q0x0x0E0n0F000J0A0m0q0$0A0g010k0+0-0/0;0)050f0I0t0.0n0l050A0D0g0!0c0y0t0b0e0F0m0H0!19060f0g0h0c0r0v0H0x0t0c1y1i0(0M160U0W0Y0!090f06090m1M090e0'010P0i1n1H0X0Z0y1L1N1P1N0e1V1n1T0e0n001U090U0@0b0o0E1f0y0s1i0V1Z0!0z0R0H0g0E0x0H1T1?1^1Y1J0y211n24260'020t0B0n0A0o0A0b0f0`0g0t0N1;0n0n0H0d2s0}290g1.0k0e092F1,1.2K1U052b1!1P0g232p1T15171}2c2R2T2W1T0o2y1.2D2F2)0*1@2t2Y1!0g0A0n0.0m0'0c2C2-1E2D2P0!2;2?0E2^000s2{1^2}2-300y322@0'04382E0)2~2/312=3f000G3i2F2&0H2F2W2J052L2O3m0y0d0A0N2V161.3u2(2|3s013E0N3L2a3C0l0'0N0z3s0t2,3S1I2:0z0'0H1k0L230$0H0n3N3l3$0!0&00073/3b3C0g0'3X0~3M3:1~0y3?030h3s3k3`3;0y0D0'0t4f3Z40393!2.4b0b050'0C080q0A0e0K4q4s4u4w4t0K0u230I0A0f0H0t0q2t0i0A0@0w230t1s154r1^0e1j0f0t3~2)493#434n4e4g3(4V0w06344H0j4I2t2;0x0i2y0t3+4G0n0t0A0q0t1@0b0r4z4y4r4A550K484g3Z422c3U002y0e0q0n0|4i2E5d4a433|000N4=1s0E0e0H5k3_4$2c3?3^5n3R4l5r3}5B5I5D0'033Y4k3c0A0'0p0p5Q5e1!0x0f2_480}3P3v0}3K0}3x0}0e3z5-1-5-0E1W5(0k3x0)5_3I5{0N0P0R0b00
Exercice 3 : inverse(f)
Aide

On rappelle que l'inverse de \(\dfrac{n}{d}\) est \(\dfrac{d}{n}\).

###(Dés-)Active le code après la ligne # Tests (insensible à la casse)
(Ctrl+I)
Tronquer ou non le feedback dans les terminaux (sortie standard & stacktrace / relancer le code pour appliquer)
Si activé, le texte copié dans le terminal est joint sur une seule ligne avant d'être copié dans le presse-papier
Évaluations restantes : 5/5

.128013bà&:k.d1aiy céfg=,) m92reu4(/qlo5t;pwRv7Ssn#P"6h301090r0A0b0c0x0I0m0f0x0b0I0I0j0M0A0c0C0M000e010I0s0n0n0b0q0d000H0y0x0s0(0y0J010v0/0;0?0^0-090c0F0m0=0q07090y0D0J0&0a0M0m0I0A0d0x0r0&1d0i0c0J060a080G0r0n0m0a1C1m0,0Q1a0Y0!0$0&0O0c0i0O0x1Q0O0A0+010T031r1L0#0%0M1P1R1T1R0A1Z1r1X0A0q001Y0O0Y0{0I0C0b1j0M0p1m0Z1%0&0h0V0r0J0b0n0r1X1`1|1$1N0M251r282a0+020m0L0q0y0C0y0I0c0~0J0m0R1^0q0q0r0f2w122d0J1=0v0A0O2J1:1=2O1Y092f1&1T0J272t1X191b222g2V2X2!1X0C2C1=2H2J2-0.1{2x2$1&0J0y0q0=0x0+0a2G2;1I2H2T0&2^2`0b2|000p301|322;340M362{0+0P3c2I0-332?352_3j000t3m3e2e3q3h3s380+0z3w3o3f3z3i3C000N3w122*0r2J2!2N092P2S3z0f0y0R2Z1a1=3P2,313N3Y0R3'3y1M1&070+0R0h3w0m2:3-233h0h0+1w0F0r0q0I0r3N3p3.0&0*000u463H483h0+3?133(473{4a0l063F3_2=4f0D0+0m4w3^4j3d4r3g0I090+050w0s0y0A0B4G4I4K4M4J0B0E270F0y0c0r0m0s2W0m0h0q0b2E0c100m0c2B0r090s4'1!4X0g0i384X044q4l2g4D4v4x0x050K0P0o0B4042442y4X0h0m0S2y100A0m1#090g2^0n1w0b0A0r0s0q5e1o0m2s2u0(0h084P4O4H4Q5D0B3F4x3^4|2@0+114z2I5L4e3{0y0+0j3@4B3I5O0:425q5s0q4d3`2g4a4c5Q3,4s3{0J4h5)5:5+0+0l5J4x5Z4f5=00095Y5M0&5V005X5.5S5*5N622X5o285r5t5@3g5,6k5!004i2/650M4n5|4w5~3{3:002C0A5t5P2-6b5^6d4$4&2F5.6x5_4b6n603;6Q4m0+0k645T2g616E4k6Y1&6u5.0-0v3*3Q3O2+123S120A3U6;1;6;0b4;3R3$6)3S6~0S0U0W00
Exercice 4 : oppose(f)
Aide

On rappelle que l'opposé de \(f\) est \(-f\).

###(Dés-)Active le code après la ligne # Tests (insensible à la casse)
(Ctrl+I)
Tronquer ou non le feedback dans les terminaux (sortie standard & stacktrace / relancer le code pour appliquer)
Si activé, le texte copié dans le terminal est joint sur une seule ligne avant d'être copié dans le presse-papier
Évaluations restantes : 5/5

.128013lbiP#ntqé(f6Sdhus&gyrà9)",pw=e13:k ;.7a4-o2c5vRm/ 010g0w090F05030j0Q0K030F0j0j0v0r09050t0r000B010j0i0O0O0F0n0m000f0I030i0)0I08010P0:0=0@0_0.0g050M0Q0?0n0A0g0I0u080'0x0r0Q0j090m030w0'1e0l05080z0x0D0E0w0O0Q0x1D1n0-0R1b0Z0#0%0'0h050l0h031R0h090,010U041s1M0$0&0r1Q1S1U1S091!1s1Y090n001Z0h0Z0|0j0t0F1k0r0J1n0!1&0'0d0W0w080F0O0w1Y1{1}1%1O0r261s292b0,020Q060n0I0t0I0j0510080Q0S1_0n0n0w0K2x132e081?0P090h2K1;1?2P1Z0g2g1'1U08282u1Y1a1c232h2W2Y2#1Y0t2D1?2I2K2.0/1|2y2%1'080I0n0?030,0x2H2=1J2I2U0'2_2{0F2}000J311}332=350r372|0,0y3d2J0.342@362`3k000G3n3f2f3r3i3t390,0L3x3p3g3A3j3D000e3x132+0w2K2#2O0g2Q2T3A0K0I0S2!1b1?3Q2-323O3Z0S3(3z1N1'0A0,0S0d3x0Q2;3.243i0d0,2s2t0j0w3O3q3/0'0+000c453I473i0,3@143)463|490q0z3G3`2?4e0u0,0Q4v3_4i3e4q3h0j0g0,0k0a0i0I090C4F4H4J4L4I0C0N280M0I050w0Q0i2X0Q0d0n0F2F05110Q052C0w0g0i4&1#4W0b0l394W0o4p4k2h4C4u4w030k070y0p0C1x0M0w0n432z4W0d0Q0T2z11090Q1$0g0b2_0O1x0F090w0i0n5f1p0Q422w050d0D4O4N4G4P5E0C3G4w3_4{2^0,124y2J5M4d3|0I0,0v3^4A3J5P0;595r5t0n4c3{2h494b5R3-4r3|084g5*5;5,0,0q5K4w5!4e5?000g5Z5N0'5W005Y5/5T5+5O632Y5p295s5u5^3h5-6l5#004h2:660r4m5}4v603|3;002D095u5Q2.6c5_6e4#4%2G5/6y5`4a6o4e680H6R5=5P6V6P0s655U2h62646N6t6v5/0.0P3+3R3P2,133T13093V6@1=6@0F4:3S3%6,3T720T0V0X00
Exercice 5 : somme(f1, f2)
Aide

Vous pouvez utiliser la propriété suivante :

\[\dfrac{n_1}{d_1}+\dfrac{n_2}{d_2} = \dfrac{n_1\times d_2 + n_2\times d_1}{d_1\times d_2}\]

###(Dés-)Active le code après la ligne # Tests (insensible à la casse)
(Ctrl+I)
Tronquer ou non le feedback dans les terminaux (sortie standard & stacktrace / relancer le code pour appliquer)
Si activé, le texte copié dans le terminal est joint sur une seule ligne avant d'être copié dans le presse-papier
Évaluations restantes : 5/5

.128013+ftl8S) 7o14,qd6b3 ey;5i=ékR2:/àsvm&acp"P*hr.wun(g010h0m050D0q060z0a0E060D0z0z0r0G050q0F0G000l010z0N0B0B0D0K0n00080c060N0)0c0O010x0:0=0@0_0.0h0q0A0a0?0K0t0h0c0M0O0'0d0G0a0z050n060m0'1e0Q0q0O0w0d0L0b0m0B0a0d1D1n0-0R1b0Z0#0%0'0J0q0Q0J061R0J050,010U0j1s1M0$0&0G1Q1S1U1S051!1s1Y050K001Z0J0Z0|0z0F0D1k0G0v1n0!1&0'040W0m0O0D0B0m1Y1{1}1%1O0G261s292b0,020a0H0K0c0F0c0z0q100O0a0S1_0K0K0m0E2x132e0O1?0x050J2K1;1?2P1Z0h2g1'1U0O282u1Y1a1c232h2W2Y2#1Y0F2D1?2I2K2.0/1|2y2%1'0O0c0K0?060,0d2H2=1J2I2U0'2_2{0D2}000v311}332=350G372|0,0k3d2J0.342@362`3k000e3n3f2f3r3i3t390,0p3x3p3g3A3j3D000i3G2;3z1N2^3C3a0b3O3q3R3s383a073x132+0m2K2#2O0h2Q2T3A0E0c0S2!1b1?3'2-323%3:0S3`3Q240G0t0,0S043x0a3P2?3Y3i040,0z0c0=0m3%3X420+000P4k3I4c0O0,0430143{4l2h4n0f484a3h4t00043c4x3e4E3A4n090w3W4r420M0,0a4W494K2J4M4c0z0h0,0C0g0N0c050o4(4*4,4.4+0o0u280A0c0q0m0a0N2X0a040K0D2F0q110a0q2C0m0h0N551#4|0s0Q394|0y4R412h4%4V4X4v0a03510v0a0T2z11050a1$0h0s2_0B1x0D050m0N0K5x1p0a2t2v0)040L4;4:4)4=5W0o3G4X494z2^0,0O4w2.5&4S2h0c0,0r4D5'365)0;0m535K5M4q5n1'4n4p4Z404b424G4v60674A0,095$4X4#68455+325-610'5:005=656n6c5(000S5G5I5}0K6b3h636D3J4u6l4L5@0G4O6g4W6i2h4G0O4J5,6Q1'6q6s6V6L6S5`5|5L6C656W0'6F6)6#4u6U4y5.626e6O6u4F456:3e6_3A6Y5?6=5^6x2Y5H296B6G4c6,2:6.4H6|4!6L6N650l5%6*430,2D055M126t7n695355117a4m0,647d733i5)6J7h7F6q0I7A6R6{7N6X0,037Q746T7U0G7L7X4G0h7I666E0,4C6-7F7#7%7n7Z7*6o7G6x7g7&4N6@7k133}3(3&2,133*13053,841=840D5f3)3@0.0x3*8e0S0U0W0z00
Exercice 6 : produit(f1, f2)
Aide

Vous pouvez utiliser la propriété suivante :

\[\dfrac{n_1}{d_1}\times\dfrac{n_2}{d_2} = \dfrac{n_1\times n_2}{d_1\times d_2}\]

###(Dés-)Active le code après la ligne # Tests (insensible à la casse)
(Ctrl+I)
Tronquer ou non le feedback dans les terminaux (sortie standard & stacktrace / relancer le code pour appliquer)
Si activé, le texte copié dans le terminal est joint sur une seule ligne avant d'être copié dans le presse-papier
Évaluations restantes : 5/5

.128013"7q.Rbp*s1Shg6yP:v2u4oà =,&wc);8adl53 /iékfmnt(re010A0P0M0z0G0B0b0q0v0B0z0b0b0r030M0G0903000E010b0m0K0K0z0O0h000d0o0B0m0(0o0L010F0/0;0?0^0-0A0G0k0q0=0O0I0A0o0u0L0&0c030q0b0M0h0B0P0&1d0f0G0L0j0c06040P0K0q0c1C1m0,0Q1a0Y0!0$0&0e0G0f0e0B1Q0e0M0+010T081r1L0#0%031P1R1T1R0M1Z1r1X0M0O001Y0e0Y0{0b090z1j030l1m0Z1%0&0J0V0P0L0z0K0P1X1`1|1$1N03251r282a0+020q0i0O0o090o0b0G0~0L0q0R1^0O0O0P0v2w122d0L1=0F0M0e2J1:1=2O1Y0A2f1&1T0L272t1X191b222g2V2X2!1X092C1=2H2J2-0.1{2x2$1&0L0o0O0=0B0+0c2G2;1I2H2T0&2^2`0z2|000l301|322;3403362{0+0D3c2I0-332?352_3j000n3m3e2e3q3h3s380+0C3w3o3f3z3i3C000g3F2:3y1M2@3B39043N3p3Q3r37390y3w122*0P2J2!2N0A2P2S3z0v0o0R2Z1a1=3&2,313$3/0R3_3P23030I0+0R0J3w0q3O2=3X3h0J0+2*3:0m2v3$3W410*000N4j3H4b0L0+0J2~133`4k2g4m0s47493g4s000J3b4w3d4D3z4m0w0j3V4q410u0+0q4V484J2I4L4b0b0A0+0t050m0o0M0x4'4)4+4-4*0x07270k0o0G0P0q0m2W0q0J0O0z2E0G100q0G2B0P0A0m541!4{0H0f384{0p4Q402g4$4U4W4u0q0a500l0q0S2y100M0q1#0A0H2^0K1w0z0M0P0m0O5w1o0q2s2u0(0J064:4/4(4;5V0x3F4W484y2@0+0L4v2-5%4R2g0o0+0r4C5&355(0:0P525J5L4p5m1&4m4o4Y3~4a414F4u5~664z0+0w5#4W4!67445*315,600&5/005;646m6b5'000R5F5H5|0O6a3g626C3I4t6k4K5?034N6f4V6h2g4F0L4I5+6P1&6p6r6U6K6R5_5{5K6B646V0&6E6(6!4t6T4x5-616d6N6t4E446/3d6^3z6X5=6;5@6w2X5G286A6F4b6+2/6-4G6{4Z6K6M640E5$6)420+2C0M5L116s7m68525410794l0+637c723h5(6I7g7E6p0a7z6Q5(7f656D0+4B6,7E4F0A7H7Q6~0+7L7U6n7F6w7P7m7i2-0-0F3|3'3%2+123)120M3+7^1;7^0z5e3(3?7-3)830S0U0W00
Exercice 7 : division(f)
Aide

Diviser par un nombre, c'est multiplier par son inverse.

###(Dés-)Active le code après la ligne # Tests (insensible à la casse)
(Ctrl+I)
Tronquer ou non le feedback dans les terminaux (sortie standard & stacktrace / relancer le code pour appliquer)
Si activé, le texte copié dans le terminal est joint sur une seule ligne avant d'être copié dans le presse-papier
Évaluations restantes : 5/5

.128013)àpivc&q. 4ekbé37lPRh,ny(fwSs:m=;u2ragt/"o d1010K0e0F0D060k0v0J080k0D0v0v0y0H0F06050H000c010v0A0x0x0D0C0q000u0I0k0A0$0I0p010G0+0-0/0;0)0K06070J0.0C0f0K0I0t0p0!0L0H0J0v0F0q0k0e0!190E060p0w0L0b0j0e0x0J0L1y1i0(0M160U0W0Y0!0n060E0n0k1M0n0F0'010P0g1n1H0X0Z0H1L1N1P1N0F1V1n1T0F0C001U0n0U0@0v050D1f0H0B1i0V1Z0!0s0R0e0p0D0x0e1T1?1^1Y1J0H211n24260'020J0l0C0I050I0v060`0p0J0N1;0C0C0e082s0}290p1.0G0F0n2F1,1.2K1U0K2b1!1P0p232p1T15171}2c2R2T2W1T052y1.2D2F2)0*1@2t2Y1!0p0I0C0.0k0'0L2C2-1E2D2P0!2;2?0D2^000B2{1^2}2-300H322@0'0i382E0)2~2/312=3f000d3i2F2&0e2F2W2J0K2L2O3m0H080I0N2V161.3u2(2|3s013E0N3L2a3C0f0'0N0s3s0J2,3S1I2:0s3V16062q0{3N3l3$0!0&000r3,3b3C0p0'0s2`0~3M3-1~0H3:0o3Y3!2.3.3d3`373}39463c3:030w3s3k3@480t0'0J4p3Z4c2E4e3C0v0K0'090a0A0I0F0z4z4B4D4F4C0z0m23070I060e0J0A2S0J0s0C0D2A060{0J062x0e0K0A4Y1W4Q0h0E344Q044j4u484w4o4q3{0J0w4U0B0J0O2u0{0F0J1X0K0h2;0x1s0D0F0e0A0C501k0J2o2q0$0s0b4I4H4A4J5p0z4j4q3Z402c3U002y0F5f0|4s005x4l413_002&3F0A2r3?3#413:3=5G4=5K3`3|2+5y1!43455$310'1s070e0C0v0e5R475T0'5V5#5J2c5L0s4b5_5S2c4g034;0G3P3v0}3K0}3x0}0F3z6d1-6d0D4*3w3I0)0G3x6n0N0P0R0v00
Exercice 8 : egalite(f1, f2)
Aide

Pour l'égalité, vous ne pouvez pas juste faire \py{f1 == f2}, mais vous pouvez utiliser l'égalité des numérateurs et dénominateurs, si les fractions sont réduites ou l'égalité des produits en croix :

\[\dfrac{n_1}{d_1}=\dfrac{n_2}{d_2} \Leftrightarrow n_1\times d_2 = n_2\times d_1\]

###(Dés-)Active le code après la ligne # Tests (insensible à la casse)
(Ctrl+I)
Tronquer ou non le feedback dans les terminaux (sortie standard & stacktrace / relancer le code pour appliquer)
Si activé, le texte copié dans le terminal est joint sur une seule ligne avant d'être copié dans le presse-papier
Évaluations restantes : 5/5

.128013wbal/g:oér*&"7t,53q2u)d.mRpnk=vefshPiSc y1(; 4à6010p0y0h050D060A0G0F06050A0A0w0f0h0D0t0f000L010A0n0r0r050c0H000E0a060n0'0a0u01070.0:0=0@0,0p0D0x0G0;0c0v0p0a030u0%0I0f0G0A0h0H060y0%1c080D0u090I0q0g0y0r0G0I1B1l0+0P190X0Z0#0%0B0D080B061P0B0h0*010S041q1K0!0$0f1O1Q1S1Q0h1Y1q1W0h0c001X0B0X0`0A0t051i0f0m1l0Y1$0%0z0U0y0u050r0y1W1_1{1#1M0f241q27290*020G0C0c0a0t0a0A0D0}0u0G0Q1@0c0c0y0F2v112c0u1;070h0B2I1/1;2N1X0p2e1%1S0u262s1W181a212f2U2W2Z1W0t2B1;2G2I2,0-1`2w2#1%0u0a0c0;060*0I2F2:1H2G2S0%2@2_052{000m2~1{312:330f352`0*0k3b2H0,322=342^3i000M3l3d2d3p3g3r370*0j3v3n3e3y3h3B000O3E2/3x1L2?3A380g3v112)0y2I2Z2M0p2O2R3y0F0a0Q2Y191;3W2+303U3'0Q3.3O220f0v0*0Q0z3v0G3N2;3P340z0*0y08372u0y3U3o430f0)000J4c3G4e0u0*0z2}123/4d3^4g0i3~413f4m000z3a4q3c4x3y4g0o093M4s2f030*0G4P404D2H4F4e0A0p0*0e0l0n0a0h0K4Z4#4%4'4$0K0s260x0a0D0y0G0n2w040a0`0b260G0b4!1937260h0G0N0G4o0G0w580m0q4*4)4!4+5f0K3E4Q404L2?0*0u4p2,5n4k3^0a0*0w4w5o345q0/0y0c050h0y0n0c4j3@2f4g4i4S3?423^4z4o5M5T5O0*0o5l4Q4U5U3{5s305u5N1%5x005z5R5+5Y5p000Q2@0r1v5H5J5L5R5&5Z4h5X4y4n5)4E5B4f5!5$4P625@0u4C5t6f0%5.5:6j6a4z0u5E5G5I5K654G0*5Q2.6p4n6i4r5v635#5R0L5m6k3g3{6D3c5=3f6m5A6F5@5_0a5{276u606A6U0%5P6w4l6C6(4t6c6I6K6a3`002B0h5K105;6L6q684T6a5.0d6+2f4z0p6O2H6Q3y6m6n5*6{5q775S6R0*72616B5^6}1H073;3X3V2*113Z110h3#7x1:7x051Z7s073Z0,7G3+7I0Q0S0U0A00
Exercice 9 : inferieur(f1, f2)
Aide

Pour la comparaison, vous pouvez utiliser la propriété suivante, si les dénominateurs sont positifs :

\[\dfrac{n_1}{d_1}<\dfrac{n_2}{d_2} \Leftrightarrow n_1\times d_2 < n_2\times d_1\]

###(Dés-)Active le code après la ligne # Tests (insensible à la casse)
(Ctrl+I)
Tronquer ou non le feedback dans les terminaux (sortie standard & stacktrace / relancer le code pour appliquer)
Si activé, le texte copié dans le terminal est joint sur une seule ligne avant d'être copié dans le presse-papier
Évaluations restantes : 5/5

.128013e6éa:v fRp=b1c42hio,drwu(m5l"Pt&n73k.)sg*/Sqy; à010n030x060k0u0F090g0u060F0F0d0v0x0k0c0v000N010F0q0s0s060o0L000J0l0u0q0'0l0z010I0.0:0=0@0,0n0k08090;0o0C0n0l0p0z0%0f0v090F0x0L0u030%1c0G0k0z070f0D0A030s090f1B1l0+0P190X0Z0#0%0j0k0G0j0u1P0j0x0*010S0e1q1K0!0$0v1O1Q1S1Q0x1Y1q1W0x0o001X0j0X0`0F0c061i0v0i1l0Y1$0%0a0U030z060s031W1_1{1#1M0v241q27290*02090w0o0l0c0l0F0k0}0z090Q1@0o0o030g2v112c0z1;0I0x0j2I1/1;2N1X0n2e1%1S0z262s1W181a212f2U2W2Z1W0c2B1;2G2I2,0-1`2w2#1%0z0l0o0;0u0*0f2F2:1H2G2S0%2@2_062{000i2~1{312:330v352`0*0B3b2H0,322=342^3i000h3l3d2d3p3g3r370*0t3v3n3e3y3h3B00043E2/3x1L2?3A380A3v112)032I2Z2M0n2O2R3y0g0l0Q2Y191;3W2+303U3'0Q3.3O220v0C0*0Q0a3v093N2;3P340a0*1v0a030o0k030q0o3U3o430v0)000r4f3G4h0z0*0a2}123/4g3^4j0m3~413f4p000a3a4t3c4A3y4j0E073M4v2f0p0*094S404G2H4I4h0F0n0*0y0K0q0l0x0M4$4&4(4*4'0M0b26080l4b090q2w0e0l0`052609054%1937260x090O094r090y0u4(5a0i0D4-4,4%4.5j0M3E4T404O2?0*0z4s2,5r4n3^0l0*0d4z5s345u0/49060x4c4e4V3?424w0*4l5O4X3^4C4r4m3@2f4K5p4T5V2f4C0n5w305y5!1%5B005D5O5-5Q5(3{2W0s1v5K5M5Z5^1%4j5T2.5F3g4q5+4H675$5O0N5q5'5t000z4F5x6h0%5:5=6m674C0z5I0o5~4d613f646z3H4q6l4u5z5#0*0E5%4S6n68000n6F3c5@3f6p5E6H6i0Q2@5|275L6y5U6c5S6C4o6E6*5R006K6e6g673`002B0x4d105?6N6t6a4W675:0H6-5_6P6R2H6T3y5:5d4(6W5.5G6j795P6U0*756'6X7i5*3M0I3;3X3V2*113Z110x3#7B1:7B061Z7w0I3Z0,7K3+7M0Q0S0U0F00
Exercice 10 : texte(f)

###(Dés-)Active le code après la ligne # Tests (insensible à la casse)
(Ctrl+I)
Tronquer ou non le feedback dans les terminaux (sortie standard & stacktrace / relancer le code pour appliquer)
Si activé, le texte copié dans le terminal est joint sur une seule ligne avant d'être copié dans le presse-papier
Évaluations restantes : 5/5

.128013eScm&dkRhbéfa 5gs)i}1;x=o6 Prl:7n_#93p{(4"wtu/y2vq8.0108030K0f0l0w0j0t050w0f0j0j0q0I0K0l0E0I000g010j0L06060f0v0N00040r0w0L0+0r0z010M0=0@0_0{0:080l0P0t0^0v09080r0J0z0)0n0I0t0j0K0N0w030)1g0i0l0z0x0n0S0y03060t0n1F1p0/0T1d0#0%0'0)0b0l0i0b0w1T0b0K0.010W0c1u1O0&0(0I1S1U1W1U0K1$1u1!0K0v001#0b0#0~0j0E0f1m0I0O1p0$1(0)0e0Y030z0f06031!1}201'1Q0I281u2b2d0.020t0u0v0r0E0r0j0l120z0t0U1{0v0v03052z152g0z1^0M0K0b2M1?1^2R1#082i1)1W0z2a2w1!1c1e252j2Y2!2%1!0E2F1^2K2M2:0;1~2A2'1)0z0r0v0^0w0.0n2J2@1L2K2W0)2{2}0f30000O3320352@370I392~0.0D3f2L0:362_382|3m000H3p3h2h3t3k3v3b0.0h3z3r3i3C3l3F000s3I2?3B1P2`3E3c0y3Q3s3T3u3a3c0R3Y3K3!3D3$0.0C3z152-032M2%2Q082S2V3C050r0U2$1d1^3:2/343.3|0U443S260I090.0U0e3z0t3R2^3)0z0e0.0K030p4p3.3Z4b0-000G4t3(4b0z0.4g16454u2j4w0k0x3'4a2j0J0.0t4R4i4F3g4j3j0j080.070Q0L0r0K0o4#4%4'4)4&0o0a2a0P0r0l030t0L2A4p4r4@2C0%0t0e3v4@070B0D0C0o0z0M0855570o4M4k4b4Y4Q4S0r0L0t5d580z5p0o1q0l0t1&080d2{061z0f4p0L0v0t0P0f111H0S4,4+4$4-5N5f4U3q4S4i4H2`0.145T005W4A2j0r0.0q4h4W3L5Z0?030v5D035F4z4N1)4w4y5#5,4l4D5^5h4I0.0k3I5V5~4B4e5+5X0)5(005*5#5%5_384e2!5B2b5E0v623j5{6s5-004E2=6d0I4J674S692j4d000l6y346j635Y00031r0A2a0+5:6v3)6u5}6A4C6x6W4v654L5#0g5V686A6H2F0K5F5!2:6M3j0z0c0.1r6r6Z5&5`0.5|6z706l006=4G756B656D4R6F1)6H030Z036%64006(2:6*6+7e6-0.6/6;6c7a0j0f616~6k0I0j23005R7l1)2x0.0F7J76784V6A7L000m7O7E7G0M7W7T7N7C6N76087!0l0.7V7%4X7G7I6)15473;3/2.153?150K3^7|1@7|0f1%7@5b410:860P1L5b0V0X0Z00