{ File: rettang2.pas }

{ Scopo: esempio di uso di procedure con variabili locali ma senza parametri }

program StampaRettangolo;
{ Stampa un rettangolo di asterischi.
  In questa versione l'altezza puo` essere scelta ma la larghezza e` fissa.
}

var                     { VARIABILI GLOBALI }
  altezza : integer;    { altezza del rettangolo }
  riga    : integer;    { indice del ciclo che scandisce le righe }


  procedure StampaRiga;
  { Stampa una riga di '*' di lunghezza fissata. }
  const
    LUNGHEZZA = 20;
  var
    i : integer;        { i e` una VARIABILE LOCALE }
  begin   
    for i := 1 to LUNGHEZZA do
      write('*');
    writeln
  end; { StampaRiga }


begin { StampaRettangolo }
  write('Altezza rettangolo ? ');
  readln(altezza);
  for riga := 1 to altezza do
    StampaRiga
end. { StampaRettangolo }