From: Christophe Poulain Date: Wed, 15 Feb 2017 16:46:52 +0000 (+0100) Subject: Affichage amélioré des boucles et tests. X-Git-Url: https://melusine.eu.org/syracuse/G/git/?p=mp-scratch.git;a=commitdiff_plain;h=350918270324d171c9b7fc6bfb9ffc0c1302eef7 Affichage amélioré des boucles et tests. --- diff --git a/doc/mp-scratch.pdf b/doc/mp-scratch.pdf index 77cf0c4..04f1a39 100644 Binary files a/doc/mp-scratch.pdf and b/doc/mp-scratch.pdf differ diff --git a/doc/mp-scratch.tex b/doc/mp-scratch.tex index 66d4451..c813cba 100644 --- a/doc/mp-scratch.tex +++ b/doc/mp-scratch.tex @@ -455,7 +455,7 @@ s'obtiennent par les commandes \LaTeX\ \lstinline!\opOp{}! et \lstinline!\opSous \par\hfill\includegraphics{CommandeBloc.2} \end{itemize} \item[Groupe {\sffamily Divers}]\hfil\newline -D'un point de vue pédagogique, il m'est apparu nécessaire d'ajouter la possibilité de donner l'illusion d'un algorithme \og vide\fg. J'ai donc créé la commande \lstinline!LigneVide! qui demande un argument simple (on pourra se reporter aux exemples du groupe {\sffamily Contrôle}.\footnote{On peut obtenir le même résultat avec le paramètre \lstinline! _coinprec ! mais la précision de placement me semble plus délicate.} +D'un point de vue pédagogique, il m'est apparu nécessaire d'ajouter la possibilité de donner l'illusion d'un algorithme \og vide\fg. J'ai donc créé la commande \lstinline!LigneVide! qui demande un argument simple (on pourra se reporter aux exemples du groupe {\sffamily Contrôle}\footnote{On peut obtenir le même résultat avec le paramètre \lstinline! _coinprec ! mais la précision de placement me semble plus délicate à obtenir.}). \\On aura également à disposition \lstinline!CommandeVide("Bonjour!")! afin de faire compléter un algorithme par les élèves. \begin{figure}[h] \centering @@ -506,8 +506,6 @@ Terminons cette liste de commandes par un algorithme associé à la suite de Syr draw FinBlocSi3; draw FinBlocRepeter1(10); endfig; - -end \end{filecontents*} {\footnotesize \lstinputlisting[inputencoding=utf8/latin1,frame=tb]{Syracuse.txt} @@ -656,6 +654,7 @@ endfig; \newpage \section{Historique} \begin{description} +\item[15/02/2017] {\bfseries Version 0.57} - Correction de problèmes mineurs d'affichage. Correction de la documentation. \item[14/02/2017] {\bfseries Version 0.55} - Mise à jour de la documentation. \item[13/02/2017] {\bfseries Version 0.53} - Ajout des chanfreins sur les blocs. Correction de \og doublons\fg\ de commandes. Mise à jour de la documentation. \item[05/02/2017] {\bfseries Version 0.51} - Sur les conseils de Maxime Chupin et Thierry Pasquier, travail sur les couleurs (mise en accord avec celles de Scratch et personnalisation possible). Passage des majuscules aux minuscules pour les blocs. diff --git a/src/Controle.mp b/src/Controle.mp index 88c7814..34141a9 100644 --- a/src/Controle.mp +++ b/src/Controle.mp @@ -156,7 +156,8 @@ vardef FinBlocRepeter[](expr tps)= labeloffset:=3; ); path cadre; -cadre=(coindebutbloc@+(0.125,0))--(coindebutbloc@+(0.5cm+eb,0))-- +cadre=(coindebutbloc@+(0.125,0.125))-- + (coindebutbloc@+(0.0625+0.5cm+eb,0.125))-- (coindebutbloc@+(0.5cm,-eb))-- (ulcorner texto+(0.5cm,eb))-- (ulcorner texto+(0.5cm+eb,0))-- @@ -176,7 +177,7 @@ $=image( fill cadre withcolor if unknown colControle : LightOrange else : colControle fi; draw cadre withcolor if unknown colControle : LightOrange else : colControle fi; label.lft(LATEX("$\color{white}\raisebox{-0.5pt}{\hbox{$\bm{\_\!\_}$}}\!\!\!\!\bm{\uparrow}$"),0.5[lrcorner texto,urcorner texto]); - draw (coindebutbloc@+(0.5cm+eb,0))-- + draw (coindebutbloc@+(0.125+0.5cm+eb,0.1875))-- (coindebutbloc@+(0.5cm,-eb))-- (ulcorner texto+(0.5cm,eb))-- (ulcorner texto+(0.5cm+eb,0))-- @@ -190,7 +191,7 @@ $=image( (llcorner texto+(0.125+0.375cm,0))-- (llcorner texto+(0.125,0)+(eb,0))-- (llcorner texto+(0.125,0)+(0,eb))-- - (coindebutbloc@+(0.125,0)); + (coindebutbloc@+(0.125,0.25)); ); _coinprec:=(llcorner $); _coinprec:=_coinprec+(0,eb); @@ -208,7 +209,8 @@ vardef FinBlocRepeterI[](expr tps)= labeloffset:=3; ); path cadre; -cadre=(llcorner texto+(0.125,0)+(0,eb))--(coindebutbloc@+(0.125,0))--(coindebutbloc@+(0.5cm+eb,0))-- +cadre=(coindebutbloc@+(0.125,0.125))-- + (coindebutbloc@+(0.0625+0.5cm+eb,0.125))-- (coindebutbloc@+(0.5cm,-eb))-- (ulcorner texto+(0.5cm,eb))-- (ulcorner texto+(0.5cm+eb,0))-- @@ -217,13 +219,14 @@ cadre=(llcorner texto+(0.125,0)+(0,eb))--(coindebutbloc@+(0.125,0))--(coindebutb (lrcorner texto+(0,eb))-- (lrcorner texto+(-eb,0))-- (llcorner texto+(0.125,0)+(eb,0))-- + (llcorner texto+(0.125,0)+(0,eb))-- cycle; bloctest:=false; $=image( fill cadre withcolor if unknown colControle : LightOrange else : colControle fi; draw cadre withcolor if unknown colControle : LightOrange else : colControle fi; label.lft(LATEX("$\color{white}\raisebox{-0.5pt}{\hbox{$\bm{\_\!\_}$}}\!\!\!\!\bm{\uparrow}$"),0.5[lrcorner texto,urcorner texto]); - draw (coindebutbloc@+(0.5cm+eb,0))-- + draw (coindebutbloc@+(0.125+0.5cm+eb,0.1875))-- (coindebutbloc@+(0.5cm,-eb))-- (ulcorner texto+(0.5cm,eb))-- (ulcorner texto+(0.5cm+eb,0))-- @@ -232,7 +235,8 @@ $=image( (lrcorner texto+(0,eb))-- (lrcorner texto+(-eb,0))-- (llcorner texto+(0.125,0)+(eb,0))-- - (llcorner texto+(0.125,0)+(0,eb))--(coindebutbloc@+(0.125,0)); + (llcorner texto+(0.125,0)+(0,eb))-- + (coindebutbloc@+(0.125,0.25)); ); _coinprec:=(llcorner $); _coinprec:=_coinprec+(0,eb); @@ -264,7 +268,8 @@ vardef FinBlocSi[]= labeloffset:=3; ); path cadre; -cadre=(coindebutbloc@+(0.125,0))--(coindebutbloc@+(0.5cm+eb,0))-- +cadre=(coindebutbloc@+(0.125,0.125))-- + (coindebutbloc@+(0.0625+0.5cm+eb,0.125))-- (coindebutbloc@+(0.5cm,-eb))-- (ulcorner texto+(0.5cm,eb))-- (ulcorner texto+(0.5cm+eb,0))-- @@ -283,7 +288,7 @@ bloctest:=false; $=image( fill cadre withcolor if unknown colControle : LightOrange else : colControle fi; draw cadre withcolor if unknown colControle : LightOrange else : colControle fi; - draw (coindebutbloc@+(0.5cm+eb,0))-- + draw (coindebutbloc@+(0.125+0.5cm+eb,0.1875))-- (coindebutbloc@+(0.5cm,-eb))-- (ulcorner texto+(0.5cm,eb))-- (ulcorner texto+(0.5cm+eb,0))-- @@ -297,7 +302,7 @@ $=image( (llcorner texto+(0.125+0.375cm,0))-- (llcorner texto+(0.125,0)+(eb,0))-- (llcorner texto+(0.125,0)+(0,eb))-- - (coindebutbloc@+(0.125,0)); + (coindebutbloc@+(0.125,0.25)); ); _coinprec:=(llcorner $); _coinprec:=_coinprec+(0,eb); @@ -315,8 +320,9 @@ vardef Sinon[]= labeloffset:=3; ); path cadre; -cadre=(llcorner texto+(0.125,0))--(coindebutbloc@+(0.125,0))-- - (coindebutbloc@+(0.5cm,0)+(eb,0))-- +cadre=(llcorner texto+(0.125,0))-- + (coindebutbloc@+(0.125,0.125))-- + (coindebutbloc@+(0.0625+0.5cm,0)+(eb,0.125))-- (coindebutbloc@+(0.5cm,0)+(0,-eb))-- (ulcorner texto+(0.5cm,0)+(0,eb))-- (ulcorner texto+(0.5cm,0)+(eb,0))-- @@ -347,7 +353,7 @@ $=image( (llcorner texto+(0.125+0.875cm,0)+(eb,-eb))-- (llcorner texto+(0.125+0.875cm,0))-- (llcorner texto+(eb+0.5cm,0)); - draw (llcorner texto+(0.125,0))--(coindebutbloc@+(0.125,0)); + draw (llcorner texto+(0.125,0))--(coindebutbloc@+(0.125,0.125)); ); _coinprec:=(llcorner $)+(0.5cm,0); _coinprec:=_coinprec+(0,eb); diff --git a/src/mp-scratch.mp b/src/mp-scratch.mp index c28d23f..212be67 100644 --- a/src/mp-scratch.mp +++ b/src/mp-scratch.mp @@ -1,8 +1,8 @@ prologues:=3; -pickup pensquare scaled 0.25; +pickup pencircle scaled 0.25; defaultpen := savepen; - +%defaultpen := pensquare scaled 0.25; color rouge,vert,bleu,jaune,noir,blanc,orange,rose,violet,ciel,cielfonce,orangevif,gris; rouge=(1,0,0); bleu=(0,0,1);