(C++) Istruzione condizionale annidata. Condizioni difficili


Istruzione condizionale nidificata
Nei blocchi "if". e "altro" può includere qualsiasi altra dichiarazione, comprese altre dichiarazioni condizionali. Ciò si traduce in istruzioni condizionali nidificate; l'istruzione else fa riferimento all'if precedente più vicino.
 
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) vengono spostate a destra di 2-3 caratteri - questa è chiamata notazione ladder.

Registra "scala" è una buona forma per qualsiasi programmatore!

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

Capiamo cos'è una condizione complessa.

Le condizioni semplici consistono in una relazione (maggiore di, minore di, ecc.). Ma a volte è necessario combinare condizioni semplici in 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ù condizioni semplici che sono combinate con operazioni logiche .
 
Connettivi logici in C++
&& - moltiplicazione logica (AND);
||  - aggiunta logica (OR);
!    - negazione logica (NOT).

Moltiplicazione logica (operazione AND)  richiede che due condizioni siano soddisfatte contemporaneamente:
condizione_1 && condizione_2  
restituirà vero solo se entrambe le condizioni semplici sono vere contemporaneamente.
Inoltre, nel linguaggio di programmazione C, se condition_1 è falso, allora condition_2 non verrà verificato.

La moltiplicazione logica (operazione OR) richiede almeno una delle seguenti condizioni:
condizione_1 || condizione_2
restituirà falso solo se entrambe le condizioni semplici sono false allo stesso tempo.
Inoltre, nel linguaggio di programmazione C, se condition_1 è vera, allora condition_2 non sarà verificata.

Moltiplicazione logica (NON operazione)
 !condition_1 
restituirà false se condition_1  true e viceversa.
Ad esempio, le due condizioni seguenti sono equivalenti:   A>B   e  !(A<=B).
 
Priorità di esecuzione delle operazioni logiche e delle relazioni
1. Operazioni tra parentesi.
2. Operazione NON.
3. Relazioni logiche >, <, >=, <=, ==, !=.
4. Operazione I.
5. Operazione OR.
Le parentesi vengono utilizzate per modificare l'ordine delle azioni.

 
Variabili booleane
In molti linguaggi di programmazione è possibile utilizzare variabili che memorizzano valori booleani ("true"/"false"). In C++, tali variabili possono assumere i valori true (true) o false (false). Ad esempio, uno snippet di programma:  bool a, b; a = vero; b=falso; cout << un || B; Mostra 1 (che è true, false è 0).

Le variabili booleane sono di tipo bool, dal nome del matematico inglese George Boole, il creatore dell'algebra della logica.