Esercizi sulle istruzioni decisionali (IF ELSE) e sugli operatori logici

1. Scrivere un programma in C++ che, inseriti due numeri dall’utente, indichi se i due numeri sono uguali, oppure indichi quale è il minore e quale è il maggiore.

2. Scrivere un programma in C++ che, inserito un numero dall’utente, confronti questo numero con una costante di valore 100, e indichi se il numero inserito è maggiore, minore o uguale alla costante.

3. Scrivere un programma in C++ che, inserito un numero dall’utente, scriva il prezzo del biglietto per l’entrata al cinema. Se l’utente inserisce un numero da 1 a 10 compresi, il programma visualizzerà il prezzo del biglietto per un bambino, di 3.50€, altrimenti visualizzerà il prezzo del biglietto per un adulto, di 5.50€. Utilizza due costanti per i due prezzi.


ESERCIZIO 1

Scrivere un programma in C++ che, inseriti due numeri dall’utente, indichi se i due numeri sono uguali, oppure indichi quale è il minore e quale è il maggiore.

Soluzione:

#include <iostream>

using namespace std;

int main() {
	int a, b;
	
	cout<<"Inserisci il primo numero: ";
	cin>>a;
	cout<<"Inserisci il secondo numero: ";
	cin>>b;
	
	if (a==b) {
		cout<<"I due numeri sono uguali";
	} else if (a>b) {
		cout<<"Numero maggiore: primo - valore: "<<a<<endl;
		cout<<"Numero minore: secondo - valore: "<<b<<endl;
	} else {
		cout<<"Numero maggiore: secondo - valore: "<<b<<endl;
		cout<<"Numero minore: primo - valore: "<<a<<endl;
	}
	
	return 0;
}

Come vedi, non serve controllare se il secondo numero è maggiore del primo perché è già scontato, dato che se i due numeri non sono uguali, e dato che se il primo numero non è maggiore del secondo, allora obbligatoriamente il secondo è maggiore del primo.


ESERCIZIO 2

Scrivere un programma in C++ che, inserito un numero dall’utente, confronti questo numero con una costante di valore 100, e indichi se il numero inserito è maggiore, minore o uguale alla costante.

Ho indicato la costante con il nome NUM_CONSTANTE. Ecco la soluzione:

#include <iostream>

using namespace std;

#define NUM_COSTANTE 100

int main() {
	int num;
	
	cout<<"Inserisci un numero: ";
	cin>>num;
	
	if (num==NUM_COSTANTE) {
		cout<<"Il numero e' uguale alla costante";
	} else if (num>NUM_COSTANTE) {
		cout<<"Il numero e' maggiore della costante";
	} else {
		cout<<"Il numero e' minore della costante";
	}
	
	return 0;
}

L’esercizio è molto simile al precedente.


ESERCIZIO 3

Scrivere un programma in C++ che, inserito un numero intero dall’utente, scriva il prezzo del biglietto per l’entrata al cinema. Se l’utente inserisce un numero da 1 a 10 compresi, il programma visualizzerà il prezzo del biglietto per un bambino, di 3.50€, altrimenti visualizzerà il prezzo del biglietto per un adulto, di 5.50€. Utilizza due costanti per i due prezzi.

Soluzione:

#include <iostream>

using namespace std;

int main() {
	int num;
	const float PREZZO_BAMBINO = 3.50;
	const float PREZZO_ADULTO = 5.50;
	
	cout<<"Inserisci un numero: ";
	cin>>num;
	
	if ((num>=1) && (num<=10)) {
		cout<<"Prezzo del biglietto per BAMBINI: "<<PREZZO_BAMBINO;
	} else {
		cout<<"Prezzo del biglietto per ADULTI: "<<PREZZO_ADULTO;
	}
	
	return 0;
}

Perfetto! Ora che sai utilizzare gli operatori logici e gli if else, è il momento di passare a qualcosa di più complicato, ma molto utile!