Classe 3F - Esercizi di Programmazione. Tutti i programmi devono essere ben commentati! 26/11/2015 – Overloading di funzioni Implementare i seguenti programmi C++ commentando minuziosamente il codice in maniera da fornire documentazione d’uso. 1. Implementare una semplice “calcolatrice” che permetta di eseguire le quattro principali operazioni aritmetiche scegliendo da un menu principale operazione e tipo di dati (utilizzare overloading di funzioni). 2. Implementare la funzione int numero () che restituisca un numero casuale. Per l’implementazione guardare la documentazione per la funzione rand() ed srand() della classe <cstdlib> di C++ o della libreria stdlib.h di C. L’obiettivo di questo esercizio è sottolineare l’importanza della documentazione nella realizzazione di funzioni (oggi) e classi (domani). 30/10/2015 – Cicli annidati Scrivere l’algoritmo (pseudocodice) ed Implementare in C++ un programma che… 1. Dato un array a[] di interi, restituisca un array b[] ordinato in modo crescente. Utilizzare la procedura per la ricerca del max. 2. Dato un array a[] di interi, restituisca un array b[] ordinato in modo crescente. Utilizzare la procedura per la ricerca del min. 3. Dato un array a[] di interi, restituisca il valore più frequente (moda). Per questo esercizio considerare esclusivamente input con un solo valore più frequente. 4. Dato un array a[] di interi, determinare quanti sono i numeri primi inseriti nell’array. Per il test di primalità utilizzare la procedura di forza bruta indicata a lezione. 5. Dato un array a[] di interi, determinare quanti e quali sono i numeri primi inseriti nell’array. Di tutti gli algoritmi analizzarne correttezza e complessità computazionale! 19/10/2015 – Array Scrivere l’algoritmo (pseudocodice) ed Implementare in C++ un programma che… 6. Prenda in input (tastiera) 10 interi e li stampi a video. 7. Prenda in input n caratteri (n definito dall’utente) e li scriva in un array. Successivamente stampare a video l’array in ordine inverso (dall’ultimo carattere inserito al primo). 8. Prenda n interi da tastiera e stampi a video solamente quelli pari. 9. Prenda n interi da tastiera e stampi a video solamente quelli dispari. 10. Prenda n interi da tastiera e stampi a video solamente quelli in posizione dispari. 11. Prenda n interi da tastiera e stampi a video solamente quelli in posizione pari. 12. Prenda in input un numero intero positivo e restituisca il corrispettivo valore binario. Inserire i bit in un array. Di tutti gli algoritmi analizzarne correttezza e complessità computazionale! 1 Prof. Gennaro Iaccarino 15/10/2015 – Cicli condizionati Scrivere l’algoritmo (pseudocodice) ed Implementare in C++ un programma che… 1. Prenda in input un numero indefinito di interi positivi e contini a sommarli tra loro fino all’inserimento di 0 (zero). Se si inserisce lo zero il programma termina restituendo il numero di valori positivi inseriti, e la loro somma. Eventuali numeri negativi inseriti dall’utente non devono essere conteggiati né sommati. 2. Prenda in input un intero positivo e stampi a video il suo valore decimale bit dopo bit. Per la conversione decimale/binario si utilizzi il metodo della divisione vista a lezione. Se l’intero inserito è negativo deve restituire un messaggio di errore. 3. Prenda in input un intero positivo e dica se il valore è un numero primo oppure no. Si ricorda che un numero è primo se divisibile solamente per se stesso e per 1. 08/10/2015 – Cicli condizionati Scrivere l’algoritmo (pseudocodice) ed Implementare in C++ un programma che… 1. Dati n interi inseriti da tastiera (n viene definito dall’utente prima dell’inserimento dei numeri), restituisca il min ed il max. 2. Dati n interi inseriti da tastiera, restituisca il min ed il max. L’utente scelga ogni volta se inserire il prossimo valore. 3. Dati n interi inseriti da tastiera (n viene definito dall’utente prima dell’inserimento dei numeri), restituisca la media aritmetica. 4. Dati n interi inseriti da tastiera, restituisca la media aritmetica. L’utente scelga ogni volta se inserire il prossimo valore. 5. Dati n carattere, ed un carattere da test (n viene definito dall’utente prima dell’inserimento dei caratteri e del test), restituisca la frequenza ti test nell’insieme di caratteri. 6. Dati n carattere, ed un carattere da test, restituisca la frequenza ti test nell’insieme di caratteri. L’utente scelga ogni volta se inserire il prossimo valore. 01/10/2015 – Istruzione IF-ELSE Scrivere l’algoritmo (pseudocodice) ed Implementare in C++ un programma che… 1. Presi in input quattro caratteri, restituisca le eventuali coppie di caratteri uguali. 2. Presi in input tre interi a, b, c, restituisca VERO se risulta c2=a2+b2 (tripletta di Pitagora) 3. Presi in input cinque interi, restituisca il valore minimo, il massimo ed il mediano (valore più vicino alla media aritmetica). 24/09/2015 – Istruzione IF-ELSE Implementare un programma C++ che… 1. Presi in input due caratteri testi che siano diversi tra loro e restituisca il responso. 2. Presi in input due interi, testi che siano maggiori di zero, e ne restituisca la loro somma. 3. Preso in input un intero, stampi a video se il valore è pari o dispari. 2 Prof. Gennaro Iaccarino 4. Presi in input due interi calcoli la loro somma, e restituisca un messaggio indicante se il valore della somma è pari o dispari. 5. Presi in input tre interi, ne calcoli la media aritmetica. 6. Presi in input cinque valutazioni di matematica, ne calcoli la media e restituisca il messaggio “PROMOSSO” se la media è maggiore (o uguale) di 5.6, “RESPINTO” altrimenti. 7. Presi in input tre caratteri indichi se ci sono caratteri uguali, e quali sono le coppie (o la tripla) uguali. 8. Presi in input tre interi, stampi a video il valore minimo. 9. Presi in input tre interi, stampi a video il valore massimo. 10. Presi in input tre interi, li stampi a video in maniera ordinata. 3 Prof. Gennaro Iaccarino