3 cadre=(llcorner texto+(-eb,-eb))--%(llcorner texto+(0,-eb))--
4 (llcorner texto+(0.875cm,0)+(-eb,-eb))--
5 (llcorner texto+(0.875cm,0)+(0,-2eb))--
6 (llcorner texto+(1.125cm,0)+(0,-2eb))--
7 (llcorner texto+(1.125cm,0)+(eb,-eb))--
8 (lrcorner texto+(0,-eb))--(lrcorner texto+(eb,0))--(urcorner texto+(eb,0))--(urcorner texto+(0,eb))--
9 (ulcorner texto+(0.625cm,0)+(eb,eb))--
10 (ulcorner texto+(0.625cm,0))--
11 (ulcorner texto+(0.375cm,0))--
12 (ulcorner texto+(0.375cm,0)+(-eb,eb))--
13 (ulcorner texto+(0,eb))--(ulcorner texto+(-eb,0))--cycle;
16 fill cadre withcolor if unknown colControle : LightOrange else : colControle fi;
17 draw cadre withcolor if unknown colControle : LightOrange else : colControle fi;
18 draw (llcorner texto+(-eb,-eb))--
19 (ulcorner texto+(-eb,0))--
20 (ulcorner texto+(0,eb))--
21 (ulcorner texto+(0.375cm,0)+(-eb,eb))--
22 (ulcorner texto+(0.375cm,0))--
23 (ulcorner texto+(0.625cm,0))--
24 (ulcorner texto+(0.625cm,0)+(eb,eb))--
25 (urcorner texto+(0,eb))--
26 (urcorner texto+(eb,0))--
27 (lrcorner texto+(eb,0))--
28 (lrcorner texto+(0,-eb))--
29 (llcorner texto+(1.125cm,0)+(eb,-eb))--
30 (llcorner texto+(1.125cm,0)+(0,-2eb))--
31 (llcorner texto+(0.875cm,0)+(0,-2eb))--
32 (llcorner texto+(0.875cm,0)+(-eb,-eb))--
33 (llcorner texto+(0.5cm,-eb));
35 draw texto;% withcolor white;
43 cadre=(llcorner texto+(-eb,0))--(llcorner texto+(0,-eb))--
44 (llcorner texto+(0.375cm,0)+(-eb,-eb))--
45 (llcorner texto+(0.375cm,0)+(0,-2eb))--
46 (llcorner texto+(0.625cm,0)+(0,-2eb))--
47 (llcorner texto+(0.625cm,0)+(eb,-eb))--
48 (lrcorner texto+(0,-eb))--(lrcorner texto+(eb,0))--(urcorner texto+(eb,0))--(urcorner texto+(0,eb))--
49 (ulcorner texto+(0.625cm,0)+(eb,eb))--
50 (ulcorner texto+(0.625cm,0))--
51 (ulcorner texto+(0.375cm,0))--
52 (ulcorner texto+(0.375cm,0)+(-eb,eb))--
53 (ulcorner texto+(0,eb))--(ulcorner texto+(-eb,0))--cycle;
56 fill cadre withcolor if unknown colControle : LightOrange else : colControle fi;
65 cadre=(llcorner texto+(-eb,0))--(llcorner texto+(0,-eb))--
66 % (llcorner texto+(0.375cm,0)+(-eb,-eb))--
67 % (llcorner texto+(0.375cm,0)+(0,-2eb))--
68 % (llcorner texto+(0.625cm,0)+(0,-2eb))--
69 % (llcorner texto+(0.625cm,0)+(eb,-eb))--
70 (lrcorner texto+(0,-eb))--(lrcorner texto+(eb,0))--(urcorner texto+(eb,0))--(urcorner texto+(0,eb))--
71 (ulcorner texto+(0.625cm,0)+(eb,eb))--
72 (ulcorner texto+(0.625cm,0))--
73 (ulcorner texto+(0.375cm,0))--
74 (ulcorner texto+(0.375cm,0)+(-eb,eb))--
75 (ulcorner texto+(0,eb))--(ulcorner texto+(-eb,0))--cycle;
78 fill cadre withcolor if unknown colControle : LightOrange else : colControle fi;
87 cadre=(llcorner texto+(-eb,0))--(llcorner texto+(0,-eb))--
88 (llcorner texto+(0.375cm,0)+(-eb,-eb))--
89 (llcorner texto+(0.375cm,0)+(0,-2eb))--
90 (llcorner texto+(0.625cm,0)+(0,-2eb))--
91 (llcorner texto+(0.625cm,0)+(eb,-eb))--
92 (lrcorner texto+(0,-eb))--(lrcorner texto+(eb,0))--
93 (urcorner texto+(eb,0))--(urcorner texto+(0,eb))--
94 1/2[ulcorner texto+(-eb,eb),urcorner texto+(eb,eb)]{dir150}..{dir-150}(ulcorner texto+(-eb,eb))--cycle;
97 fill cadre withcolor if unknown colControle : LightOrange else : colControle fi;
104 pair coindebutbloc[];
106 vardef Repeter[](expr tps)=
111 label(LATEX("\bfseries\color{white}répéter "&if numeric tps:"\colorbox{white}{\textcolor{black}{"&decimal(tps)&"}}" else: tps fi&" fois"),(0,0));
113 $=AffiControle shifted (if unknown _coinprec:(0,0) else :_coinprec fi - ulcorner AffiControle);
114 _coinprec:=(llcorner $)+(0.5cm,0);
115 _coinprec:=_coinprec+(0,eb);
116 coindebutbloc@:=(llcorner $)+(0,eb);
125 label(LATEX("\bfseries\color{white}répéter indéfiniment"),(0,0));
127 $=AffiControle shifted (if unknown _coinprec:(0,0) else :_coinprec fi - ulcorner AffiControle);
128 _coinprec:=(llcorner $)+(0.5cm,0);
129 _coinprec:=_coinprec+(0,eb);
130 coindebutbloc@:=(llcorner $)+(0,eb);
134 vardef RepeterJ[](expr test)=
139 label(LATEX("\bfseries\color{white}répéter jusqu'à "&test&""),(0,0));
141 $=AffiControle shifted (if unknown _coinprec:(0,0) else :_coinprec fi - ulcorner AffiControle);
142 _coinprec:=(llcorner $)+(0.5cm,0);
143 _coinprec:=_coinprec+(0,eb);
144 coindebutbloc@:=(llcorner $)+(0,eb);
148 vardef FinBlocRepeter[](expr tps)=
151 _coinprec:=_coinprec-(0.5cm,0);
155 label.lrt(LATEX("\bfseries\color{white}répéter \colorbox{white}{\textcolor{white}{"&decimal(tps)&"}} fois"),if unknown _coinprec: (0,0) else:_coinprec fi);
159 cadre=(coindebutbloc@+(0.125,0))--(coindebutbloc@+(0.5cm+eb,0))--
160 (coindebutbloc@+(0.5cm,-eb))--
161 (ulcorner texto+(0.5cm,eb))--
162 (ulcorner texto+(0.5cm+eb,0))--
163 (urcorner texto+(-eb,0))--
164 (urcorner texto+(0,-eb))--
165 (lrcorner texto+(0,eb))--
166 (lrcorner texto+(-eb,0))--
167 (llcorner texto+(0.125+0.625cm,0)+(2eb,0))--
168 (llcorner texto+(0.125+0.625cm,0)+(eb,-eb))--
169 (llcorner texto+(0.125+0.375cm,0)+(eb,-eb))--
170 (llcorner texto+(0.125+0.375cm,0))--
171 (llcorner texto+(0.125,0)+(eb,0))--
172 (llcorner texto+(0.125,0)+(0,eb))--
176 fill cadre withcolor if unknown colControle : LightOrange else : colControle fi;
177 draw cadre withcolor if unknown colControle : LightOrange else : colControle fi;
178 label.lft(LATEX("$\color{white}\raisebox{-0.5pt}{\hbox{$\bm{\_\!\_}$}}\!\!\!\!\bm{\uparrow}$"),0.5[lrcorner texto,urcorner texto]);
179 draw (coindebutbloc@+(0.5cm+eb,0))--
180 (coindebutbloc@+(0.5cm,-eb))--
181 (ulcorner texto+(0.5cm,eb))--
182 (ulcorner texto+(0.5cm+eb,0))--
183 (urcorner texto+(-eb,0))--
184 (urcorner texto+(0,-eb))--
185 (lrcorner texto+(0,eb))--
186 (lrcorner texto+(-eb,0))--
187 (llcorner texto+(0.125+0.625cm,0)+(2eb,0))--
188 (llcorner texto+(0.125+0.625cm,0)+(eb,-eb))--
189 (llcorner texto+(0.125+0.375cm,0)+(eb,-eb))--
190 (llcorner texto+(0.125+0.375cm,0))--
191 (llcorner texto+(0.125,0)+(eb,0))--
192 (llcorner texto+(0.125,0)+(0,eb))--
193 (coindebutbloc@+(0.125,0));
195 _coinprec:=(llcorner $);
196 _coinprec:=_coinprec+(0,eb);
200 vardef FinBlocRepeterI[](expr tps)=
203 _coinprec:=_coinprec-(0.5cm,0);
207 label.lrt(LATEX("\bfseries\color{white}répéter \colorbox{white}{\textcolor{white}{"&decimal(tps)&"}} fois"),if unknown _coinprec: (0,0) else:_coinprec fi);
211 cadre=(llcorner texto+(0.125,0)+(0,eb))--(coindebutbloc@+(0.125,0))--(coindebutbloc@+(0.5cm+eb,0))--
212 (coindebutbloc@+(0.5cm,-eb))--
213 (ulcorner texto+(0.5cm,eb))--
214 (ulcorner texto+(0.5cm+eb,0))--
215 (urcorner texto+(-eb,0))--
216 (urcorner texto+(0,-eb))--
217 (lrcorner texto+(0,eb))--
218 (lrcorner texto+(-eb,0))--
219 (llcorner texto+(0.125,0)+(eb,0))--
223 fill cadre withcolor if unknown colControle : LightOrange else : colControle fi;
224 draw cadre withcolor if unknown colControle : LightOrange else : colControle fi;
225 label.lft(LATEX("$\color{white}\raisebox{-0.5pt}{\hbox{$\bm{\_\!\_}$}}\!\!\!\!\bm{\uparrow}$"),0.5[lrcorner texto,urcorner texto]);
226 draw (coindebutbloc@+(0.5cm+eb,0))--
227 (coindebutbloc@+(0.5cm,-eb))--
228 (ulcorner texto+(0.5cm,eb))--
229 (ulcorner texto+(0.5cm+eb,0))--
230 (urcorner texto+(-eb,0))--
231 (urcorner texto+(0,-eb))--
232 (lrcorner texto+(0,eb))--
233 (lrcorner texto+(-eb,0))--
234 (llcorner texto+(0.125,0)+(eb,0))--
235 (llcorner texto+(0.125,0)+(0,eb))--(coindebutbloc@+(0.125,0));
237 _coinprec:=(llcorner $);
238 _coinprec:=_coinprec+(0,eb);
242 vardef Si[](expr tps)=
247 label(LATEX("\bfseries\color{white}si "&tps&" alors"),(0,0));
249 $=AffiControle shifted (if unknown _coinprec:(0,0) else :_coinprec fi - ulcorner AffiControle);
250 _coinprec:=(llcorner $)+(0.5cm,0);
251 _coinprec:=_coinprec+(0,eb);
252 coindebutbloc@:=(llcorner $)+(0,eb);
259 _coinprec:=_coinprec-(0.5cm,0);
263 label.lrt(LATEX("\bfseries\color{white}répéter \colorbox{white}{\textcolor{black}{titi=10}}"),if unknown _coinprec: (0,0) else:_coinprec fi);
267 cadre=(coindebutbloc@+(0.125,0))--(coindebutbloc@+(0.5cm+eb,0))--
268 (coindebutbloc@+(0.5cm,-eb))--
269 (ulcorner texto+(0.5cm,eb))--
270 (ulcorner texto+(0.5cm+eb,0))--
271 (urcorner texto+(-eb,0))--
272 (urcorner texto+(0,-eb))--
273 (lrcorner texto+(0,eb))--
274 (lrcorner texto+(-eb,0))--
275 (llcorner texto+(0.125+0.625cm,0)+(2eb,0))--
276 (llcorner texto+(0.125+0.625cm,0)+(eb,-eb))--
277 (llcorner texto+(0.125+0.375cm,0)+(eb,-eb))--
278 (llcorner texto+(0.125+0.375cm,0))--
279 (llcorner texto+(0.125,0)+(eb,0))--
280 (llcorner texto+(0.125,0)+(0,eb))--
284 fill cadre withcolor if unknown colControle : LightOrange else : colControle fi;
285 draw cadre withcolor if unknown colControle : LightOrange else : colControle fi;
286 draw (coindebutbloc@+(0.5cm+eb,0))--
287 (coindebutbloc@+(0.5cm,-eb))--
288 (ulcorner texto+(0.5cm,eb))--
289 (ulcorner texto+(0.5cm+eb,0))--
290 (urcorner texto+(-eb,0))--
291 (urcorner texto+(0,-eb))--
292 (lrcorner texto+(0,eb))--
293 (lrcorner texto+(-eb,0))--
294 (llcorner texto+(0.125+0.625cm,0)+(2eb,0))--
295 (llcorner texto+(0.125+0.625cm,0)+(eb,-eb))--
296 (llcorner texto+(0.125+0.375cm,0)+(eb,-eb))--
297 (llcorner texto+(0.125+0.375cm,0))--
298 (llcorner texto+(0.125,0)+(eb,0))--
299 (llcorner texto+(0.125,0)+(0,eb))--
300 (coindebutbloc@+(0.125,0));
302 _coinprec:=(llcorner $);
303 _coinprec:=_coinprec+(0,eb);
310 _coinprec:=_coinprec-(0.5cm,0);
314 label.lrt(LATEX("\bfseries\color{white}\,sinon\phantom{\colorbox{white}{\textcolor{black}{\hbox to2cm{t}}}}"),if unknown _coinprec: (0,0) else:_coinprec fi);
318 cadre=(llcorner texto+(0.125,0))--(coindebutbloc@+(0.125,0))--
319 (coindebutbloc@+(0.5cm,0)+(eb,0))--
320 (coindebutbloc@+(0.5cm,0)+(0,-eb))--
321 (ulcorner texto+(0.5cm,0)+(0,eb))--
322 (ulcorner texto+(0.5cm,0)+(eb,0))--
323 (urcorner texto+(-eb,0))--
324 (urcorner texto+(0,-eb))--
325 (lrcorner texto+(0,eb))--
326 (lrcorner texto+(-eb,0))--
327 (llcorner texto+(0.125+1.125cm,0)+(2eb,0))--
328 (llcorner texto+(0.125+1.125cm,0)+(eb,-eb))--
329 (llcorner texto+(0.125+0.875cm,0)+(eb,-eb))--
330 (llcorner texto+(0.125+0.875cm,0))--
334 fill cadre withcolor if unknown colControle : LightOrange else : colControle fi;
335 draw cadre withcolor if unknown colControle : LightOrange else : colControle fi;
337 draw (coindebutbloc@+(0.5cm,0)+(eb,0))--
338 (coindebutbloc@+(0.5cm,0)+(0,-eb))--
339 (ulcorner texto+(0.5cm,0)+(0,eb))--
340 (ulcorner texto+(0.5cm,0)+(eb,0))--
341 (urcorner texto+(-eb,0))--
342 (urcorner texto+(0,-eb))--
343 (lrcorner texto+(0,eb))--
344 (lrcorner texto+(-eb,0))--
345 (llcorner texto+(0.125+1.125cm,0)+(2eb,0))--
346 (llcorner texto+(0.125+1.125cm,0)+(eb,-eb))--
347 (llcorner texto+(0.125+0.875cm,0)+(eb,-eb))--
348 (llcorner texto+(0.125+0.875cm,0))--
349 (llcorner texto+(eb+0.5cm,0));
350 draw (llcorner texto+(0.125,0))--(coindebutbloc@+(0.125,0));
352 _coinprec:=(llcorner $)+(0.5cm,0);
353 _coinprec:=_coinprec+(0,eb);
354 coindebutbloc[@]:=(llcorner $)+(0,eb+0.125);
358 vardef Attendre(expr test)=
363 label(LATEX("\bfseries\color{white}attendre "&if numeric test:"\colorbox{white}{\textcolor{black}{"&decimal(test)&"}}" else: test fi &" seconde(s)"),(0,0));
365 $=AffichageCN shifted (if unknown _coinprec:(0,0) else :_coinprec fi - ulcorner AffichageCN);
366 _coinprec:=(llcorner $);
367 _coinprec:=_coinprec+(0,eb);
371 vardef AttendreJ(expr test)=
376 label(LATEX("\bfseries\color{white}attendre jusqu'à "&test&""),(0,0));
378 $=AffichageCN shifted (if unknown _coinprec:(0,0) else :_coinprec fi - ulcorner AffichageCN);
379 _coinprec:=(llcorner $);
380 _coinprec:=_coinprec+(0,eb);
384 vardef Stop(expr test)=
389 label(LATEX("\bfseries\color{white}stop \colorbox{cDarkOrange}{\normalfont\textcolor{white}{"&test&" \tiny\textcolor{black}{$\blacktriangledown$}}}"),(0,0));
391 $=AffichageStop shifted (if unknown _coinprec:(0,0) else :_coinprec fi - ulcorner AffichageStop);
392 _coinprec:=(llcorner $);
393 %_coinprec:=_coinprec+(0,eb);
397 vardef CommencerClone=
402 label(LATEX("\bfseries\color{white}quand je commence comme un clone"),(0,0));
404 $=AffichageEC shifted (if unknown _coinprec:(0,0) else :_coinprec fi - ulcorner AffichageEC);
405 _coinprec:=(llcorner $);
406 _coinprec:=_coinprec+(0,eb);
410 vardef CreerClone(expr test)=
415 label(LATEX("\bfseries\color{white}créer un clone de \colorbox{cDarkOrange}{\normalfont\textcolor{white}{"&test&" \tiny\textcolor{black}{$\blacktriangledown$}}}"),(0,0));
417 $=AffichageCN shifted (if unknown _coinprec:(0,0) else :_coinprec fi - ulcorner AffichageCN);
418 _coinprec:=(llcorner $);
419 _coinprec:=_coinprec+(0,eb);
423 vardef SupprimerClone=
428 label(LATEX("\bfseries\color{white}supprimer ce clone"),(0,0));
430 $=AffichageCN shifted (if unknown _coinprec:(0,0) else :_coinprec fi - ulcorner AffichageCN);
431 _coinprec:=(llcorner $);
432 _coinprec:=_coinprec+(0,eb);