%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%
% Programma per il calcolo del quadrato di un numero 
% naturale; se il numero fornito e' negativo, stampa 
% un messaggio d'errore
%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

%%% quadrato(X,Y): Y e' il quadrato di X

quadrato(X,Y) :-
    Y is X * X.


%%% Interfaccia utente

start :-
    write('Dai un numero (non negativo)'), nl,
    read(X),
    quadrato_cont(X).

quadrato_cont(X) :-
    X < 0,
    write('Il numero deve essere non negativo').
quadrato_cont(X) :-
    X >= 0,
    quadrato(X,Q),
    write('Il quadrato di '), write(X), write(' e'' '), write(Q),
    nl.
    