27. If..then..else
if condizione then istruzione else istruzione;
Questo costrutto permette consente la scelta fra due alternative: se (if) una certa condizione è vera allora (then) il programma esegue una certa istruzione, altrimenti (else) ne esegue un'altra. Quando le istruzioni che seguono il then o l'else sono più di una, devono essere delimitate dalle istruzioni begin e end:
if condizione then begin istruzione 1; istruzione 2; istruzione n end else begin istruzione 1; istruzione 2; istruzione n end;
N.B. Le istruzioni che precedono end ed else non devono essere seguite dal punto e virgola.
Esempio:
Calcolare la radice quadrata di un numero: ciò è possibile nell'insieme dei numeri reali solo se il valore in ingresso è positivo. Il programma deve perciò:
- acquisire il numero;
- eseguire una selezione binaria: se il numero è positivo, allora ne calcola la radice quadrata ed espone il risultato; altrimenti scrive un messaggio di errore
program Radice_Quadrata; var n,r:real; begin writeln('Inserisci un numero positivo'); write('numero = '); readln(n); if n>=0 then begin r:=sqrt(n); writeln('radice quadrata = ',r:8:3); end else writeln('La radice di un numero negativo non puo'' essere espressa attraverso numeri reali'); readln; end.