Algoritmi in sequenza in C++
Qui trovi un insieme di esercizi che richiedono l'utilizzo delle istruzioni base del linguaggio C++. Gestione input/output, dichiarazione delle variabili, assegnazione dei valori, inclusione della libreria <iostream>...
Richiami teorici sulle istruzioni di base del linguaggio C++
In maniera molto sintetica e schematica si riassumono i principali elementi per costruire i primi programmi in C++:
#include <iostream>: Comando per includere le funzioni di gestione di I/O, come ad esempio cout e cin.
using namespace std; Direttiva propria del C++ per dichiarare l'uso dello spazio dei nomi della libreria standard.
int main(): una funzione della libreria standard e contiene il corpo del programma principale. La funzione main restituisce un valore intero che permette di capire se il programma è stato eseguito correttamente.
cout: control output. Lo standard output è lo schermo.
cout << "Hello world!" << endl; In questo caso si sta ridirigendo una stringa e poi un comando per andare a capo.
cin: control input. Lo standard input è la tastiera.
cin >> num; In questo caso si sta richiedendo all’utente di inserire un valore da assegnare alla variabile num.
return 0; Quando il programma termina senza errori si effettua return 0. Ogni altro valore indica errori.
//: per inserire un commento di singola linea.
/* */: Per inserire un commento di multilinea.
Viene riportato un primo esempio che possiamo fare per mostrare in esecuzione i principali comandi di un programma C++. Il programma di esempio permette all'utente di inserire un numero dalla tastiera e poi viene mostrato a schermo un messaggio con questo numero.
Per ulteriori informazioni sulle costanti si rimanda alla guida ufficiale.
Esercizi di algoritmi in sequenza
Esercizio 1: Area e perimetro di un quadrato di lato 71cm
Realizzare un programma che mostri a schermo il valore del perimetro e dell'area di un quadrato di lato 71cm.
Esercizio 2: Area e perimetro rettangolo
Si vuole conoscere il valore del perimetro e dell'area di un rettangolo di base 10cm e altezza 20cm.
Esercizio 2 bis: Area e perimetro rettangolo
Si vuole conoscere il valore del perimetro e dell'area di un rettangolo, facendo inserire all'utente i valori di base e altezza.
Esercizio 3: Base di un rettangolo
Si vuole conoscere il valore della base conoscendo in input il valore dell'altezza e dell'area.
Esercizio 4: Punteggio in classifica
SI vuole conoscere il punteggio in classifica (nel campionato) che ha una squadra di calcio, conoscendo il numero di partite vinte, il numero di partite pareggiate ed il numero di partite perse.
Esercizio 5: Somma e differenza
Realizzare un programma che faccia inserire all’utente due diversi valori e che ne esegua la somma e la differenza. I risultati della somma e della differenza devono essere mostrati a schermo.
Esercizio 6: Precedente e successivo
Realizzare un programma che faccia inserire all’utente un valore e che restituisca il numero precedente e il successivo. Il precedente e il successivo devono essere mostrati a schermo.
Esercizio 7: Media tra due numeri
Realizzare un programma che sia in grado di leggere due numeri (reali) e calcolarne la media. La media deve essere mostrata a schermo.
Esercizio 8: Perimetro e area di un cerchio
Realizzare un programma che sia in grado di leggere il valore del diametro di un cerchio e poi calcoli il perimetro e l’area. I valori del perimetro e dell’area devono essere mostrati a schermo.
Esercizio 9: Secondi dalla mezzanotte
Il tg5 della mattina sta decidendo di modificare la visualizzazione del segnale orario dal titolo l’ora esatta. Nelle intenzioni del direttore c’è quella di mostrare a schermo il numero di secondi trascorsi a partire dalla mezzanotte.
Realizzare un algoritmo in grado di leggere le tre componenti dell’ora (ore, minuti e secondi) e sia in grado calcolare il valore totale in secondi trascorsi dalla mezzanotte. Mostrare a schermo il numero totale di secondi.
Esercizio 10: Il prezzo scontato
Realizzare un programma che legge il prezzo originale di un prodotto, la percentuale di sconto e calcoli il prezzo scontato. Tale programma deve mostrare a schermo una frase del tipo “Il prezzo scontato è 1€”. Si noti che ciò che viene mostrato a schermo non è lo sconto, bensì il prezzo scontato.
Esercizio 11: Potenze di un numero
Realizzare un programma che letto da tastiera un numero sia in grado di mostrare a schermo le prime tre potenze di questo numero.
Esempi:
Se il numero inserito dall’utente è 3, in output vedrò 3 9 27
Se il numero inserito dall’utente è 4, in output vedrò 4 16 64
Esercizio 12: Calcolo dell'iva
La catena di negozi MediaMondo decide di esporre i prezzi dei prodotti prima di applicarci l’imposta sul valore aggiunto (IVA). Sebbene, tutti i prodotti venduti da questo negozio prevedono in aggiunta al prezzo base una quota di IVA pari al 22%.
Realizzare un programma che permetta all’utente di conoscere il prezzo finale, partendo dal prezzo esposto nel negozio. Il prezzo finale è dato dal prezzo esposto nel negozio a cui va aggiunto il 22% di IVA.
Esercizio 13: Perimetro e area triangolo rettangolo
Realizzare un programma che sia in grado di calcolare il valore del perimetro e dell’area di un triangolo rettangolo, conoscendo i valori dei due cateti.
Esercizio 14: Percentuale partite vinte e perse
Terminato l’ultimo slam dell’anno è tempo di bilanci per i giocatori di tennis. Uno degli indicatori di interesse per le statistiche è la percentuale di partite vinte durante l’anno.
Si realizzi un programma che conoscendo il numero di partite vinte in un anno da un tennista ed il numero di partite perse, sia in grado di calcolare la percentuale di partite vinte ed anche la percentuale di partite perse.
Esercizio 15: Il cubo
Si realizzi un programma che sia in grado di calcolare la superficie totale di un cubo ed il volume del cubo, conoscendo il valore del lato. (Suggerimento: se non ricordi le formule clicca qui)
Esercizio 16: Tempo di bilanci per la coppia...
Una coppia di persone vuole effettuare un bilancio tra i soldi guadagnati nell'ultimo mese e i soldi spesi. In particolare, il programma deve poter:
Far inserire il nome del primo componente della coppia (ad esempio Maria Rossi);
Far inserire un valore numerico che indica la somma di denaro guadagnata dal primo componente (ad esempio 1300);
Far inserire un valore numerico che indica la somma di denaro spesa dal primo componente (ad esempio 700);
Far inserire il nome del secondo componente della coppia (ad esempio Luca Galli);
Far inserire un valore numerico che indica la somma di denaro guadagnata dal secondo componente (ad esempio 1100);
Far inserire un valore numerico che indica la somma di denaro spesa dal secondo componente (ad esempio 1200).
Il programma deve poter visualizzare a schermo un output in grado di mostrare la somma dei soldi guadagnati, la somma dei soldi spesi e l'attuale bilancio (dato dai soldi guadagnati meno i soldi spesi). L'output deve essere del tipo:
"Maria Rossi e Luca Galli hanno guadagnato 2400, hanno speso 1900 ed hanno un bilancio di 500.
Esercizio 17: Il rombo
Realizzare un programma che permetta all'utente di inserire il valore della diagonale maggiore e della diagonale minore di un rombo. Il programma deve poter mostrare a schermo:
Il valore del lato del perimetro e dell'area del rombo.
Se non ricordi le formule clicca qui.
Esercizio 18: La serie A
Realizzare un programma che permetta all'utente di inserire il numero di squadre presenti nel campionato di calcio di serie A. Il programma deve poter mostrare a schermo:
il numero di punti massimo che una squadra potrebbe raggiungere se vincesse tutte le partite del campionato.
Nota bene: una squadra acquisisce 3 punti per ogni partita giocata. Inoltre, all'interno di un campionato una squadra sfiderà un'altra squadra due volte (una nel girone di andata e una nel girone di ritorno).
** Challenge: Sapresti indicare quante partite vengono svolte complessivamente nel campionato?
Esercizio 19: Minuti importanti
Realizzare un programma che prenda in input un valore numerico rappresentante un numero di secondi. Il programma deve indicare il numero di minuti a cui corrispondono quei secondi ed il numero di secondi residui.
Esempio 1) L'utente inserisce il numero 120: ne segue che 120 secondi equivalgono a 2 minuti e 0 secondi.
Esempio 2) L'utente inserisce il numero 63: ne segue che 63 secondi equivalgono ad 1 minuti e 3 secondi.
Esempio 3) L'utente inserisce il numero 125: ne segue che 125 secondi equivalgono a 2 minuti e 5 secondi.
Esercizio 20: Il Quadrato
Realizzare un programma che prenda in input il valore del perimetro di un quadrato. Il programma deve indicare il valore dell'area del quadrato.
Esercizio 21: Swap tra variabili
Realizzare un programma che prenda in input due valori numerici interi da assegnare a due variabili distinte num1 e num2. Il programma deve scambiare il contenuto di tali due variabili e mostrare a schermo il nuovo contenuto delle due variabili.
Esempio:
L'utente inserisce i valori 5 e 10.
Il programma assegna alla variabile num1 il valore 5 e alla variabile num2 il valore 10.
Il programma scambia il contenuto delle variabili in modo tale che dentro num1 ci sia il valore 10 e dentro la variabile num2 ci sia il valore 5.
Esercizio 22: Libreria cmath
Realizzare un programma che prenda in input un numero reale e ne calcoli:
il valore assoluto;
l'arrotondamento per difetto;
l'arrotondamento per eccesso.
Esempio:
L'utente inserisce il valore 7.5 --> "Il valore assoluto e' 7.5, l'arrotondamento per difetto e' 7 e l'arrotondamento per eccesso e' 8".
L'utente inserisce il valore -6.3 --> "Il valore assoluto e' 6.3, l'arrotondamento per difetto e' -7 e l'arrotondamento per eccesso e' -6".
Esercizio 23: Manutenzione del pc
Il negozio "PC. & co." effettua manutenzioni di computer. Realizzare un programma che sia in grado di calcolare il costo della manutenzione sapendo che tipicamente le attività principali per la manutenzione di un pc sono:
sostituzione batteria tampone (quella che mantiene in attività l'orologio del pc e le configurazioni hardware di base);
pulizia della ventola;
aggiunta banchi di ram;
Far inserire all'utente il prezzo della batteria, della pulizia, il numero di banchi di ram aggiunti ed il costo di un banco di ram. Nel calcolare la somma dei costi si utilizzi l'operatore +=.
Infine, sapendo che il negozio effettua uno sconto del 5% sulla spesa complessiva, mostrare il costo della manutenzione.
Esercizio 24: Volume e superficie laterale di un solido composto
Realizzare un programma che sia in grado di calcolare:
la superficie totale del solido riportato in figura;
il volume del solido riportato in figura.
Si supponga che il cubo 2 abbia lato doppio rispetto al cubo 1 e che il cubo 3 abbia lato triplo rispetto al cubo 1.
L'utente deve poter inserire da tastiera solamente il valore del lato del cubo 1.
Verifica che il tuo programma sia giusto sapendo che:
se il lato del cubo 1 è 3 --> Superficie totale = 666 Volume = 972
se il lato del cubo 1 è 5.3 --> Superficie totale = 2078.66 Volume = 5359.57
Esercizio 25: Il torneo di briscola
Sono aperte le iscrizioni del torneo di briscola del paese! Il paese ha organizzato tutto per fare in modo di far giocare le persone a gruppi di 4 (due contro due).
Realizzare un programma che conoscendo il numero di iscritti sia in grado di calcolare quante persone eccedebbero dopo aver formato i gruppi di quattro.
Esempi:
Si iscrivono 9 persone --> "Gruppi da quattro formati: 2. Persone in eccesso: 1."
Si iscrivono 15 persone --> "Gruppi da quattro formati: 3. Persone in eccesso: 3."
Esercizio 26: L'operatore --
Calcolare il valore precedente del triplo del quadrato di un numero intero (inserito da tastiera) ed assegnarlo alla variabile "risultato". Si usi l'operatore -- e la funzione pow della libreria cmath.
Esercizio 27: Pacchi di pasta in offerta
Il negozio EsseCorta effettua lo sconto 3x2 sui pacchi di pasta integrale. Conoscendo il numero di pacchi acquistati ed il prezzo di un singolo pacco di pasta, indicare qual è il costo complessivo da pagare.
Esercizio 28: La ricetta della torta giapponese
La ricetta della torta giapponese è pensata per 6 persone e prevede tre ingredienti:
130g di formaggio cremoso;
3 uova;
130g di cioccolato bianco.
Realizzare un programma che dato il numero di persone che vogliono mangiare la torta sia in grado di indicare le giuste dosi da usare.
Esempio:
Se le persone che vogliono mangiare la torta sono 3, la ricetta diventerà: 65g di formaggio, 1.5 uova e 65g di cioccolato bianco.
Esercizio 29: La distanza tra due punti nel piano cartesiano
Si legga in input le coordinate di due punti nel piano cartesiano:
A (xA, yA)
B (xB, yB)
Si calcoli la distanza tra il punto A ed il punto B usando la formula:
distanza = radice_quadrata( (xB - xA)^2 + (yB - yA)^2 )
Trovi la spiegazione della formula in questo sito.