Esercizi in C++ semplici senza condizioni o cicli

Di seguito sono riportati, in ordine sfuso, una serie di esercizi introduttivi col C++. Sono volutamente semplici da accompagnare magari ai relativi algoritmi. Segue ad ogni esercizio una serie di piccole considerazioni utili a comprendere determinate righe di codice utilizzate. Tornate su questa pagina perché verrà aggiornata anche in futuro con il continuo feedback in classe degli alunni e delle loro difficoltà. Gli esempi sono semplici, senza condizioni o cicli che consideriamo in altri post. Ogni docente utilizza questi esercizi con formulazioni diverse, ma ricadono sempre tra gli esercizi classici per iniziare.

Somma di due interi

#include <iostream>

using namespace std;

/** 
  Dati in input due interi, restituisci a video la loro somma.
*/
int main()
{
  int primonumero;
  int secondonumero;
  int somma = 0;
    
    
  cout << "Inserisci il primo numero: ";
  cin >> primonumero;

  cout << "Inserisci il secondo numero: ";
  cin >> secondonumero;    
   
  somma = primonumero + secondonumero;
  cout << "Somma= " << somma << endl;
    
  getchar();
  return 0;
}

 Clicca l’immagine per ingrandire

Esempio di videata del risultato. Inseriamo 5 e 7 premendo invio e otteniamo il risultato atteso.

L’algoritmo è molto semplice di questo frammento di codice. Notiamo, innanzi tutto, il commento iniziale inserito. E’ buona prassi inserire all’inizio di ogni codice una descrizione breve cosicchè, che manteniamo a video o stampiamo il codice, possiamo subito capire cosa andava a fare per ripassare o utilizzarlo in altro frammento di codice.

In alto inseriamo sempre la dichiarazione delle variabili. I nomi, E’ FONDAMENTALE, che siano scritti con una sola parola, magari identificativa del contenuto di tale variabili. Se usiamo nomi generici, tipo a, b,c, non sarebbe male mettere la descrizione della variabile accanto alla stessa con un commento (es. //variabile per il primo addendo ) Le variabili in input, non occorre dichiarare/assegnare un valore iniziale. Le variabili invece che usiamo come Work o Output invece è buona norma sempre inizializzarle ad un valore. Ad esempio se abbiamo una variabile numero, inizializziamo a zero o se un carattere/stringa a ”. Altra cosa da notare e che sarebbe opportuno prendere come buona abitudine, è inserire sempre tanti messaggi di interazione con l’utente a video con i classici cout, in modo da guidare l’utente nelle azioni da svolgere col software. Stessa cosa, i messaggi di output sforziamoci di farli chiari e ben formattati. Fate sempre qualche prova che si legga tutto bene ed inserite spazi opportuni nelle stringhe di testo o le andate a capo con <<end;

Calcolo sconto ver. 1

#include <iostream>

using namespace std;

/** 
Dato il prezzo di un prodotto in input, stampa a video quanto vale il 20% di sconto e il valore finale scontato.
*/
int main()
{
  int prezzo;
  const int percentualesconto = 20;
  float sconto = 0;
  float prezzoscontato = 0;
    
    
  cout << "Inserisci il prezzo: ";
  cin >> prezzo;
  
  sconto = (prezzo * percentualesconto)/100;
  prezzoscontato = prezzo - sconto;
  cout << "Sconto= " << sconto << endl;
  cout << "Prezzo finale= " << prezzoscontato << endl;
    
  getchar();
  return 0;
}

 Clicca l’immagine per ingrandire

Il calcolo di uno sconto, per quanto risulti ostico agli stundenti più giovani, è un calcolo che facciamo sempre quando andiamo a far compere. L’algoritmo è ancora semplice. Tra le variabili ne abbiamo messa una con la scritta const. Questa è una parolina da aggiungere alle varibili che ci vengono assegnati di ufficio, dal testo dell’esercizio e che non devono essere toccate o alterate o assegnate da altra riga di codice. E’ quindi una sorta di valore fisso, costante appunto. Classici esempi di costannti possono essere il valore del Pi greco (es const float pigreco = 3.14).

Area e perimetro del rettangolo

#include <iostream>

using namespace std;

/** 
Dato i lati di un rettangolo, mostra a video area e perimetro
*/
int main()
{
  int latoa;
  int lotob;  
    
  cout << "Inserisci il lato A: ";
  cin >> latoa;
  
  cout << "Inserisci il lato B: ";
  cin >> latob;

  area = latoa * latob;
  perimetro = latoa + latob + latoa + lotob;
  cout << "Area= " << area << endl;
  cout << "Perimetro= " << perimetro << endl;
    
  getchar();
  return 0;
}

Un classico problema geometrico elementare. Il calcolo delle aree o perimetri delle forme sono molto semplici e gettonati. Qui non ci sono particolarità da notare.

Secondi tra due orari

Vogliamo contare quanti secondi intercorrono tra due orari inseriti col formato h:m:s

#include <iostream>
#include <stdlib.h>
using namespace std;
int main()
{
int ora1;
int minuti1;
int secondi1;
int ora2;
int minuti2;
int secondi2;
int differenzasec=0;
int sommasec1=0;
int sommasec2=0;

cout<<"Il primo orario deve essere maggiore del secondo."<<endl;

//lettura del primo orario
cout<<"dammi il primo orario: ";
cin>> ora1;
cout<<"dammi i primi minuti: ";
cin>> minuti1;
cout<<"dammi i primi secondi: ";
cin>> secondi1;

//lettura del secondo orario
cout<<"dammi il secondo orario: ";
cin>> ora2;
cout<<"dammi i secondi minuti: ";
cin>> minuti2;
cout<<"dammi i secondi secondi: ";
cin>> secondi2;

//trasformo tutti gli orari in secondi
sommasec1=secondi1+(minuti1*60)+(ora1*3600);
sommasec2=secondi2+(minuti2*60)+(ora2*3600);

differenzasec=sommasec1-sommasec2;
cout<<"differenza secondi: "<<differenzasec;

getchar();
return 0;
}

Ultima modifica 27 Gennaio 2022

Lascia un commento