{ File: figure1.pas }

{ Scopo: secondo esempio di uso di procedure
         (senza variabili locali e senza parametri) }

program StampaFigure;
{ Permette all'utente di stampare su schermo figure geometriche.
  L'utente interagisce con il programma tramite una semplice interfaccia.
  E' possibile scegliere solamente la forma della figura da stampare (quadrato
  o triangolo).
  In questa versione non vengono stampate le figure, ma solamente un messaggio.
}

var
  ch : char;

  procedure StampaQuadrato;
  begin
    writeln('QUESTO E'' UN QUADRATO')
  end; { StampaQuadrato }

  procedure StampaTriangolo;
  begin
    writeln('QUESTO E'' UN TRIANGOLO')
  end; { StampaTriangolo }

  procedure StampaSaluto;
  begin
    writeln('CIAO :-)')
  end; { StampaSaluto }

begin { StampaFigure }
  repeat
    writeln;
    writeln('*** IMMETTI UN CARATTERE A SCELTA FRA I SEGUENTI ***');
    writeln('***   Q: stampa un quadrato');
    writeln('***   T: stampa un triangolo');
    writeln('***   F: per terminare il programma');
    writeln;
    readln(ch);  { ATTENZIONE: read NON va bene }
    case ch of
      'Q', 'q' : StampaQuadrato;
      'T', 't' : StampaTriangolo;
      'F', 'f' : StampaSaluto;
    end; { case }
  until (ch = 'f') or (ch = 'F')
end. { StampaFigure }