{************************************************
                 Hugo Eti‚vant
     http://www.multimania.com/cyberzoide/
      e-mail : cyberzoide@multimania.com
      (pour une aide en Turbo Pascal 7.0)
*************************************************

TP 5 EXERCICE 1 }

program cercles;  {nom du programme (facultatif}
uses crt,graph;   {d‚claration des unit‚s utilis‚es}
var r,deltar,x0,y0,VGA,VGAHi:integer; {d‚claration des variables}
const rmax=320;  {d‚claration de la constante}

procedure entree;   {proc‚dure "entree"}
begin
clrscr;   {efface l'‚cran en mode texte}
repeat    {bloc boucle}
 write('Entrez le rayon R du plus petit cercle : ');
 readln(r);
 write('Entrez le pas de variation DELTAR [5..15] : ');
 readln(deltar);
until (deltar>=5) and (deltar<=15); {jusqu'… que r compris dans [5..15]}
end;

procedure graphique;   {proc‚dure graphique}
begin
initgraph(VGA,VGAHi,'c:\bp\bgi');  {initialisation du mode graphique}
x0:=round(getmaxx/2);
y0:=round(getmaxy/2);
setcolor(15);     {choix de la couleur du cercle de rayon RMAX}
circle(x0,y0,rmax); {dessine ce cercle}
setcolor(14);     {choix de la couleur des cercles suivants}
if r<=rmax then             {bloc conditionnel, … d‚fault de WHILE
                            qui n'a pas voulu marcher...}
 begin
 repeat       {bloc boucle au sein du bloc conditionnel}
  circle(x0,y0,r);   {dessine les autres cercles}
  inc(r,deltar);   {incr‚mente la valeur DELTAR … la variable R}
 until r>=rmax;    {fin de bloc boucle}
end;     {fin de bloc conditionnel}
end;     {fin de proc‚dure}

BEGIN           {programme principal}
entree;         {lance la proc‚dure "entree"}
graphique;      {lance la proc‚dure "graphique"}
readln;         {pause, attend que <ENTREE> soit press‚e,
                 pour avoir le temps de regarder}
closegraph;     {ferme le mode graphique}
END.
