Aller au contenu

Exercices - série 2

Exercice 1 : recherche dichotomique⚓︎

Recherche dichotomique

Bob a voulu écrire une version récursive de la recherche par dichotomie.
Malheureusement son code ne fonctionne pas. Corrigez-le.

###(Dés-)Active le code après la ligne # Tests (insensible à la casse)
(Ctrl+I)
Entrer ou sortir du mode "deux colonnes"
(Alt+: ; Ctrl pour inverser les colonnes)
Entrer ou sortir du mode "plein écran"
(Esc)
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

.128073.128013g[ r;)/(loF4,6Ib=ax+5utP7e-h0TmnCk:Séq.y1cd328_wvpf9R]is050S0B0y0t0(0k0)0e0R0k0t0)0)0s010y0(0Z010406050)0x0G0G0t0f0P040L0l0k0x0}0l0H0e020t0G0Z0g0e0$0B170f0N0x0B0)050i1416181a120Z04051F1y1I0i1F120S0(0Y0=0@0_0{0@0H0c0x0t0c0B0C0Z0P0y0D1h0e0D0(0c0D0k1.0D0y10050-0r0k0B1R0^0`011-1/1;1/0y1`1|1^0y0f1G1)0=1d0)0Z0t0H0{0U011~1T010!0/0B0H1l0B1^2g2i2n202q1|2t0G2v040b0e0z0f0l0Z0l0)0(1g1i0+2e0f0f0B0R2Q1y2x0H1G0i1)2$2a2c2b1_0S2z1U0(0H2s2N1^1O1Q0?1 2:2=0H0l2_1^0Z2V1G2!2$36132h1i2{2o2 0f170k1^0t1,2V0!0{030W0W0R300B1;2~0l0C0E0C0Q100e0Q1y0t373a11392y3c203e3g3i3k0B3m013o3q3s3u2?3x0C2l040e0U3E3G2i3I2!2/013N0t3h1G3j0D3l3n3p3r0+3X2 3Z0T3B0T3)2Z3H123-3L0{3:3=053@3_3T3{3W2;3Y3y0n3B0n441z463J3b1S3M0l3f3;3P3^3R3`3V3}4j3 3y0w3B0w4p36473a3.4b4z4f3U3|3t4F3w3y0p3B0p4L4r484u4a4w3O3?3Q3S4T4i3v3Z0A3B0A4$3+4N3K4)3/4+4y4-4A4/4h4E4=3y0V3B0V4`2#4|4t2|4 4x4c4e4B4g4D4V570C0#3B0#5c3,4O495h4,4d4.4C4U3~4X3z0E100Q0E5u5e4P505j5B5m5D4W3Z0Q3A045V5L4s5N5i4R5l4:564k3z3#0Q3(0i3F454{5!5x4Q524S555o5+0Q415X435:3*5d5@4~5_5A535C4;5~4m5X4o635=654(5g685k545n5E5U4I5X4K6h4q5?6k3d5O5%6o5S5p0Q4Z5X4#6v381L341y2_2)0S2c2.5x4U2^1P1G330B353H6i1G4U6!2y0(0S0{3p2!5U3P6+6-6p5T3y3A0e2D0B6?6D5~1^6h6y200J100+0!6$0e666l0!102V0R0D0B0f7g0B6$7b2o0 040j7m734a100:0y7s5w4~7p0o797n3M100u7y4}5g7p0h0K6$126w2#5!6=016.3a3Z3#5A7T5|6q3y2l6{2u6~6c4G3!715;7t010X3B0e7^7I5f2o0)0S10021u0l0y0g800x828481837O7`0e7!0W6/3y607Z6,7U6@5p417)2E7+5*7-8i727z5g7}7@7^0I0,0y1}0!1h2X0(1+2V0H0Y0l0(1}0F0f1v0e2O0e0u0e1w0y0e0S2i0;7w0o8X8Z0m3;0)1}2O2 0H8b7Q6)1i8e8g0C6e8j8r5}7-4m8p6}8l6 917/8^3.8y3$7^2I0f0M3r0H1O2Q0e0K8V9l8d0H0y8)7w9o1;0)8Z0,0e2a0(0M1}2s0e4w0S2V0=2K0(0_2i7x8@7P383-8`7W4H6;8k7#6^0C4I938 7$9!987E0{9b9d2I2N0y9h9j8I1i9m0R8C8E8G9k8K8M8O8!0x9z0P0Z1}0r0l1d9C8=9P8c9T2i3Z6G8~957,5F4Z9$ak8sam9*7;9-9d8587aw83ay0g8?9R4Oaf0H4?9W9%9Z4@ao9Y5p4@2$3F9Q6#9S9X8f9U0C594-8e965F59aM8m5+aZ3)9.9+0175040(788@7a7;0H0r7v2s8c5x7p7r8@a/0H7v9wa 7A100h7D7;0l100s0sbc8w2o0G0(105Kb37;7p7NadbpaEaV8{5ra!aVa$3Z5ra)bB3ybya-9.9da/a;2V0y0x0fac36a_bj740R108,0:7lbtaD6*bwaX5JaIap905Fb*bEal5U5HaQ9c7_a`100Gbi7J2obe04bha^b4a|042Cb87K10b2b$7{7Fc6b7bub~207Lb}cd0{c00i0icl3.bl105/4Maeb(ag6_5WajaN5~6`6|aJ6EcB63a.7;a;a?cr5^b69Occ3.7p0dc83db{cXcj100%cP4~c0bgc(6l7Gc!0{braCaTbv6?8{5.b+cD7-c`b:aq5U7YcKbJb_bU0{bM0,bPbR3HbTcid7bW048Q1vc=3+7ScyaG6_8i3ja#b;dp2mcGb,9(5 98cLd6a:104Va@bSb4cRc/01cVdKb504b|chcmdLc$c,b 7 0k8ac3b`047HdRcU10bscwd(aF5U8}drbAdt3z92dwc|b.8}d3d4bL7ed9bQdVce7f7h7j7hdKb1dNdJd(b010cWed67cZd!dCc00ve30{ct5Xe9d*0%7Cekde3/c.ehc904bbb#c?b%c^b)6scCa*c}9#d_eLb.eJd}dddSa;3t8.es04d+4rd-dn5Uaid;cH5~aneObF3zaieSdBexd8bOe2ewdSdOe57i7keYcbeFe|eccTee040de!dld#dQf6b904eueoeyd$eYeDd,6K6(1J6M0i6O1y0y6Qfu2,2%0t1{6Z6N6W1E995x2V0G0W0!0t0J0B0W0D601q1s1u1w9l7m1L3I1F0a0e0q0k0e170H1u0.8Z1|0;056(bNda1y6(0e0Of{1J3Ifs0,0.0:04.

Exercice 2 : parité⚓︎

Parité

Compléter la fonction suivante qui doit être une fonction récursive.

⚠️ Il est interdit d'utiliser %

###(Dés-)Active le code après la ligne # Tests (insensible à la casse)
(Ctrl+I)
Entrer ou sortir du mode "deux colonnes"
(Alt+: ; Ctrl pour inverser les colonnes)
Entrer ou sortir du mode "plein écran"
(Esc)
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

.128013kEg: r);Sé/q(loF4y,6b=ac1x5ud3t28_Pw7evp-fh0T9mniCs050D0M0F0x0X0o0Z0f0y0o0x0Z0Z0w010F0X0O010406050Z0C0V0V0x0g0s040j0p0o0C0@0p0W050l0~1012140|0O04051k1d1n0l1k0|0D0X0N0,0.0:0=0.0W0d0C0x0d0M0P0O0s0F0R1b0f0R0X0d0R0o1P0R0F0`050%0v0o0M1w0/0;011O1Q1S1Q0F1Y1!1W0F0g1l1K0,170Z0O0x0W0=0G011$1y010Q0)0M0W0x0V0M1W1{1}221(251!282a0`0a0f0J0g0p0O0p0Z0X1a0W0f0#1_0g0g0M0y2v1d2d0W1l0l1K2I1=1@1?1X0D2f1z0X0W272s1W1t1v0-1%2S2U0W0p2Y1W0O2B1l2G2I2/0}1|2w2!232(0g110o1W0x1N2B0Q0=030I0I0y2)0M1S2%0p0P0z3d0`0f0z1d0x2:2?0{2=2e2^1(2`2|2~300M32013436383a2V3d0P20040f0G3j3l1}3n2G2R013s0x2}1l2 0R313335370#3C2(3E0E3g0E3K2F3m0|3O3q0=3R3T053V3X3y3Z3B2T3D3e0r3g0r3,1e3.3o2@1x3r0p2{3S3u3W3w3Y3A3#3~3%3e0B3g0B442/3/2?3P3?4e3`3z3!394k3c3e0u3g0u4q463:493=4b3t3U3v3x4y3}3b3E0L3g0L4H3M4s3p4K3Q4M4d4O4f4Q3|4j4T3e0H3g0H4Y2H4!482#4%4c3@3_4g3{4i4A4/0P0U3g0U4@3N4t3;4|4N3^4P4h4z3$4C3d0S0`0z0S594_4u4(4~5g515i4B3E0z0z5n3i0l3k3-4Z475s4}4w504R4.3 3d3G0z3J5E3L4^5I5c4v4*4x4-535P0z3)045)5q5X4$5Z5f4+5h4S5(415+435U5G5W4J4{5:4 4,525j5z4n5+4p5|455H5 2_5t5L635x540z4E5+4G6a4r5.606f5!5M5$653e0z4V5+4X6o4I5b5/6s5;5#645y6x4;5+4?6C6c6E6r5K6t6h5@4l3d565+586P5~6R6e6T6H6u6J540G5m046/5-6d4a6*625?5O6X0G5B6;5D5F6b6%4#6S5e6`5w6W5k0G3G7c591o2-1d2Y2L0D1@2Q5c4z2X1u1l2,0M2.3m5}1l4z7v2e0X0D0=352G5z3u7C7E6-5(212j0M7K6i7M2I5F6@0=0b0`0#0Q7x0f6q2_0Q0`0M0Z0F0I1|0X0g7x7%1(0_040n7=7V3Q0`1c737A4`237^0e7#7?3=0v0`2T0F7{6(7@0`0h867|0p0`0P020d0F0i8i8e880`0v0p178d75830`85800|805I7J017F2?3E3G5f8H6v6K3F7N297P8I7L6}1W5|7|0K3g0f8%8y821(0Z0D0`020m0C0p8p8/8;8?8:8=8q8D8)0f8O0I7G3e5*8N7D8V7R6X3)0f7O7Q7a3(8Y7U8s018,8$8%0Y0$0F1#0Q1b2D0X1M2B0W0N0p0X1#0T0g0C1#2t9b0f7+0F0f7/0g0t0f0q3S0Z9F2T1b7x8E2;3O90920P5_959d6|5k419b8T9)5%6X9%8Z9i9k3H8%2n0g0k370W1t2v0e9H9J0f0C2w270@0M0g9L2s2u0X0Q0f0p0C9b0C0o9W8~9!8K4m7I968P544n9-2a9/6w0P673,7|9^9`2n2s0F9~a09u0Wa20.0f0N3S0M0Cab2B0Fai0g0W0k1#a42y0F0s0O1#8v17a#7 6p8F9Zat91aq0P6l9(979e4D8Saya}9*3Ea{9?8z8+8-9_8%0c0A0M0V0O1!0f8Ca;9Y4tap1}4Uasaz8Q4Vax8Uau5P6z3K9X7wa?7K9#6Ma|bw6X4;bubr54bFb68*0=aF9`8n8?8o0ibT0i9I7,7.0(0g0n0r8h8}a=bma@9#6ZbG8W5k56bKb29:b?9g813PbR8%9C9Eanb,7Bb.a_5obqb_aAc8b^bH5kc87Tb}5cb 0fbXcmbVbZ7-9M0n0Bb*bkbBb-bDc76 b;98cf5Bcdb=5zcAbOb~b9aG9Q0*0Mc3blc5cybo6x8M2 90cC5z20cFcZcVb|879jcLbSbVcn8pcpb#7:0n0Scu46c42wbn0W5z94cXa@c%3d9a9cca8Q5)c)aEc,c09DcPb+cRc|c6cU3d9%d1bL5^b0bvcG6x9=3kbA3M8Gdjc~6xaCdnd76jawd6ce66da9@dccl8`8_8^bWdO8|cvdxbC8V9#6kc9dI6x4Ec$a~3db53kaGc*7X041%aa8c807$7|0W7~8rb70=8k04bX0wd|bP010V0X0`5pd@c*7^0t8~cj6 02030E0U0ia77,a5a70Wa9ab2r2t0@agaiak0oehejdTc`dh8 dz5zbydDd#3dbtdHdseLb|d-7|d/afe34ud{ea8j0`0we2eY9ie6e8ee4$84cQcwcSdXc7bFeJeO0zbJeNd3e_eQaG9`d.0`aWaUa:3md^9i0b0y0`c1dfdU2HdycTdA6Yd!e^b@e{d)0zb:5UeRf87*1S7!e%d}7}04f53Mf7fyd e#eV5ce)5+e+4{e-dge/difh8L6:cBd)6/dqdo6}fTfre 8(eSf20$f4fH4$f90`cN9Se.dVcxe;dk6~fkd3f`d(b33ef`chfsfyd/39f;c{3PfNfeb}c}8LcWeFfY7bc#fnf 3F8Mf#f$f104f3aZf,607*b!9MfL8A7_gz3reX2/fDe4d 0Pgu23fJ5TeE5c7^c_5H8F0l7z7g7u7i7r1d0F7lg!2O2J0x1ZgX0l7j8E0#0%0)0Z04.
Indice pour la parité

n et n - 2 ont la même parité (tous les deux pairs, ou tous les deux impairs)

Exercice 3 : longueur d'une liste⚓︎

Longueur de liste

Compléter la fonction suivante qui doit être une fonction récursive.

⚠️ Il est interdit d'utiliser len

###(Dés-)Active le code après la ligne # Tests (insensible à la casse)
(Ctrl+I)
Entrer ou sortir du mode "deux colonnes"
(Alt+: ; Ctrl pour inverser les colonnes)
Entrer ou sortir du mode "plein écran"
(Esc)
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

.128013kg[: r);S/q(.lo4y6b=ac1+5ud3t28_Pw7evLp-fh09mn]is050B0K0D0v0W0o0X0f0w0o0v0X0X0u010D0W0N010406050X0A0T0T0v0g0r040j0p0o0A0=0p0U050k0|0~10120`0N04051i1b1l0k1i0`0B0W0L0*0,0.0:0,0U0c0A0v0c0K0O0N0r0D0Q190f0Q0W0c0Q0o1N0Q0D0^050#0t0o0K1u0-0/011M1O1Q1O0D1W1Y1U0D0g1j1I0*150X0N0v0U0:0E011!1w010P0%0K0U0v0T0K1U1_1{201$231Y26280^0a0f0H0g0p0N0p0X0W180U0f0Z1@0g0g0K0w2t1b2b0U1j0k1I2G1:1=1;1V0B2d1x0W0U252q1U1r1t0+1#2Q2S0U0p2W1U0N2z1j2E2G2-0{1`2u2Y212$0g0 0o1U0v1L2z0P0:030G0G0w2%0K1Q2#0p0O0E0O0x0^0x1b0v2.2;0_2:2c2?1$2^2`2|2~0K3001323436382T3b3b0^0E3h3j1{3l2E2P013q0v2{1j2}0Q2 3133350Z3A2$3C0C0^0C3G2D3k0`3K3o0:3N3P053R3T3w3V3z2R3B3c0q0^0q3(1c3*3m2=1v3p0p2_3O3s3S3u3U3y3X3`3Z3c0z0^0z402-3+2;3L3/4a3?3x3W374g3a3c0s0^0s4m423,453.473r3Q3t3v4u3_393C0J0^0J4D3I4o3n4G3M4I494K4b4M3^4f4P3c0F0^0F4U2F4W442Z4Z483:3=4c3@4e4w4+0O0S0^0S4:2G2*0K2G2W2J0B1=2O3-014v2V1s1j572,3k3)3I054v5m2c0W0B0:332E3C3e4K5u5w4~3Y4y3d1 2h0K5D4v5F5z1U0k3i433L0b0^0Z0P5o2F0f5S5f0U0P0^0o191A0K0A0g5Y5s4?210@040m5:5#4Y0U0^1-0K0v0A5`4F4@5@0e5:5!642@0t5)0W0X0D634p5f5@0h685{4@0p0^0O020c0D0i6m6a3p6c042R6g415p6x0:665:0`6D2F5S5C015x2;3C1~5B5v6O5E4x6R5I275K6V5M6X3c6S3(6F010I0^0f6:5!6K5;3L0X0B0^020l0A0p6u6|6~706}6 6v6?6J2/3K6N6P1{3!3s7b6W503#0f5J5L4O3{0O3#2G5R6,6_6/6;0M2}0P192B0W1K2z0U0L0p0W1Z0,0f5*1z0A5-0g2v1Z5 616I6h5t6U7c0U3C3}6T7m4*7o3}7k6!7(4 7*5P7s6i4Y7u046;0f71757|7372764n7W2u7g5y4i7f7Y7h7o4j7,287.5N877r7_6;6n215U6A5X6?697?4@5}047T628q8l1$6p040u0u6w8s5?0^0d0V6777830f856Q4z888f6(0O4A8d6#4)7/4h8V7;8j7`6:8z0:8n2z0D5.1a8y6,0T0W0^0R7V6?6M89860O4R7%6$7n8#4R8X8T50913G7`8+018n370X0K8N6j0^8L828|7a8~8Q0O4-928Z8g9s6Z8e937)8#9t9b8)8*6,8u8w9j4Y8B0n9K8t0^2p0N9O8H5^6l8M9o4p8P7d3c529u8a8#52979A8!5G9%9E9F9d8-0!8:8F4X4@8@3f9`5=8A0^0y9 4q5)5+7O5.9T1$5@5_9Y9{2@5~0v1X608x798Gab0^9W9n2/0k5r1m2+1b5a1b0D5caz2M2Hai1Y595j6J0Z0#0%0X04.
Indice pour la longueur d'une liste

Vous pouvez utiliser .pop()

Exercice 4 : bégaiement⚓︎

bégaiement

Ecrire une fonction récursive repeat qui prendra en argument un entier n et une chaine de caractère txt, et qui renvoie une chaine de caractères qui contient n fois la chaine de caractères txt juxtaposées.

Exemple: repeat(5, "bla") renvoie blablablablabla

###(Dés-)Active le code après la ligne # Tests (insensible à la casse)
(Ctrl+I)
Entrer ou sortir du mode "deux colonnes"
(Alt+: ; Ctrl pour inverser les colonnes)
Entrer ou sortir du mode "plein écran"
(Esc)
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

.128013kg:î r);Sé/q(N.èlo4y,6b=ac1x5+ud3t28_Pw7evp-fh09mniCs050G0P0I0z0Z0r0#0f0A0r0z0#0#0y010I0Z0R010406050#0F0X0X0z0g0u040j0s0r0F0_0s0Y050l101214160~0R04051m1f1p0l1m0~0G0Z0Q0.0:0=0@0:0Y0c0F0z0c0P0S0R0u0I0U1d0f0U0Z0c0U0r1R0U0I0|050)0x0r0P1y0;0?011Q1S1U1S0I1!1$1Y0I0g1n1M0.190#0R0z0Y0@0J011(1A010T0+0P0Y0z0X0P1Y1}1 241*271$2a2c0|0a0f0M0g0s0R0s0#0Z1c0Y0f0%1{0g0g0P0A2x1f2f0Y1n0l1M2K1@1_1^1Z0G2h1B0Z0Y292u1Y1v1x0/1)2U2W0Y0s2!1Y0R2D1n2I2K2;0 1~2y2$252*0g130r1Y0z1P2D0T0@030L0L0A2+0P1U2)0s0S0H0S0B0|0B1f0z2=2^0}2@2g2`1*2|2~30320P340136383a3c2X3f0S22040J3l3n1 3p2I2T013u0z2 1n310U333537390%3E2*3G0H0|0H3L2H3o0~3P3s0@3S3U053W3Y3A3!3D2V3F3g0t0|0t3-1g3/3q2_1z3t0s2}3T3w3X3y3Z3C3$3 3(3g0D0|0D452;3:2^3Q3@4f3{3B3#3b4l3e3g0w0|0w4r473;4a3?4c3v3V3x3z4z3~3d3G0O0|0O4I3N4t3r4L3R4N4e4P4g4R3}4k4U3g0K0|0K4Z2J4#492%4(4d3^3`4h3|4j4B4:0S0W0|0W4^2K2.0P2K2!2N0G1_2S3=014A2Z1w1n5c2:3o3.3N054A5r2g0Z0G0@372I3G3i4P5z5B533%4D3h232l0P5I4A5K5E1Y0l3m483Q0b0|0%0T5t2J0f5X5k0Y0T0|2D0R0P0z0I5%5x4{250{040n5@5*4%0Y0|1e465u4K4|5{0d5@5)662{0x0|2V5?642J5 670|0v6a6k2{0|0I0C6h2?6c1*686o6w3?6e040#1@5~6A015{0h6z4u5k0s0|0S020c0I0i6L4$4|0Y6C6E0g6V5_6x0|696i3p6+5X5H015C2^3G3I3_0f6/4.54403H5N2b5P6:5J4C6?5U5W6H0N0|0f7b5)6-6H0#0G0|020m0F0s6T7j7l7n7k7m6U6+0~7e4u6`0L5D3g3*5G5A725R747B6 2c5Q4T6}7C3-7f7h047c0f0d1~0g2b0f0Y0d2z1%0I0u5:0f290_0P0g0p0f0o0s0X0x2D7$0f0T0s0Z0-7k1%0r02030H0W0i1O2D390R0Z81310A0U0z0e2W7`0A140z2F0q2D0#0p5@7v6v7x7E6;1 3G427D7L4/6}427Z708D6|4m0S8B7P6M4%7g7a7c7V8m0X0f6s0I7#2A7(7*6!7:0!8g3 8k8m8o8q0f800f8284861O0G7}0I0f0g0k0R0k0I7.8s7u6G8w5I7A0S4o8C7F7M8L4o8H7K9e8E9g765^3Q8R7S7c7o7s9t7q7p7t4s975y8x7z6=4E3w7y7G554F9i716{5S9F2K3m7T6p1*5Z040Z5$6+6b8P6X626$3Q6O040y0y9(5k0X0Z0|0V9.4%6y967w9B999E0S4W9d9N7H9 7J9M7355a03L7T9S6H9V2D0I0F0g632;9!6W250#5F83850iaq868t9A2y7y9a4=a1a76}4=9L8J9O0SaAaa7c9T0@9V3b0#0P9@6l046*9z9{ax9C9a57aB9I6}57aF9k8K5La#aKabal6%aN5.0(ahaj3oa;4v6r6taS259*0Eb03ta@5:5=aw3Q5{5}aXa}04a`3Na|6N6Pb40@9:3jb95k5{6n9ZaM3Ra~6u5s6H6Jav6-0l5w1q2/1f5f1f0I5hbJ2Q2L0z1#5dbH5o7v0%0)0+0#04.

Exercice 5 : La tête à Toto⚓︎

La tête à Toto

Compléter la fonction récursive toto telle que :

  • toto(0) renvoie '0'
  • toto(1) renvoie '(0 + 0)'
  • toto(2) renvoie '((0 + 0) + (0 + 0))'
  • etc sur le même principe

On garantit que n est un entier positif ou nul.

Compléter ci-dessous

###(Dés-)Active le code après la ligne # Tests (insensible à la casse)
(Ctrl+I)
Entrer ou sortir du mode "deux colonnes"
(Alt+: ; Ctrl pour inverser les colonnes)
Entrer ou sortir du mode "plein écran"
(Esc)
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

.128013kgê: r);S/q(`loU4y6b=ac1+5ud3t28_Pw7evp-fh09mnis050C0L0E0w0V0o0W0f0x0o0w0W0W0v010E0V0N010406050W0B0T0T0w0g0s040j0p0o0B0;0p0U050k0{0}0 110_0N04051h1a1k0k1h0_0C0V0M0)0+0-0/0+0U0c0B0w0c0L0O0N0s0E0Q180f0Q0V0c0Q0o1M0Q0E0@050!0u0o0L1t0,0.011L1N1P1N0E1V1X1T0E0g1i1H0)140W0N0w0U0/0F011Z1v010P0$0L0U0w0T0L1T1^1`1 1#221X25270@0a0f0I0g0p0N0p0W0V170U0f0Y1?0g0g0L0x2s1a2a0U1i0k1H2F1/1;1:1U0C2c1w0V0U242p1T1q1s0*1!2P2R0U0p2V1T0N2y1i2D2F2,0`1_2t2X202#0g0~0o1T0w1K2y0P0/030H0H0x2$0L1P2!0p0O0r0O0y0@0f0y1a0w2-2:0^2/2b2=1#2@2_2{2}0L2 01313335372S3a0O1}040f0F3h3j1`3l2D2O013q0w2`1i2|0Q2~3032340Y3A2#3C0D3e0D3I2C3k0_3M3o0/3P3R053T3V3w3X3z2Q3B3b0r3e0r3*1b3,3m2;1u3p0p2^3Q3s3U3u3W3y3Z3|3#3b0A3e0A422,3-2:3N3;4c3^3x3Y364i393b0t3e0t4o443.473:493r3S3t3v4w3{383C0K3e0K4F3K4q3n4I3O4K4b4M4d4O3`4h4R3b0G3e0G4W2E4Y462Y4#4a3=3@4e3_4g4y4-0O0S3e0S4=3L4r3/4`4L3?4N4f4x3!4A3c0R0@0y0R574@4s4$4|5e4 5g4z3C0y3d045y5o455q4{4u4~4P4,3}3c3E0y3H0k3i3+4X5D5a4t4(4v4+515K0y3%5A3)5P3J4?5T4!5V5d4)5f4Q5!3 5A415)5R5+4H4_5.4}4*505h5x4l5A4n5`435S5}2?5r5G615v520y4C5A4E682.1n2*1a2V2I0C1;2N5a4x2U1r1i2)0L2+3k5{1i4x6D2b0V0C0/322D5x3s6K6M625w3b3d0f2g0L6S6g5!1T5`6b1#0b0@0Y0P6F0f5,5~0P0@0E0p6^6F6;200?040m6{6)3:0@19692E6|1#6~0h0e6F0_766I2t6R016N2:3C3E5d7i5Y633b1}6X266Z7j6T527n6(594!0J3e0f7G717C4_0W0C0@020l0B6_0i7O7Q0E7S7P7R0q2R0f0P182A0V1J0E361X0f7P1Y7c7f7e2.3M7p0H6O3b5$7o6L7x6#4j0O3%7u276!5=827}5)7?6E7^7 7k1`3C5@7~875J823 857w7q6U3a6%5Q72017L7F7G0O0f0n6^6^0m0R0h0n0f2y0U0M0p0V1Y0n02030D0S0i0R8S8U0i0n7d7I6J8f7`7l4k6Q8)815i4l8p8l5Z82653*8w8y3F7G0f8B8D6_0p0m0y8I8K248N8P8C8Y8V8G0f0z0f8H9c8!8$7f5D7_7{0O6j8k80885i4C8=9t8m9v8u7g3N8|8~8 8C8E930F968L998Q9j0m9e9g8H9f0f9R9h0h0h9j8#7=8%7h8)9p4T4M7_8/4S1~6Y8?7r0O9+8`7J209E8~8B0Z0x0f0{0g0f7-0T0d270f2)2Q0x0=0L9l7@4r9o8+0O4/9,8.9u3C4/9x8r52al3I8c3K9n9)aj54am9=8s54ar7y5KaB9_4Z7K7M8}7G2t0L0W0E0f0BaQ0U0;0La32o2q0;6.9$9m8e6S9p5m8-aD6h5kaG9.6V5k2F8v9`1#9|7G7T7Rb07Vb20iaf8dahaz8h6V5z9sas5!6W9;9y8@5i5y9Baw77a+7xa-7n2|9-ao6V7tbhbe825N9B9F780/6+040Va(2,6:8w0U746/bE010p0@0v0vbP8w0T0V0@5na*a|0/6~7;4p9%0faiba3c7}btan9z5x84byaHbA8a3i9FbD8wbG2y0E0B0g75bKbQ0W5z9j8X8T8Vb6axbp8g0U5x8jb=a:5?9:7vcobA8j5)c0b%01bG360Waeb$aL6}0@b*44cD9(a,aj0y8_cnbi9?cNcq86cQ8scSa`aOb bQbN040T6_bIbWcxbS04bV7fbLcxc$9Ib,5a6~70cJ4sbOc:bQc-0Oc+cE1#bY5lc^4!7acgbob8cLb/6ia/cV6h9wb`a@3c9rcvb 7Hc10@c3c5c73kc;d40/ca7Nce0i0m9jd34^20c-0zdHc}c%c)bJdxd00@dLc 8{cbdD9UdGdVc,dTdM5U0@c(a%d(4!dKd-7KdX8Z9ZdDdb2F6H1l6p0k6r1a0E6te02L2G0w1W6C6q6z7e0Y0!0$0W04.

Exercice 6 : Test de palindrome⚓︎

Palindrome

Un mot est un palindrome s'il se lit de la même façon de droite à gauche comme de gauche à droite.

Exercice

Écrire une fonction récursive est_palindrome qui prend en paramètre une chaine de caractères mot et renvoie le booléen True si mot est un palindrome ou False sinon.

Premiers indices
  • Le premier caractère de la chaine mot est mot[0]
  • Le dernier caractère de la chaine mot est mot[-1]
  • Pour une copie d'une tranche ("slice" en anglais) du second jusqu'à l'avant-dernier caractère d'une chaine mot, on peut écrire mot[1:-1]
Derniers indices
  • Si la chaine fait zéro ou un caractère, c'est un palindrome.
  • Sinon on peut comparer le premier et le dernier caractère.
  • Enfin, un appel récursif permet de répondre sur le reste de la chaine.
Palindrome

Compléter ci-dessous

###(Dés-)Active le code après la ligne # Tests (insensible à la casse)
(Ctrl+I)
Entrer ou sortir du mode "deux colonnes"
(Alt+: ; Ctrl pour inverser les colonnes)
Entrer ou sortir du mode "plein écran"
(Esc)
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

.9888.128013g[ r;)/(lDoF4,6b=ax5utP7e-h0TmnCkç:Séq.èy1cd32!à8_wvpf9RA]is050T0A0x0t0,0k0-0e0S0k0t0-0-0s010x0,0$010406050-0w0F0F0t0f0Q040L0m0k0w110m0G0e020t0F0$0g0e0)0A1b0f0N0w0A0-050i181a1c1e160$04051J1C1M0i1J160T0,0#0_0{0}0 0{0G0c0w0t0c0A0B0$0Q0x0C1l0e0C0,0c0C0k1=0C0x14050;0r0k0A1V0|0~011;1?1^1?0x1~201|0x0f1K1-0_1h0-0$0t0G0 0V01221X010%0?0A0G1p0A1|2k2m2r242u202x0F2z040b0e0y0f0m0$0m0-0,1k1m0/2i0f0f0A0S2U1C2B0G1K0i1-2*2e2g2f1}0T2D1Y0,0G2w2R1|1S1U0`232@2_0G0m2}1|0$2Z1K2(2*3a172l1m2 2s330f1b0k1|0t1:2Z0%0 030Z0Z0S340A1^320m0B0v0B0R140e0R1C0t3b3e153d2C3g243i3k3m3o0A3q013s3u3w3y2`3B0B2p040e0V3I3K2m3M2(2?013R0t3l1K3n0C3p3r3t3v0/3#333%0U3F0U3-2%3L163;3P0 3@3_053{3}3X3 3!2^3$3C0o3F0o481D4a3N3f1W3Q0m3j3^3T3|3V3~3Z414n433C0v3F0v4t3a4b3e3=4f4D4j3Y403x4J3A3C0q3F0q4P4v4c4y4e4A3S3`3U3W4X4m3z3%0z3F0z4*3/4R3O4-3?4/4C4;4E4?4l4I4_3C0Y3F0Y4~2)504x30534B4g4i4F4k4H4Z5b0B0(3F0(5g3:4S4d5l4:4h4=4G4Y424#3D0D140R0D5y1N381C2}2-0T2g2=5B4Y2|1T1K370A393L493/054Y5)2C0,0T0 3t2(3%3E4;5;5?5r5I5_2q2H0A5}5H4!602*3J4w3=0I140/0%5+2)0e6a5B0G0%141A0x0Z2l3y0T2O2I6g5/5j2s13040j6w6j520G140F0m0x6D4,5k6A0h0K6w164u5,3;5|015@3e3%3)5E6W595s4o3(612y644^6*6#0i696M2s0!3F0e6{6L5A520-0T14021y6J0g730w7577750l0M0x0A3j4n0e2S0e6I0x0e6o0e0w1m6r2^6t0m2I7a0x76747y7x0g6R6}5:5=6X0Z5^3C455{7H6(5 7L6,2I6.5a6*7M3-6S3c6V7O7J6Z4p3T6%5~667)0e627U6)4K0B4q683*6{6i6@246c040,6f6T6h6E5k0G0r142G7F6y246A6C836x4T6H6J8b3=6O6w7|6~5k0m720k7y8o852s0F0,143,8g8x8d146Q8g7Z5*7#5}7K3B7*7$655t4M7/6-7I8R6*4M7_7{8#8p515k7 2Z0x0w0f0G8w7}0 0I0S140E0f1z7E8D8L7I8N4%7N7;7Q0B4%8U7T8W6/7?913-8#8E8=6n0@0A8l5B6A8H4Q8l7+8N4{92997V7?4{97639u7=5J9s9d8$6|8;017 818:8q3h8j6K8}9M8F040d9k528z145O9Q8(6z140+9L9#248s040W0s9)8c4e9O9V6N149U9!9;019,0B9@8y8A043H9{8m9%9n4va59q7(0B5d9t7P7-ad7S9zag5tae9E9F9e9H8*0:8-8/8g8%9|8?140n3^0-9j8I9p7$8N5vaf7,5t5v9y93ahaJao8$9f9I9haDa09Sa84 aG8Mac5N8PaP5ta)aO9A94a)8!apaq9R9g048+au9:8i046o6q3^7t6uaE7!a^018eaY9=047lbab89_be9Xa3be9mbe9~bha2a4b69*0 6A0+0h8|3c0i5.5Q5(5S5#1C0x5VbF2:2+0t1 bC0i5T1I8h5B2Z0F0Z0%0t0I0A0Z0C7M1u1w1y1A0ea!2)1N3M0/0;0?0^6k6J210T0M0$1^0M2z0e2P2w0 c16G3:191w1e0*1j2Z2X2Z2#0,1/2Q0}0,bM2%c71Gb/1T3=1Z1#1%1)1+1-1/261@1_1{bR522F2w2y140y1,1.av3c5%6x3.b-bA8~6Y2m953Da*a/660qcXa.al3$c#3E5F5q8X43c*1|6=cD8)6d3Va}6k6ma 0-6p7s0G7u6va59l148fbr9|c5bdd4526Ob,3MaaaH6Zc#6#3n7+c.3Adkaja+c)6+c,4@9vdp6+7_aU0-3)7C7c7e7g2_7i0,7k6J7nc~7p7rb2d1b47Cbx8K4SabcVc#7Xdm8Q9ady45c%aLdtd*575Gd(cW7Xc=8J6UdXdidZ7@cYc(c/d}d+docW4qdvd dy7^aSaU9J823aax4T88048adc9^6Bbeda8kek9$04bwawaU9,028u7Deu9Hbi8Cd8a604dfd^b-cT7%d|8Z6$d%dxcW8T7:cZ4_c#8Td/c-d;eWc;3Ja?eb14a{8.c`52az048_8{aFdha%d|9cd$dse096eTe7cW96eYdw9Bf1e$7`9Gb77 3xaXeqaZdVd_7Ge^0GcW9De{eUdt9xe d,e09xf3f0c#9Dc=e(are*ate,eAb7eo9PeEd59Tbo9Ybk9%e-8r140s9/fFbs3?9?febtbgfZ9}149 f$bibqdWfWbufQ2s0m6_042m0Tf:3Q6nc~b16sb4fOemf$fHg19`fJ9Wbpg1dfevf(fMbjf$buet9o8Dbz3w2*cObD0#3M1Jb%1c740G0^b)0e0{0e0/0w0u0,0P2I0e2l0f11b_0w6i5.f^1C5.0e6C5.b0d0d20A0j7l0d0R0K3DbvgRgm0h7/21aD0f3n0M0#3^0wb~7n1mcJcx1mgy7j5-gmg#0D0+0efTdL0x0dg)g+0/3*7og?g^0M0e0XgOgme;aEgS0jhh1i0t2UgI1c1AaD0waD0h0Ob.6Sb:0=0@cp2~520t0T6I0G2Tcg1m0!1chP1!141I3=hMhOhQ1l0B110x2c04gt1xe=1Q1L040a0e0H0:7e7i1h1jhRhk0e0r0|b_213v0$0,i30e010-1^0S1A2q0j2e2m0S0Cb*2w0e0%g;0G0J0=0-g-0G007o2l0^3V2u0S0tid0p7/0mhA0e0#7f2OgwgI1i0^0;0f2=7q210F7d1.2Wb|iIiA0,iCid0e0tiK0Sgzb*7ti%1AhD1PdgbP5S0:hH0-04.

Exercice 7 : triangles⚓︎

A faire

Écrire deux fonctions (procédures) récursives triangle_bas, puis triangle_haut prenant un entier n non nul en paramètre et qui affichent un triangle. Ces fonctions ne renvoient rien.

Python Console Session
>>> triangle_bas(4)  # affiche un triangle tête en bas
####
###
##
#
Python Console Session
>>> triangle_haut(4)  # affiche un triangle tête en haut
#
##
###
####
Triangles

Compléter ci-dessous

###(Dés-)Active le code après la ligne # Tests (insensible à la casse)
(Ctrl+I)
Entrer ou sortir du mode "deux colonnes"
(Alt+: ; Ctrl pour inverser les colonnes)
Entrer ou sortir du mode "plein écran"
(Esc)
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

Solution

Attention

L'ordre des instructions est bien sûr important !

Python
def triangle_bas(n):
    """Affiche un triangle tête en bas"""
    if n > 0:
        print("#" * n)
        triangle_bas(n - 1)

def triangle_haut(n):
    """Affiche un triangle tête en haut"""
    if n > 0:
        triangle_haut(n - 1)
        print("#" * n)

Exercice 8 : Si vous avez du temps ... problème de la grenouille⚓︎

🐸

Une grenouille doit monter un escalier. Quand elle saute pour monter, elle monte de 1 ou 2 marches.
Combien de chemins différents existent-ils pour un escalier de n marches ?

Vous êtes en complète autonomie pour cet exercice facultatif.

👉 Montrer au professeur votre solution, ou vos tentatives.

La fonction nbre_chemins prend en paramètre un entier n que l'on garantit strictement supérieur à zéro.

Compléter ci-dessous

###(Dés-)Active le code après la ligne # Tests (insensible à la casse)
(Ctrl+I)
Entrer ou sortir du mode "deux colonnes"
(Alt+: ; Ctrl pour inverser les colonnes)
Entrer ou sortir du mode "plein écran"
(Esc)
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 : 20/20

.128013kg: r;)Sé/q(N.èlo4y,6b=ac1+5udz3t2_P7evp-fh0mnRAiCs050E0M0H0y0X0q0Z0e0z0q0y0Z0Z0x010H0X0O010406050Z0D0T0T0y0f0t040i0r0q0D0@0r0U0e020y0T0O0g0e0V0M110f0l0D0M0Z050k0~1012140|0O04051z1s1C0k1z0|0E0X0N0,0.0:0=0.0U0c0D0y0c0M0P0O0t0H0R1b0e0R0X0c0R0q1(0R0H0`050%0w0q0M1L0/0;011%1)1+1)0H1;1?1/0H0f1A1Z0,170Z0O0y0U0=0I011^1N010Q0)0M0U1f0M1/2a2c2h1`2k1?2n0T2p040a0e0K0f0r0O0r0Z0X1a1c0#280f0f0M0z2K1s2r0U1A0k1Z2W2426251:0E2t1O0X0U2m2H1/1I1K0-1_2*2,0U0r2:1/0O2P1A2U2W300}2b1c2=2i2_0f110q1/0y1$2P0Q0=030J0J0z2`0M1+2^0r0P0A0S3r0`0A1s0y31340{332s361`383a3c3e0M3g013i3k3m3o2-3r3t2f040I3x3z2c3B2U2)013G0y3b1A3d0R3f3h3j3l0#3Q2_3S0P0G0`0G3X2T3A0|3#3E0=3(3*053,3.3M3:3P2+3R3s0P0s0`0s3}1t3 3C351M3F0r393)3I3-3K3/3O3=4c3@4e0C0`0C4j3040343$444t483N3;3n4z3q4e0v0`0v4F4l414o434q3H3+3J3L4N4b3p3^0L0`0L4W3Z1D2~1s2:2Z0E262(42014O2/1J1A2}0M2 3A3~4=4O562s0X0E0=3j2U3^0A3I5d5f4x4P4,4e5j0e2x0M5m4O3?4R3t5j2W3y4m3$0b0`0#0Q582V0e5D4~0U0Q0`0U0w2P3k0R1l2+1r4k4=4Y2?010_040m5J5b4n5$0U5Q5+5M4Z5%0`0h0d5+0|5Z2V5D5l015g343^3U460e604a4y5p3T2g5t5v4+4d6c5B040e6l5L5#2i5F040X5I5}6k5=5.5:6u6n4I4~0r0`0x0x5+6A3D5?0T0X3v5;6o1`5(5`6u5|323#680J5h4e3`4%6X5w4Q3^3`5s2o6f6a6h3_1/0k3y6m6^6I5-6p0`2P0H0D0f0U6H6w2i6L6N6T6O4I6X6Z3t4g6$5e615n5x3^4g6,2y6.5o6:7e3X6^741`6q4P6t306`4J6y7z7u0=6D046F736P0=763V796J5$6R5{7O1c7b634B5k7g697p4A3t4C7m5u7h6(6b0P4C6j6_6m7E016q6~70726z7?7M3W786u5 7Z6Y7W3t4T7f7o7j4S6d6-7+6g7$0P877s7=7K7@0`3n0Z0M7T3$7R806V7a837c0P4.888e6/8g4.7)896)4e8A8j7;7?7^0$7`7J6B5?5/045R5T0z5V6L0U5Y8v7P2i5(5*818l8U7{7D8l7G0P8R8(1`7M3w8,8S7Q5^8@6{1`7G0B907B8V5S0M5U5W8#8r4~8*9d8T7C3A7A6C0`8?7|8l7~9g8~040h7S810k5a4?554^521s0H4{9D2$2X0y1=9A0k4_1y5,3$2P0T0J0Q0y0b990R6#1k1m1o1q0e6S321F3B2:3$0y0E0T1b2J0X1#0E2c1U0f0`1y9.9:9=2K0P0@0H22040W202m2S9+9O0Y0$0H1@0Z17199@1c0f0j0z702I0N1@2}2`0D2J0e0D1c240p0+0c0f2c2(2_0T980e0E000y0O0O8o0e1o0X5s001q0H0e2b0+0E0D0e0H0r190e3K2k0z0y0z0M0u0,12aL9%a/0qap0*670#0U0@9$0+aib10ean3)0X0Z0j0+anap0far1laaaZ182I0Maq0e0Q0rba0o0e0iaU0Na*0+ag0Zag0F0,afahaj2KaZa*0fay1caEaG5s0raJ2Pa_0e1m8Y1qa?a;0.aZ2P0U0EaF0e0w0M0y0D3l0D0ObUag1g0Za?a*bp0Mb*5%1Pag9|2C1Y1!0U0o1D3B1z0nby0e0j6 1Ib}1b0+0Obla(122(b#0}241b0c04aubO1vbI0E0t2x0X9$2Tcr1Q04c7ac9B0N3B9M0$0(0*04.

Crédits⚓︎

Franck Chambon