Aller au contenu

Les rosaces⚓︎

Des boucles dans des boucles

Il est possible de mettre des boucles dans des boucles. On dit que ce sont des boucles imbriquées.

C'est le cas dans la fonction rosace suivante :

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

Votre tracé sera ici

Cette fonction dessine nb_poly polygones réguliers de nb_cotes côtés, mesurant chacun longueur pixels par côté.

Voici quelques exemples :

12 carrés 6 hexagones 24 hexagones
rosace(4, 100, 12) rosace(6, 100, 6) rosace(6, 100, 24)

La tortue fait un tour sur elle-même à chaque polygone et un tour au total lorsqu’elle trace tous les polygones. Un tour complet correspond à 360°.

Pour accélérer le tracé de la figure

Afin de permettre à la tortue d'aller plus vite, vous pouvez rajouter speed(10) au début de votre script ou avant l'appel à la fonction qui trace l'image.

La valeur du paramètre de speed peut aller de 1 à 10 pour aller de plus en plus vite. Si on met 11 ou 0, le tracé se fait quasi instantanément.

Exercice 13 (répondre sur la feuille)

Modifiez le code de la fonction rosace2 qui permet de faire les figures ci-dessous.

6 carrés 5 pentagones 6 hexagones
rosace2(4, 50, 6) rosace2(5, 50, 5) rosace2(6, 50, 6)

Pour l'instant le code de rosace2 est identique Ă  celui de rosace.

Indication

Il suffit de rajouter une ligne contenant forward(longueur).

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

.128013)wP=c0hS2s,r/n6ko_ev1pf(djut-bai54y3g l7m:050z0t0C0F0G0N0k0M0f0N0F0k0k0e010C0G0w010406050k0B0P0P0F0m0J040i0r0N0B0+0r0o050n0=0@0_0{0:0w04051b141e0n1b0:0z0G0u0Z0#0%0)0#0o0L0B0F0L0t0D0w0J0C0h120M0h0G0L0h0N1G0h0C0.050U0E0N0t1n0$0(011F1H1J1H0C1P1R1N0C0m1c1B0Z0~0k0w0F0o0)0j011T1p010x0W0t0o0F0P0t1N1/1;1_1V1|1R1 210.0a0M0d0m0r0w0r0k0G110o0M0S1-0m0m0t0f2m14240o1c0n1B2z1)1+1*1O0z261q0G0o1~2j1N1k1m0!1U2J2L0o0r2P1N0w2s1c2x2z2$0;1:2n2R1`2V0m0^0N1N0F1E2s0x0)030s0s0f2W0t1J2U0r0D0g0D0v0.0v140F2%2*0/2)252,1V2.2:2=2@0t2_012{2}2 312M340D1@040j3a3c1;3e2x2I013j0F2;1c2?0h2^2`2|2~0S3t2V3v0K0.0K3A2w3d0:3E3h0)3H3J053L3N3p3P3s2K3u350I0.0I3Y153!3f2+1o3i0r2/3I3l3M3n3O3r3R3;3T350H0.0H3`2$3#2*3F3)443-3q3Q304a33350p0.0p4g3|3$3 3(413k3K3m3o4o3:323v0O0.0O4x3C1f2!142P2C0z1+2H3%014p2O1l1c2Z0t2#3d3Z4P4p4*250G0z0)2|2x3v374E4;4?484q4J35370M2a0t4}4p3S4s361N0n3b3}3F0q0.0S0x4,2y0M5e4Y0o0x0.2g0k0F0f0t3z3{4P4z2S010-040y5k4/3~5B0o0.0o0E3r0C0t0k5G5n4A5C0.0l5G5m5A2-0.0N121t0t0B0m5S5!1V5D5X5y5l5T5J5L5N2i0N0J5-4j4Y5D0b0Q5G0:5=5H0M4|014@2*3v3x3+684=6a4~586d1^54564I3=3w5b3b0M6u5Z5 5U5g040x415Y5@5#040G6D5.0)0r0c0.2K6I6x5J0E5r1;1w5~3g5U5D5F666E3i5_0s5{5}6#6J5V0462646W2n696b1;3U3l6@6j4r6`5320556i576~353V2z6t6v7a6$0)6z6B5,666w6X5^040A6P7j1`6L6N137h7c3G6S040m6U0t6=3F6Z7B5o6(2~5P5R6,6Q1`616366652(3E6|4^3?6{6h3/49500D3@70216o7Z6q3@78047a7/6v7u5K6A410c0_0z7E6Y0.6!7R7L6%045%1s0B5*7g807o5/0.0b6;7K4:7X0s7U0D4d4{8h747!4d7%727Y4 6q8l3A7:7:7=5$3n0C7|5B7D8f5I1`0P0G3W0p0g8E7p0.0n8P825M5O5Q8T0)618e896?8h8j4u8m7)8u4b0D4u8r8,6k4t6s7.8y8A7@0m7_0m7{8H7C7~8Y3G5$5(865+948!7P7B7T6c354L8+736p8.4L8;9j7*9l8^8y7i8I820m1K8D9160939z5U8K8M8O9C5B0r8R947?8V6*9a8c8#4+0n4.4Q4)4S4$140C4V9Z2F2A0F1Q9W0n4T650S0U0W0k04.

Votre tracé sera ici