Le funzioni: passaggio per valore

Qui trovi un insieme di esercizi che richiedono l'utilizzo delle funzioni.  Realizza la tua soluzione e poi confronta la tua soluzione con quella proposta dal professore.

Esercizi sulle funzioni con passaggio dei parametri per valore.

Esercizio 1: Analizziamo due numeri reali...

Si realizzino le seguenti funzioni in grado di effettuare calcoli partendo da due numeri reali in input: 

Il programma main deve chiedere all'utente di inserire due numeri reali e mostrare a schermo i risultati di tutte le funzioni create. Nota bene per le funzioni "uguali" e "concordi" mostrare a schermo un messaggio diverso in base al valore restituito da tali funzioni. 

Esercizio 2Analizziamo un numero intero...

Si realizzino le seguenti funzioni in grado di effettuare calcoli partendo da un numero intero in input

Il programma main deve chiedere all'utente di inserire un numero intero e mostrare a schermo i risultati di tutte le funzioni create. Nota bene per le funzioni che ritornano un valore di tipo bool mostrare a schermo un messaggio diverso in base al valore restituito da tali funzioni.

Esercizio 3: Il menù della calcolatrice 

Si crei un programma che preveda le quattro funzioni in grado di eseguire le operazioni fondamentali (somma, sottrazione, moltiplicazione e divisione) già creati nell'esercizio 1. Realizzare all'interno del main un menù iterativo che consenta all'utente di:

Esempio di una esecuzione dell'esercizio 3.

Esercizio 4: Le funzioni che vorrei

Lo studente Giovanni vuole realizzare nuove funzioni in grado di calcolare il massimo e il minimo tra un insieme di valori. In particolare vuole implementare le seguenti funzioni:

Creare il main del programma attraverso un menu di scelta iterativo che consenta all'utente di effettuare diversi inserimenti e calcoli. 

Esercizio 5: Le prime dieci potenze

Realizzare una funzione che calcola le prime 10 potenze di un numero positivo. Realizzare un main iterativo che permette di eseguire il programma più volte.

Esempio:
Input: 2 Output: 2^0 = 1 2^1 = 2   2^2 = 4 ... 2^9 = 512

Esercizio 6:  Quadrato e Cubo di una sequenza di numeri 

Realizzare un programma che prenda in input un valore n intero tra 1 e 100. Il programma deve stampare a schermo:

La stampa dei valori a schermo deve essere fatta all'interno delle funzioni. 

Esempio: 

n = 3 -->  1, 2, 3 1, 4, 9 1, 8, 27
n = 4 -->  1, 2, 3, 4 1, 4, 9, 16 1, 8, 27, 64

Esercizio 7Il viaggio dei due amici

Alessio e Claudio fanno un viaggio insieme e al termine della vacanza Alessio ha speso x euro, mentre Claudio ha speso y euro. Tuttavia, i due amici si erano ripromessi di fare in modo di dividere tutte le spese in modo equo. 

Realizzare una funzione che sia in grado di far capire chi ha speso di meno, e quindi chi deve dare una parte di soldi all'amico. Inoltre, si implementi una funzione che faccia capire a chi sta in debito quanto è l'ammontare che deve pagare.

Esempio:
Alessio ha pagato x = 100€, Claudio ha pagato y = 200€ --> ne segue che Alessio è in debito e deve dare 50 € a Claudio per riequilibrare le spese fatte durante il viaggio. 

Esercizio 8: Le patenti

Gino apre una nuova autoscuola in grado di istruire per i seguenti tipi di patente: 

Partendo dal programma che trovi in allegato scrivi le funzioni mancanti che permettano al main di funzionare.  Il programma consente all'utente di inserire iterativamente la coppia età e patente e mostrare a schermo una frase che comunichi all'utente se può prendere tale patente in base all'età che ha.

Esercizio 9: I fratelli dormiglioni

Alessio e Daniele sono due fratelli a cui piace dormire. Un sortilegio li fa addormentare esattamente a mezzanotte. Sapendo l'orario in cui si sveglia Alessio e l'orario in cui si sveglia Daniele, realizzare un programma in grado di dire quale dei due fratelli ha dormito di più. 

