Alien (5.1) - Fonctions (avancé)

Série d'exercices

Cet exercice fait partie d'une série :

Les règles sont simples : l'alien 👽 se situe au départ au centre de la grille et peut être déplacé avec les fonctions haut, bas, gauche et droite.

L'objectif est de trouver la case finale de l'alien (et donc son parcours) après exécution du programme donné, ou d'écrire le programme permettant de reproduire le cheminement proposé.

Lorsqu'il s'agit d'écrire le programme, il ne faut modifier que les ... présents dans le code :

  • avec une valeur,
  • avec une instruction complète,
  • si ... est le seul contenu d'une ligne, il ne faut les remplacer que par une seule ligne de code (sauf mention contraire).
Les différentes instructions
  • haut(4) déplace l'alien de 4 cases vers le haut ;
  • haut(-2) déplace l'alien de 2 cases vers le bas ;
  • haut() déplace l'alien de 1 case vers le haut (c'est donc équivalent à haut(1)).

Le principe est similaire avec les trois autres fonctions.

Attention : mode de déplacement

Dans les exercices où l'on doit déplacer l'alien, les appels de fonction comme haut(4) signifient que l'alien se déplace de 4 cases en une fois, et non 4 fois de une case. Ne cliquer que sur la case d'arrivée.

Cet exercice vient en complément de l'exercice «alien (5)».

Question 1 : Dessinez le parcours
🐍 Script Python
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
def move(n):
    droite(n)
    haut(n)
    gauche(n-1)
    bas(n-1)

droite(-7)
haut(-7)
move(6)
move(4)
move(2)

Dessinez le parcours

L'image est en train de se charger

Question 2 : Dessinez le parcours
🐍 Script Python
1
2
3
4
5
6
7
8
def escalier(n, s):
    for _ in range(n):      # "répéter n fois"
        droite(s)
        haut(s)

escalier(1, -5)
escalier(3, 4)
escalier(2, -2)

Dessinez le parcours

L'image est en train de se charger

Question 3 : Codez le parcours

Figure attendue

Votre tracé sera ici

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

