qotd [Il linguaggio di programmazione] C rende facile spararti su un piede; C++ lo rende più difficile, ma quando lo fai, ti fa saltare via l'intera gamba.
Bjarne Stroustrup
© 2014-2025 Roberto Foschini All rights reserved Accesso alle icone di sistema

Esercizi cpp

  1. 🙂easyScrivere la dichiarazione di una classe per la gestione delle frazioni (somma, sottrazione, prodotto, rapporto). Tutte le frazioni restituite devono essere fatte di numeri primi fra loro.
  2. 🙂easyScrivere la dichiarazione di una classe per la gestione degli insiemi (unione, intersezione, differenza, differenza simmetrica, appartenenza, ...)
  3. 🙂easyScrivere la dichiarazione di una classe per la gestione dei numeri complessi.
  4. 🙂easyScrivere la dichiarazione di una classe per la gestione dei vettori.
  5. 🙂easyScrivere la dichiarazione di una classe per la gestione dei polinomi
  6. 🙂easyScrivere la dichiarazione di una classe per l'interpolazione numerica
  7. 😐mediumScrivere la dichiarazione di una classe per l'integrazione numerica
  8. 🙁hardScrivere la dichiarazione di una classe per la risoluzione dei sistemi lineari
  9. 🙁hardScrivere la dichiarazione di una classe per la gestione di un contatore
  10. 🙁hardScrivere la dichiarazione di una classe per la gestione di sondaggi
  11. 🙁hardScrivere la dichiarazione di una classe per la gestione di stringhe
  12. ...

Programmazione ad oggetti in linguaggio C++: esercizi risolti (edutecnica.it)

  1. Realizza una classe 'contatore' che contiene una variabile intera 'valore' come attributo e due metodi, il primo è un costruttore senza parametri che inizializza 'valore' a 0 il secondo incrementa semplicemente 'valore ' di 1 tutte le volte che viene invocato. Esegui il test del programma con un ciclo for. Soluzione
  2. Scrivi una classe D (data) i cui oggetti possano essere inizializzati come: d(22,08,01); implementare il costruttore, il metodo out() per la stampa a video, il metodo mod(gg,mm,aa) per consentirne la modifica e un metodo val() per consentire la validazione della data. Soluzione
  3. Implementare un algoritmo di crittografia basato su una classe C che codifica una stringa di caratteri in ingresso in una stringa crittata illegibile. Il sistema deve funzionare attraverso una chiave numerica che prende tutte le occorrenze di ogni lettera della stringa e le sostituisce con la lettera che sta in k (chiave numerica) posizioni più a destra nell'ordine alfabetico. codice di Cesare Soluzione Se k è negativa lo spostamento deve avvenire verso sinistra.
  4. Scrivi un programma che preveda la classe X che possa essere inizializzata indifferentemente con un numero binario (max 8 bit) o decimale e possa restituire in uscita lo stesso numero, indifferentemente in formato binario (max 8 bit) o decimale. Soluzione
  5. Scrivere una classe C (cronometro) che svolga operazioni di cronometraggio del tempo. Deve essere dotata di metodi start(), stop(), per far partire e fermare il cronometro. Deve poi, esserci una classe print() per stampare l'intervallo di tempo misurato. Soluzione
  6. Scrivi un programma per manipolare stringhe e numeri che implementi un metodo somma() che chiamato in questi modi: somma(2,3) restituisce in output 5 somma("coco", "nut") restituisce in output 'coconut'. Il programma deve essere costituito da tre classi la classe O (operazione) che implementa i metodi per la manipolazione dei dati e le due classi derivate dalla classe O; N, per l'acquisizione e la restituzione di numeri e la classe S per l'acquisizione e la restituzione di stringhe. Soluzione
  7. Scrivi un programma che istanziata una classe T permetta ad un oggetto di tale classe di comportarsi indifferentemente come una coda (il primo entrante è il primo uscente) oppure come una pila (il primo entrante è l'ultimo uscente). La classe T può essere derivata dalla classe V dove viene allocato un vettore di n posti. La classe V, genitrice, saràotata di un costruttore che inizializza il vettore e l'indice delle posizioni occupate, di un metodo print() per stampare il vettore e di un metodo set() per inserire un elemento nel vettore. La classe derivata T, può essere dotata soltanto di due metodi getpila() e getcoda(); che permettono di estrarre i dati secondo la modalitàella pila oppure quello della coda . Soluzione
  8. Realizza la classe Q (Quadrato) dotata degli attributi lato, posx e posy; questi ultimi due sono le coordinate cartesiane dell'angolo superiore sinistro del quadrato. L'oggetto di classe Q può essere istanziato solo tramite costruttore. Realizza poi la classe I (insieme) che riceve in ingresso due quadrati e restituisce in uscita l'esito di una loro eventuale intersezione (sovrapposizione); in tal caso l'oggetto di classe I deve restituire l'area dell' intersezione e dell'unione dei due quadrati. (esempio di scambio di dati fra classi non derivate fra loro). Soluzione