Vai al contenuto

Operatori matematici e logici

Esegui operazioni matematiche e confronti fondamentali.

Gli operatori in C++ consentono di eseguire operazioni matematiche e confronti fondamentali. Qui di seguito vediamo le tre categorie principali.

1. Operatori Aritmetici

Addizione +

Somma due valori

Sottrazione -

Sottrae il secondo valore dal primo

Moltiplicazione *

Moltiplica due valori

Divisione /

Divide il primo valore per il secondo

Modulo %

Restituisce il resto della divisione intera

⚠️ Attenzione: Se entrambi gli operandi sono interi, il risultato sarà anch'esso intero. Per ottenere una divisione in virgola mobile, almeno uno degli operandi deve essere di tipo float o double.

#include <iostream>
using namespace std;

int main() {
    int a = 10, b = 3;
    cout << "Somma: " << a + b << endl;
    cout << "Differenza: " << a - b << endl;
    cout << "Moltiplicazione: " << a * b << endl;
    cout << "Divisione (intera): " << a / b << endl;
    cout << "Divisione (decimale): " << (double)a / b << endl;
    cout << "Modulo: " << a % b << endl;
    return 0;
}

Incremento (++) e Decremento (--)

L'operatore ++ incrementa una variabile di 1, mentre -- la decrementa di 1. Esistono due modalità:

Pre-incremento/decremento

++variabile o --variabile La variabile viene modificata prima di essere usata

Post-incremento/decremento

variabile++ o variabile-- La variabile viene usata prima, poi modificata

int a = 5 , b;

b = ++a;  // Pre-incremento: a diventa 6, poi b = 6
b = a++;  // Post-incremento: b = 6, poi a diventa 7

Operatori di Assegnazione Composta

num += 5; Equivale a: num = num + 5;

num -= 3; Equivale a: num = num - 3;

2. Operatori di Confronto

Permettono di confrontare due valori e restituiscono un valore booleano (1 = vero, 0 = falso):

==

Uguale a

!=

Diverso da

>

Maggiore di

<

Minore di

>=

Maggiore o uguale

<=

Minore o uguale

int x = 5, y = 10;
cout << "x < y: " << (x < y) << endl;  // Output: 1

3. Operatori Logici

Servono per combinare più condizioni:

AND logico &&

Vero solo se entrambe le condizioni sono vere

OR logico ||

Vero se almeno una condizione è vera

NOT logico !

Inverte il valore booleano

bool c1 = true, c2 = false;
cout << (c1 && c2) << endl;  // Output: 0 (false)

💡 Nota: Le espressioni booleane vengono stampate come numeri: 1 indica vero e 0 indica falso. Questo approccio è utile per chi è agli inizi e non ha ancora studiato strutture condizionali come l'if.

Esercitazioni Guidate

Esercizi pratici senza array e senza if

1. Calcolatrice Semplice

Scrivi un programma che chieda due numeri all'utente e stampi il risultato delle principali operazioni matematiche.

int a, b;
cin >> a >> b;
cout << "Somma: " << a + b;

2. Verifica Maggiore Età

Chiedi all'utente la sua età e stampa il risultato della condizione "maggiore o uguale a 18".

int eta;
cin >> eta;
cout << (eta >= 18);  // 1=maggiorenne, 0=minorenne

3. Pari o Dispari

Chiedi un numero e stampa il risultato di numero % 2.

cout << (numero % 2); // 0=pari, 1=dispari

4. Login Semplice

Simula un login confrontando la password inserita con quella predefinita.

string password;
cin >> password;
cout << (password == "abc123");  // 1=corretto

5. Operazioni su Voti Scolastici

Chiedi tre voti, calcola la media e verifica se è maggiore o uguale a 6.

float media = (v1 + v2 + v3) / 3;
cout << (media >= 6);  // 1=promosso

6. Conversione di Valuta

Converti un importo in Euro in Dollari utilizzando un tasso di cambio fisso (1€ = 1.1$).

#include <iostream>
using namespace std;

int main() {
    double euro;
    const double tassoCambio = 1.1;
    cout << "Inserisci l'importo in Euro: ";
    cin >> euro;
    cout << "Equivalente in Dollari: " << euro * tassoCambio << endl;
    return 0;
}

7. Calcolo dell'Anno di Nascita

Chiedi l'età e calcola l'anno di nascita (anno corrente: 2025).

#include <iostream>
using namespace std;

int main() {
    int eta;
    const int annoCorrente = 2025;
    cout << "Inserisci la tua età: ";
    cin >> eta;
    cout << "Anno di nascita: " << annoCorrente - eta << endl;
    return 0;
}

8. Calcolo dell'Indice di Massa Corporea (BMI)

Calcola il BMI e verifica se è compreso tra 18.5 e 24.9.

#include <iostream>
using namespace std;

int main() {
    float peso, altezza, bmi;
    cout << "Inserisci il tuo peso (kg): ";
    cin >> peso;
    cout << "Inserisci la tua altezza (m): ";
    cin >> altezza;
    bmi = peso / (altezza * altezza);
    cout << "BMI: " << bmi << endl;
    cout << "BMI nella norma? (1 = sì, 0 = no): " << (bmi >= 18.5 && bmi <= 24.9) << endl;
    return 0;
}

9. Calcolo Area e Perimetro Rettangolo

Chiedi base e altezza, calcola area e perimetro.

#include <iostream>
using namespace std;

int main() {
    float base, altezza;
    cout << "Inserisci la base del rettangolo: ";
    cin >> base;
    cout << "Inserisci l'altezza del rettangolo: ";
    cin >> altezza;
    cout << "Area: " << base * altezza << endl;
    cout << "Perimetro: " << 2 * (base + altezza) << endl;
    return 0;
}

10. Differenza dei Quadrati

Chiedi due numeri e calcola a² - b².

#include <iostream>
using namespace std;

int main() {
    int a, b;
    cout << "Inserisci due numeri interi: ";
    cin >> a >> b;
    cout << "Il risultato di a^2 - b^2 è: " << (a * a) - (b * b) << endl;
    return 0;
}

11. Verifica dei Multipli

Verifica se un numero è multiplo di 2 e di 3 contemporaneamente.

#include <iostream>
using namespace std;

int main() {
    int num;
    cout << "Inserisci un numero: ";
    cin >> num;
    cout << "Il numero è multiplo di 2 e 3? (1 = sì, 0 = no): "
    << ((num % 2 == 0) && (num % 3 == 0)) << endl;
    return 0;
}