Listes des termes d'une suite mathématique

Soit \((u_n)\) la suite définie par récurrence par :

\[ \left\{ \begin{array}{ll} u_0 = 0 \\ u_1 = 1 \\ u_{n} = 5 u_{n-1} - 8 u_{n-2} \hspace{3ex} \text{pour} \hspace{1ex} n>1 \\ \end{array} \right. \]

On souhaite créer la fonction liste_termes qui renvoie une liste contenant les N premiers termes de cette suite. On suppose que N est strictement supérieur à \(1\).

Contrainte

On demande ici de programmer une fonction qui puisse renvoyer un nombre élevé de termes.

Exemples
>>> liste_termes(2)
[0, 1]
>>> liste_termes(3)
[0, 1, 5]
>>> liste_termes(4)
[0, 1, 5, 17]
>>> liste_termes(10)
[0, 1, 5, 17, 45, 89, 85, -287, -2115, -8279]
assert ?

Le mot clé assert est utilisé en Python afin de vérifier que des propositions sont vraies.

Ainsi, l'instruction assert 3 + 5*7 == 38 permet de vérifier que l'expression 3 + 5*7 est bien évaluée à 38.

Si c'est le cas, le programme continue de se dérouler normalement. Dans le cas contraire, le programme est interrompu et une erreur est signalée.

###(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 : 10/10

.128013bqê,vià3o_x;lpwf( g0]6-)2As1^8ené4[m5tCLRîPhkN:c.a=ryS*u/7d050+0F0M0Y0g0n0B0s0W0n0Y0B0B0Z010M0g0o010406050B0(0K0K0Y0!0#040$0j0n0(0 0j0G0s020Y0K0o0m0s0P0F190!0c0(0F0B050)16181a1c140o04051H1A1K0)1H140+0g0f0@0_0{0}0S0g0t0S0n1Y0S0M12050/0b0n0F1T0`0|011X1Z1#1Z0M1+1-1)0M0!1I0M0S0@1f0B0o0Y0G0}0z011/1V010q0;0F0G1n0F1)25272c1;2f1-2i0K2k040a0s0R0!0j0o0j0B0g1i1k0-230!0!0F0W2F1A2m0G1I0)212R1~201 1*0+2o0}1#0G2h2C1)1Q1S0^1:2#0g2%0G0j2+1)0o2K1I2P2R2|15261k2-2d2=0!190n120C2O30132 2n321;3436120z3a273c2P2!013h0Y37040i3l2Q143o3f0}3r3t0I3w3n303p3C120L3F3y3H3A3q0j353s120w3M3d311U3g3R3i040*3F1L2`1A2+2U0+202Z3P0W2?2u0,1R1I2_0F2{3b3)3?0-3~3e3Z0}0T120-0q3)3z45010p120s4b3O4d0G0q121#0B0M0F0k4q351y4i442.0111040r4w3Y4y0G120U4D3p4A0y0V3M0s4P4h4c4F124t2t1z1B3b4R4j4y0j120Z3F4!4x2d4A0J4J3P0K0g120u4*3X3p47040q3R4_4S33120T504#2d0j4f042:554,3g0b120!270t0F4:4d4A4C4Y3m4`3P4G044I5p2Q5r5m120y0v4O4Q5y4T044V4v5w434E4-124/5K5F2d4=4@5l4y4A5C5K4+5M1;4%044)5Z5R1;5T044^5K064Q5!3I4U0F4u4X2~511;4.5V5S4?04395Q5}0}5X5c5#0}5%5)2|5?4;62642|5;5E66014|4~0!695@040G6r3P58125b5*6m0G5f045h0G5j605~125o5|565,623k656N67120e6v4k4H6I6T044M5D5=4P5+3B5^5`6Z4z5O6.5t6u6R5d6!5Y6e6*016c6W4y5-3L6A6S6}120%6 525H5_4W6.5 6@6a3q126?6{6m5%0x786O387d126`4Z6|7m7o0}5-0E7x750477736^7h7a6-7f4K6:7K5s7i7B7w7F7g5-6Q6M7G685:5=6|4|2K0M0(0!7j7u6B6,7c5:1A413}3*7?0)3-1A0M3/7{2X2S0Y1,7^3-1G5L3p2K0K0k0q0Y0T4r0S0i121s1u1w1y0s4N5Q1N3c1H0O0Y0s0+0H2f0G2E0g1j0s0!0H0W7)2D0f1.2H0_0s162E1.2B7)5h2E0s2:0W8O0!0s0h0s8E0!0g2K0s8L4~0G2M8A1k0Y8I0W0s0(2%0s8,8.8B8D8F0!8H0F0X1L8q040N0F0o2h0+270M0e8U0n8`0Y1h0s0t1a0-8Y8!0n001y2_8T8k0@0S0Y9v0Y0o999g8K8t8{2F0s2h1~0Y0Q8_0-0(0l0s9i1~8l9A9C0?8!0W0.4q0s0K0d2t8`1j8|0G0X0s0A2:2D9e9q9V0F9D1.9Z1`1.9G8/0s8Q8Y6|1a2E0S194q0l12090r0U090y4*5I0?0t0H0G0H2K5h6f4da521a80Faa04ac0z0Daeag5Z9^0=9e9Z0s1w0g8C9a8*9F9+9H990(9I0q2f0W0YaHa28u1.0t6F0-0?0f3s0F8Ga!aq4yasa70Ya9abadaf3F9e0.9$9(1.160B9Z0o0 828u00a?4q2:0+8)8L1#4=9#2H8~8Ga00+aS0_6G0Y5j2x0#211j938p147_0.0:0=04.

###(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 : 10/10

.128013beqOn,4évi[E3mo5_tLRî;PhkjlpwNf(: cg.a=ry0S]*-u/2)s18d050$0c0s0M0k0B0Z0I0J0B0M0Z0Z0N010s0k0C010406050Z0V0o0o0M0O0P040R0p0B0V0`0p0f0I020M0o0C0w0I0u0c140O0d0V0c0Z050W111315170 0C04051C1v1F0W1C0 0$0k0j0/0;0?0^0y0k0K0y0B1T0y0s0}050*0b0B0c1O0=0@011S1U1W1U0s1$1(1!0s0O1D0s0y0/1a0Z0C0M0f0^0X011*1Q010F0,0c0f1i0c1!2022271,2a1(2d0o2f040a0I0x0O0p0C0p0Z0k1d1f0(1~0O0O0c0J2A1v2h0f1D0W1|2M1_1{1`1#0$2j0^1W0f2c2x1!1L1N0:1+2W0k2Y0f0p2$1!0C2F1D2K2M2@10211f2(282-0O140B0}0!2J2{0~2`2i2}1,2 310}0X3522372K2V013c0M32040n3g2L0 3j3a0^3m3o0h3r3i2{3k3x0}0q3A1G2=1v2$2P0$1{2U3v010J2.2p0%1M1D2;0c2?363H3S0(3!391P1,0z0}0(0F3H3u3+0^0D0}0I3;3C3Q0f0F0}1W0Z0s0c0r43301t3{3*2)010|040G492|3?3l0}0E4g3k4d0Y0H3A060I4t3`3=4b0f0}462o1u1w364v3|4i0p0}0N3A4F4a284d0l4m3Q0o0k0}0Q4R4i4d0g4L384h4b4T334X4b4d0S4r4u4M4%283-040F0p0O4#4w2~0}0f4|4G4b0p3^042+514N3b0b0}0O220K0c4+4O0}4f4D3h4$3k4)043f5l2L5n3Q4Z584=3b4k5h1,4o4q5s0~4:4:5u4i4y044A485F5J530}0L5B3w0}0M0C0C2c0$5U4c5j5$5p3G5F4;3k4I040T5x3D4z0c474C2_4}5C0}4Q5P5|5V04505,5Q285/0U5=4S4U043460525i044.656101686a4i5p0#6o5R5:6s4~5M5^4B5$4P5$5L642@5-3Q6n6k6g1,5p5r5{6K0^4-0Y4/4u663,5c0)0V0O6E4E6V625N5`360 0W3%3Z3I6/0W3L1v0s3N6@2S2N0M1%6;3L1B3)5y0^2F0o0r0F0M0z440y0n0}1n1p1r1t0I5E2_1I371C0t0M0I0Z1a1c0k1e0I2;2v2x1)0;1~0f420O0V2H7v2B0V0I1?0c0M7L210O0I0M0A0p1c0.110J0J1t2y0F0Z5T7m710m0*0f0s0I0$1e0f0i0I7h0I0B007w3S0f2d0v7:2c7;0i0b1c7;1)4_0f7I7w1(0I2-0o0b2F7;000i0B0i2o7/0.0$7L7N7P0g7{7q0J0O0i0M2A7;8u6}1(7P7T6Z0+7:0i0K3n1o2c7:0C7L0Z8a0+8k7R7D7F7H8E5E1J3V2%4i1.1V1X1Z723k2l2c2e0}2r0R8A0{7:0x0P1|1e3H3Y722^3#6.8=3}5@5_6v1,5/4K6J596Q5~5)6c4W9i73014@4_4{9p5?040z9e0^540}579v3}5b045d0f5f6A5(6f9j4j044l9N9q4o6j2@6,996:2M701E040e1f7P5d2z0I2c119,3S1j8o0s7^8f8v7L847u41227:7|2+1L7#7j1G372$3k8.1:1Y2g6P292b2n2p8{8}0C8 910y935P954$975m9Y6l5L6)9L045 6O9O5L0kaz9V6$6l9g9z015*aL5/5;9E5K9c6z9S4n9laV9b56aO0}69aR4(6c6eaC9T0}aH3h6G4Ha$aL6qa#6ua(6wayaY4YaXa,9waFa{9fa?b40^6MaG4r1v9Y1I3J6=3W6,0(0*0,0Z04.

Graphique

Il est possible de visualiser ces termes avec le code suivant :

###(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

Votre figure

Votre tracé sera ici