{ File: piramid1.pas }

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

var
  i, j    : integer;
  altezza : 1..80;

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

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

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