{ File: piramid2.pas }

program PiramideNumeri;
{ Legge un intero compreso fra 1 e 9 e stampa una piramide di numeri di
  altezza pari al numero letto.
  Ad esempio, se legge 9, stampa quanto segue:
        1     
       121    
      12321   
     1234321  
    123454321 
   12345654321
  1234567654321   
 123456787654321  
12345678987654321 
  }

var
  i, j    : 0..9;
  altezza : 1..9;

begin
  write('Altezza piramide (1..9) ? ');
  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 do               { stampa la sequenza crescente di numeri
                                       di ogni riga }
      write(j);

    for j := i-1 downto 1 do         { stampa la sequenza decrescente di numeri
                                       di ogni riga }
      write(j);

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