Questo costrutto, già incontrato precedentemente, permette di ripetere determinate istruzioni un numero finito di volte. La sua sintassi è la seguente:
for contatore:= valore_iniziale to valore_finale do begin istruzione 1; istruzione 2; istruzione n; end;
Quindi il for, consente la ripetizione di un certo gruppo di operazioni compreso tra begin e end, fino a quando la variabile contatore raggiunge un certo valore. per (for) contatore:=valore_iniziale fino a (to) valore_finale esegui (do) un blocco di istruzioni racchiuso tra begin e end.
Per contatore si intende una variabile che da un valore iniziale, aumenta di un valore ogni esecuzione del blocco di istruzioni da ripetere, fino a che non raggiunge il valore finale. Raggiunto tale valore il ciclo termina e si eseguono le operazioni successive.
In Pascal le variabili contatore vengono dichiarate come normali variabili di solito di tipo integer con nomi del genere I, J, K, L, M, N, X, Z.
Il for può anche procedere in modo che la variabile contatore diminuisca il proprio valore ad ogni ripetizione, anziché aumentarlo. La sintassi è la seguente:
for contatore:= valore_iniziale downto valore_finale do begin istruzione 1; istruzione 2; istruzione n; end;
Esempio: Programma che stampa sullo schermo un certo numero di numeri pari. Il programma deve:
- chiedere all'utente quanti numeri pari vuole generare;
- applicare come valore finale al ciclo for il valore richiesto dall'utente * 2;
- ad ogni ripetizione del ciclo for, controllare se il resto della divisione tra il valore della variabile contatore e 2 sia 0, in caso positivo stampa il valore corrente della variabile contatore sullo schermo
program Generatore_Numeri_Pari; uses crt; var pari,z:integer; begin clrscr; writeln('Quanti numeri pari vuoi che il programma generi???'); write('Numeri pari ='); readln(pari); for z:=1 to pari * 2 do begin if (z mod 2) = 0 then write(z); end; readln; end.
Analizziamo ora il codice:
- dichiarazione del nome del programma;
- importazione della libreria crt all'interno del programma;
- dichiarazione di due variabili di nome pari e z entrambe di tipo di dato integer. pari funge da valore massimo della variabile contatore z;
- inizio del programma;
- pulizia dello schermo;
- stampa sullo schermo della stringa Quanti numeri pari vuoi che il programma generi???;
- stampa sullo schermo della stringa Numeri pari =;
- lettura del numero corrispondente al numero di numeri pari da generare ed inserimento di tale valore nella variabile pari;
- ciclo for: per z uguale a 1 fino a che z non sia uguale a pari * 2, esegui;
- inizio del ciclo;
- controlla che il rapporto tra il valore attuale della variabile contatore e 2 sia uguale a 0, se lo è, stampa sullo schermo tale valore;
- fine del ciclo;
- lettura dell'output da parte dell'utente;
- fine del programma;