Istruzione condizionale nidificata. Condizioni difficili


Istruzione condizionale nidificata
Nei blocchi "if". e "altro" può includere qualsiasi altra istruzione, incluse altre istruzioni condizionali nidificate; l'istruzione else  fa riferimento all'if precedente più vicino.

Ad esempio: 
se ( LA > 10 ) se ( LA > 100 ) cout << "Tu hai molti soldi."; altro cout << "Hai abbastanza soldi."; altro cout << "Non hai abbastanza soldi."; Per facilitare la comprensione del programma, tutti i blocchi "if". e "altro" (insieme alle parentesi che le delimitano) sono spostate a destra di 2-3 caratteri - tale voce è chiamata voce ladder.

Il problema precedente può essere risolto in modo più breve utilizzando condizioni complesse .  ;

Vediamo di cosa si tratta.
Le condizioni più semplici consistono in una relazione (maggiore di, minore di, ecc.). Ma a volte è necessario combinare condizioni semplici con condizioni più complesse, ad esempio: fuori fa freddo e piove. Due semplici condizioni (fuori fa freddo), (fuori piove) sono collegate qui da AND.

Condizione complessa - consiste in due o più semplici relazioni (condizioni) che vengono combinate utilizzando operazioni logiche:
 Nome Come scritto in C#
E &&
OPPURE ||
NON !

L'operazione AND  (moltiplicazione booleana) richiede che due condizioni siano incontrato contemporaneamente .
condizione1 && condition2 restituirà vero solo se entrambe le condizioni semplici sono vere contemporaneamente.

L'operazione  OR (addizione logica) richiede che almeno una delle condizioni sia soddisfatta.
 condizione1 ||  condition2  restituirà false solo se entrambe le condizioni semplici sono false contemporaneamente.

Operazione NON  (negazione logica)
 ! condition1   restituirà false se condition1 è true e viceversa.

Priorità di esecuzione delle operazioni logiche e delle relazioni.
1. Operazioni tra parentesi.
2. Operazione NON.
3. Relazioni logiche >, <, >=, <=, ==, !=.
4. Operazione E.
5. Operazione O.
Le parentesi vengono utilizzate per modificare l'ordine delle azioni.

Variabili booleane.
In molti linguaggi di programmazione è possibile utilizzare variabili che memorizzano valori booleani (vero/falso). In C#, tali variabili possono assumere i valori true (true) o false (false). Ad esempio, un frammento di programma: 
bool a, b;
a = vero;
b=falso;
Console.WriteLine(a || b);

Produrrà per schermare 1 (che è vero -  falso è 0).
Le variabili booleane sono di tipo bool che prendono il nome dal matematico inglese George Boole - il creatore dell'algebra della logica.