Per risolvere il problema si realizzi una funzione in grado di ricevere un orario (ore, minuti e secondi) e restituire il numero di secondi totali trascorsi dalla mezzanotte. 

Esercizio 10: Dalla codifica RGB alla codifica CMYK

Il professor Tpsit ha scoperto le formule per poter passare dalla codifica RGB alla codifica CMYK. Creare un programma che sia in grado generare la codifica CMYK partendo da quella RGB. Si usino almeno due funzioni:

Per convertire dalla codifica RGB alla codifica CMYK utilizzare le seguenti formule:

Esercizio 11: Testa o Croce

Realizzare una funzione che consenta all'utente di giocare a testa o croce. Una partita prevede 5 lanci della moneta, simulabili tramite la generazione di un numero random pari a 0 (testa) e 1 (croce). L'utente vince la partita se indovina il risultato della moneta per almeno 3 volte su 5.

Il programma main deve consentire all'utente di fare diverse partite.

Esercizio 12: L'alfabeto minuscolo

Funzione letteraMinuscola che riceve un carattere e restituisce 1 se tale carattere rappresenta una lettera dell'alfabeto minuscola, 0 altrimenti. Nel main creare un ciclo for che consenta di inserire 5 caratteri e che conti quanti di questi sono lettere minuscole dell'alfabeto.  Differenziare la scritta prodotta in output come riportato negli esempi seguenti:

Input: 'a'   '4'   '?'   'v'   'S' Output: "Sono state inserite 2 lettere dell'alfabeto minuscolo."
Input: 'U'   '!'   'e'   '7'   '+'  Output: "è stata inserita solo 1 lettera minuscola."
Input: '4'   '$'   '&'   '('   '0' Output: "Nessuna lettera dell'alfabeto minuscolo è stata inserita".

Esercizio 13: ASCII ed il legame tra char e int

Realizzare un programma in cui definire le seguenti funzioni: 

Nel main del programma creare uno switch-case e permettere all'utente di scegliere quale funzione richiamare. 

Esercizio 14:  Il massimo comune divisore

Implementare le funzioni richiamate all'interno del main riportato di seguito. Il programma chiede all'utente di inserire due numeri positivi (ossia maggiori di 0) e poi ne calcola il massimo comune divisore. 

N.B. Il massimo comune divisore tra due numeri è il numero più grande che è sia divisore del primo numero, che divisore del secondo. 

Esempio:

num1 = 10 num2 = 6   --> mCD = 2
num1 = 12 num2 = 7  --> mCD = 1
num1 = 8 num2 = 4 --> mCD = 4
num1 = 8 num2 = 8 --> mCD = 8

Esercizio 15: Sheldon alla ricerca dei divisori

Si realizzi una funzione che riceva un numero intero in input e che restituisca:

Si verifichi poi la nuova affermazione del professor Sheldon: "Se un numero n ha almeno 3 divisori, allora anche il più grande numero intero più piccolo del suo quadrato ha almeno tre divisori". Si progetti il main in modo tale da consentire di verificare se il professor Sheldon ha ragione. 

Esercizio 16: Statistiche del corridore

In previsione della maratona si vuole realizzare un'applicazione in grado di generare statistiche utili al corridore.

Si realizzino le seguenti funzioni:

Si progetti il main in modo tale da consentire all'utente di usare iterativamente la prima o la seconda funzione che si è progettata. 

Esercizio 17: Funzioni calcistiche

Si realizzino le seguenti funzioni:

Si progetti il main in modo tale da consentire all'utente di usare iterativamente la prima, la seconda o la terza funzione che si è progettata

Esercizio 18: Statistiche delle Serie tv

Si realizzino le seguenti funzioni:

Si progetti il main in modo tale da consentire all'utente di usare iterativamente la prima o la seconda funzione che si è progettata. 

Esercizio 19: L'estrazione del lotto

Si realizzi la seguente funzione:

Si progetti il main in modo tale da consentire all'utente di usare iterativamente la funzione che si è progettata. 

Esercizio 20: L'interrogazione del prof

Si realizzi la seguente funzione:

Si progetti il main in modo tale da consentire all'utente di usare iterativamente la funzione che si è progettata.