En Travaux
facile
Echange de valeurs
Cet exercice porte sur l'échange de valeurs dans un tableau.
Les questions peuvent être traitées de manière indépendante.
1. Échanger deux éléments d'un tableau
Écrire la procédure echange_valeurs_tableau qui prend en paramètres un tableau et deux entiers correspondant à deux indices du tableau, et qui échange les valeurs situées à ces deux indices.
Modification en place
La modification du tableau se fait en place : on ne crée pas de nouveau tableau, on modifie directement le tableau initial.
>>> entiers = [ 1 , 2 , 7 , 3 ]
>>> echange_valeurs_tableau ( entiers , 1 , 2 )
>>> entiers
[1, 7, 2, 3]
On garantit que les indices sont bien présents dans le tableau.
.128013.8217s3o_;bcdufvgI/lyàq napS.r1meh,(P2=4:twki]D[Rx)é050j0D0M0w0P0q0c0u0i0q0w0c0c0J010M0P0x010406050c0k0C0C0w0A0r040y0e0q0k0;0e0v0u020w0C0x0g0u0T0D0~0A0t0k0D0c050p0{0}0 110_0x041p1w051z0p1z1B1w0_0j0P0m0)0+0-0/0E0P0n0E0q1P0E0M0@050!0h0q0D1K0,0.011O1Q1S1Q0M1Y1!1W0M0h0e0j111X0A1x0M0E0)140c0x0w0v0/0I011$1M010l0$0D0v1c0D1W2123281(2b1!2e0C2g040a0u0H0A0e0x0e0c0P17190Y1 0A0A0D0i2B1p2i0v1x0p1}2N0M1{1`1|0j2k0/1S0v2d2y1W1H1J0*1%2X0P2Z0v1@1I1W0x2G1x2L2N2^0`22192)292.0A0~0q0@0B2K2|0^2{2j2~1(30320@0I3623382L2W013d0w33040d3h2M0_3k3b0/3n3p0K3s2N2=0D2N2%2Q0j2U3l0i1@2q0X1I1x3D2@373B053L0Y3S3a1L1(0O0@0Y0l3U3v3!0/0N0@0u3*2|3l0v0l0@2H0E230n0D0f0m3o0D0k0A0c0f1/0D0w0k3;3Z2*010?040G4b2}3,3m0@47494i3l4f0F3B3:3+4d0v0@2,1H0i3~351q3T4v294r4t394j4w4y0v4A3~3g4E3i4K4q0@0V0L3B060u4#4u3=3w4l040M1i2x0A0#2G4J4G1(0e0@0J4=4(4k4x4+0w1Z484a4S2M4U4)4f0S4p4)4~4z0P4B0f4D2`4?0/4f0Q4Z4$4%4c2 4m501!4o543Y4L4H0@595w564}4N4P5g5a4k5l4{5q4@4_5L5y3c5s515v5i4|4d585I4M045d5f4R5V5M5k0@5m5w4!4$5D5!4n535)5Q5+045B5^3?5F5e4Q5Z5z045-2^5p5_014^044`5w4#5;5r4+4-0e4/0P4;5.1p3W3E1y2?1p3G1p0M3I6v2S2O1?1^2Q5t6q0p3G1v5x3l2G0C0f0l0w0O3~0E0d0@1h1j1l1n0u4Y5C1C381w0o0q0u1n0M0u0W0n412p0v6-2x0-0P510u0j00160$0P0c0D0A0u1!0(0M0k0x766Z1y382%3l1*1R1T1V6J4)2m2d2f0@2s0y0i0A0=6-0H0r1}183U3R4K2_3T6p7l4k3$043(621(3.043:5C5j3m3^043`3|3~401!43455?7M5`4h7R5W6g7%7+5*4e0@4s6d6f5R5#4O605H7/684I7@7S5c7{5%7(7;044X5n5:825S5u5@4F7,1(5Y7~5~7`5G5h8g7:5l7?667^3x8d52868j5}5b5 858k575,5P3l6a6c8t8c4 5T8f4T7S8z8p68835G5(8T4V648s37678l7.8A5J5A868V7|8o8Q8h5`65370_0p7G6r6F6H1A040R230(4B1 0Y0F751#2p0C0h2G0u0s6|2v2A1#0j0k0u2z0n2Z0u0J6+0c6-0j0b506j2V0W7Z0k0W970x0k71980u0A0W0{0q0!6-6,0u0w0l0l2H0M0W9R0k0U0u407u6E0(9f6:0k0i0E9j9l9n9p0J0z7d8_0Y0!0$0c04.
2. Échanger un élément d'un tableau avec son suivant
Écrire la procédure echange_valeur_suivante qui prend en paramètres un tableau et un entier correspondant à un indice du tableau, et qui échange les valeurs situées à cet indice et à l'indice suivant du tableau. Si l'indice n'a pas de suivant dans le tableau, ce dernier n'est pas modifié.
>>> entiers = [ 1 , 2 , 7 , 3 ]
>>> echange_valeurs_tableau ( entiers , 0 )
>>> entiers
[2, 1, 7, 3]
On garantit que l'indice est bien présent dans le tableau.
.128013s3o_;bcdufvgI/lyq napSr1-meh,(P2=4:+twki][5R)é050i0B0L0u0O0p0b0s0h0p0u0b0b0H010L0O0v010406050b0j0A0A0u0x0q040w0d0p0j0/0d0t0s020u0A0v0f0s0S0B0|0x0r0j0B0b050o0_0{0}0 0@0v041n1u051x0o1x1z1u0@0i0O0l0%0)0+0-0C0O0m0C0p1N0C0L0=050Y0g0p0B1I0*0,011M1O1Q1O0L1W1Y1U0L0g0d0i0 1V0x1v0L0C0%120b0v0u0t0-0G011!1K010k0!0B0t1a0B1U1 21261$291Y2c0A2e040a0s0F0x0d0v0d0b0O15170W1}0x0x0B0h2z1n2g0t1v0o1{2L0L1_1^1`0i2i0-1Q0t2b2w1U1F1H0(1#2V0O2X0t1=1G1U0v2E1v2J2L2?0^20172%272,0x0|0p0=0y2I2`0?2_2h2|1$2~300=0G3421362J2U013b0u31040c3f2K0@3i390-3l3n0I3q3h2`3j3w0=0R3z1w2;1n2#2O0i2S3j0h1=2o0V1G1v2:0B2=353G3P0W3X381J1$0N0=0W0k3G3t3(0-0M0=0s3.3B3u3k0k0=2F0C210m0B0e0l3m0B0j0x0e0_1G210L0B3^3%2(010;040E4f2{3:3k0=1-0B0u0j4m3j4j0D3z3@3/4h0t0=2*1F0h4e1o3Y4B274j0T0J3z060s4S4A3_4o3*040O3-4J3g4U4g2}4E0t4G4I2?4%4n4h0d0=020p0L0f4z374:2}0g0=2l4v3`4j4l4#2K4|3C4q0u1X4s4u563$4}1$4N4{4L1$4=040z5k4V4h0A0O32524o4j4P5f4R4T5C583`4D044d1b0d0x0Z2E5q4(5m0=0H5O5h3v5a5c4t5w4h4j0Q5Z4)4Y4+0O4H5%5i0=0P4Q5C5D5l5V5H5b1Y5Y5f5E5x0=5$5}5@4p5)4,5-0-4j5:5f4/3j5n5S6b5~4C5W5{5e2^635#67644F5+4-356c3`5n0K5T3j5t5v625r4M5/5;5=4S6h5(4r5|6m6E5.04616O5P5^6r5,6g636x6z3`6B04336D6U4i6G6Y6P0-6e4z6v4o5G5I2v5L0O5N5A1n3!3W3H710o3K1n0L3M762Q2M1;1?2O5`733K1t5g3j2E0A0e0k0u0N420C0c0=1f1h1j1l0s5z2^1A361u0n0p0s1l0L0s0U0m452n0t7J2v0+0O5c0s0i00140!0O0b0B0x0s0)0s2:0d0h0U0i471Z0570043~4042441Y470b0e6M5e7?7V0U290t0O1Z2:0U7-0W0{2b7J5z1D3S2$4o1(1P1R1T7j3`2k2b2d0=2q0w0h0x0:7J0F0q1{163G3V5g2@3Y7?6K3)3+0B4!6T5U013=043@6*8R0t3|7@0h3 0t41434547490j4b7P6t3g8L680=558Q595_5X6l4K6/6,044y6.6+5G6W8:576n0=4O6H6J634X4Z6#6@4*66938R5n4@4_9h4C4 04518W4w8@6p6^7f6N8~6+5j9l6d0=5p9F6$5u6(6p5y9c5=8=647^8%7`8*0x7~809N9x9v5F6j5d9!919q5(969*924.9R955*6X9;6Z0=6y9J4o6%6)8_539a4Q6 3Q2L8G3J3T0@740X0Z0#04.
On considère à présent une matrice, représentée par un tableau de tableaux.
Ainsi la matrice suivante :
\(\begin{matrix}
1 & 2 & 3\\
4 & 5 & 6
\end{matrix}\)
est représentée par :
matrice = [[ 1 , 2 , 3 ],
[ 4 , 5 , 6 ]]
3. Échanger deux lignes d'une matrice
Écrire la procédure echange_lignes_matrices qui prend en paramètres une matrice et deux entiers correspondant à deux indices du tableau, et qui échange les lignes de la matrice situées à ces deux indices.
>>> echange_lignes_matrices ( matrice , 0 , 1 )
>>> matrice
[[4, 5, 6], [1, 2, 3]]
On garantit que les indices sont bien présents dans le tableau.
Fonction echange_valeurs_tableau
On pourra s'appuyer sur la fontion echange_valeurs_tableau déjà chargée en mémoire.
.128013so_bcdufvg/ly napSr1me,(P2=:twkih)050g0w0D0q0G0m0b0o0f0m0q0b0b0B010D0G0r010406050b0h0v0v0q0t0n040s0c0m0h0Z0c0p050l0*0,0.0:0(0r040|1305160l1618130(0g0G0j0R0T0V0X0H0G0k0H0m1m0H0D0$050M0e0m0w1h0U0W011l1n1p1n0D1v1x1t0D0e0c0g0:1u0t140D0H0R0?0b0r0q0p0X0A011z1j010i0O0w0p0q0v0w1t1X1Z1(1B1+1x1.1:0$0a0o0z0t0c0r0c0b0G0_0p0o0K1V0t0t0w0f280|1?0p140l1T2l0D1R1Q1S0g1^0X1p0p1-251t1e1g0S1A2v0G2x0p1N1f1t0r2e142j2l2P0)1Y292D1)2I0t0-0m0$0u2i2T0%2S1@2V1B2X2Z0$0A2%1Z2l2M0w2l2B2o0g2s2u010f1N1;142{172N2*2k2=39310K2O2T2 0F0$0K0i3a3e2+1i1B0E0$0o3l382 0p0i0$2f0H1Z0k0w0d1F2x0b0d0-2p0G0f0w0b3t2j2 0#040y3P3f2,0X0p0$0v3V3n2E013S0x3l3s3Q3X013Z042G1e3M0d2$0}2(3u3/3*3,3}3o3Y0$3?3L3D2;3{2?413(3S0I0C3l060o4i3-3W423:3y0f3A0p3C0d0j0q1x0h0t3H1I0w0q0h3$2U4m3S3U49393.4m3;3#4J3m4F4c0$3+4P4k3%2W440p3@3D3`2R4L4S044U2P4W4R4Y3=4!460d484(4l4*0I4g0|3c2_15370l352m2}0|2p2o1M1O2o0q1w50531f2)530L0N0P04.
4. Échanger deux colonnes d'une matrice
Écrire la procédure echange_colonnes_matrices qui prend en paramètres une matrice et deux entiers correspondants à deux indices de colonnes, et qui échange les colonnes de la matrice situées à ces deux indices.
>>> echange_colonnes_matrices ( matrice , 0 , 1 )
>>> matrice
[[2, 1, 3], [5, 4, 6]]
On garantit que les indices sont bien présents dans le tableau.
Fonction echange_valeurs_tableau
On pourra s'appuyer sur la fontion echange_valeurs_tableau déjà chargée en mémoire.
.128013s3o_bcdufvg/ly napSr1me,(P2=:twkih)050h0x0E0r0H0n0b0p0g0n0r0b0b0C010E0H0s010406050b0i0w0w0r0u0o040t0d0n0i0!0d0q050m0+0-0/0;0)0s040}1405170m1719140)0h0H0k0S0U0W0Y0I0H0l0I0n1n0I0E0%050N0f0n0x1i0V0X011m1o1q1o0E1w1y1u0E0f0d0h0;1v0u150E0I0S0@0b0s0r0q0Y0B011A1k010j0P0x0q0r0w0x1u1Y1!1)1C1,1y1/1;0%0a0p0A0u0d0s0d0b0H0`0q0p0L1W0u0u0x0g290}1@0q150m1U2m0E1S1R1T0h1_0Y1q0q1.261u1f1h0T1B2w0H2y0q1O1g1u0s2f152k2m2Q0*1Z2a2E1*2J0u0.0n0%0v2j2U0(2T1^2W1C2Y2!0%0B2(1!2*2k2v012/0r2#040c2?2l162O0}2C2p0h2t2`0g1O1=153618342S0~2)053b0L2P2U2`0G0%0L0j313o2,1j1C0F0%0p3v2+2V3y0Y0q0j0%2g0I1!0l0x0e3b0n0{2y0b0e0.2q0H0g0x0b3D2_2-0Y0$040z3%3p3)2{0%0w3.3x2F013+0y3v3C3(3G3;042H1f3!0e2%3j2@3E2`3{3}4a3:0q0%433Z3P2=48323 3_3+0J0D3v060p4v3~3/403r040j0d0u4d4o2X0%1G2y4F4y3_0d3A420|4m044x3^4H043?4S4e403+4s4S4u4w4*4!3_4g043L3N3P0k2}0x0i0u3V1J0x0r0i3@3F4p0%3-4Z4G2.4I1n4K554M1*4c4S4U514W4i45472S563*0%3|5f4,5i0q444k504b0%0J4t0}3m0x2m2N5E351g372p2r2n1N1P2p0r1x5H0m360)5U0M0O0Q04.
# Tests(insensible à la casse)(Ctrl+I)
(Alt+: ; Ctrl pour inverser les colonnes)
(Esc)