C++ #6 Esercizi con le funzioni

Obiettivo: Sono riportati in seguito una serie di esercizi utili per testare le proprie conoscenze nell’ambito dei linguaggi di programmazione strutturata relativamente all’utilizzo delle funzioni.
Gli esercizi,  a complessità crescente, prevedono inizialmente la realizzazione di funzioni con passaggio dei parametri per valore ed in seguito per riferimento.

Per la risoluzione degli esercizi si suggerisce l’utilizzo del compilatore online:


https://www.onlinegdb.com/online_c++_compiler

FUNZIONI CON PASSAGGIO PARAMETRI PER VALORE

1) Implementare una funzione che ricevuto un numero in ingresso restituisca il valore assoluto di tale numero. Realizzare un programma che utilizzi tale funzione.

2) Implementare una funzione che ricevuti due numeri in ingresso restituisca il numero maggiore. Realizzare un programma che utilizzi tale funzione.

3) Implementare una funzione che ricevuti in ingresso i valori della base e dell’altezza di un rettangolo restituisca il valore dell’area. Realizzare un programma che utilizzi tale funzione.

4) Implementare una funzione che ricevuti in ingresso i valori della base e dell’altezza di un rettangolo restituisca il valore del perimetro. Realizzare un programma che utilizzi tale funzione.

5) Implementare una funzione che ricevuto in ingresso un carattere restituisca il valore 0 se il carattere ricevuto è una consonante mentre restituisca 1 se il carattere ricevuto è una vocale. Realizzare un programma che utilizzi tale funzione.

6) Implementare una funzione che ricevuto un numero in ingresso restituisca il valore del fattoriale del numero ricevuto. Realizzare un programma che utilizzi tale funzione. Nota bene, il fattoriale di un numero N è N*(N-1)*(N-2)…*1

7) Implementare una funzione che ricevuti in ingresso due interi, calcoli il Minimo Comune Multiplo e restituisca tale valore. Realizzare un programma che utilizzi tale funzione.

8) Implementare una funzione che ricevuti in ingresso due interi, calcoli il Massimo Comune Divisore e restituisca tale valore. Realizzare un programma che utilizzi tale funzione.

9) Implementare una funzione che ricevuto in ingresso un numero intero, restituisca true se è un numero primo, altrimenti restituisca false. Realizzare un programma che utilizzi tale funzione.

10) Implementare una funzione che ricevuto in ingresso il valore dei cateti di un triangolo rettangolo, restituisca il valore dell’ipotenusa (il calcolo della radice quadrata può essere eseguito sfruttando la libreria matematica: math.h). Realizzare un programma che utilizzi tale funzione.

FUNZIONI CON PASSAGGIO PARAMETRI PER RIFERIMENTO

11) Implementare una funzione che ricevute due variabili in ingresso permetta di scambiare il valore di tale variabili. Realizzare un programma che utilizzi tale funzione.

12) Implementare una funzione che ricevuto in ingresso il valore della base e dell’altezza di un rettangolo permetta di calcolare area e perimetro. Questi ultimi due valori devono essere passati sfruttando la tecnica del riferimento. Realizzare un programma che utilizzi tale funzione.

13) Implementare una funzione che ricevuto in ingresso il valore dei parametri a, b, e c di una equazione di secondo grado ax2+bx+c=0 calcoli le soluzioni x1 e x2 della suddetta equazione . Questi ultimi due valori devono essere passati sfruttando la tecnica del riferimento. Realizzare un programma che utilizzi tale funzione.

14) Implementare una funzione che ricevuti in ingresso il valore del numeratore e denominatore di due differenti frazioni, calcoli numeratore e denominatore della frazione ottenuta moltiplicando le due precedenti frazioni. Questi ultimi due valori devono essere passati sfruttando la tecnica del riferimento. Realizzare un programma che utilizzi tale funzione.

