10.02.2016 Views

Dessiner

1o3HqYu

1o3HqYu

SHOW MORE
SHOW LESS

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$};

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!