[successivo] [precedente] [inizio] [fine] [indice generale]


Sezione 18.   Controllo del flusso

Il linguaggio Pic prevede istruzioni condizionali e cicli enumerativi (listato 18.1 e figura 18.2).

Listato 18.1. Esempio di ciclo enumerativo.

.PS
pi = atan2(0, -1);
for i = 0 to 2 * pi by 0.1 do {
    "-" at (i/2, 0);
    "." at (i/2, sin(i)/2);
    ":" at (i/2, cos(i)/2);
}
.PE

Figura 18.2. Grafico realizzato mediante un ciclo enumerativo.

Grafico realizzato mediante un ciclo enumerativo

Ecco la sintassi per il ciclo enumerativo:

for variabile = prima_espressione to seconda_espressione [by [*]terza_espressione] \
  \do separatore corpo separatore

Ed eccone la semantica:

Impostare variabile al valore di prima_espressione. Fintantoché il valore di variabile non supera il valore di seconda_espressione, eseguire corpo e incrementare variabile di una quantità pari a terza_espressione; in assenza della parola chiave by, incrementare variabile di una unità. Se terza_espressione è preceduta dal simbolo * allora variabile deve venire moltiplicata per (e non incrementata di) una quantità pari a terza_espressione.(1)

Ecco la sintassi per l'istruzione condizionale:

if espressione then separatore se_vero separatore [else altro_separatore se_falso altro_separatore]

Ed eccone la semantica:

Valutare espressione; se non è nulla allora eseguire se_vero, altrimenti eseguire se_falso.(2)

Nelle espressioni condizionali possono comparire gli usuali operatori relazionali: !, &&, ||, ==, !=, >=, <=, >, <.

È altresì previsto il confronto fra stringhe, mediante == e !=.

I confronti fra stringhe vanno inseriti fra parentesi per evitare ambiguità sintattiche.


Informatica per sopravvivere 2006.01.30 --- Copyright © 2004-2006 Massimo Piai -- <pxam67 (ad) virgilio·it>


1) separatore può essere qualsiasi carattere che non compaia in corpo (o, alternativamente, la coppia separatore/separatore può essere una coppia bilanciata di parentesi graffe, come nel caso del comando sh, v. sezione 17.4).

2) separatore può essere qualsiasi carattere che non compaia in se_vero. altro_separatore può essere qualsiasi carattere che non compaia in se_falso. Entrambe le coppie di separatori possono in alternativa essere una coppia bilanciata di parentesi graffe, come nel caso del comando sh (v. sezione 17.4). In ogni caso sia se_vero sia se_falso possono contenere coppie bilanciate di parentesi graffe. Il bilanciamento non è richiesto per parentesi graffe presenti nelle stringhe di testo.


Dovrebbe essere possibile fare riferimento a questa pagina anche con il nome controllo_del_flusso.html

[successivo] [precedente] [inizio] [fine] [indice generale]

Valid ISO-HTML!

CSS validator!