.128013,n w5e9(38m=0p)rhkuoiscb/6S1vtdg:ay24Pfl7050F0g0E0I0v0O0w0d0x0O0I0w0w0m010E0v0o010406050w0t0l0l0I0q0J040B0u0O0t0*0u0c050z0;0?0^0`0/0o04131a051d0z1d1f1a0/0F0v0D0Y0!0$0(0r0v0G0r0O1t0r0E0-050T0y0O0g1o0#0%011s1u1w1u0E1C1E1A0E0y0u0F0`1B0q1b0E0r0Y0}0w0o0I0c0(0K011G1q010N0V0g0c0I0l0g1A1(1*1/1I1=1E1^1`0-0a0d0M0q0u0o0u0w0v100c0d0R1$0q0q0g0x2f131}0c1b0z1!2s0E1Y1X1Z0F1 0(1w0c1@2c1A1l1n0Z1H2C0v2E0c1U1m1A0o2l1b2q2s2W0:1)2g2K1:2P0q0@0O0-0d0C2p2!0.2Z1~2$1I2(2*2,0K2/1*2;2q2B012_0I2+040d0j2}2r0/302@0(33350d0L392 2!313f2,0f3j3b3l3d320u2)342,0A3q2=2#1p2^3v2`360P3A3c3D3e3F3x360k3J3s3L3u3w3g0h3R2?3T3n040C0n3Y3C2L3U3G0C2.142:3r3Z3+3#0C2|3:2~1c2U132I2v0F2z310x1U1{1b401e3~2Y3{2r05450R2V3S3+0s0-0R0N3j3B310e2,4p3K3@0N0-0I0y0q0I0x0I0F4z4B4u4j1:0,040i4I3?2%0-0r4O3*4K0-0b3j0d4q3t0c0-0D4T314L0p0H3q0d4/4Z4v4Q040F292e0g4)3t4L4N4d4i4P1I0l0v0-3/2Y4=1I4+4.4:4!3!4R0I0 4|3T4~5j3@4%5m4V040p5c4/5e5n4@4_0E4{505v5q4 584J2^4R5p5a0-5s50064:4;5G3e0-0y0#5J0(5l5B595S044(5Z5R015b5N3=4U5H040G5h0x0r5A5F525X0-5E2:5C5355043I5(5`5*5L3)3m5T5V645.5{4M5W01540-635_6d665r684#4y4A4C4E4G0I6g5Y6l316i043`6z4}4W4Y5 0(6B575~5!6n5M2W5-69046v4D4F6s6x5|6g6B6D6M5)4L4X505Q656B3p6c4*675N6I326r4B6V6v6Y6f6:3t6B386 5k6G6+6@716}6P3;6@4$6T6s6{6X733+6y6%6-616L3|6N6)6H6N6B3Q7i5q7a2~0/0z4g0g2s2T7D3 1m412v2x2t1T1V2v4z1E2s407A0R0T0V0w04.

Tracé du parcours (le vôtre à gauche, la solution à droite)

Le parcours de votre code et la solution attendue s'afficheront ici

Question 4 : Codez le parcours

Figure attendue

Votre tracé sera ici

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

.128013n w-5e9(38m=0p)rhkuoiscb/6S1vtdg:ay24Pfl7050F0g0E0I0v0O0w0c0x0O0I0w0w0m010E0v0o010406050w0t0l0l0I0q0J040B0u0O0t0*0u0b050z0;0?0^0`0/0o04131a051d0z1d1f1a0/0F0v0D0Y0!0$0(0r0v0G0r0O1t0r0E0-050T0y0O0g1o0#0%011s1u1w1u0E1C1E1A0E0y0u0F0`1B0q1b0E0r0Y0}0w0o0I0b0(0K011G1q010N0V0g0b0I0l0g1A1(1*1/1I1=1E1^1`0-0a0c0M0q0u0o0u0w0v100b0c0R1$0q0q0g0x2f131}0b1b0z1!2s0E1Y1X1Z0F1 0(1w0b1@2c1A1l1n0Z1H2C0v2E0b1U1m1A0o2l1b2q2s2W0:1)2g2K1:2P0q0@0O0-0c0C2p2!0.2Z1~2$1I2(2*2,0K2/1*2;2q2B012_0I2+040c0j2}2r0/302@0(33350c0L392 2!313f2,0f3j3b3l3d320u2)342,0A3q2=2#1p2^3v2`360P3A3c3D3e3F3x360k3J3s3L3u3w3g0h3R2?3T3n040C0n3Y3C2L3U3G0C2.142:3r3Z3+3#0C2|3:2~3=3*2%3N350C383{2r1c2U132I2v0F2z310x1U1{1b491e472Y441b4e0R2V3S3+0s0-0R0N3j3B310d2,4x3K3@0N0-0N0t0b0x4C4r1:0,040i4L3?2%0-124m4y3t4O0p0H3q0c4%0c4X3!0-0r0I0 4R3~1I4O4Q4W4D4T044V2Y4_4=0-0p4$4(4*3@4u292e0g4:314?5a3t0b4U5d3T4Z524%544`0y0#5h3+5c4^4M1I0l0v0-3/4}5u0(5j4m064(4)4~3e0-0G4.0x0r595t4S4 4P5q4`4|2:5m1I0u0-0e5U5v5x3$5%5C505k5H5B320-5o0w5+015s5A5R5J4{5^5!045$5Q4;0(5w0-3`5{645_5-5E5G5Y5}0F570E5P695b0-4@6l3t665*636m04515E3}3m5=5p6t4Y6n5^6r3I6C5i6c2W6y5e5K5M5O5^5`5X5I016G6R6K3;6f5;044H4J6X5T6I3+6r426)6w6L6!5f6$4I4K6+4N6E6`5(5y3(6}5,6v3)6z6@6(716b6*6p3T6W785D6;0z4o0g2s2T7j481m4a2v2x2t1T1V2v0I1D7m0z490/7z0S0U0W04.

Tracé du parcours (le vôtre à gauche, la solution à droite)

Le parcours de votre code et la solution attendue s'afficheront ici