15) Implementare una funzione che ricevuti in ingresso il valore del numeratore e denominatore di una frazione, riduce la frazione ai minimi termini. Realizzare un programma che utilizzi tale funzione.

16) Implementare una funzione che ricevuti in ingresso il valore del numeratore e denominatore di due differenti frazioni, calcoli numeratore e denominatore della frazione ottenuta sommando le due precedenti frazioni. Questi ultimi due valori devono essere passati sfruttando la tecnica del riferimento. Realizzare un programma che utilizzi tale funzione.

FUNZIONI CON PASSAGGIO DI ARRAY

17) Implementare una funzione che ricevuto in ingresso un array e la sua dimensione inserisca al suo interno tutti zero. Realizzare un programma che utilizzi tale funzione.

18) Implementare due differenti funzioni. Una prima funzione che ricevuti in ingresso un array e la sua dimensione, inserisca al suo interno valori scelti dall’utente. Una seconda funzione che ricevuti in ingresso un array e la sua dimensione riporti i valori contenuti nell’array. Realizzare un programma che utilizzi tali funzioni di input e output.

19) Implementare una funzione che ricevuti in ingresso un array e la sua dimensione calcoli il valore massimo presente all’interno dell’array e lo restituisca. Realizzare un programma che utilizzi tale funzione.

20) Implementare una funzione che ricevuti in ingresso un array, la sua dimensione, ed un interno N, calcoli quante volte il valore N è presente all’interno dell’array e lo restituisca. Realizzare un programma che utilizzi tale funzione.

ANALISI DI CODICE

21) Esercizi di analisi di codice (passaggio per valore e per riferimento)




C++ #5 Esercizi con numeri random

Obiettivo: Sono riportati in seguito una serie di esercizi utili per testare le proprie conoscenze nell’ambito dei linguaggi di programmazione strutturata relativamente all’utilizzo dei numeri randomici (numeri casuali).
Gli esercizi,  a complessità crescente, prevedono inizialmente la semplice generazione di numeri random ed infine applicazioni più complesse che richiedono l’impiego di cicli iterativi e blocchi condizionali. 

Per la risoluzione degli esercizi si suggerisce l’utilizzo del compilatore online:


https://www.onlinegdb.com/online_c++_compiler

ESERCIZI CON NUMERI RANDOMICI

1) Realizzare un programma che simuli il lancio di un dado a sei facce e riporti il risultato.

2) Realizzare un programma che simuli il lancio di una moneta e riporti il risultato (testa o croce).

3) Realizzare un programma che simuli il lancio di un dado a 20 facce (utile per i giocatori di Dungeons and Dragons) e riporti il risultato.

4) Realizzare un programma che permetta all’utente di definire il numero di facce di un dado e ne simuli il lancio riportando il risultato.

ESERCIZI CON NUMERI RANDOMICI E BLOCCHI CONDIZIONALI

5) Realizzare un programma che simuli il lancio di due dadi a sei facce e dopo avere riportato il risultato indichi se è uscita una coppia di numeri uguali.

6) Realizzare un programma che permetta di simulare l’estrazione del lotto attraverso la generazione di 5 numeri casuali nel range 1-90. Attenzione i numeri non possono essere ripetuti e devono risultare equiprobabili.

ESERCIZI CON NUMERI RANDOMICI E CICLI ITERATIVI
7) Realizzare un programma che generato un numero naturale nel range 0-10, permetta all’utente di indovinare il numero generato. Il programma deve terminare quando il numero viene indovinato (CICLO INDEFINITO).

7bis) Realizzare un programma che generato un numero naturale nel range 0-10, permetta all’utente di indovinare il numero generato. Il programma deve terminare quando il numero viene indovinato (CICLO INDEFINITO). Ad ogni iterazione, nel caso in cui l’utente non abbia individuato, deve essere fornito un feedback all’utilizzatore in cui si riporta se il numero generato risulta maggiore o inferiore al numero inserito.