{ File: piramid1.pas }

program PiramideAsterischi;
{ Legge un intero compreso fra 1 e 40 e stampa una piramide di asterischi di
  altezza pari al numero letto.
  Ad esempio, se legge 9, stampa quanto segue:
        *
       ***    
      *****   
     *******  
    ********* 
   ***********
  *************   
 ***************  
***************** 
  }

var
  altezza : 1..40;
  riga, i : integer;

begin
  write('Altezza piramide (1..80) ? ');
  readln(altezza);
  for riga := 1 to altezza do        { tiene conto delle righe della piramide:
                                       1 iterazione <-> 1 riga }
  begin
    for i := 1 to altezza - riga do  { stampa gli spazi bianchi iniziali
                                       necessari in ogni riga }
      write(' ');

    for i := 1 to (riga*2 - 1) do    { stampa la sequenza di asterischi }
      write('*');

    writeln                          { va a capo: la riga e' finita }
  end
end. { PiramideAsterischi }