You also want an ePaper? Increase the reach of your titles
YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.
7.2. ORGANIGRAMME INFORMATIQUE 103<br />
L’exemple précédent avait pour but de montrer comment contrôler finement la position des<br />
nœuds et des arcs. Il est d’usage, en général, de ne pas représenter les flèches que l’on peut déduire<br />
par transitivité comme ci-dessous :<br />
Quadrilatère<br />
Parallélogramme<br />
Rectangle<br />
Losange<br />
Carré<br />
7.2 Organigramme informatique<br />
7.2.1 Somme des N premiers nombres entiers<br />
<strong>Dessiner</strong> un organigramme du programme qui calcule la somme des N premiers nombres entiers<br />
avec l’algorithme suivant :<br />
DÉBUT<br />
Lire un entier positif N<br />
S 0<br />
TANT QUE N>0 FAIRE<br />
S S + N<br />
N N 1<br />
Afficher la somme S<br />
FIN<br />
7.2.2 Style des nœuds : draw, ellipse, fill, text<br />
Comme dans l’exemple précédent, on va représenter un graphe composé de nœuds reliés par des<br />
flèches. Mais, dans ce cas, il y a plusieurs types de nœuds que l’on désire différencier graphiquement.<br />
On va définir des styles pour chaque type de nœud du diagramme :<br />
— debfin pour les repères de Début et de Fin : ellipse ;<br />
— es pour les Entrées-Sorties : rounded corners ;<br />
— instruct pour les instructions : rectangle ;<br />
— test pour le test : diamond.<br />
\begin{tikzpicture}<br />
\tikzstyle{debutfin}=[ellipse,draw,text=red]<br />
\tikzstyle{instruct}=[rectangle,draw,fill=yellow!50]<br />
\tikzstyle{test}=[diamond, aspect=2.5,thick,<br />
draw=blue,fill=yellow!50,text=blue]<br />
\tikzstyle{es}=[rectangle,draw,rounded corners=4pt,fill=blue!25]<br />
\end{tikzpicture}<br />
On va ensuite placer les éléments en leur attribuant un nom significatif :<br />
\node[debutfin] (debut) at (-2,5) {Début};<br />
\node[es] (lire) at (-2,4) {Lire un entier positif $N$};<br />
\node[test] (test) at (0,0) {$N>0$ \ ?};<br />
\node[instruct] (init) at (-2,2.5) {$S\leftarrow 0$};<br />
\node[instruct] (plus) at (0,-2.5) {$S\leftarrow S+N$};<br />
\node[instruct] (moins) at (0,-3.5) {$N\leftarrow N-1$};