From: Christophe Poulain Date: Tue, 7 Mar 2017 21:19:14 +0000 (+0100) Subject: Ajout de la commande LignePointilles et mise à jour de la documentation. X-Git-Url: https://melusine.eu.org/syracuse/G/git/?p=mp-scratch.git;a=commitdiff_plain Ajout de la commande LignePointilles et mise à jour de la documentation. --- diff --git a/doc/mp-scratch.pdf b/doc/mp-scratch.pdf index 125b877..ab6946e 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 6856527..d11820f 100644 --- a/doc/mp-scratch.tex +++ b/doc/mp-scratch.tex @@ -245,6 +245,11 @@ s'obtiennent avec la commande \LaTeX\ \lstinline!\opAp{}!. Les \og opérateurs\fg \[\includegraphics{CommandeSon.12}\kern0.1\linewidth\includegraphics{CommandeSon.13}\] s'obtiennent par la commande \LaTeX\ \lstinline!\opSon{}!. +\[\includegraphics{CommandeSon.14}\] +\begin{lstlisting}[frame=tb] +draw DireT("\opOp{Regroupe\opSimple{Le volume actuel est}% +\opSon{Volume}}",2); +\end{lstlisting} \par\vspace*{2em}\par \item[Groupe {\sffamily Stylo}]\hfil\newline \begin{itemize} @@ -340,7 +345,7 @@ Quand \og la scène\fg\ est sélectionnée, on dispose de : \par\hfill\includegraphics{CommandeEvenements.9}\footnote{C'est le seul endroit où il y a une majuscule dans les notations {\sffamily Scratch}\ldots} \end{itemize} \vspace*{2em}\par -\item[Groupe {\sffamily Contrôle}]\hfil\newline +\item[Groupe {\sffamily Contrôle}]\label{Groupecontrole}\hfil\newline \begin{itemize} \item[\textbullet]\lstinline!draw Attendre("\opOp{$\opSimple{10}\bm{+}\opSimple{40}$}");! \par\hfill\includegraphics{CommandeControle.1} @@ -348,7 +353,7 @@ Quand \og la scène\fg\ est sélectionnée, on dispose de : \par\hfill\includegraphics{CommandeControle.6} \item[\textbullet]\lstinline!draw Stop("ce script");! \par\hfill\includegraphics{CommandeControle.8} -\newpage +%\newpage \item[\textbullet]\lstinline!draw CommencerClone;! \par\hfill\includegraphics{CommandeControle.9} \item[\textbullet]\lstinline!draw CreerClone("Lutin1");! @@ -462,8 +467,8 @@ Néanmoins, il faut parfois un codage conséquent. Par exemple, voici un capteur } \end{lstlisting} \end{minipage} -\\Un peu barbare, non ? Mais, cela ne nécessitera qu'un simple copier-coller pour les autres utilisations\ldots%} -\par\vspace*{2em}\par +\\Un peu barbare ? Non, un simple copier-coller sera nécessaire pour les futures utilisations\ldots%} +%\par\vspace*{2em}\par \item[Groupe {\sffamily Opérateurs}]\hfil\newline Les éléments% \begin{center} @@ -491,8 +496,9 @@ 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 à obtenir.}). -\\On aura également à disposition \lstinline!CommandeVide("Bonjour!")! afin de faire compléter un algorithme par les élèves. +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.} à la page \pageref{Groupecontrole}). +\[\includegraphics{CommandeControle.5}\] +On aura également à disposition \lstinline!CommandeVide("Bonjour!")! afin de faire compléter un algorithme par les élèves. \begin{figure}[h] \centering \begin{minipage}{0.4\linewidth} @@ -515,6 +521,19 @@ D'un point de vue pédagogique, il m'est apparu nécessaire d'ajouter la possibi \caption{Utilisation de \lstinline!CommandeVide!} \label{fig:CommandeVide} \end{figure} +Enfin, il y a la commande \lstinline!LignePointilles! permettant de faire des \og raccourcis\fg\ dans la +présentation des algorithmes. +\begin{lstlisting}[frame=tb] +beginfig(1); + draw Drapeau; + draw LignePointilles; + draw CommandeVide("\opSimple{Je choisis un nombre aleatoirement% + entre 1 et 999}"); + draw CommandeVide("\opSimple{Je choisis un nombre aleatoirement% + entre 1 et 999}"); +endfig; +\end{lstlisting} +\par\hfill\includegraphics{CommandeDivers.1} \end{description} Terminons cette liste de commandes par un algorithme associé à la suite de Syracuse :) \[\includegraphics[scale=0.9]{Syracuse.1}\] @@ -690,6 +709,7 @@ endfig; \newpage \section{Historique} \begin{description} +\item[07/03/2017] {\bfseries Version 0.62} - Ajout d'une commande {\sffamily LignePointilles} et mise à jour de la documentation. \item[17/02/2017] {\bfseries Version 0.61} - Grâce à Thomas Dehon, ajout des commandes correspondantes à la sélection de \og la scène\fg. Mise à jour de la documentation. \item[16/02/2017] {\bfseries Version 0.59} - Correction des commandes {\sffamily Dire}, {\sffamily DireT}, {\sffamily Penser}, {\sffamily PenserT}. Mise à jour de la documentation (informations sur l'installation du package). \item[15/02/2017] {\bfseries Version 0.57} - Correction de problèmes mineurs d'affichage. Correction de la documentation. diff --git a/src/Divers.mp b/src/Divers.mp index 00413df..d872d6a 100644 --- a/src/Divers.mp +++ b/src/Divers.mp @@ -53,3 +53,32 @@ _coinprec:=llcorner $; _coinprec:=_coinprec+(0,eb); $ enddef; + +vardef LignePointilles= + save $; + picture $,texto,TEXT; + texto=image( + label.lrt(LATEX("\Large \strut\ldots"),if unknown _coinprec: (0,0) else:_coinprec fi); + ); +TEXT=image( + draw texto; + path cadre; + cadre=(llcorner texto+(-eb,0))--(llcorner texto+(0,-eb))-- + (llcorner texto+(0.375cm,0)+(-eb,-eb))-- + (llcorner texto+(0.375cm,0)+(0,-2eb))-- + (llcorner texto+(0.625cm,0)+(0,-2eb))-- + (llcorner texto+(0.625cm,0)+(eb,-eb))-- + (lrcorner texto+(0,-eb))--(lrcorner texto+(eb,0))--(urcorner texto+(eb,0))--(urcorner texto+(0,eb))-- + (ulcorner texto+(0.625cm,0)+(eb,eb))-- + (ulcorner texto+(0.625cm,0))-- + (ulcorner texto+(0.375cm,0))-- + (ulcorner texto+(0.375cm,0)+(-eb,eb))-- + (ulcorner texto+(0,eb))--(ulcorner texto+(-eb,0))--cycle; + fill cadre withcolor white; + draw texto; + ); +$=TEXT shifted (if unknown _coinprec:(0,0) else :_coinprec fi - ulcorner TEXT); +_coinprec:=llcorner $; +_coinprec:=_coinprec+(0,eb); +$ +enddef;