| Home / Indice sezione | www.icosaedro.it | ![]() |
|
| |||||||||||||||||||||||||
| Frontespizio Introduzione Caratteristiche Un semplice esempio Moduli Sezione IMPORT Sezione CONST Sezione TYPE Tipo FORWARD Sezione VAR Sezione FUNCTION Sezione BEGIN Stringhe letterali Sottostringhe Commenti Costanti predefinite Variabili predefinite Funzioni predefinite Istruzione di assegnamento Istruzione per la chiamata di funzione Ordine di valutazione degli argomenti attuali Istruzione IF Istruzione SWITCH Istruzione FOR Istruzione WHILE Istruzione REPEAT Istruzione LOOP Istruzione TRY Istruzione RAISE ERROR Istruzione RETURN Espressioni logiche Espressioni intere Espressioni reali Espressioni stringa Espressioni tra tipi strutturati Regole di scope M2 per programmatori C M2 per programmatori Java Rappresentazione dei dati in memoria Keywords Messaggi di errore a runtime Sintassi | Espressioni logicheLe espressioni di tipo BOOLEAN possono coinvolgere le costanti letterali FALSE e TRUE, le costanti di tipo BOOLEAN, le variabili di tipo BOOLEAN, e le funzioni che ritornano BOOLEAN. Le espressioni di confronto tra numeri e tipi dinamici ritornano a loro volta un valore BOOLEAN. L'ordine di precedenza con il quale gli operatori logici vengono applicati è: NOT, AND, OR. Le parentesi tonde si possono usare per alterare l'odine di valutazione. La valutazione delle espressioni booleane avviene da sinistra verso destra. La valutazione si arresta quando il risultato della espressione è determinato univocamente (valutazione breve delle espressioni booleane). Questo significa che in un prodotto AND di fattori il primo fattore che risulta FALSE determina il risultato, mentre in una somma OR di termini il primo termine che risulta TRUE determina il risultato. La valutazione breve avviene anche per le sotto-espressioni di una espressione booleana. La valutazione breve implica due conseguenze di cui il programmatore deve tenere conto:
Operatori di confronto che generano valori BOOLEANLe espressioni logiche possono contenere espressioni di confronto tra INTEGER, REAL, STRING, ARRAY e RECORD. Queste espressioni generano valori logici BOOLEAN attraverso gli operatori di confronto e hanno la forma espressione1 operatore_di_confronto espressione2 Le due espressioni a sinistra e a destra dell'operatore di confronto devono essere dello stesso tipo. Il valore speciale NIL è compatibile per confronto con STRING, ARRAY e RECORD. Una espressione di confronto deve essere inclusa tra parentesi tonde quando viene affiancata dagli operatori logici NOT AND OR. Quindi queste espressioni logiche sono corrette: 1 < 2 (1 < 2) AND (3 = 5) Gli operatori di confronto tra valori INTEGER sono: < <= = >= > <>che restituiscono TRUE se il valore risultante dal calcolo della espressione di sinistra dell'operatore è rispettivamente minore, minore o uguale, uguale, maggiore o uguale, maggiore, diversa dal valore risultante dal calcolo della espressione di destra.
Gli operatori di confronto tra REAL sono gli stessi che per i valori
INTEGER. Siccome non è possibile mescolare valori INTEGER e valori
REAL, le funzioni
Sulle stringhe è definito un ordinamento: la stringa NIL
è minore di ogni altra stringa; la stringa vuota NIL < "" < "abc"
Gli operatori di confronto tra ARRAY si applicano ad array dello stesso tipo. Ciò che viene confrontato è l'indirizzo di memoria dove gli array sono allocati, non i valori che essi contengono. Gli operatori di confronto tra array sono:
Gli operatori di confronto tra RECORD si applicano a RECORD dello stesso tipo. Ciò che viene confrontato è l'indirizzo di memoria dove i record sono allocati, non i valori che essi contengono. Gli operatori di confronto tra array sono:
| |||||||||||||||||||||||||
| ||||||||||||||||||||||||||
| Umberto Salsi | Contatto | Mappa | Home / Indice sezione |