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.125))--
160 (coindebutbloc@+(0.0625+0.5cm+eb,0.125))--
161 (coindebutbloc@+(0.5cm,-eb))--
162 (ulcorner texto+(0.5cm,eb))--
163 (ulcorner texto+(0.5cm+eb,0))--
164 (urcorner texto+(-eb,0))--
165 (urcorner texto+(0,-eb))--
166 (lrcorner texto+(0,eb))--
167 (lrcorner texto+(-eb,0))--
168 (llcorner texto+(0.125+0.625cm,0)+(2eb,0))--
169 (llcorner texto+(0.125+0.625cm,0)+(eb,-eb))--
170 (llcorner texto+(0.125+0.375cm,0)+(eb,-eb))--
171 (llcorner texto+(0.125+0.375cm,0))--
172 (llcorner texto+(0.125,0)+(eb,0))--
173 (llcorner texto+(0.125,0)+(0,eb))--
177 fill cadre withcolor if unknown colControle : LightOrange else : colControle fi;
178 draw cadre withcolor if unknown colControle : LightOrange else : colControle fi;
179 label.lft(LATEX("$\color{white}\raisebox{-0.5pt}{\hbox{$\bm{\_\!\_}$}}\!\!\!\!\bm{\uparrow}$"),0.5[lrcorner texto,urcorner texto]);
180 draw (coindebutbloc@+(0.125+0.5cm+eb,0.1875))--
181 (coindebutbloc@+(0.5cm,-eb))--
182 (ulcorner texto+(0.5cm,eb))--
183 (ulcorner texto+(0.5cm+eb,0))--
184 (urcorner texto+(-eb,0))--
185 (urcorner texto+(0,-eb))--
186 (lrcorner texto+(0,eb))--
187 (lrcorner texto+(-eb,0))--
188 (llcorner texto+(0.125+0.625cm,0)+(2eb,0))--
189 (llcorner texto+(0.125+0.625cm,0)+(eb,-eb))--
190 (llcorner texto+(0.125+0.375cm,0)+(eb,-eb))--
191 (llcorner texto+(0.125+0.375cm,0))--
192 (llcorner texto+(0.125,0)+(eb,0))--
193 (llcorner texto+(0.125,0)+(0,eb))--
194 (coindebutbloc@+(0.125,0.25));
196 _coinprec:=(llcorner $);
197 _coinprec:=_coinprec+(0,eb);
201 vardef FinBlocRepeterI[](expr tps)=
204 _coinprec:=_coinprec-(0.5cm,0);
208 label.lrt(LATEX("\bfseries\color{white}répéter \colorbox{white}{\textcolor{white}{"&decimal(tps)&"}} fois"),if unknown _coinprec: (0,0) else:_coinprec fi);
212 cadre=(coindebutbloc@+(0.125,0.125))--
213 (coindebutbloc@+(0.0625+0.5cm+eb,0.125))--
214 (coindebutbloc@+(0.5cm,-eb))--
215 (ulcorner texto+(0.5cm,eb))--
216 (ulcorner texto+(0.5cm+eb,0))--
217 (urcorner texto+(-eb,0))--
218 (urcorner texto+(0,-eb))--
219 (lrcorner texto+(0,eb))--
220 (lrcorner texto+(-eb,0))--
221 (llcorner texto+(0.125,0)+(eb,0))--
222 (llcorner texto+(0.125,0)+(0,eb))--
226 fill cadre withcolor if unknown colControle : LightOrange else : colControle fi;
227 draw cadre withcolor if unknown colControle : LightOrange else : colControle fi;
228 label.lft(LATEX("$\color{white}\raisebox{-0.5pt}{\hbox{$\bm{\_\!\_}$}}\!\!\!\!\bm{\uparrow}$"),0.5[lrcorner texto,urcorner texto]);
229 draw (coindebutbloc@+(0.125+0.5cm+eb,0.1875))--
230 (coindebutbloc@+(0.5cm,-eb))--
231 (ulcorner texto+(0.5cm,eb))--
232 (ulcorner texto+(0.5cm+eb,0))--
233 (urcorner texto+(-eb,0))--
234 (urcorner texto+(0,-eb))--
235 (lrcorner texto+(0,eb))--
236 (lrcorner texto+(-eb,0))--
237 (llcorner texto+(0.125,0)+(eb,0))--
238 (llcorner texto+(0.125,0)+(0,eb))--
239 (coindebutbloc@+(0.125,0.25));
241 _coinprec:=(llcorner $);
242 _coinprec:=_coinprec+(0,eb);
246 vardef Si[](expr tps)=
251 label(LATEX("\bfseries\color{white}si "&tps&" alors"),(0,0));
253 $=AffiControle shifted (if unknown _coinprec:(0,0) else :_coinprec fi - ulcorner AffiControle);
254 _coinprec:=(llcorner $)+(0.5cm,0);
255 _coinprec:=_coinprec+(0,eb);
256 coindebutbloc@:=(llcorner $)+(0,eb);
263 _coinprec:=_coinprec-(0.5cm,0);
267 label.lrt(LATEX("\bfseries\color{white}répéter \colorbox{white}{\textcolor{black}{titi=10}}"),if unknown _coinprec: (0,0) else:_coinprec fi);
271 cadre=(coindebutbloc@+(0.125,0.125))--
272 (coindebutbloc@+(0.0625+0.5cm+eb,0.125))--
273 (coindebutbloc@+(0.5cm,-eb))--
274 (ulcorner texto+(0.5cm,eb))--
275 (ulcorner texto+(0.5cm+eb,0))--
276 (urcorner texto+(-eb,0))--
277 (urcorner texto+(0,-eb))--
278 (lrcorner texto+(0,eb))--
279 (lrcorner texto+(-eb,0))--
280 (llcorner texto+(0.125+0.625cm,0)+(2eb,0))--
281 (llcorner texto+(0.125+0.625cm,0)+(eb,-eb))--
282 (llcorner texto+(0.125+0.375cm,0)+(eb,-eb))--
283 (llcorner texto+(0.125+0.375cm,0))--
284 (llcorner texto+(0.125,0)+(eb,0))--
285 (llcorner texto+(0.125,0)+(0,eb))--
289 fill cadre withcolor if unknown colControle : LightOrange else : colControle fi;
290 draw cadre withcolor if unknown colControle : LightOrange else : colControle fi;
291 draw (coindebutbloc@+(0.125+0.5cm+eb,0.1875))--
292 (coindebutbloc@+(0.5cm,-eb))--
293 (ulcorner texto+(0.5cm,eb))--
294 (ulcorner texto+(0.5cm+eb,0))--
295 (urcorner texto+(-eb,0))--
296 (urcorner texto+(0,-eb))--
297 (lrcorner texto+(0,eb))--
298 (lrcorner texto+(-eb,0))--
299 (llcorner texto+(0.125+0.625cm,0)+(2eb,0))--
300 (llcorner texto+(0.125+0.625cm,0)+(eb,-eb))--
301 (llcorner texto+(0.125+0.375cm,0)+(eb,-eb))--
302 (llcorner texto+(0.125+0.375cm,0))--
303 (llcorner texto+(0.125,0)+(eb,0))--
304 (llcorner texto+(0.125,0)+(0,eb))--
305 (coindebutbloc@+(0.125,0.25));
307 _coinprec:=(llcorner $);
308 _coinprec:=_coinprec+(0,eb);
315 _coinprec:=_coinprec-(0.5cm,0);
319 label.lrt(LATEX("\bfseries\color{white}\,sinon\phantom{\colorbox{white}{\textcolor{black}{\hbox to2cm{t}}}}"),if unknown _coinprec: (0,0) else:_coinprec fi);
323 cadre=(llcorner texto+(0.125,0))--
324 (coindebutbloc@+(0.125,0.125))--
325 (coindebutbloc@+(0.0625+0.5cm,0)+(eb,0.125))--
326 (coindebutbloc@+(0.5cm,0)+(0,-eb))--
327 (ulcorner texto+(0.5cm,0)+(0,eb))--
328 (ulcorner texto+(0.5cm,0)+(eb,0))--
329 (urcorner texto+(-eb,0))--
330 (urcorner texto+(0,-eb))--
331 (lrcorner texto+(0,eb))--
332 (lrcorner texto+(-eb,0))--
333 (llcorner texto+(0.125+1.125cm,0)+(2eb,0))--
334 (llcorner texto+(0.125+1.125cm,0)+(eb,-eb))--
335 (llcorner texto+(0.125+0.875cm,0)+(eb,-eb))--
336 (llcorner texto+(0.125+0.875cm,0))--
340 fill cadre withcolor if unknown colControle : LightOrange else : colControle fi;
341 draw cadre withcolor if unknown colControle : LightOrange else : colControle fi;
343 draw (coindebutbloc@+(0.5cm,0)+(eb,0))--
344 (coindebutbloc@+(0.5cm,0)+(0,-eb))--
345 (ulcorner texto+(0.5cm,0)+(0,eb))--
346 (ulcorner texto+(0.5cm,0)+(eb,0))--
347 (urcorner texto+(-eb,0))--
348 (urcorner texto+(0,-eb))--
349 (lrcorner texto+(0,eb))--
350 (lrcorner texto+(-eb,0))--
351 (llcorner texto+(0.125+1.125cm,0)+(2eb,0))--
352 (llcorner texto+(0.125+1.125cm,0)+(eb,-eb))--
353 (llcorner texto+(0.125+0.875cm,0)+(eb,-eb))--
354 (llcorner texto+(0.125+0.875cm,0))--
355 (llcorner texto+(eb+0.5cm,0));
356 draw (llcorner texto+(0.125,0))--(coindebutbloc@+(0.125,0.125));
358 _coinprec:=(llcorner $)+(0.5cm,0);
359 _coinprec:=_coinprec+(0,eb);
360 coindebutbloc[@]:=(llcorner $)+(0,eb+0.125);
364 vardef Attendre(expr test)=
369 label(LATEX("\bfseries\color{white}attendre "&if numeric test:"\colorbox{white}{\textcolor{black}{"&decimal(test)&"}}" else: test fi &" seconde(s)"),(0,0));
371 $=AffichageCN shifted (if unknown _coinprec:(0,0) else :_coinprec fi - ulcorner AffichageCN);
372 _coinprec:=(llcorner $);
373 _coinprec:=_coinprec+(0,eb);
377 vardef AttendreJ(expr test)=
382 label(LATEX("\bfseries\color{white}attendre jusqu'à "&test&""),(0,0));
384 $=AffichageCN shifted (if unknown _coinprec:(0,0) else :_coinprec fi - ulcorner AffichageCN);
385 _coinprec:=(llcorner $);
386 _coinprec:=_coinprec+(0,eb);
390 vardef Stop(expr test)=
395 label(LATEX("\bfseries\color{white}stop \colorbox{cDarkOrange}{\normalfont\textcolor{white}{"&test&" \tiny\textcolor{black}{$\blacktriangledown$}}}"),(0,0));
397 $=AffichageStop shifted (if unknown _coinprec:(0,0) else :_coinprec fi - ulcorner AffichageStop);
398 _coinprec:=(llcorner $);
399 %_coinprec:=_coinprec+(0,eb);
403 vardef CommencerClone=
408 label(LATEX("\bfseries\color{white}quand je commence comme un clone"),(0,0));
410 $=AffichageEC shifted (if unknown _coinprec:(0,0) else :_coinprec fi - ulcorner AffichageEC);
411 _coinprec:=(llcorner $);
412 _coinprec:=_coinprec+(0,eb);
416 vardef CreerClone(expr test)=
421 label(LATEX("\bfseries\color{white}créer un clone de \colorbox{cDarkOrange}{\normalfont\textcolor{white}{"&test&" \tiny\textcolor{black}{$\blacktriangledown$}}}"),(0,0));
423 $=AffichageCN shifted (if unknown _coinprec:(0,0) else :_coinprec fi - ulcorner AffichageCN);
424 _coinprec:=(llcorner $);
425 _coinprec:=_coinprec+(0,eb);
429 vardef SupprimerClone=
434 label(LATEX("\bfseries\color{white}supprimer ce clone"),(0,0));
436 $=AffichageCN shifted (if unknown _coinprec:(0,0) else :_coinprec fi - ulcorner AffichageCN);
437 _coinprec:=(llcorner $);
438 _coinprec:=_coinprec+(0,eb);