Sia data una funzione da interi a interi, per esempio x*x-10*x+2. Si scriva un programma Java che stampi i soli valori positivi che la funzione assume in un certo intervallo, per esempio da -100 a +100.
Il problema si può riformulare cosí: per ogni valore di x da -100 a +100, se la funzione assume valore positivo, si stampi il valore. In termini di programmazione, è quindi necessario un ciclo in cui x va da -100 a +100; in ogni passo, si controlla se il valore della funzione è positivo oppure no, stampando eventualmente il valore. Il programma SoloPositivi.java risolve il problema in questo modo.
/* Stampa i valori positivi che una funzione assume in un certo intervallo. */ class SoloPositivi { public static void main(String[] args) { int x,f; for(x=-100; x<=100; x=x+1) { f=x*x-10*x+2; if( f>=0 ) { System.out.println("Per x="+x+" la funzione vale "+f); } } } }
L'unica cosa nuova di questo programma rispetto a quelli precedenti è che all'interno del ciclo, oltre a istruzioni semplici, compare anche una istruzione condizionale. In effetti, all'interno di un ciclo possono apparire istruzioni qualsiasi, incluse istruzioni condizionali, e anche altri cicli (questo risulta utile sulle matrici, che si vedranno più avanti). Lo stesso vale anche per le istruzioni condizionali: all'interno si possono mettere altre istruzioni condizionali, e anche dei cicli.