Linguaggio C++

Operatore Logico OR

Approfondimento sull'operatore logico OR (||): gestione delle alternative, selezione flessibile e applicazioni pratiche in Dev-C++.

Durata

120 minuti

Software

Dev-C++

L'operatore logico OR, rappresentato dal simbolo || (pipe), è l'operatore della "possibilità". A differenza dell'AND, esso è molto più permissivo: restituisce Vero (true) se almeno una delle condizioni collegate è vera.

Pensa all'OR come a un ufficio con due entrate: puoi entrare dalla porta A OPPURE dalla porta B. Se una delle due è aperta, sei dentro!

Sintassi e Tabella di Verità


if (condizione1 || condizione2) {
    // Questo codice viene eseguito se ALMENO UNA delle due è vera
}
A B A || B
VeroVeroVero
VeroFalsoVero
FalsoVeroVero
FalsoFalsoFalso

Gestione delle Alternative: L'Input Flessibile

Uno degli usi più comuni dell'OR è permettere all'utente di inserire comandi in modi diversi, ad esempio accettando sia lettere maiuscole che minuscole o diversi codici per la stessa operazione.


La Disgiunzione: Il concetto di "Insiemi Distinti"

A differenza dell'AND, l'operatore || si usa quando dobbiamo gestire due o più intervalli diversi che non si toccano tra loro.

Immagina di voler concedere uno sconto ai bambini (0-10 anni) e agli anziani (over 70). Questi sono due "pezzi" di retta numerica separati. L'OR funge da ponte tra questi due insiemi:

  • Intervallo A: Età < 10
  • Intervallo B: Età > 70

In C++ scriviamo: if (eta < 10 || eta > 70). Se il numero cade nel primo OPPURE nel secondo insieme, la condizione è soddisfatta.


LABORATORIO AVANZATO

Integrazione OR e Controllo Flusso


1 Esercizio: Sistema di Uscita e Conferma

Molti programmi chiedono conferma prima di chiudersi. L'OR ci permette di intercettare diverse risposte valide dell'utente ('s' o 'S' per sì, 'n' o 'N' per no).


#include <iostream>
using namespace std;

int main() {
    char conferma;

    cout << "\t--- CHIUSURA SISTEMA ---\n";
    cout << "Vuoi davvero uscire? (s/n): ";
    cin >> conferma;

    if (conferma == 's' || conferma == 'S') {
        cout << "\n\tArrivederci! Chiusura in corso...";
    } else if (conferma == 'n' || conferma == 'N') {
        cout << "\n\tOperazione annullata. Restiamo nel programma.";
    } else {
        cout << "\n\tInput non riconosciuto.";
    }

    return 0;
}

2 Esercizio in autonomia: Agevolazioni Trasporto Pubblico

Un'azienda di trasporti offre viaggi gratuiti a chiunque appartenga a una categoria protetta.

  • Menu Scelte: L'utente sceglie tra: 1. Biglietto Singolo, 2. Abbonamento.
  • Logica OR: Se il biglietto è "Singolo", il costo è 0€ (Gratis) se:
    • L'utente ha un'età inferiore a 6 anni OPPURE superiore a 75 anni.
    • In tutti gli altri casi, il costo è 1.50€.
  • Validazione: Usa un ciclo while per impedire l'inserimento di età negative o superiori a 110.

3 Esercizio in autonomia: Check-in Hotel Last Minute

Un hotel vuole premiare la fedeltà o le prenotazioni fuori orario.

  • Chiedere l'ora di arrivo (0-23) e se l'utente possiede una "Golden Card" (1=Sì, 0=No).
  • Sconto 30%: Si applica se l'arrivo è dopo le ore 22 OPPURE se l'arrivo è prima delle ore 6 OPPURE se l'utente ha la Golden Card.
  • Utilizzare uno switch per far scegliere all'utente il tipo di camera (Singola 50€, Doppia 80€) e applicare lo sconto se la condizione OR è soddisfatta.

Sfida Finale: Disegna un voucher di prenotazione elegante usando \t e una cornice fatta di simboli =.






C++, OR, ||, Logica, Selezione, Programmazione, Scuola Superiore,